솜은 코튼

[DB] 데이타베이스 키 본문

DB

[DB] 데이타베이스 키

솜.코 2023. 5. 31. 15:19

2023.05.28 - [DB] - [DB] 관계 데이터 모델 (릴레이션)

 

[DB] 관계 데이터 모델 (릴레이션)

릴레이션 . 도메인 한 애트리뷰트에 나타날 수 있는 값들의 집합이다. 관계 데이터 모델은 원잣값을 가지며 복합 애트리뷰트나 다치 애트리뷰트는 허용되지 않는다. ex) 김창섭, 박영권, .. 등의

sommda.tistory.com

 

 

 

 

기본 키

.

 

 

후보 키는 투플을 유일하게 식별할 수 있는 집합이며, 유일성최소성을 보장해야 한다.

 

유일성모두 상이하고 유일하다는 뜻이고,

최소성꼭 필요한 애트리뷰트들로만 구성되어야 한다.

 

위에서 학생 릴레이션의 후보키는 '학번'이다.

두 애트리뷰트 집합 {이름, 학과}로 식별할 수 있으면 후보키가 될 수 있다.

만약 '이름'만으로 모든 투플들을 식별할 수 있다면 최소성을 보장하지 못해  후보키가 될 수 없다.

이런 애트리뷰트 집합을 '슈퍼 키'라고 한다.

즉, '학번'과 '이름'으로 투플을 유일하게 식별할 수 있다면

애트리뷰트 집합 {학번, 이름}은 슈퍼 키가 된다.

 

또한 인스턴스에서 한 번만 나타나 있을 수 있으며,

적어도 하나의 후보 키를 반드시 가지고 있어야 하고,

널 값을 가질 수 없다.

 

만약 후보 키가 둘 이상이면 지정한 하나의 후보 키를 '기본 키'라고 하며,

기본 키로 지정되지 않은 나머지는 '대체 키'라고 한다.

 

 

외래 키

.

 

 

위의 수강 릴레이션의 '학번'은 학생 릴레이션의 기본 키인 '학번'을 나타내고 있다.

하여 수강의 '학번'의 값은 반드시 학생의 '학번'의 값에 존재해야 의미를 가지게 된다.

이때 수강의 '학번' 애트리뷰트를 '외래 키'라 한다.

 

'수강' 릴레이션의 외래 키와 '학생' 릴레이션의 기본 키가 정의된 도메인은 같아야 하며,

'수강' 릴레이션의 외래 키가 반드시 '수강' 릴레이션의 기본 키가 되거나 기본 키에 포함되어야 하는 것은 아니다.

 

 

 

 

 

 

 

 

* 해당 글은 '데이터베이스 배움터' 책을 참고하여 작성하였습니다. 출처: ORACLE을 기반으로 하는 데이터베이스 배움터 (홍의경)

'DB' 카테고리의 다른 글

[DB] 데이터베이스 (정의, 특성)  (0) 2023.06.01
[DB] 정규형 (1NF, 2NF, 3NF, BCNF)  (0) 2023.05.31
[DB] 데이타 처리 시스템  (0) 2023.05.31
[DB] 정보 처리 시스템  (0) 2023.05.31
[DB] 무결성 제약 조건  (0) 2023.05.28