1. DML
- 참조 무결성 옵션
CASCADE : 부모 삭제 시 자식도 함께 삭제
SET NULL : 부모 삭제 시 자식 FK 값을 NULL로 변경
RESTRICT : 자식 테이블에 참조하는 행이 없을 경우에만 부모 삭제 허용
AUTOMATIC : 부모에 PK가 없으면 자동으로 부모 행 먼저 삽입
DEPENDENT : 부모 테이블에 PK가 존재할 때만 자식 행 입력 허용 - DISTINCT
- 중복 데이터는 1건으로 취급
- 여러 컬럼이 올 경우 → 주어진 컬럼 값이 모두 동일한 행들만 중복 처리
- NOT NULL 컬럼에 INSERT 시 값 미지정 → 오류 발생! (✕ 자동 NULL 입력 아님)
- DELETE / TRUNCATE / DROP 비교
구분 DELETE TRUNCATE DROP 분류 DML DDL DDL 롤백 가능 불가
(auto commit)불가
(auto commit)속도 느림 빠름 빠름 테이블 구조 유지 유지(테이블 값 지움) 삭제(테이블 삭제)
2. TCL - 트랜잭션 특징 (ACID)
- 원자성(Atomicity): All or Nothing - 전부 실행되거나 전부 실행되지 않아야 함
- 일관성(Consistency): 실행 전 정상이면 실행 후에도 정상 상태 유지
- 고립성(Isolation): 실행 중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들면 안 됨
- 지속성(Durability): 성공적으로 수행되면 갱신 내용은 영구적으로 저장
3. DDL
- 제약조건 문법
CONSTRAINT 이름 PRIMARY KEY (컬럼명)
REGR_NO NUMBER(10) → NULL 허용 (기본값)
REGR_NO NUMBER(10) NOT NULL → NULL 불가 - SQL Server ALTER COLUMN: 한 번에 하나의 컬럼만 변경 가능 (여러 컬럼 동시 수정 불가!)
ALTER TABLE 기관분류 ALTER COLUMN 분류명 VARCHAR(30) NOT NULL ALTER TABLE 기관분류 ALTER COLUMN 등록일자 DATE NOT NULL; ALTER TABLE 기관분류 ALTER COLUMN (분류명 VARCHAR(30), 등록일자 DATE NOT NULL); => 여러개 컬럼 동시 수정 불가능! - 테이블 생성 시 주의사항
- 컬럼 뒤 데이터 유형 반드시 지정 (o)
- 예약어는 테이블명/컬럼명으로 사용 불가 (x)
- 테이블명은 단수형 사용 (복수형 x)
- 외래키(FK)
- FK는 NULL을 가질 수 있다. (o NULL 값허용)
- FK는 참조 무결성 제약을 받을 수 있다. (○)
- 각 행을 유일하게 식별할 수 있는 속성 또는 집합 → 후보키
다른 테이블 기본키 참조 키워드 → REFERENCES (외래키)
인위적 식별자 → 대리키(Surrogate Key) - 컬럼 삭제: ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
- Oracle DDL 특징: DDL 실행 시 묵시적 COMMIT 자동 수행
SQL Server는 DDL도 트랜잭션 내에서 롤백 가능
4. DCL
- REVOKE로 권한 취소 시 → WITH GRANT OPTION으로 다른 사용자에게 부여한 권한도 연쇄적으로 모두 취소
'DB > SQLD 자격증 공부' 카테고리의 다른 글
| 과목2 - 제2장 SQL 활용 요약정리 (0) | 2026.05.28 |
|---|---|
| 과목1 - 제2장 데이터 모델과 SQL 요약정리 (0) | 2026.05.26 |
| 과목1 - 제1장 데이터 모델링의 이해 요약정리 (0) | 2026.05.25 |
