DonHurry

SQL DDL : 무결성 유지 메커니즘 본문

Computer Science/Database

SQL DDL : 무결성 유지 메커니즘

_도녁 2022. 11. 25. 00:30

무결성 유지 메커니즘

  • PRIMARY KEY 제약 조건 : 무결성 제약에서의 개체 무결성
  • FOREIGN KEY 제약 조건 : 무결성 제약에서의 참조 무결성
  • CHECK 제약 조건 : 도메인 제약
  • NOT NULL 제약 조건
  • UNIQUE 제약 조건 : 유일성 제약

 

PRIMARY KEY 제약 조건

  • 데이터베이스의 개체 무결성(entity integrity)을 유지하는 장치
    • PK값은 UNIQUE하고, 동시에 NOT NULL

 

  • 테이블은 단 하나의 PK만 가짐
    • PK는 한 개 이상의 컬럼으로 구성됨. 즉, PK는 컬럼의 집합
    • 제약 조건이 직접 선언되지 않을 시, UNIQUE하고 NOT NULL한 첫번쨰 컬럼이 PK가 됨

 

  • DBMS의 기본키 제약 조건을 유지하는 동작
    • INSERT/UPDATE 문에서 테이블의 PK값으로 NULL 혹은 기존 PK값이 시도될 경우 명령 실행 거부

 

FOREIGN KEY 제약 조건

  • 데이터베이스의 참조 무결성(referential integrity)을 유지하는 장치
    • 자식 테이블의 FK 값은 부모 테이블의 PK 값 중 하나이거나, NULL 값

 

  • DBMS의 외래키 제약 조건을 유지하는 동작
    • INSERT/UPDATE 문에서 자식 테이블의 FK 값으로 부모에 존재하지 않는 FK 값이 시도될 경우 명령 실행 거부
    • DELETE/UPDATE 문에서 부모 테이블의 PK 값을 삭제/수정(NULL이 아닌 값)할 경우
      • DBMS가 이 명령의 실행 거부 (RESTRICT, NO ACTION)
      • 자식 테이블의 해당 FK 값을 NULL 값 혹은 디폴트 값으로 수정 (SET NULL, SET DEFAULT)
      • 자식 테이블의 해당 레코드를 연속적으로 삭제/수정 (CASCADE)

 

💡 테이블은 여러 개의 FK를 가질 수 있음. FK는 한 개 이상의 컬럼으로 구성. 즉, 컬럼의 집합

 

'Computer Science > Database' 카테고리의 다른 글

[DB] 키(Key)의 개념 및 종류  (0) 2023.12.20
SQL DDL  (0) 2022.11.24