본 내용은 "이것이 MySQL이다"를 참고로 정리한 내용입니다.
1. DBMS의 개요
1) 데이터 베이스의 정의와 특징
❓ 데이터 베이스와 DBMS란?
데이터 베이스
🔥 데이터 베이스란 “여러 데이터이 있는 집합”이며 “여러 데이터를 저장하는 공간 자체"를 의미하기도 합니다.
- 데이터 베이스는 여러 사용자나 응용 프로그램이 공유하고 동시에 접근이 가능해야 합니다.
DBMS(DataBaseManagementSystem)
🔥 데이터 베이스를 관리, 운영하는 소프트웨어입니다.
다음 그림을 참고하여 데이터 베이스와 DBMS의 관계를 이해해봅시다.
그림을 살펴보면 DBMS는 데이터베이스를 관리하는 역할을 하는 소프트웨어입니다.
또한 데이터베이스는 DBMS 안에서 관리되고 있음을 확인할 수 있습니다.
DBMS는 다음 표에서 보이듯이 여러가지가 있습니다.
DBMS | 제작 회사 |
MySQL | Oracle |
MariaDB | MariaDB |
PostgreSQL | PostgreSQL |
Oracle | Oracle |
🔥 데이터 베이스와 DBMS는 다음과 같은 특징을 가지고 있습니다.
데이터의 무결성
🔥 데이터 베이스 안의 데이터는 어떤 경로를 통해 들어왔던 데이터에 오류가 있어서는 안됩니다.
이를 위해 데이터베이스에는 제약 조건이라는 특성을 가집니다.
ex) 학생 데이터
- 제약조건: 모든 학생은 학번이 반드시 있어야 하며, 각 학생의 학번은 서로 중복되서는 안된다.
이 제약 조건을 지키면, 학번만 알아도 어떤 학생이지 정확히 한 명의 학생의 정보가 추출될 수 있습니다.
데이터의 독립성
🔥 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소가 변경되더라도 기존에 사용하던 응용 프로그램은
전혀 영향을 받지 않아야 합니다.( 독립적인 관계여야 합니다.)
ex) 데이터 베이스가 저장된 디스크가 새 것으로 변경되어도 기존에 사용하던 응용 프로그램은 아무런 변경 없이 계속 사용되어야 합니다.
보안
🔥 데이터 베이스 안의 데이터를 접근할 때는 접근이 허가된 사람만 접근할 수 있어야 합니다.
또한 접근할 때도 사용자의 계정에 따라서 다른 권한을 가져야 합니다.
데이터 중복의 최소화
🔥 동일한 데이터가 여러 개 중복되어 있는 것을 방지합니다.
응용 프로그램 제작 및 수정이 쉬워짐
🔥 데이터 베이스를 이용함으로써 응용 프로그램의 데이터 관리, 수정, 유지보수가 쉬워집니다.
데이터의 안전성 향상
🔥 대부분의 DBMS는 백업 및 복원 기능을 제공함으로써, 데이터에 문제가 있을 경우 복원 또는 복구할 수 있습니다.
2) 데이터 베이스의 등장하기까지의 데이터 저장 방식
데이터 베이스의 등장하기까지의 데이터 저장 방식에 대해서 간단하게 살펴보고 넘어갑시다.
오프라인으로 관리(수기)
- 컴퓨터가 등장하기 이전 혹은 초기에는 수기로 데이터를 관리하였습니다.
파일 시스템의 사용
- 컴퓨터가 대중적으로 사용하게 됨으로써 컴퓨터 파일을 통해 데이터를 기록, 저장하게 되었습니다.
- 메모장 또는 엑셀을 통해 데이터를 관리하였습니다.
데이터베이스 관리 시스템(DBMS)
- 점차 관리해야 할 데이터가 많아짐으로써 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용되었습니다.
- DBMS에서는 SQL(Structured Query Language)를 통해 데이터를 관리합니다.
3) DBMS의 분류
DBMS의 유형은 크게 계층형 DBMS, 망형 DBMS, 관계형 DBMS, 객체 지향형 DBMS 등으로 분류됩니다.
- 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지합니다.
계층형 DBMS
- 처음에 나온 DBMS의 개념으로 그림과 같이 각 계층이 트리 형태를 가지며 1:N 관계를 갖습니다.
- 지금은 사용하지 않습니다.
문제점
🚨 처음 구축한 이후에 구조를 변경하기에는 힘들다. 주어진 상태에서의 검색은 빠르지만, 접근의 유연성이 부족하여
임의로 검색하기에는 어렵다.
망형 DBMS
- 계층형 DBMS의 문제점을 개선하기위해 등장하였으며 1:1, 1:N, N:M (다대다) 관계가 지원되어 효과적이고 빠른 데이터 추출이 가능합니다.
- 지금은 거의 사용하지 않습니다.
문제점
🚨 매우 복잡한 내부 포인터를 사용하고 프로그래머가 이 모든 구조를 이해해야만 프로그램의 작성이 가능합니다.
관계형 DBMS
- 데이터베이스는 “테이블”이라는 최소 단위로 구성되어 있습니다.
- 테이블은 다음 그림과 같이 “하나 이상의 열”로 구성되어 있습니다.
장점
🔥 테이블에 구조를 파악하면 RDBMS를 효과적으로 사용할 수 있습니다.
또한 변경이 편리하여 업무 변화에따라 쉽게 변경할 수 있습니다.
단점
🚨 시스템 자원을 많이 차지합니다.
4) SQL 개요
❓ SQL이란?
🔥 관계형 데이터베이스 시스템에서 사용되는 언어입니다.
- 따라서 관계형 DBMS를 사용하려면 SQL를 이용해야 합니다.
SQL은 다음과 같은 특징을 갖습니다.
SQL의 특징
1. DBMS 제작 회사와 독립적입니다.
- 표준 SQL에 맞춰 모든 DBMS 제작회사들은 DBMS을 개발합니다.
- 따라서 표준 SQL은 대부분의 DBMS제품에서 사용할 수 있습니다.
2. 다른 시스템으로 이식성이 좋다.
- SQL 표준은 서버,개인용 PC 등에서 운영되는 DBMS마다 상호 호환성이 뛰어납니다. 그러므로 어느 곳에서 사용된 SQL을 다른 시스템으로 이식하는데 문제가 없습니다.
3. SQL 표준은 계속 발전합니다.
- SQL 표준은 계속 개선된 표준안이 발표되고 있습니다.
4. 대화식 언어입니다.
- SQL은 바로 코드를 통해 질의하고 데이터 결과를 얻는 대화식 언어로 구성되어 있습니다.
5. 분산형 클라이언트/서버 구조입니다.
- SQL은 분산형 구조인 클라이언트/ 서버 구조를 지원합니다.
🔥 클라이언트(웹 프론트, 모바일)에서 질의하면 서버(웹 서버)에서 그 질의를 받아 처리한 후, 다시 클라이언트에게 전달하는 구조를 가집니다.
주의!
🚨 모든 DBMS의 SQL문이 완벽하게 동일하지 않습니다.
표준 SQL을 준수하려고 하나 각 회사마다의 DBMS마다 특징이 있기 때문에 완벽하게는 통일되지 않습니다.
다음 그림과 같이 각 회사의 제품은 모두 표준 SQL을 공통적으로 사용할 수 있으며, 각 회사 제품의 특성에 따라 호환되지 않는 SQL문이 있습니다.
2. MySQL 소개
❓ MySQL이란?
🔥 Oracle 사에서 제작한 DBMS이며 오픈 소스로 제공됩니다.
MySQL의 개요와 변천사
3. MySQL의 에디션 및 비교
MySQL은 크게 상용 에디션과 무료 에디션으로 구분됩니다.
- 상용 에디션: Standard, Enterprise, Cluster CGE
- 무료 에디션: Community
MySQL 에디션별 지원하는 기능들
MySQL 공식 홈페이지를 이용하면 더 자세히 알 수 있습니다. MySQL Products
MySQL :: MySQL Products
MySQL Products MySQL is the world's most popular open source database. Whether you are a fast growing web property, technology ISV or large enterprise, MySQL can cost-effectively help you deliver high performance, scalable database applications. Commercial
www.mysql.com
📒 Reference (참고 자료)
- 이것이 MySQL이다.
- 혼자 공부하는 Database [데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념
[데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념
데이터베이스(Database, DB)란? : 데이터의 저장소. DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어. 계층형, 망형, 관계형 DBMS 중 대부분의 DBM
hongong.hanbit.co.kr
'데이터 베이스 > MySQL' 카테고리의 다른 글
MySQL 엔진 아키텍처 (0) | 2023.05.21 |
---|---|
MySQL의 계정 생성 및 권한 부여 방법 (0) | 2023.05.07 |
2. MySQL과 Workbench 설치하기 (0) | 2022.11.11 |