식별자
식별자
- 인스턴스를 유일하게 구분할 수 있는 속성 또는 속성의 집합
식별자의 분류
- 대표성 여부에 따른 분류
- 주식별자(= 기본키, PK) : 대표성, 유일성, 최소성, 불변성, 존재성(Not Null)을 만족
- 보조식별자(= 대체키, AK) : 대표성을 갖지 못함
- 스스로 생성 여부에 따른 분류
- 내부식별자 : 엔터티 내부에서 스스로 생성
- 외부식별자(= 외래키, FK) : 다른 엔터티로부터 받아오는 식별자
- 속성의 수에 따른 분류
- 단일식별자 : 하나의 속성으로 구성된 식별자
- 복합식별자 : 둘 이상의 속성으로 구성된 식별자
- 대체 여부에 따른 분류
- 본질식별자 : 프로세스 상에서 현실로 존재하는 식별자
- 인조식별자 : 인위적으로 생성한 식별자
식별자 관계 / 비식별자 관계
- 식별자 관계 (= 강한 연결 관계)
- 부모 엔터티로부터 받은 식별자를 자식 엔터티의 주식별자로 이용하며, Null이 있으면 안됨
- 부모 엔터티와 자식 엔터티가 같은 생명주기를 가짐
- 비식별자 관계 (= 약한 연결 관계)
- 부모 엔터티로부터 받은 속성을 일반 속성으로 사용하는 경우
- 부모 엔터티와 자식 엔터티가 서로 다른 생명주기를 가짐
+) 식별자는 부모와 자식간의 상호작용이 의무이나, 비식별자는 선택사항
+) IE 표기법에서는 점선, Barker 표기법에서는 Bar(|) 여부로 비식별자 관계 파악
키
- 후보키 (Candidate Key) : 유일성과 최소성을 만족하는 속성 또는 속성들의 조합
- 기본키 (Primary Key) : 후보키 중에서 대표성을 가지는 주 키, 개체무결성
- 대체키 (Alternate Key) : 기본키를 제외한 나머지 후보키
- 슈퍼키 (Super Key) : 유일성은 만족하지만 최소성은 만족시키지 못하는 키
- 외래키 (Foreign Key) : 다른 테이블의 기본키를 참조하는 키, 참조무결성
- 개체무결성 : Null 값이나 중복된 값 저장 불가
- 참조무결성 : 참조할 수 없는 외래키 값을 가질 수 없음
+) 식별자는 논리 모델링 단계에서 사용하고, 키는 물리 모델링 단계에서 사용