Relational DataBase Management System (관계형 데이터 베이스)
join
을 통해 필요한 데이터를 검색할 수 있다.💡 정규화란?
데이터 모델의 중복을 베재하여 삽입, 삭제, 갱신 이상의 발생을 방지하기 위해 여러 개의 테이블을 나누는 과정이라고 생각하자.
Structured Query Language
Data Definition Language
데이터 정의어
데이터베이스 객체의 구조를 정의
테이블 생성, 컬럼 추가, 타입 변경, 제약조건 지정, 수정 등
SQL 키워드 | 설명 |
---|---|
create | 데이터베이스 객체를 생성 |
drop | 데이터베이스 객체를 삭제 |
alter | 기존에 존재하는 데이터베이스 객체를 수정 |
Data Manipulation Language
데이터 조작어
테이블의 레코드를 CRUD(Create, Retrieve, Update, Delete)
SQL 키워드 | 설명 |
---|---|
insert (C) | 데이터베이스 객체에 데이터를 입력 (행 삽입) |
select (R) | 데이터베이스 객체에서 데이터를 조회 (속성에 해당하는 값 조회) |
update (U) | 데이터베이스 객체에 데이터를 수정 (이미 존재하는 데이터를 수정) |
delete (D) | 데이터베이스 객체에 데이터를 삭제 (행 삭제) |
Data Control Language
데이터 제어어
DB, Table의 접근권한이나 CRUD 권한을 정의
특정 사용자에게 테이블의 검색권한 부여/금지 등
SQL 키워드 | 설명 |
---|---|
grant | 데이터베이스 객체에 권한을 부여 |
revoke | 데이터베이스 객체 권한 취소 |
Transaction Control Language
Transaction
데이터베이스의 논리적 연산 단위
SQL 키워드 | 설명 |
---|---|
commit | 실행한 Query를 최종적으로 적용 |
rollback | 실행한 Query를 마지막 commit 전으로 취소시켜 데이터를 복구 |
checkpoint | checkpoint를 설정하면 rollback 시 checkpoint로 이동 |
연산자 | 설명 |
---|---|
UNION | 합집합, 두 쿼리에서 선택된 속성의 모든 행을 중복 없이 반환 |
UNION ALL | 합집합, 두 쿼리에서 선택된 속성의 모든 행을 중복을 포함하여 반환 |
INTERSECT | 교집합, 두 쿼리에서 선택된 속성의 행 중 두 쿼리의 중복된 행만 반환 |
MINUS | 차집합, 첫번째 쿼리에서 선택한 행에 대해 두번째 쿼리에서 선택한 행을 제거하여 반환 |