Key
검색이나 정렬시 튜플(Tuple)을 구분할 수 있는 기준이 되는 속성(Attribute)이다.
Candidate Key(후보키)
기본키가 될 수 있는 키들!!
- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분 집합
- 기본키로 사용할 수 있는 속성들을 후보키라고 한다.
- 모든 릴레이션은 반드시 하나 이상의 후보 키를 가져야 한다.
- 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
최소성 : 꼭 필요한 속성으로만 구성
Primary Key(기본키)
후보키들 중 하나!
- 후보 키 중 선택한 main key
- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성(Attribute)
- Null 값을 가질 수 없다. 개체 무결성 첫 번째 조건
- 기본 키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다. 개체 무결성 두 번째 조건
유일성 : 기본키를 구성하는 컬럼은 테이블에서 레코드를 식별할 수 있도록 유일해야 한다.
최소성 : 유일성을 만족하는 한도 내에서 최소한의 컬럼으로 구성되어야 한다.
개체 무결성 : 기본키가 가지고 있는 값의 유일성을 보장받아야 한다.
Alternate Key(대체키)
기본키를 제외한 나머지 후보키
- 후보키가 둘 이상일때, 기본 키를 제외한 나머지 후보키들을 말한다.
- 보조키라고도 한다.
Super Key(수퍼 키)
속성들의 집합으로 구성된 키
- 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
- 릴레이션을 구성하는 모든 튜플에 대해서 유일성은 만족하지만, 최소성은 만족시키지 못한다.
Foreign Key(외래키)
릴레이션 간에 참조 관계를 표현하는데 중요한 도구인 키
- 관계(Relation)을 맺고 있는 릴레이션 R1,R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성을 외래키라고 한다.
- 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다.
'CS > 데이터베이스' 카테고리의 다른 글
트랜잭션(Transaction)의 격리수준(Isolation)에 대해서 알아봅시다 (0) | 2022.01.19 |
---|---|
트랜잭션(Transaction)이란?? (0) | 2022.01.18 |
인덱스(index)? (0) | 2022.01.17 |
이상(Anomaly) (0) | 2022.01.15 |
SQL? No SQL? 둘의 차이? (0) | 2022.01.13 |