[ 엔티티 ]
엔티티
명사
업무상 관리가 필요한 관심사
저장이 되기 위한 어떤 것(Thing)
엔티티 특징
1. 업무에서 필요로 하는 정보
2. 식별이 가능해야 함
3. 인스턴스의 집합
4. 업무프로세스에 의해 사용
5. 속성을 포함
6. 관계의 존재
엔티티의 분류
1. 유무형에 따른 분류
- 유형엔티티
물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔티티로 업무로부터 엔티티를 구분하기 가장 용이
- 개념엔티티
물리적인 형태가 존재하지 않고 관리해야할 개념적 정보로 구분이 되는 엔티티
- 사건엔티티
업무를 수행함에 따라 발생되는 엔티티
2. 발생시점에 따른 분류
- 기본엔티티
그 업무에 원래 존재하는 정보로서 다른 엔티티와 관계에 의해 생성되지 않고 독립적으로 생성 가능, 타 엔티티의 부모 역할
- 중심엔티티
기본엔티티로부터 발생되고 그 업무에 있어서 중심적인 역할, 다른 엔티티와의 관계를 통해 행위엔티티 생성
- 행위엔티티
두 개 이상의 부모엔티티로부터 발생, 자주 내용이 바뀌거나 데이터량이 증가
속성
업무에서 필요
의미상 미분리
인스턴스의 구성요소
엔티티, 인스턴스, 속성, 속성값의 관계
엔티티에는 두 개 이상의 인스턴스가 존재
인스턴스는 속성의 집합
속성은 한 개의 속성값만 가질 수 있다.
속성의 분류
1. 기본 속성
2. 설계 속성 ( 코드성 속성 )
3. 파생 속성 ( 계산된 값 )
도메인
각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라 한다.
관계
관계의 페어링
관계는 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것의 집합을 관계로 표현한다.
- 인스턴스의 관계가 페어링 → 페어링의 집합은 관계(Relation)
- 엔티티의 단수형은 인스턴스, 관계의 단수형은 페어링
식별자
주식별자의 특징
특징 | 내용 | 비고 |
유일성 | 주식별자에 의해 엔티티내에 모든 인스턴스들을 유일하게 구분함 | ex) 사원번호가 주식별자고 모든 직원들에 대해 개인별로 고유하게 부여됨 |
최소성 | 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 | ex) 사원번호만으로도 고유한 구조인데 사원분류코드+사원번호로 식별자가 구성될 경우 부적절한 주식별자 구조임 |
불변성 | 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자 값은 변하지 않아야 함 | ex) 사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념임 |
존재성 | 주식별자가 지정되면 반드시 데이터 값이 존재해야 함 (Null 안됨) | ex) 사원번호가없는 회사직원은 있을 수 없음 |
식별자 분류 및 표기법
분류 | 식별자 | 비고 |
대표성 여부 | 주식별자 | 엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 타 엔티티와 참조관계를 연결하 수 있는 식별자 |
보조식별자 | 엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이나, 대표성을 가지지 못해 참조관계를 연결할 수 없음 |
|
스스로 생성여부 |
내부식별자 | 엔티티 내부에서 스스로 만들어지는 식별자 |
외부식별자 | 타 엔티티와의 관계를 통해 타 엔티티로부터 받아오는 식별자 | |
속성의 수 | 단일식별자 | 하나의 속성으로 구성된 식별자 |
복합식별자 | 둘 이상의 속성으로 구성된 식별자 | |
대체 여부 | 본질식별자 | 업무에 의해 만들어지는 식별자 |
인조식별자 | 업무적으로 만들어지지는 않지만, 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자 |
주식별자의 특징
항목 | 식별자관계 | 비식별자관계 |
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 주식별자 영향 |
자식 주식별자의 구성에 포함 | 자식 일반 에 포함 |
표기법 | 실선 | 점선 |
연결 고려사항 |
- 반드시 부모 엔티티에 종속 - 자식 주식별자 구성에 부모 주식별자 포함 필요 - 상속받은 주식별자속성을 타 엔티티에 이전 필요 |
- 약한 종속관계 - 자식 주식별자 구성을 독립적으로 구성 - 자식 주식별자 구성에 부모 주식별자 부분 필요 - 상속받은 주식별자속성을 타 엔티티에 차단 필요 - 부모쪾의 관계참여가 선택관계 |
식별자 관계
자식엔티티의 주식별자로 부모의 주식별자가 상속이 되는 경우
비식별자 관계
부모엔티티로부터 속성을 받았지만 자식엔티티의 주식별자로 사용하지 않고 일반속성으로만 사용하는 경우
비식별자관계 설정 고려사항
'IT' 카테고리의 다른 글
[SQLD] SQL기본_TCL/WHERE절 (0) | 2017.11.20 |
---|---|
[SQLD] SQL기본_DDL (0) | 2017.11.20 |
ORACLE → MSSQL 쿼리 변환 (0) | 2017.10.18 |
[SQLD]데이터 모델링의 이해 (0) | 2017.06.16 |
[스프링/Spring]AOP 개념 (0) | 2017.06.10 |