데이터 키

데이터 키의 개요

데이터 키의 정의

데이터베이스 객체(Entity) 간의 관계(Relation)에서 투플을 유일하게 식별할 수 있는 속성의 집합

데이터 키의 특징

  • 유일성: 속성의 집합인 키의 내용이 객체 내에서 유일해야 함
  • 대표성: 객체 내의 후보키는 하나의 투플만을 식별
  • 최소성: 객체의 모든 투플을 유일하게 식별하기 위해 꼭 필요한 속성들로 구성

데이터 키의 관계 및 유형

데이터 키의 관계

데이터 키의 유형

유형 설명 특성
Super Key(슈퍼키) 레코드를 유일하게 식별할 수 있는 하나 또는 그 이상의 애트리뷰트 집합 유일성(uniqueness)
Candidate Key(후보키) 레코드를 유일하게 구분할 수 있는 최적화한 필드의 집합 유일성, 최소성, minimal, not null
Primary Key(기본키) 후보키 중 레코드를 효율적으로 관리하도록 선택한 주 키(Main Key) 유일성, 최소성, Not null
Alternate Key(대체키) 선정된 기본키를 제외한 나머지 후보키들, 보조키(Secondary Key) 유일성, 최소성, Not null
Foreign Key(외래키) 연관 관계가 있는 다른 테이블의 후보키 값을 참조하는 키  

데이터 키의 제약조건과 무결성

데이터 키의 제약조건

제약조건 설명
PRIMARY KEY(PK) 해당 컬럼 값은 반드시 존재해야 하며, 유일해야 함
(NOT NULL과 UNIQUE 제약조건을 결합한 형태)
FOREIGN KEY(FK) 해당 컬럼 값은 참조되는 테이블의 컬럼 값 중의 하나와 일치하거나 NULL을 가짐
UNIQUE KEY(UK) 테이블내에서 해당 컬럼 값은 항상 유일해야 함
NOT NULL 컬럼은 NULL 값을 포함할 수 없다.
CHECK(CK) 해당 컬럼에 저장 가능한 데이터 값의 범위나 조건 지정

데이터 키의 무결성

무결성 대상 설명
개체 무결성(entity integrity) 객체 기본키로 사용하는 속성은 null 값을 가질 수 없음
참조 무결성(referential integrity) 관계 릴레이션은 참조할 수 없는 외래키의 값을 가져서는 안됨
범위 무결성(domain integrity) 레코드 속성에서 허용 가능한 값의 범위를 지정
(속성의 데이터 타입, 길이, 기본 키, 유일성, null 허용, 허용 값의 범위)