정보처리산업기사 실기/데이터베이스

키(Key)와 무결성 제약조건

미웡할꺼야 2020. 11. 6. 15:57

키(Key)의 개념

- 관계 데이터베이스에서 튜플을 식별하기 위해 사용하는 속성이나 속성의 집합으로, 데이터베이스의 참조 또는 검색 시에 사용된다.

 

키(Key)의 종류

학번 이름 주민번호 학과 학년
180222 강희영 960503-1234567 컴퓨터 1
170203 김정미 980225-2345678 컴퓨터 2
150525 이나라 961207-2456789 신문방송 4
150723 강희영 961002-1345678 체육 4

 

1) 후보키(Candidate Key)

- 릴레이션(테이블)에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합을 말한다.

- 후보키가 될 수 있는 조건은 유일성과 최소성을 모두 만족해야 한다.

ex) 위 [학생] 테이블에서 학생 개개인을 구분하기 위해서는 학번이나 주민번호를 알면 서로를 구분할 수 있다.

따라서 "학번"과 "주민번호"는 후보키가 된다.

유일성 : 각 튜플을 유일하게 식별하는 성질을 말한다.
최소성 : 각 튜플을 유일하게 식별할 수 있는 최소 구성의 성질을 말한다.

 

2) 기본기(Primary Key)

- 후보키 중에서 튜플을 식별하기 위해 특별히 선택된 키를 말한다.

- 중복될 수 없으며, NULL값이 올 수 없다.

- 유일성과 최소성을 만족해야 한다.

ex) 위 [학생] 테이블에서 유일성과 최소성을 만족하는 학번 또는 주민번호를 기본키로 설정할 수 있다.

 

3) 대체키(Alternate Key)

- 후보키 중에서 기본키를 제외한 속성을 말한다.

ex) 위 [학생] 테이블에서 "학번"을 기본키로 했다면 대체키는 "주민번호"가 된다.

 

4) 외래키(Foreign Key)

- 외래키는 하나의 테이블에서 원하는 자료를 얻지 못하는 경우 다른 테이블을 참조(이용)하기 위해 사용되는 속성을 말하며, 외래 식별자라고도 한다.

- 외래키는 참조 릴레이션(테이블)의 기본키와 같아야 한다.

- 외래키는 NULL이 올 수 있다.

- 외래키의 속성명과 참조 릴레이션의 기본키 속성명은 서로 달라도 무방하다.

식별 관계 : 외래키가 기본키인 경우.
비식별 관계 : 외래키가 일반 속성인 경우.

 

5) 슈퍼키(Super Key)

- 슈퍼키는 한 릴레이션(테이블) 내의 튜플들을 식별할 수 있는 후보키와 다른 속성들과의 모든 조합을 말한다.

- 슈퍼키는 유일성은 만족하지만, 최소성은 만족하지 않는다.

ex) 위 [학생] 테이블에서 학생 개개인을 구분하기 위한 모든 경우를 후보키와 조합해서 나열하면 다음과 같다.

(학번, 이름 or 주민번호 or 학과 or 학년), (학번, 이름, 학과), (주민번호, 이름) ...


무결성(Integrity) 제약조건

- 제약조건은 정확성과 완전성을 유지하기 위한 제약조건이다.

 

1) 개체 무결성

- 기본키는 NULL값이 올 수 없으며, 중복될 수 없음을 나타내는 제약조건이다.

- 개체 무결성은 개체를 식별하기 위해서 오류가 없도록 하기 위한 제약조건이다.

 

2) 참조 무결성

- 외래키는 NULL값이 올 수 있으며, 참조 릴레이션(테이블)의 기본키와 같아야 하는 제약조건으로 테이블 참조 시 오류가 없도록 하기 위한 제약조건이다.

 

3) 도메인 무결성

- 릴레이션(테이블)에서 속성값의 범위가 정의된 경우 그 속성값은 정해진 범위 이내의 값으로 구성해야 하는 제약조건이다.

- 동일한 속성에 대해 데이터 타입과 데이터 길이가 동일해야 한다.

 

4) 고유(Unique) 무결성

- 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성값은 모두 달라야 하는 제약조건이다.

 

5) NULL 무결성

- 특정 속성값에 NULL이 올 수 없다는 조건이 주어진 경우, 그 속성값은 NULL값이 올 수 없다는 제약조건이다.

 

6) 키 무결성

- 한 릴레이션(테이블)에는 최소한 하나의 키가 존재해야 하는 제약조건이다.