RDBMS
- 관계형 데이터 베이스 시스템
🧩 테이블 기반의 DBMS
- 데이터를 테이블 단위로 관리
→ 하나의 테이블은 여러 개의 열(column)으로 구성
- 중복 데이터를 최소화
→ 같은 데이터가 여러 열(column) 또는 테이블에 존재할 경우, 데이터 수정 시 문제 발생 가능성 증가 - 정규화
- 여러 테이블에 분산되어 있는 데이터를 검색 시 데이블 간의 관계(join)를 이용하여 데이터 검색
SQL(Structured Query Language)
- DB에 있는 정보를 사용할 수 있도록 지원하는 언어
- 모든 DBMS에 사용 가능
- 대소문자를 구별하지 않음(단, 데이터의 대소문자는 구분)
SQL 구문 - DCL, DDL, DML
DDL(Data Definition Language) : 데이터 정의어
- 데이터베이스 객체(table, view, index)의 구조 정의
- 테이블 생성, 컬럼 추가, 타입 변경, 제약조건 지정, 수정
CREATE | 데이터베이스 객체 생성 |
ALTER | 기존에 존재하는 데이터베이스 객체 수정 |
DROP | 데이터베이스 객체 삭제 |
RENAME | 객체 이름 변경 |
DML(Data Manipulation Language) : 데이터 조작어
- Data 조작
- 테이블 레코드 CRUD (Create, Retrieve, Update, Delete)
INSERT (C) | 데이터 베이스 객체에 데이터 입력 |
SELECT (R) | 데이터 베이스 객체에 데이터 조회 |
UPDATE (U) |
데이터 베이스 객체에 데이터 수정 |
DELETE (D) | 데이터 베이스 객체에 데이터 삭제 |
DCL(Data Control Language) - 데이터 제어어
- DB, Table의 접근권한이나 CRUD 권한 정의
- 특정 사용자에게 테이블의 검색권한 부여/금지
GRANT | 데이터베이스 객체에 권한 부여 |
REVOKE | 데이터베이스 객체에 권한 취소 |
TCL(Transaction Control Language) - 트랜잭션 제어어
- transaction은 데이터베이스의 논리적 연산 단위
COMMIT | 실행한 Query를 최종적으로 적용 |
ROLLBACK | 실행한 Query를 마지막 commit 전으로 취소시켜 데이터 복구 |
2022.03.16 - [Web - BE/DB] - [MySQL] 트랜잭션(Transaction) - TCL(ROLLBACK, SAVEPOINT, COMMIT)
'DB' 카테고리의 다른 글
[MySQL] 함수(Function) - 그룹(aggregate) (0) | 2022.03.16 |
---|---|
[MySQL] 함수(Function) - 숫자 (0) | 2022.03.16 |
[MySQL] 트랜잭션(Transaction) - TCL(ROLLBACK, SAVEPOINT, COMMIT) (0) | 2022.03.16 |
SQL 샘플데이터 사용 (0) | 2022.03.16 |
[MySQL] mac에서 mysql 사용자 생성하기 (0) | 2022.03.15 |