[SQL] 01-1 데이터베이스 알아보기
데이터베이스와 SQL
데이터베이스 알아보기
데이터베이스와 DBMS
DBMS의 정의
데이터베이스를 ‘데이터의 집합’이라고 정의한다면, 이런 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)라고 한다.
다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 한다.
DBMS의 종류
DBMS와 같은 소프트웨어는 특정 목적을 처리하기 위한 프로그램이다.
| DBMS | 제작사 | 작동 운영체제 | 최신 버전 | 기타 |
|---|---|---|---|---|
| MySQL | Oracle | Unix, Linux, Windows, Mac | 8.0 | 오픈 소스(무료), 상용 |
| MariaDB | MariaDB | Unix, Linux, Windows | 10.6 | 오픈 소스(무료), MySQL 초기 개발자들이 독립해서 만듦 |
| PostgreSQL | PostgreSQL | Unix, Linux, Windows, Mac | 12 | 오픈 소스(무료) |
| Oracle | Oracle | Unix, Linux, Windows | 18c | 상용 시장 점유율 1위 |
| SQL Server | Microsoft | Windows | 2019 | 주로 중/대형급 시장에서 사용 |
| DB2 | IBM | Unix, Linux, Windows | 11 | 메인프레임 시장 점유율 1위 |
| Access | Microsoft | Windows | 2019 | PC용 |
| SQLite | SQLite | Android, iOS | 3 | 모바일 전용, 오픈 소스(무료) |
DBMS의 발전 과정
-
종이에 펜으로 기록
- 컴퓨터에 파일로 저장
- 단순하게 메모장 사용
- 엑셀과 같은 스프레드시트 프로그램을 사용해 표 형태로 기록한 내용은 파일이라는 형태로 저장해 필요할 때마다 열어서 사용 가능
- 엑셀을 사용해 저장한 파일은 한 번에 한 명의 사용자만 열어서 작업할 수 있음
- 파일은 한 명이 처리하거나 소량의 데이터를 처리할 때는 속도가 빠르고, 사용법이 쉬움
- DBMS의 대두와 보급
- 파일의 단점을 보완하면서 대량의 데이터를 효율적으로 관리하고 운영하기 위해서 등장
- DBMS에 데이터를 구축, 관리하고 활용하기 위해서 사용되는 언어가 SQL(Structured Query Language)
DBMS의 분류
DBMS의 유형은 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류된다.
- 계층형 DBMS
- 처음으로 등장한 DBMS 개념
- 각 계층은 트리 형태를 가짐 (사장 1명에 이사 3명이 연결되어 있는 구조)
- 처음 구성을 완료한 후에 이를 변경하기가 상당히 까다로움
- 다른 구성원을 찾아가는 것이 비효율적
- 망형 DBMS
- 하위에 있는 구성원끼리도 연결된 유연한 구조
- 프로그래머가 모든 구조를 이해해야만 프로그램 작성 가능
- 관계형 DBMS
- RDBMS라고 부름
- RDBMS의 데이터베이스는 테이블이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열과 행으로 이루어져 있음
DBMS에서 사용되는 언어: SQL
- SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있다. (표준 SQL)
- DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL 사용
- 3가지 DBMS 제품(오라클, SQL Server, MySQL)이 모두 표준 SQL을 포함하고 있지만, 추가로 자신만의 기능도 가지고 있음 (오라클: PL/SQL, SQL Server: T-SQL, MYSQL: SQL)