본문 바로가기

BASIC/DataBase

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

1. 제약 조건이란

- 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위하여 키를 이용하여 입력되는 데이터에 제한을 주는 것으로 개체 무결성 제약, 참조 무결성 제약 등이 해당된다.


2. 키(Key)의 개념 및 종류

- 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말한다.


1) 후보키(Candidate Key)

- 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.

- 하나의 릴레이션 내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다.

- 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.

- 유일성(Unique) : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 한다.

- 최소성(Minimality) : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성되어야 한다.


2) 기본키(Primary Key)

- 기본키는 후보키 중에서 선택한 주키(Main Key)이다.

- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.

- Null 값을 가질 수 없다.

- 기본키로 정의한 속성에는 동일한 값이 중복되어 저장될 수 없다.


3) 대체키(Alternate Key)

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.

- 보조키라고도 한다.


4) 슈퍼키(Super Key)

- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.

- 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못한다.

- ex) <학생> 릴레이션에서는 '학번', '주민번호', '학번'+'주민번호', '주민번호'+'성명', '학번+주민번호'+'성명' 등으로 슈퍼키를 구성할 수 있다.


5) 외래키(Foreign Key)

- 관계(Relationship)을 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성을 외래키라고 한다.

- 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구이다.

- 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.


3. 무결성

1) 개체 무결성

- 릴레이션에서 기본키를 구성하는 속성은 Null값이나 중복값을 가질 수 없다.


2) 참조 무결성

- 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.

- 외래키와 참조하려는 테이블의 기본키는 도메인과 속성의 개수가 같아야 한다.

'BASIC > DataBase' 카테고리의 다른 글

[DB] 정규화(Normalization)  (0) 2018.02.21
[DB] 관계대수 및 관계해석  (0) 2018.02.21
[DB] 관계형 데이터베이스의 구조  (0) 2018.02.21
[DB] 데이터베이스 설계  (0) 2018.02.21
[DB] 개체 - 관계 모델  (0) 2018.02.20