수민

[호붕싸 모각코 4차]

뽑삥 2025. 3. 23. 16:54
무결성 제약 조건

 

① 데이터 무결성

: DB에 저장된 데이터의 일관성과 정확성을 지킴

 

 

② 도메인 무결성 제약 조건 (대상: 속성)

: 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만 가져야 함 (ex: type, null, check ...)

ㄴ 릴레이션 내 이 제약 조건은 속성의 개수와 동일 → 그래서 투플 삽입, 수정 시 제약 사항 우선 확인해야 함

 

 

③ 개체 무결성 제약 조건 (= 기본키 제약)

: 기본키는  NULL값을 가져서는 안 됨 + 릴레이션 내 오직 하나의 값만 준비해야 함

ㄴ 삽입 시: 기본키 값이 같으면 삽입 거부당함

ㄴ 수정 시: 기본키 값이 같게 수정할 수 없고, NULL로 수정할 수 없음

ㄴ 삭제 시: 특별한 확인 없이 즉시 수행시킴

 

 

④ 참조 무결성 제약 조건 (=외래키 제약)

: 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 함 + 자식 릴레이션의 값이 변경될 때 부순 릴레이션의 제약을 받음 → 값이 반영돼서 같이 변경되어야 함

- 삽입: 부모 삽입은 정상적 + 자식에는 참조받는 테이블에 외래키 값이 없으므로 금지됨

- 삭제: 부모는 자식 삭제될 것도 고려하여 금지되거나 추가 작업을 필요로 하지만, 자식은 바로 가능함

- 수정: 삭제한 후 수정을 연속으로 수행할 수 없음 + 부모 수정 시 삭제 작업 때 문제 없으면 삽입에 따라 처리하도록 함

 

 

- 삭제 시 과정

1. RESTRICTED: 자식 릴레이션에서 참고하고 있으면 부모 삭제를 거부당함

2. CASCADE: 자식 릴레이션의 관련 투플을 같이 삭제

3. DEFAULT: 자식 릴레이션의 관련 투플을 미리 설정해 둔 값으로 변경

4. NULL: 자식 릴레이션의 관련 투플을  NULL값으로 설정

 

 

⑤ UNIQUE 제약 조건 (= 유일성, 고유성 제약 조건)

: 특정 속성(또는 속성 조합)의 값이 테이블 내에서 중복되지 않도록 강제하는 제약 조건

- 기본키(PK)와의 차이점: 기본키는 NULL 값을 허용하지 않지만, UNIQUE 제약 조건이 적용된 속성은 NULL 값을 가질 수 있음 (단, 여러 개의 NULL 값을 가질 수도 있음)

- 한 테이블 내에서 여러 개의 UNIQUE 속성을 설정할 수 있음

 

 

⑥ CHECK 제약 조건

: 특정 속성에 대해 설정된 조건을 만족하는 값만 허용하는 제약 조건

- 예시: CHECK(나이 >= 18) → 나이 속성의 값은 18 이상이어야 함

- CHECK 제약 조건은 여러 속성에 걸쳐 적용될 수도 있음 (ex: CHECK(급여 >= 0 AND 급여 <= 10000000))

- 복잡한 논리 조건을 적용할 수 있으며, 논리 연산자(AND, OR, NOT)를 활용하여 다양한 제약 사항을 설정할 수 있음

 

 

⑦ DEFAULT 제약 조건

: 속성에 대한 기본값을 지정하는 제약 조건으로, 사용자가 값을 입력하지 않을 경우 자동으로 지정된 기본값이 저장됨

-  예시: DEFAULT CURRENT_TIMESTAMP → 값이 입력되지 않으면 자동으로 현재 시간이 입력됨

- DEFAULT를 사용하면 NULL 값을 방지할 수 있으며, 테이블 생성 시 초기값을 설정하는 데 유용함

 

⑧ NOT NULL 제약 조건

: 특정 속성의 값이 반드시 존재해야 하며, NULL 값을 허용하지 않도록 강제하는 제약 조건

- 예시: NOT NULL을 적용하면 해당 속성에 반드시 값을 입력해야 하므로 NULL 상태가 될 수 없음

- 기본키(PK)에는 자동으로 NOT NULL 제약 조건이 적용됨

- 데이터 무결성을 보장하는 데 필수적인 제약 조건

 

 

 

무결성 제약 조건의 중요성

  1. 데이터 정확성 유지: 잘못된 데이터를 방지하고, 데이터의 신뢰성을 높일 수 있음.
  2. 일관성 보장: 테이블 간의 관계를 유지하고, 무결성을 보장하여 데이터의 신뢰성을 높임.
  3. 자동화된 데이터 관리: DEFAULT, CHECK 등을 사용하면 별도의 프로그래밍 없이 데이터 무결성을 쉽게 관리할 수 있음.
  4. 데이터베이스 성능 최적화: 제약 조건을 활용하면 불필요한 중복 데이터 입력을 방지하고, 검색 성능을 개선할 수 있음.

 

작성자 신수민
소 감 괜한 충돌을 만들고 싶지 않다면 무결성 제약 조건을 잘 기억하며 DB 설계 시 참고해야겠다.
일 시 2025. 3. 21. (금) 18:00 ~ 21:00
장 소 미래관 429호 자율주행스튜디오
참가자 명단 신수민, 임혜진, 배세은, 김윤희 (총 4명)
사 진