SQLD 단원별 목록으로
1. 식별자(Identifiers) 개념
- 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터를 대표할 수 있는 속성을 의미하며 하나의 엔터티는 반드시 하나의 유일한
식별자가 존재해야 한다.
2. 식별자의 특징
- 외부식별자의 경우 주식별자 특징과 일치하지 않으며 참조무결성 제약조건(Referential Interity)에 따른 특징을 가지고 있다.
3. 식별자 분류 및 표기법
가) 식별자 분류
- 자신의 엔터티 내에서 대표성을 가지는가에 따른 주식별자(Primary Identifier)와 보조식별자(Alternate Identifier)로 구분
- 엔터티 내에서 스스로 생성되었는지 여부에 따라 내부식별자와 외부식별자(Foreign Identifier)로 구분
- 단일 속성으로 식별이 되는가에 따라 단일식별자(Single Identifier)와 복합식별자(Composit Identifier)로 구분
나) 식별자 표기법
4. 주식별자 도출기준
가) 해당 업무에서 자주 이용되는 속성을 주식별자로 지정하도록 함
- 예를 들면, 직원이라는 엔터티가 있을 때 유일하게 식별가능한 속성으로는 주민등록번호와 사원번호가 존재할 수 있다.
사원번호가 그 회사에서 직원을 관리할 때 흔히 사용되므로 사원번호를 주식별자로 지정하고 주민등록번호는 보조식별자로 사용
나) 명칭, 내역 등과 같이 이름으로 기술되는 것을 피함
- 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않도록 한다.
- 예를 들어, 한 회사에 부서이름이 100개가 있다고 할 때, 각각의 부서이름은 유일하게 구별될 수 있다고 하여 부서이름을 주식별자로
지정하지 않도록 해야 한다.
- 부서명과 같은 경우 부서코드를 부여하여 코드엔터티에 등록한 후 부서코드로 주식별자를 지정하는 방법과 부서일련번호(부서번호)를
주식별자로 하고 부서명은 보조식별자로 활용하는 두 가지 방법이 있다.
다) 속성의 수가 많아지지 않도록 함
5. 식별자관계와 비식별자관계에 따른 식별자
가) 식별자관계와 비식별자 관계의 결정
- 엔터티에 주식별자가 지정되고 엔터티 간 관계를 연결하면 부모 쪽의 주식별자를 자식엔터티의 속성으로 내려 보낸다.
이때 자식엔터티에서 부모엔터티로부터 받은 외부식별자를 자식의 주식별자로 이용할 것인지 또는 부모와 연결이 되는 속성으로서만
이용할 것인지를 결정해야 한다.
나) 식별자 관계
- 부모로부터 받은 식별자를 자식엔터티의 주식별자로 이용하는 경우는 Null 값이 오면 안 되므로 반드시 부모엔터티가 생성되어야
자기 자신의 엔터티가 생성되는 경우.
다) 비식별자 관계
- 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로 사용하는 경우
① 자식엔터티에서 받는 속성이 반드시 필수가 아니어도 무방하기 떄문에 부모 없는 자식이 생성될 수 있다.
② 엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우
③ 여러 개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가질 때
④ 자식엔터티에 주식별자로 사용하여도 되지만 자식엔터티에서 별도의 주식별자을 생성하는 것이 더 유리하다 판단될 때
라) 식별자와 비식별자관계 비교
'자격증 > SQL개발자(SQLD)' 카테고리의 다른 글
2-2장. 데이터 모델과 성능_정규화와 성능 (9) | 2023.05.17 |
---|---|
2-1장. 데이터 모델과 성능_성능 데이터 모델링의 개요 (8) | 2023.05.16 |
1-4장. 데이터 모델링의 이해_관계(Relationship) (13) | 2023.05.14 |
1-3장. 데이터 모델링의 이해_속성(Attribute) (4) | 2023.05.10 |
1-2장. 데이터 모델링의 이해_엔터티(Entity) (6) | 2023.05.08 |