카테고리 없음

SQLD 1-5 식별자

귀요미찰쓰 2021. 11. 12. 13:47
728x90
반응형
반응형

식별자 개념

1. 엔터티는 인스턴스들의 집합이다. 여러개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름이 있어야한다. 이 구분자를 식별자라한다.

2. 엔터티의 각 인스턴스를 개별적으로 식별하기 위해 사용되는 관계 또는 속성의 조합

 

식별자의 특징

1. 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야한다.

2. 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야한다.

3. 지정된 주식별자의 값은 자주 변하지 않는 것이어야한다.

4. 주식별자가 지정이 되면 반드시 값이 들어와야한다.

 

식별자 분류

식별자 도출 기준

1. 해당 업무에서 자주 이용되는 속성을 주식별자로 가능하다.

2. 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 가능하지 않는다.

3. 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록한다.

 

식별자 관계와 비식별자 관계의 결정

1. 외부 식별자는 자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 쪽에 엔터티에 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 쪽엔 엔터티에 생성되는 속성을 외부식별자라하며 데이터베이스 생성 시에 Foreign Key역할을 한다.

2. 자식엔터티에서 부모엔터티로부터 받은 외부식별자를 자신의 주식별자로 이용할 것인지(식별자 관계) 또는 부모와 연결이 되는 속성으로서만 이용할 것인지를 결정(비식별자 관계)해야한다.

 

* 엔터티 사이 관계 유형은 업무 특징, 자식엔터티의 주식별자 구성, SQL전략에 의해 결정된다.

 

식별자 관계

1. 자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우를 식별자 관계라고 지칭한다.

2. 부모로부터 받은 식별자를 자식엔터티의 조식별자로 이용하는 경우는 Null값이 오면 안되므로 반드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성되는 경우이다.

 

비식별자 관계

1. 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우가 있다. 이와 같은 경우를 비식별자 관계라고하며 다음의 네 가지 경우에 비식별자 관계에 의한 외부속성을 생성한다.

2. 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우이다.

3. 자식엔터티에 주식별자로 사용하여도 되지만 자식엔터티에서 별도의 주식별자를 생성하는 것이 더 유리하다고 판단될 때 비식별자 관계에 의한 외부식별자로 표현한다.

 

식별자 관계와 비식별자 관계

1. 실제로 프로젝트를 전개할 때 식별자관계와 비식별자관계를 취사선택하여 연결하는 내공은 높은 수준의 ㅔ이터모델링의 기술이라 할 수 있다.

2. 식별자관계에서 비식별자관계를 파악하는 기술이 필요한데 다음 흐름(Flow)에 따라 비식별자관계를 선정한다면 합리적으로 관계를 설정하는 모습이 될 수 있다. 기본적으로 식별자관계로 모든 관계가 연결되면서 다음 조건에 해당할 경우 비식별자관계로 조정하면 된다.

 

 

 

 

반응형