✔ 데이터베이스(DB, Database)란?
- 다수의 사용자에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합
✔ DBMS(Database Management System)란?
- 데이터베이스를 관리하며 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어
- 현재는 RDBMS(Relational DBMS)를 주로 사용
- SQL(Structured Query Language)라는 언어를 통해 제어
✔ DBMS의 종류
![](https://velog.velcdn.com/images/lxn_ee/post/166393ee-d26a-42ce-92d0-797ac3c86002/image.png)
✔ DBMS의 분류
DBMS의 유형은 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류됩니다. 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함됩니다.
![](https://velog.velcdn.com/images/lxn_ee/post/fafbd109-18ee-4bdb-a33d-7f3c46b0a993/image.png)
RDBMS는 테이블로 이루어져 있으며, 테이블은 열과 행으로 구성되어 있다
SQL(Structured Query Language)이란?
- 관계형 데이터베이스에서 사용되는 언어
- "에스큐엘" 또는 "시퀄"로 읽음
- 국제표준화기구에서 SQL에 대한 표준을 정하나, DBMS를 만드는 회사가 여러 곳이기 때문에 표준 SQL이 각 회사 제품의 특성을 모두 포용하지는 못함
- 따라서 DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용
![](https://velog.velcdn.com/images/lxn_ee/post/9fba6226-ff64-4d74-b966-dcfa8e21f976/image.png)
SQL의 종류
- DDL (Data Definition Language, 데이터 정의 언어)
관계형 데이터베이스의 구조를 정의하는데 사용
- DML (Data Manipulation Language, 데이터 조작 언어)
데이터베이스를 조작(검색, 등록, 삭제, 갱신)을 하기 위해 사용
- DCL (Data Control Language, 데이터 제어 언어)
데이터베이스에서 데이터에 대한 액세스를 제어하기 위해 사용
- TCL (Transaction Control Language, 트랜잭션 제어 언어)
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하기위해 사용