IT/SQLD

[SQLD] 엔티티

또닝 2017. 10. 20. 09:57

[ 엔티티 ]


엔티티

명사

업무상 관리가 필요한 관심사

저장이 되기 위한 어떤 것(Thing)


엔티티 특징

1. 업무에서 필요로 하는 정보

2. 식별이 가능해야 함

3. 인스턴스의 집합

4. 업무프로세스에 의해 사용

5. 속성을 포함

6. 관계의 존재


엔티티의 분류

1. 유무형에 따른 분류

- 유형엔티티

물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔티티로 업무로부터 엔티티를 구분하기 가장 용이

- 개념엔티티

물리적인 형태가 존재하지 않고 관리해야할 개념적 정보로 구분이 되는 엔티티

- 사건엔티티

업무를 수행함에 따라 발생되는 엔티티


2. 발생시점에 따른 분류

- 기본엔티티

그 업무에 원래 존재하는 정보로서 다른 엔티티와 관계에 의해 생성되지 않고 독립적으로 생성 가능, 타 엔티티의 부모 역할

- 중심엔티티

기본엔티티로부터 발생되고 그 업무에 있어서 중심적인 역할, 다른 엔티티와의 관계를 통해 행위엔티티 생성

- 행위엔티티

두 개 이상의 부모엔티티로부터 발생, 자주 내용이 바뀌거나 데이터량이 증가

속성

업무에서 필요

의미상 미분리

인스턴스의 구성요소


엔티티, 인스턴스, 속성, 속성값의 관계

엔티티에는 두 개 이상의 인스턴스가 존재

인스턴스는 속성의 집합

속성은 한 개의 속성값만 가질 수 있다.


속성의 분류

1. 기본 속성

2. 설계 속성 ( 코드성 속성 )

3. 파생 속성 ( 계산된 값 )


도메인

각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라 한다.


관계

관계의 페어링

관계는 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것의 집합을 관계로 표현한다.

- 인스턴스의 관계가 페어링 → 페어링의 집합은 관계(Relation)

- 엔티티의 단수형은 인스턴스, 관계의 단수형은 페어링



식별자

주식별자의 특징

특징

내용 

비고 

유일

주식별자에 의해 엔티티내에 모든 인스턴스들을 유일하게 구분함

ex) 사원번호가 주식별자고 모든 직원들에 대해 개인별로 고유하게 부여됨

최소성

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

ex) 사원번호만으로도 고유한 구조인데 사원분류코드+사원번호로 식별자가 구성될 경우 부적절한 주식별자 구조임

불변성

주식별자가 한 번 특정 엔티티에 지정되면 그 식별자 값은 변하지 않아야 함

ex) 사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념임

존재성

주식별자가 지정되면 반드시 데이터 값이 존재해야 함 (Null 안됨)

ex) 사원번호가없는 회사직원은 있을 수 없음 


식별자 분류 및 표기법

분류

식별자

비고 

 대표성 여부

 주식별자

엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 

타 엔티티와 참조관계를 연결하 수 있는 식별자

보조식별자

엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이나,

대표성을 가지지 못해 참조관계를 연결할 수 없음

스스로

생성여부

 내부식별자

엔티티 내부에서 스스로 만들어지는 식별자

 외부식별자

타 엔티티와의 관계를 통해 타 엔티티로부터 받아오는 식별자

속성의 수

단일식별자

하나의 속성으로 구성된 식별자

복합식별자

둘 이상의 속성으로 구성된 식별자

대체 여부

본질식별자

업무에 의해 만들어지는 식별자 

 인조식별자

업무적으로 만들어지지는 않지만, 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자 


주식별자의 특징

항목

식별자관계

식별자관계

 목적

강한 연결관계 표현 

 약한 연결관계 표현 

 자식

주식별자

영향

자식 주식별자의 구성에 포함 

 자식 일반 에 포함 

 표기법

실선 

점선 

연결

고려사항

- 반드시 부모 엔티티에 종속

- 자식 주식별자 구성에 부모 주식별자 포함 필요

- 상속받은 주식별자속성을 타 엔티티에 이전 필요

약한 종속관계

- 자식 주식별자 구성을 독립적으로 구성

자식 주식별자 구성에 부모 주식별자 부분 필요

상속받은 주식별자속성을 타 엔티티에 차단 필요

- 부모쪾의 관계참여가 선택관계


식별자 관계

자식엔티티의 주식별자로 부모의 주식별자가 상속이 되는 경우


비식별자 관계

부모엔티티로부터 속성을 받았지만 자식엔티티의 주식별자로 사용하지 않고 일반속성으로만 사용하는 경우


비식별자관계 설정 고려사항



'IT > SQLD' 카테고리의 다른 글

[SQLD] SQL기본_GROUP BY, HAVING절  (0) 2017.11.21
[SQLD] 함수  (0) 2017.11.20
[SQLD] SQL기본_TCL/WHERE절  (0) 2017.11.20
[SQLD] SQL기본_DDL  (0) 2017.11.20
[SQLD]데이터 모델링의 이해  (0) 2017.06.16