일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Cloud ERP
- SQLD
- Searched Case Expression
- SQL Grouping Functions
- SQL개발자
- SQL숫자형 함수
- 데이터모델링
- 연관 서브 쿼리
- nvl
- 다중 열 서브 쿼리
- 단일 행 서브 쿼리
- SQL내장함수
- Window Functions
- SQL기본
- sql전문가
- SQL연산자
- sqlp
- 3개월 완독 챌린지
- null
- AVG
- Atomic Habit
- Where
- CASE중첩
- sql
- SQL문자형함수
- Group Functions
- Britcent 3개월 완독 챌린지
- Simple Case Expression
- Aggregation Function
- SUM
Archives
- Today
- Total
슴슴한 IT
[SQLD,SQLP]데이터 모델링 - 세 가지 요소 : 개체, 속성, 관계 본문
728x90
개체(Entity)
1) 정의
- 업무에 필요하고 유용한 정보를 저장, 관리하기 위한 집합적인 것(Things)
- 사물이나 사건 등을 바라볼 때, 전체를 지칭하는 것
- 데이터베이스에서 관리하는 실제 또는 추상적인 객체
2) 특징
- 해당 업무에서 필요하고 관리가 필요한 정보
- 유일한 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 2개 이상의 인스턴스 집합
- 엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 가짐
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야함
- 엔터티 개별 값들을 인스턴스라고 지칭, 과목 -> 국어, 영어, 수학, 과학
3) 분류
- 유무형에 따른 분류
- 유형엔터티 : 물리적인 형태가 있고 안정적이며 지속적으로 활용, 엔터티 구분 용이
- 개념엔터티 : 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보
- 사건엔터티 : 업무를 수행함에 따라 발생하는 시간적인 이벤트나 행동을 나타내는 엔터티 - 발생시점에 따른 분류
- 기본엔터티 : 독립적으로 존재하며 다른 엔터티와의 관계를 형성하고 데이터 모델의 핵심 구성 요소로 사용, 타 엔터티의 부모역할, 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가짐 (사원,부서,고객,상품,자재 등)
- 중심엔터티 : 기본엔터티로부터 발생되고, 업무에서 가장 핵심적인 역할을 하는 개체, 다른 엔터티와의 관계를 통해 행위엔터티를 생성 (계약, 사고, 예금원장, 청구, 주문, 매출 등)
- 행위엔터티 : 두 개 이상의 부모엔터티로부터 발생하고 특정한 동작이나 행위를 나타냄, 상세 설계 단계나 프로세스와 상관 모델링을 진행하면서 도출(주문목록, 사원변경이력)
속성(Attribute)
1) 정의
- 개체가 가지는 특성이나 성질
- 각 개체는 속성을 가지며, 속성은 해당 개체의 정보를 기술
- 의미상 더 이상 분리되지 않음
- 속성은 데이터베이스에서 개체를 식별하거나 구분하는 데 사용
2) 특징
- 반드시 해당 업무에서 필요하고 관리가 필요한 정보
- 정규화 이론에 근거하여 정해진 주식별자에 함수적 종속성을 가져야함
- 하나의 속성은 한 개의 값만을 가져야 함
3) 속성의 특성에 따른 분류
- 기본속성(Basic Attribute)
- 업무로부터 추출한 모든 속성이 해당, 코드성 데이터, 엔터티 식별 일련번호, 계산된 속성은 제외 - 설계속성(Designed Attribute)
- 업무상 필요한 데이터 외 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형
- 일반적으로 일련번호와 같은 원래 속성을 업무상 필요에 따라 변형하여 만듬 - 파생속성(Derived Attribute)
- 다른 속성에 영향을 받아 발생, 보통 계산된 값들
- 다른 속성에 영향을 받아 데이터 정합성을 유지하기 위해 가급적 적게 정의하는 것이 좋음
4) 엔터티 구성 방식에 따른 분류
- PK(Primary Key)속성
- 엔터티를 식별할 수 있는 속성 - FK(Foreign Key)속성
- 다른 엔터티와의 관계에서 포함된 속성 - 일반속성
- PK/FK에 포함되지 않은 속성
관계(Relationship)
1) 정의
- 개체 간 상호작용과 연결을 정의
- 엔터티의 인스턴스 사이의 논리적인 연관성이 부여된 상태
- 관계는 한 개체와 다른 개체 사이의 연관성을 나타냄
- 개체 간 연관성을 통해 데이터를 효율적으로 관리
2) 분류
- 존재에 의한 관계
- 엔터티 간의 공통된 속성이나 키에 기반하여 형성되며, 외래 키(Foreign Key)를 통해 엔터티 간의 관계를 정의
- 예를 들어 "주문" 엔터티와 "제품" 엔터티 간의 관계는 주문 테이블의 제품 외래 키를 통해 정의 - 행위에 의한 관계
- 엔터티 간의 상호작용이나 행위에 기반하여 형성되는 관계
- 예를 들어 "도서관" 엔터티와 "회원" 엔터티 간의 관계는 "대출" 이라는 행위에 의해 관계 형성
3) 관계의 표기법
- 3가지 개념
- 관계명(Membership) : 관계의 이름
- 관계차수(Cardinality) : 1:1, 1:M, M:N
- 관계선택사양(Opionality) : 필수관계, 선택관계 - 관계차수
- 1:1 관계 : 관계에 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티의 하나의 관계만을 가지고 있음
- 1:M 관계 : 엔터티 간의 관계가 하나 또는 그 이상의 수와 관계를 가짐
- M:M 관계 : 엔터티 간의 관계가 하나 또는 그 이상의 수의 관계를 가지며, 반대 방향도 하나 또는 그 이상의 수의 관계를 가짐
- 관계선택사양
- 필수참여 : 관계의 한 쪽 엔터티가 다른 쪽 엔터티에 대해 반드시 관계에 참여해야 하고, 외래 키 제약 조건으로 표
- 선택참여 : 관계의 한 쪽 엔터티가 다른 쪽 엔터티에 대해 참여할지 여부를 선택적으로 결정하며, NULL값을 허용하는 외래 키로 표현
- 선택참여관계는 ERP에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시, 필수참여는 표시 안함
4) 관계 읽기
- 기준 엔터티를 한 개 또는 각으로 읽는다
- 대상 엔터티의 관계참여도, 즉 개수를 읽는다
- 관계선택사양과 관계명을 읽는다
출처 - 한국데이터진흥원 SQL가이드 2020 Edition
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
'SQL' 카테고리의 다른 글
[SQLD,SQLP]식별자(Identifier) (0) | 2023.07.10 |
---|---|
[SQLD,SQLP]ERD - 데이터 모델 표기법 (0) | 2023.07.06 |
[SQLD,SQLP]데이터 모델링 - 데이터 독립성의 이해 (0) | 2023.06.25 |
[SQLD,SQLP]데이터 모델링 3단계 (0) | 2023.06.24 |
[SQLD,SQLP]데이터 모델링 (0) | 2023.06.24 |