식별자(Identifiers)란 무엇인가?
주 식별자(Primary identifier) : 대표성을 만족하는 식별자로 다른 엔터티와 참조관계를 연결 할 수 있다.
보조 식별자(Alternate identifier) : 대표성을 가지지 못해 참조관계 연결 할 수 없다. 즉 유일성과 최소성만 만족하는 식별자
내부 식별자 : 엔터티 내부에서 스스로 만들어지는 식별자 즉 자연스럽게 존재하는 식별자
외부 식별자(Foreign identifier) : 다른 엔터티와의 관계를 통해 생성 되는 식별자
➡ 데이터베이스 생성 시에 Foreign Key 역할을 한다.
단일 식별자(Single identifier) : 하나의 속성을 가진 식별자
복합 식별자(Composit identifier) : 둘 이상의 여러 속성으로 구성된 식별자
본질 식별자 : 업무에 의해 만들어지며 ,대체될 수 없는 식별자
인조 식별자 : 인위적으로 만들어지는 대체가능한 식별자
1) 후보 식별자 중 주식별자로 선정할 것이 없거나
2) 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용
키 종류 | 설명 |
기본키 (PK) | 엔터티 대표 키 |
후보키 (CK) | 유일성과 최소성 만족하지만 대표성 부족 |
슈퍼키 (SK) | 유일성은 만족하지만 최소성 부족 |
대체키 (AK) | 후보키 중 기본키를 선정하고 남은 키 |
외래키 (FK) | 다른 테이블 기본 키 필드를 참조 한 키, 참조 무결성(Referential Integrity)을 확인하기 위해 사용됨 (허용된 데이터 값만 저장하기 위함이다) |
-키의종류-
해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다.
주식별자로 선정하기 위한 속성이 복합으로 구성되어 주식별자가 될 수 있을 때 가능하면 주식별자 선정하기 위한 속성의 수가 많지 않도록 해야 한다.
식별자의 속성의 개수가 많을 때(일반적으로 7~8개 이상)는 새로운 인조식별자를 생성하여 데이터 모델을 구성하는 것이 데이터 모델을 한층 더 단순하게 하고, 애플리케이션을 개발할 때 조건절을 단순하게 할 수 있는 방법이 될 수 있다.
자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우
Null값이 오면 안되므로 반 드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성되는 경우
부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하 는 경우
자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우
엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우