Study/Classes
[SQLD] 1-2. Entity/Attribute/Relationship
RUMJIE 럼지
2023. 3. 3. 09:00
728x90
패스트캠퍼스 강의와 이기적 기본서를 기반으로 공부합니다.
1. Entity 엔터티
- 업무에서 관리해야 하는 관심사, 데이터 집합
- 개념, 사건, 장소 등의 명사
- 인스턴스의 집합
* (엔터티는 원소, 인스턴스는 원자라고 생각하면 이해가 쉬울 듯)
엔터티의 특징
- 식별자가 있어야 함
- 2개 이상의 인스턴스가 존재하는 집합
- 속성을 가져야 함
- 다른 엔터티와 최소 한개 이상 관계가 있어야 함
- 업무에서 관리되어야 함 = 업무 프로세스에 의해 이용되어야 함
엔터티의 분류
- 유형과 무형에 따른 분류
유형 | e.g 고객, 사원 | 업무에서 도출되며 지속적으로 사용하는 엔터티 물리적인 형태가 있고 업무로부터 엔터티를 구분하기 가장 용이 |
개념 | e.g 종목, 상품 | 개념적 정보로 구분되는 엔터티 물리적인 형태가 없음 |
사건 | e.g 주문, 취소 | 비즈니스 프로세스를 실행하면서 생성되는 엔터티 발생량이 비교적 많고 통계자료에 이용 가능 |
- 발생 시점에 따른 분류
기본 (key) | e.g 부서, 고객 | 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티 타 엔터티의 부모 역할을 함 |
중심 (main) | e.g 계좌, 배송 | 기본 엔터티로부터 발생, 행위 엔터티를 생성 데이터의 양이 많음 |
행위 (action) | e.g 주문 이력 | 2개 이상의 엔터티로부터 발생 자주 바뀌거나 데이터량이 증가 상세 설계 단계나 프로세스와 상관 모델링을 진행하면서 도출 |
2. Attribute 속성
개념
- 업무에 필요한 정보인 엔터티가 가지는 항목
- 의미적으로 더이상 분리되지 않는 단위
- 인스턴스의 구성 요소
특징
- 해당 업무에서 필요하고, 업무에서 관리되는 정보임
- 속성은 하나의 값만 가짐
- 주식별자에게 함수적으로 종속됨 - 기본 키 변경 시 속성 값도 변경
- 하나의 속성에는 한 개의 값만 가짐
표기법
barker 표기법 - # 식별자, * 필수값, ⚬ 선택값
분류
- 분해 여부
단일 속성 | 하나의 의미로 구성된 것 e.g 회원 ID, 이름 |
복합 속성 | 여러 개의 의미가 있을 수 있음 e.g 주소 - 시, 구, 동 등으로 구분 가능 |
다중값 속성 | 여러 개의 값을 가질 수 있는 속성, 엔터티로 분해됨 e.g 상품 리스트 |
- 특성
기본 속성 | 비즈니스 프로세스에서 바로 정의되는 본래의 속성 e.g 제품 번호, 회원ID |
설계 속성 | 원래 업무상 존재하지는 않지만 데이터 모델링 과정에서 발생, 유일한 값 부여 e.g 상품코드 |
파생 속성 | 다른 속성으로부터 계산이나 변형되어 만들어지는 속성 e.g 금액 합계, 평균 |
- 엔터티 구성 방식
PK속성 | 엔터티를 식별할 수 있는 속성 e.g 부서 번호, 사원 번호 |
FK속성 | 다른 엔터티와의 관계에 포함된 속성 |
일반 속성 | PK, FK 에 포함되지 않은 속성 |
도메인 (중요! )
각 속성이 가질 수 있는 값의 범위
속성은 도메인 이외의 값을 가지지 못함 (성별 - 남자/여자)
3. Relationship 관계
정의
- 엔터티 간의 논리적인 연관성
- 존재 관계 : 두 개의 엔터티가 존재 여부의 관계가 있음
e.g 고객이 은행에 "가입한다", 부서에 사원이 "소속된다" - 행위 관계 : 두 개의 엔터티가 어떤 행위에 의해 관계가 있음
e.g 증권회사가 계좌를 "개설한다"
관계의 표기법
- 관계명 membership
엔터티가 관계에 참여하는 형태
관계가 시작되는 쪽: 관계시작점
관계를 받는 편: 관계끝점
각 관계는 두 개의 관계명을 가질 수 있다. (교수 > 학생 : 가르친다. 학생 > 교수 : 배운다.)
- 관계차수 cardinality
두 개의 엔터티 간 참여자의 수
1:1, 1:M, M:M
- 관계선택사양 optionality
- 필수참여단계 - 그림 상 실선 (주문은 고객을 반드시 가져야 함)
- 선택참여단계 - 그림 상 점선 (고객은 주문을 할 수도, 안 할 수도 있다)
- 관계 정의 시 체크 사항
- 두 개의 엔터티 사이에 관심 있는 연관 규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생하는가?
- 업무기술서, 장표에 관계 연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계 연결을 가능케 하는 동사가 있는가?
한 포스팅에 넣어보려고 조금 욕심부렸습니다..😇
728x90