관계형 데이터베이스(RDB: Relational Database Management)
데이터베이스(Database)
- 데이터베이스란 다수의 사용자들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임을 말한다.
- 데이터들을 고도로 구조화함으로써 데이터의 검색, 갱신, 추가, 삭제 등의 동작을 효율적으로 하기 위해 사용된다.
- 데이터베이스 관리 시스템(DBMS)이란 다수의 사용자들이 데이터베이스 내의 데이터에 접근 및 조작하기 위해 사용되는 소프트웨어를 의미한다.
데이터베이스 스키마(Database Schema)
- 데이터베이스 스키마는 데이터베이스 및 저장될 데이터의 구조에 대한 정의를 의미한다.
- 일종의 데이터베이스 설계도라고 할 수 있다.
관계형 데이터베이스(RDB: Relational Database)
- 관계형 데이터베이스는 2차원의 테이블을 통해 데이터를 정의하는 데이터베이스를 의미한다.
- 관계형 데이터베이스에서는 데이터를 속성(Attribute)과 값(Value)로 구조화한다.
- 데이터의 중복이 없고, 일관성을 유지하기 쉽다는 장점이 있다. 반면에 스키마의 변경과 수평적 확장이 어렵다는 단점이 있다.
SQL(Structured Query Language)
- SQL은 관계형 데이터베이스 관리 시스템(RDBS)에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어를 의미한다.
- 데이터베이스 스키마 생성 및 수정, 테이블 관리, 데이터에 대한 접근 및 조작 등의 작업을 위해 사용된다.
- SQL은 RDBS의 종류에 따라 차이가 있는 부분이 있지만, 전반적인 형식과 사용 방법이 매우 유사하하다.
- SQL은 크게 세 가지 종류로 구분할 수 있다.
- 데이터 정의 언어(DDL: Data Definition Language)는 테이블, 인덱스 등의 개체를 만들고 관리하는데 사용되는 명령어이다.
- CREATE, ALTER, DROP 등
- 데이터 처리 언어(DML: Data Manipulation Language)는 데이터에 접근하고 조작하는데 사용되는 명령어이다.
- INSERT, UPDATE, DELETE, SELECT 등
- 데이터 제어 언어(DCL: Data Control Language)는 데이터 조작에 대한 권한 설정, 데이터 무결성 처리 등을 위해 사용되는 명령어이다.
- GRANT, BEGIN, COMMIT, ROLLBACK 등
- 데이터 정의 언어(DDL: Data Definition Language)는 테이블, 인덱스 등의 개체를 만들고 관리하는데 사용되는 명령어이다.