본문 바로가기
카테고리 없음

관계형 데이터베이스의 제약 조건

by 스노위13 2023. 4. 4.

1. 키
1) 후보키
- 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
- 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별 가능하다
- 최소성 : 최소의 속성으로 구성되어야 한다.

2) 기본키
- 후보키 중에서 선정된 주키이다.
- 유일하게 구별할 수 있는 속성으로 Unique, NOT NULL

3) 대체키
- 기본키를 제외한 나머지 후보키, 보조키라고도 함

4) 슈퍼키
- 속성들의 집합으로 구성된 키
- 유일성은 만족하나 최소성을 만족하지 못함

5) 외래키
- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력 불가능함 

2. 무결성

1) 무결성의 정의 : 데이터베이스에 저장된 데이터 값과 실제 값이 일치하는 정확성

2) 종류
- 개체 무결성(Entity Integrity): 기본 키(primary key) 값은 NULL 값이거나 중복될 수 없으며, 항상 유일해야 함
- 참조 무결성(Referential Integrity): 참조 관계를 맺고 있는 두 테이블의 데이터 일관성을 유지하기 위한 규칙임. 즉, 참조하는 테이블의 기본 키 값이 참조되는 테이블에 반드시 존재해야 함
- 도메인 무결성(Domain Integrity): 속성 값이 데이터 타입에 맞게 삽입되어야 하며, NULL 값이 허용되지 않는 속성에 NULL 값이 들어가지 않아야 함- 개체 무결성 : 기본키는 NOT NULL, Unique의 특성을 가짐
- 사용자 정의 무결성 : 속성 값들이 사용자가 정의한 제약조건에 만족되어야 한다
- 고유 무결성 :  릴레이션의 특정 속성에 대해 튜플이 갖는 속성값들이 고유해야 한다.
- 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다.
- 관계 무결성 : 릴레이션의 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부

3)데이터 무결성 강화
- 애플리케이션 : 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드 추가
- 데이터베이스 트리거 : 트리거 이벤트에 무결성 조건을 실행하는 절차형 SQL 추가
- 제약 조건 : 데이터베이스에 제약조건을 설정하여 무결성 유지

댓글