정보 처리/데이터 모델링

식별자의 정의

본클라쓰 2012. 6. 16. 16:16

 

식별자의 특징

 

식별자는 여러 개의 집합체를 담고 있는 하나의 엔티티타입에서 각각의 엔티티를 구분할 수 있는 결정자입니다. 모든 엔티티타입에는 반드시 하나 이상의 식별자를 가지고 있습니다.

 

식별자의 특징은 식별자에 의해 엔티티타입 내 모든 엔티티들이 유일하게 구분되어야 하고, 특정 엔티티타입에 식별자가 지정되면 그 식별자는 변하지 않아야 합니다. 마지막으로 주 식별자의 경우 반드시 데이터 값이 있어야 합니다.

 

 

 

식별자의 종류(릴레이션의 키)

 

 

1) 슈퍼키(super key)

 

한 엔티티타입 내의 특정 엔티티을 고유하게 식별하는 하나의 속성 또는 속성의 집합입니다. 엔티티를 고유하게 식별하는데 꼭 필요한 속성을 포함합니다. 일반적으로 기본키가 될 수 있습니다.

 

 

2) 후보기(candidate key)

 

후보키는 각 엔티티를 고유하게 식별하는 최소한의 속성들의 모임으로 모든 엔티티타입에는 최소한 한개 이상의 후보키가 있어야 합니다. 후보키도 두 개 이상의 속성으로 이루어질 수 있으며 이런 경우 복합키(composite key)라고 부릅니다. 이 후보키 중 실제로 선정되어 사용되는 것이 기본키입니다.

 

 

3) 기본키(primary key)

 

한 엔티티타입에 후보키가 두 개 이상 있으면, 설계자 또는 데이터베이스 관리자는 이들 중 하나를 기본키로 선정합니다. 자연스러운 기본키를 찾을 수 없을 경우 레코드 번호와 같이 종종 인위적인 키 속성을 엔티티타입에 추가할 수 있습니다. 기본키는 레코드에서 유일하게 식별할 수 있는 속성 값으로 기본키는 널값을 갖지 않아야 하며 속성값이 변경될 가능성이 낮아야 합니다.

 

 

4) 대체키(alternate key)

 

기본키가 아닌 후보키로 둘 이상일 때 그 중 어느 하나를 기본키로 지정하면, 기본키를 제외한 나머지 후보키들이 남게 되는데 이를 대체키라고 합니다.

 

 

5) 외래키(foreign key)

 

다른 엔티티타입의 기본키를 참조하는 속성입니다. 관계 데이터베이스에서 엔티티타입들 간의 관계를 나타내기 위해 사용되며 외래키 속성은 참조되는 엔티티타입의 기본키와 동일한 도메인(같은 자료형)을 가져야 합니다. 자신의 속한 엔티티타입의 기본키의 구성 요소가 되거나 되지 않을 수 있습니다.

 

 

6) 인덱스

 

인덱스는 테이블 내의 레코드를 특정 순서대로 배열해서 신속하게 원하는 정보를 찾도록 해주는 역할을 합니다. 예를 들어 학생 이름과 학번을 모두 인덱스로 설정할 수 있습니다. 인덱스로 설정된 필드를 사용하면 보다 빨리 원하는 레코드를 검색할 수 있습니다. 하지만 불필요하게 인덱스를 많이 설정하면 디스크 저장 공간이 낭비되므로 주의해야 합니다.

 

 

 

주식별자를 선정하기 위한 규칙

 

 · 해당 업무에서 자주 이용되는 속성을 주식별자로 지정합니다.

 · 속성값의 길이가 가변적인 속성은 주식별자로 적당하지 않습니다.

 · 속성값이 자주 변하는 속성은 주식별자로 적당하지 않습니다.

 · 주식별자를 선정하기 위한 속성의 수가 적어야 합니다.

 · 주식별자에는 null 데이터가 들어가서는 안됩니다.

 

 

 

 

 

'정보 처리 > 데이터 모델링' 카테고리의 다른 글

정규화   (0) 2012.06.16
관계의 개념과 관계 정의하기  (0) 2012.06.12
속성 정의 하기  (0) 2012.06.12
엔티티타입의 개념과 설계 방법  (0) 2012.06.12
업무 분석하기 (프로세스 모델링)  (0) 2012.06.12