상똥 2024. 1. 29. 19:24

[기본 용어]

1. 튜플

- 테이블을 구성하는 각각의 행을 의미

- 속성의 집합

- 파일 구조에서 레코드와 같은 의미로 사용된다

2. 키

- 테이블간의 관계를 좀 더 명확히 하고, 테이블 자체의 인덱스 역할을 하기 위해 설정된 장치

- 조건에 맞는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준

 

3. 유일성 

- 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질

- 튜플을 구분할 수 있어야 한다는 의미

- Ex) 회원들 사이에서 이름이나 생일은 중복될 수 있지만, ID는 중복될 수 없으므로 유일성을 만족함

 

4. 최소성

- 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질

- 최소한의 속성을 사용하여 튜플을 구분하는 것

- Ex) 이름과 생일 그리고 ID를 모두 키로 사용할 때 유일성은 만족할 수 있으나, ID으로 구분이 가능하므로 이름과 생일은 굳이 필요없어 최소성을 만족하지 않음

 

[키의 종류]

슈퍼키, 후보키, 기본키, 대체키, 외래키가 있다

1. 슈퍼키 (Super Key)

- 유일성을 만족하는 키

- ID+이름으로 조합된 키와 ID+나이로 조합된 키는 모두 유일성을 가짐

- 이름만으로 구성된 키는 '강준호'가 동명이인으로, 회원을 구분할 수 없어 유일성을 가지지 않는다

- 나이만으로 구성된 키는 17살이 두 명이므로, 회원을 구분할 수 없어 유일성을 가지지 않는다

 

2. 후보키 (Candidate Key)

- 유일성과 최소성 모두를 만족하는 키

- ID는 중복되는 값이 없으므로, 후보키이다

- 점수는 중복되는 값이 없으므로, 후보키이다

 

3. 기본키 (PK, Primary Key)

- 최소성과 유일성을 모두 만족하는 키

- 테이블의 데이터 중 고유하게 존재하는 속성

- 테이블에서 오직 한 개의 속성만 기본키가 될 수 있음

- NULL값을 가져서는 안 됨

- 값이 잘 변하지 않는 것을 고르는 것이 좋음

- 예시에서 ID와 점수가 유일성과 최소성을 만족하지만, 점수는 유동적인 특성을 가지므로 기본키에 적합하지 않음

- 따라서, ID가 기본키에 가장 적합함 

 

4. 대체키 (Alternate Key)

- 후보키들 중에서 기본키가 되지 못한 키

- 최소성과 유일성을 만족

 

5. 외래키 (FK, Foreign Key)

- 다른 테이블의 기본키를 그대로 참조하는 값

- 개체와의 관계를 식별하는 데 사용

- 중복 가능

 

6. 고유키 (Unique Key)

- 테이블 내에 항상 유일해야 하는 값 (중복 비허용)

- 해당 칼럼에 입력되는 데이터가 각각 고유하다는 것을 지키기 위한 제약조건

- NULL값 허용

 

[3. 기본키 vs 고유키]

  기본키 유니크키
유일성 O O
최소성 O O
NULL값 X O