320x100
320x100

무결성

: 데이터의 정확성 및 일관성

: 데이터에 결함이 없는 상태. 데이터를 정확하고 일관되게 유지하는 것

 

 

 

 

 

무결성 제약 조건 (Integrity Constraint)

: 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제야하기 위한 조건

 

- 목적

: 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지

 

- 개체 무결성

: 각 릴레이션의 기본키를 구성하는 속성을 NULL 값이나 중복된 값을 가질 수 없다

 

- 참조 무결성

: 외래키 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 동일해야한다

: 즉, 각 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다

: FK는 NULL이어도 PK가 NULL이 되면 안된다 (FK에서 참조할 수 없기 때문)

 

- 도메인 무결성

: 속성들의 값은 정의된 도메인에 속한 값이어야 한다

 

- 고유 무결성

: 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 릴레이션의 각 튜플이 가지는 속성 값들은 서로 달라야 한다

 

- NULL 무결성

: 릴레이션의 특정 속성 값은 NULL이 될 수 없다

 

- 키 무결성

: 각 릴레이션은 최소한 한 개 이상의 키가 존재해야한다

 

 

 

 

 

참조 무결성 제약 설정

- ON DELETE

: 부모 데이터 삭제 시에 대한 참조 무결성 설정

 

- ON UPDATE

: 부모 데이터 갱신 시에 대한 참조 무결설 설정

 

- 예시

CREATE TABLE Enroll (
    sno INT,
    cno INT,
    jdate date,
    PRIMARY KEY(sno,cno),
    FOREIGN KEY(sno) 
        REFERENCES Student(sno)
        ON DELETE CASCADE
    FOREIGN KEY(cno) 
        REFERENCES Course(cno)
        ON DELETE CASCADE
);

: Student 테이블의 sno 속성과 Course 테이블의 cno 속성을 Enroll 테이블의 sno 및 cno 속성에서 참조

: 부모 테이블은 Student 및 Course 테이블이 됨

 

 

 

 

 

 

 

ON DELETE 

- CASCADE

: 부모 데이터 삭제 시 자식 데이터도 삭제

 

- SET NULL

: 부모 데이터 삭제 시 자식 테이블의 참조 컬럼을 NULL로 업데이트

 

- SET DEFAULT

: 부모 데이터 삭제 시 자식 테이블의 참조 컬럼을 Default 값으로 업데이트

 

- RESTRICT

: 자식 테이블이 참조하고 있을 경우 데이터 삭제 불가

: A 테이블의 name을 참조하고 있는데 B 테이블에서 RESTRICT를 걸면 A 테이블 삭제 불가

 

- NO ACTION

: 자식 테이블이 참조하고 있을 경우 데이터 삭제 불가. 옵션을 지정하지 않았을때 기본 값

 

 

 

 

 

 

ON UPDATE

- CASCADE

: 부모 데이터 업데이트 시 자식 데이터도 업데이트

 

- SET NULL

: 부모 데이터 업데이트 시 자식 테이블의 참조 컬럼을 NULL로 업데이트

 

- SET DEFAULT

: 부모 데이터 업데이트 시 자식 테이블의 참조 컬럼을 Default 값으로 업데이트

 

- RESTRICT

: 자식 테이블이 참조하고 있을 경우 데이터 업데이트 불가

: A 테이블의 name을 참조하고 있는데 B 테이블에서 RESTRICT를 걸면 A 테이블 업데이트 불가

 

- NO ACTION

: 자식 테이블이 참조하고 있을 경우 데이터 업데이트 불가. 옵션을 지정하지 않았을때 기본 값

 

 

 

 

 

 

 

 

 

 

 

Reference

 

[DB 데이터베이스] 무결성 제약조건 (Integrity Constraint)

Contents

iingang.github.io

 

[MySQL] DB 테이블 간의 관계 맺어주기 - 참조 무결성, 참조키, 여러가지 패턴

쿼리 편의상 그리고 데이터베이스의 성능상 2개 이상 테이블을 서로 관계를 맺어줘야 할 때가 있다. ...

blog.naver.com

 

참조무결성 제약(ON DELETE RESTRICT, ON UPDATE CASCADE), 직원과 부서, 부서번호 삭제, 부서번호 업데이트,

▣ 참조무결성 제약(ON DELETE RESTRICT, ON UPDATE CASCADE) 외래키 옵션 1) On Delete Cascade : 부모 데이터 삭제 시 자식 데이터도 삭제 Set null : 부모 데이터 삭제 시 자식 테이블의 참조 컬럼을 Null로 업데이

swingswing.tistory.com

 

MySQL - ON DELETE CASCADE Constraint - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

300x250
728x90