본문 바로가기

CS/데이터베이스

여러가지 KEY 들

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