키(Key)란 

  • 데이터베이스에서 검색, 정렬 시 다른 튜플들과 구별할 수 있는 기준이 되는 Attribute(속성)입니다.

+ 튜플(Tuple) : 릴레이션을 구성하는 각각의 행, 속성의 모임으로 구성된다.

 

  1. 후보키 (Candidate Key)
    • Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 (기본키로 사용할 수 있는 속성들)
    • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
    • 유일성과 최소성 만족
      • 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
      • 최소성 : 꼭 필요한 속성으로만 구성
    • ex) 학번이나 주민번호
  2. 기본키 (Primary Key) = 주 키, 프라이머리 키, PK
    • 후보키 중 선택한 주키(Main Key)
    • Null 값을 가질 수 없음 (개체 무결성의 첫 번째 조건)
    • 동일한 값이 중복될 수 없음 (개체 무결성의 두 번째 조건)
    • ex) 학번이나 주민번호
  3. 대체키 (Alternate Key) = 보조키
    • 후보키 중 기본키를 제외한 나머지 키
    • ex) 학번을 기본키로 정의하면 주민번호는 대체키가 된다
  4. 슈퍼키 (Super Key)
    • 유일성은 만족하지만, 최소성은 만족하지 못하는 키 -> 뭉쳤을 경우 유일성이 생기고, 흩어지지만 몇몇 속성들은 독단적으로 유일성 있는 키로 사용할 수 없음
    • ex) 학번 + 주민번호 + 성명으로 슈퍼키 구성 -> 성명은 단독적으로 사용 못함
  5. 외래키 (Foreign Key)
    • 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는 중요한 도구이다
    • 외래키로 지정 시 참조 테이블의 기본키에 없는 값은 입력할 수 없다 (참조 무결성 조건)

 

반응형

+ Recent posts