< 목차 >
0. TL;DR
1. 엔티티 타입
2. 엔티티 타입 특징 6가지
3. 엔티티 타입 분류
4. 엔티티 타입 명명
5. 속성
0. TL;DR
- 엔티티(Entity): 정보를 저장하고 관리하는 단위
- 엔티티 타입: 엔티티의 집합
- 정보가 저장될 수 있는 사람, 장소, 물건, 개념을 정의할 수 있음
- 식별자를 부여해 유일하게 만들어야 함
- 속성: 엔티티에서 더 이상 분리되지 않는 최소 데이터 단위
- 엔티티는 고유 성격을 표현하는 속성 정보를 1개 이상 포함
1. 엔티티 타입
: 업무에 필요한 정보를 저장하고 관리하기 위한 것으로, 영속적으로 존재하는 단위
- 엔티티: 정보를 저장하고 관리하는 단위
- 엔티티 타입에 속한 하나의 인스턴스
- 정보가 될 수 있는 사람, 장소, 물건, 개념을 정의할 수 있는 것
- 엔티티 타입: 엔티티의 집합
e.g.
엔티티 타입 | 엔티티 |
강의실 | 101호 102호 |
과목 | 데이터베이스 모델링 SQL 기초 |
강사 | Teo Lio |
엔티티 타입은 데이터베이스를 구현할 때, ‘테이블’에 해당된다.
2. 엔티티 타입 특징 6가지
(1) 시스템 구축 시, 업무에서 꼭 필요하고 관리돼야 하는 정보
: 시스템 구축 대상 업무에서 해당 엔티티 타입이 필요한가를 판단하는 게 중요
- 보험사의 경우, 보험 상품과 계약자 엔티티 반드시 필요
- 병원의 경우, 환자 엔티티 반드시 필요
(2) 유일한 식별자에 의해 식별 가능
: 어떤 엔티티 타입이든 식별자를 부여해 유일하게 만들어야 함
- 각 엔티티가 식별자에 의해 1개씩만 존재하는지 검증 필요
- 유일한 식별자는 엔티티만의 고유 이름 (e.g. 주민등록번호)
(3) 영속적으로 존재하는 엔티티의 집합
: 엔티티 타입은 반드시 2개 이상의 엔티티로 구성돼야 함
(4) 반드시 업무 프로세스에 사용
업무에 필요해 엔티티 타입을 선정했는데 사용되지 않는다면 업무 분석을 정확하게 하지 못한 것이고, 업무 프로세스 도출이 적절하게 이뤄지지 않았음을 의미한다.
이 경우, 프로세스 모델링 or 상관 모델링에서 문제점을 도출해야 한다.
(5) 반드시 속성(Attribute)을 포함
속성을 포함하지 않고 엔티티 집합만 있는 경우는
업무 분석이 제대로 되지 않음을 의미하고, 속성 정보가 누락된 경우를 의미한다.
(6) 타 엔티티 타입과 최소 1개 이상의 관계를 포함
엔티티 타입이 잘못 선정되면 고립된 엔티티 타입이 존재한다.
3. 엔티티 타입 분류
(1) 성격 (유무)
- 유형(Tangible): 물리적인 형태 있음, 지속적 활용
- e.g. 사원, 강사
- 개념(Conceptual): 물리적인 형태 없음, 관리해야 할 개념적 정보로 구분
- e.g. 조직, 상품, 장소
- 사건(Event): 업무 수행에 따라 발생, 일반적으로 발생량 많음
- e.g. 주문, 청구, 미납
(2) 업무 구성 모습 (발생 시점)
- 기본 엔티티 타입: 업무에 원래 존재하는 정보
- 다른 엔티티 타입과 관계에 의해 생성되지 않고 독립적으로 생성
- 자신이 부모(최상위) 역할
- 중심 엔티티 타입: 기본 엔티티 타입에서 발생되고, 그 업무에서 중심적인 역할
- 행위 엔티티 타입: 2개 이상의 부모 엔티티 타입에서 발생
- 내용이 자주 바뀌거나 데이터량 증가
4. 엔티티 타입 명명
- 현업에서 사용하는 용어 사용
- 약어 사용 안 함
- 단수 명사를 사용
- 엔티티 타입에서 부여되는 이름은 유일
- 엔티티 타입에 생성되는 의미에 따라 이름 부여
5. 속성
: 엔티티에서 더 이상 ‘분리되지 않는 최소 데이터 단위’
- 엔티티는 고유 성격을 표현하는 속성 정보를 1개 이상 포함
- 속성은 엔티티에 대한 구체적인 정보를 나타내며 각각의 속성은 구체적인 값 가짐
- e.g. [엔티티 타입] 사원 - [엔티티] 이상혁 - [속성] 주소, 나이, 성별
속성의 분류
- 기본 속성: 업무 분석을 통해 정의한 속성
- 업무로부터 추출한 모든 속성 (e.g. 코드성 데이터, 식별번호)
- 설계 속성: 업무엔 존재하지 않지만 설계를 하면서 도출되는 속성
- 데이터 모델링을 위해 규칙화하려는 속성 (e.g. 식별자)
- 파생 속성: 계산이나 변형되어 생성되는 속성
- 다른 속성에 영향을 받아 발생하는 속성 (e.g. 계산된 값)
속성의 명명
- 속성명은 인터페이스에 나타나기 때문에 정확한 이름 부여
- 용어의 혼란을 없애기 위해 용어사전을 사용하기도 함
- 속성 부여 원칙 준수
- 현업에서 사용하는 이름으로 부여
- 명사형을 이용하고 수식어가 많이 붙지 않도록 주의
- 공용화하지 않은 약어는 사용 금지
- 속성명은 유일하게 작성
'CS (Computer Science)' 카테고리의 다른 글
[개발 공부 106일차] DB 개론 | 데이터 모델링 단계, 개념적 데이터 모델링 (7) | 2024.09.28 |
---|---|
[개발 공부 105일차] DB 개론 | 식별자, 관계 (0) | 2024.09.27 |
[개발 공부 103일차] DB 개론 | 데이터베이스 모델링 개념 (2) | 2024.09.25 |
[개발 공부 102일차] DB 개론 | 데이터베이스 보안과 권한 관리 (0) | 2024.09.24 |
[개발 공부 101일차] DB 개론 | 트랜잭션과 동시성 (0) | 2024.09.23 |