[홍쌤의 데이터랩, SQLD n과목 완벽 정리] 영상를 개인이 정리하여 [원작자의 허가 이후] 올린 글이며,
[개인이 추가로 정리한 내용]이 포함되어 있습니다.
목차
데이터 무결성(Data Integrity)
데이터가 정확성과 일관성을 유지하고 있음을 의미하는 속성
=> 결손과 부정합이 없음을 보증
데이터 무결성의 종류
1. 개체 무결성
테이블의 기본키를 구성하는 속성은 NULL이나 중복 값을 가질 수 없음
=> 복합키 구성 시에도 일반적으로 NULL 미포함
2. 참조 무결성
외래키 값은 NULL이거나 참조 테이블의 기본키 값과 동일해야 함
=> 참조 값이 없거나, 있다면 관계 대상이 반드시 존재해야 함을 의미
3. 도메인 무결성
주어진 속성 값이 정의된 도메인에 속한 값이어야 함
4. NULL 무결성
특정 속성에 대해 NULL을 터용하지 않음
5. 고유 무결성
특정 속성에 대해 중복 값을 허용하지 않음
6. 키 무결성
하나의 연관 관계에는 적어도 하나의 키가 존재
SQL (Structured Query Language)
- 관계형 데이터베이스 조작을 위한 질의 언어
- SQL 문법은 대소문자를 구별하지 않음
SQL의 종류
DDL (Data Definition Language) - 데이터 정의어
CREATE, ALTER, DROP, TRUNCATE (+RENAME, COMMENT)
- 구조를 정의하기에 수정을 지원하지 않으며 Auto-Commit되는 특성을 가지고 있음
=> ROLLBACK 불가 (일반적인 표현, 어떻게든 가능은 함)
- TRUNCATE는 테이블 구조(스키마)를 유지한 채로 모든 데이터를 삭제하며, 명시적 트랜잭션 관리에서도 Auto-Commit된다는 점에서 DELETE(*)와 구분
DML (Data Manipulation Language) - 데이터 조작어
INSERT, DELETE, UPDATE, MERGE
DCL (Data Control Language) - 데이터 제어어
GRANT, REVOKE
TCL (Transaction Control Language) - 트랜잭션 제어어
COMMIT, ROLLBACK
DQL (Data Query Language) - 데이터 질의어
SELECT
- SELECT는 DML이 아닌 DQL로 구분되며, 원본 데이터의 변화가 없다(조회 목적)는 특성에 따라, 다음과 같은 경우에 다소 느슨한 로직을 적용할 수 있음
e.g. 데이터 접근 권한 => 조작 권한과 분리, 무결성을 위한 트랜잭션 복잡성 => 조작어보다 덜 엄밀할 수 있음
'CS - 강의, 서적 > [SQLD] 홍쌤의 데이터랩' 카테고리의 다른 글
[SQLD] 2-7~8. 조인 (USING/ON, Oracle/ANSI 표준별 조인) (1) | 2024.09.16 |
---|---|
[SQLD] 2-2~6. SQL (Alias, DUAL Table, SELECT, FROM, WHERE, GROUP/ORDER BY, HAVING) (0) | 2024.09.16 |
[SQLD] 1-9. Null 속성의 이해 (0) | 2024.09.16 |
[SQLD] 1-8. 모델이 표현하는 트랜잭션의 이해 (트랜잭션, ACID, 필수적/선택적 관계) (0) | 2024.09.16 |
[SQLD] 1-6. 정규화 (정규화, 이상 현상, 함수 종속, 역정규화) (0) | 2024.09.16 |