엔터티(Entity)
: 업무에서 관리해야하는 데이터의 집합, 명사형, 인스턴스의 집합 (보이지않는 것 포함)
- 특징 ★
- 업무에서 필요로 함
- 유일한 식별자를 가짐
- 2개 이상의 인스턴스를 포함함
- 업무 프로세스에 이용
- 속성 포함
- 최소 1개 이상 관계 존재 (통계성, 코드성, 내부필요 엔터티 제외)
- 종류 ★
- 유무형에 따른 분류
- 유형 엔터티 : 물리적 형태가 있고 지속적으로 활용되는 엔터티 ex) 사원, 물품, 강사
- 개념 엔터티 : 물리적 형태가 없는 엔터티 ex) 조직, 보험상품
- 사건 엔터티 : 업무 수행함에 따라 발생됨 ex) 주문, 청구, 미납
- 발생시점에 따른 분류
- 기본 엔터티(Key Entity) : 업무에 원래 존재하는 정보. 자신은 타 엔터티의 부모역할. 독립적으로 생성. 자신의 고유한 주식별자 가짐. 다른 엔터티로부터 주식별자 상속X
ex) 사원, 부서, 고객, 상품, 자재 - 중심 엔터티(Main Entity) : 기본 엔터티와 행위 엔터티의 중간에 존재하는 엔터티. 기본 엔터티로부터 발생. 다른 엔터티와의 관계로 많은 행위 엔터티 생성
ex) 계약, 사고, 주문, 매출 - 행위 엔터티(Active Entity, 사건 엔터티) : 2개 이상의 부모 엔터티로부터 발생함
비즈니스 프로세스를 실행하면서 생성됨. 지속적으로 정보가 추가되고 변경되어 데이터양이 가장 많음
ex) 주문목록, 사원변경 이력
- 기본 엔터티(Key Entity) : 업무에 원래 존재하는 정보. 자신은 타 엔터티의 부모역할. 독립적으로 생성. 자신의 고유한 주식별자 가짐. 다른 엔터티로부터 주식별자 상속X
- 유무형에 따른 분류
- 명명 규칙 ★
1) 현업업무에서 사용하는 용어
2) 약어 사용X, 복합명사 사용해서 구체적 :
3) 단수 명사(서술식 금지)
4) 유일성 보장
5) 명확성 (생성의미대로 부여) - 관계차수(Cardinality) : 엔터티간 관계에서 참여자의 수를 표현하는 것

속성(Attribute)
: 업무에서 필요로 하는 인스턴스로 관리하고자 하는 엔터티가 가지는 최소 의미 단위, 인스턴스의 구성요소
- 관계
- 1개의 엔터티는 2개 이상의 인스턴스 집합이어야 한다.
- 1개의 엔터티는 2개 이상의 속성을 갖는다.
- 1개의 속성은 1개의 속성값을 갖는다. (1개 이상이면 정규화가 필요하다.)
- 속성 표기법 : IE 표기법, Barker 표기법
- 특징
- 업무에서 필요하고 관리하고자 하는 정보
- 주식별자에 함수적으로 종속됨
- 속성값 하나만 가짐 (원자값 Atomic value, 하나의값) → 하나 이상의 속성값이면 정규화 필요!
- 종류
- 특성에 따른 분류
- 기본 속성 : 비즈니스 프로세스에서 도출되는 본래의 속성
ex) 제품이름, 제조년월, 제조원가 - 설계 속성 : 데이터 모델링 과정에서 업무 규칙화를 위해 발생하는 속성
ex) 코드성, 일련번호 등 - ★파생 속성 : 다른 속성에 의해 만들어지는 속성(계산되는값)
(↔ 저장 속성은 유도 속성을 생성하는 데 사용)
ex) 이자 (이자율,원금은 아님!!) 단가, 수량, 최초주문일자
- 기본 속성 : 비즈니스 프로세스에서 도출되는 본래의 속성
- 분해 가능 여부에 따른 분류
- 단일 속성 : 하나의 의미
- 복합 속성 : 여러 의미, 단일 속성으로 분해 가능 ex) 주소
- 단일값(single value) 속성 : 하나의 값
- 다중값(multi value) 속성 : 여러 값, 엔터티로 분해 가능
- 엔터티 구성방식에 따른 분류
- 기본키(PK) 속성 : 엔터티를 식별할 수 있는 속성
- 외래키(FK) 속성 : 다른 엔터티와의 관계에서 포함된 속성
- 일반 속성 : 엔터티에 포함되고 PK나 FK 속성이 아닌 속성
- 도메인 : 속성이 가질 수 있는 값의 범위. 엔터티 내에서 속성에 대한 데이터타입과 크기, 제약사항을 지정하는 것
- 특성에 따른 분류
관계(Relationship)
: 인스턴스 사이의 논리적인 연관성. 존재 or 행위로서 서로에게 연관성이 부여된 상태 (동사형)
- 관계의 패어링 : 인스턴스 간 개별적 관계. 이것의 집합을 논리적으로 표현한 것이 관계
- 관계 표기법
- 관계명 : 엔터티가 관계에 참여하는 형태. 각 관계는 2개의 관계명 및 관점을 가짐
- 관계차수(Cardinality) : 관계 내 튜플의 전체 개수, 1은 직선, 多는 삼발로 표시
M : N 관계 : 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생 - 관계선택사양: 필수는 I , 선택은 O로 표시
- 종류
- ERD 기준: 표기구분 안함
- 존재에 의한 관계 : 엔터티 간의 상태
- 행위에 의한 관계 : 엔터티 간에 발생하는 행위
- UML(Unified Modeling Language) 기준
- 연관 관계(Association) : 실선 표기. 항상 이용하는 관계로 존재적 관계에 해당
- 의존 관계(Dependency) : 점선 표기. 상대방 클래스의 행위에 의해 관계가 형성될 때
- 식별자에 따른 분류
- 식별 관계 : 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용 (강한연결관계-실선)
약한 엔터티: 부모 엔터티에 종속되어 존재 (↔ 강한 엔터티는 독립적으로 존재함) - 비식별 관계 : 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계(점선)
- 식별 관계만으로 연결되면 주식별자 수가 많아질 수밖에 없으므로
1) 관계 강약 분석
2) 자식 엔터티의 독립 PK 필요성
3) SQL 복잡성과 개발 생산성 고려 필요
- 식별 관계만으로 연결되면 주식별자 수가 많아질 수밖에 없으므로
- 식별 관계 : 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용 (강한연결관계-실선)
- 관계 읽기 : 각각의/하나의 > 기준 엔터티 > 관계차수 > 대상 엔터티 > 관계선택사양 > 관계명
- ERD 기준: 표기구분 안함


'Certificate > SQLD' 카테고리의 다른 글
[SQLD] 2과목 - 1장. SQL 기본 / 2장. WHERE (0) | 2022.11.07 |
---|---|
[SQLD]1과목 - 3장. DB 구조와 성능 (0) | 2022.11.07 |
[SQLD]1과목 - 2장. 데이터 모델과 성능 (0) | 2022.11.07 |
[SQLD]1과목 - 1장 3절. 식별자 (0) | 2022.10.13 |
[SQLD]1과목 - 1장 1절. 데이터 모델링의 이해 (0) | 2022.10.06 |
댓글