[Database] 키(Key)
2023. 12. 4. 17:12ㆍCS
키의 개념
Key란? : 조건에 만족하는 Tuple을 검색, 정렬시 구분할 수 있는 기준이 되는 속성(Attribute)
왜 필요할까?
- 중복이 되지 않고 이상 현상(삽입, 수정, 삭제 이상)을 방지하기 위해
- 특정 데이터를 검색하거나 정렬하고 싶을 때 원하는 값을 얻고 식별하기 위해
키의 종류
1. 기본키(Primary Key)
후보키 중 선택한 Main Key - 유일무이한 값을 가진 키
특징
- 속성이 항상 고유한 값을 가져야함
- Null 값을 가질 수 없음
- 동일한 값이 중복될 수 없음
- 테이블에 기본키는 하나만 만들 수 있음
2. 후보키(Candidate Key)
Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)
2가지 조건 만족
- 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
- 최소성 : 모든 레코드를 유일하게 식별하는데 꼭 필요한 속성으로만 구성
3. 대체키(Alternate Key)
후보키 중 기본키를 제외한 나머지 키 = 대체키
4. 슈퍼키 (Super Key)
유일성은 만족하지만, 최소성은 만족하지 못하는 키를 말한다.
5. 외래키(Foreign Key)
다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합
반응형
'CS' 카테고리의 다른 글
[Database] SQL Injection (보안) (1) | 2023.12.05 |
---|---|
[Database] 조인(Join) (0) | 2023.12.04 |
[Operating System] 파일 시스템(File System) (0) | 2023.11.30 |
[Operating System] 페이징과 세그먼테이션 (0) | 2023.11.30 |
[Operating System] 세마포어(Semaphore)와 뮤텍스(Mutex) (1) | 2023.11.27 |