1. 기본 개념
- 데이터 모델링의 3요소
- 엔티티 - 사각형
- 관계 - 마름모
- 속성 - 타원형
- ERD 그리기 절차
- 엔티티 도출
- 엔티티 배치
- 엔티티 간 관계 설정
- 관계명 기술
- 관계 차수 표현 : 1:1, 1:N, M:N
- 관계선택사양 표현 : 필수, 선택
2. 엔티티
- 업무에서 관리해야 하는 데이터의 집합, 명사형, 인스턴스의 집합
- 특징
- 업무에서 필요로함
- 유일한 식별자를 가짐
- 2개 이상의 인스턴스를 포함함
- 속성을 가지고 있음
- 다른 엔티티와의 관계를 가지고 있음
- 종류
- 유무형에 따른 분류
- 유형 엔티티 : 물리적 형태가 있고, 지속적으로 활용되는 것
- 개념 엔티티 : 물리적 형태가 없는 것
- 발생 시점에 따른 분류
- 기본 엔티티 Key Entity : 독립적으로 생성되는 엔티티
- 중심 엔티티 Main Entity: 기본 엔티티와 행위 엔티티 중간에 존재하는 엔티티
- 행위 엔티티 Active Entity/사건엔티티 : 2개 이상의 부모 엔티티로부터 발생하는 것으로, 비지니스 프로세스를 실행하면서 생성되는 엔티티, 지속적으로 추가 변경되어 데이터 양이 가장 많음
- 유무형에 따른 분류
- 명명 규칙
- 실무에서 사용하는 용어
- 약어 지양
- 단수 명사
- 유일성 보장
- 명확성
3. 속성
- 엔티티가 가지는 최소 의미 단위
- 인스턴스의 구성 요소
- 엔티티, 인스턴스, 속성, 관계의 관계
- 하나의 엔티티에 여러개의 인스턴스가 대응될 수 있음
- 각각의 인스턴스들은 여러개의 속성을 가질 수 있음
- 종류
- 특성에 따른 분류
- 기본 속성 : 비즈니스 프로세스에서 도출되는 본래의 속성
- 설계 속성 : 데이터 모델링 과정에서 업무 규칙하를 위해 발생하는 속성
- 파생 속성 : 다른 속성에 의해 만들어지는 속성
- 분해 가능 여부에 따른 분류
- 단일 속성 : 하나의 의미
- 복합 속성 : 여러 의미, 단일 속성으로 분해 가능 ex) 주소
- 단일값 속성 : 하나의 값
- 다중값 속성 : 여러 값, 엔티티로 분해 가
- 엔티티 구성 방식에 따른 분류
- 기본키 속성 : 엔티티를 식별할 수 있는 속성
- 외래키 속성 : 다른 엔티티와의 관계에서 포함된 속성
- 일반 속성 : 엔티티에 포함되고 기본키, 외래키가 아닌 속성
- 특성에 따른 분류
4. 관계
- 엔티티 간의 논리적 관련성, 동사형
- 관계 표기법
- 관계명
- 관계 차수 Cardinality : 관계 내 튜플의 전체 개수
- 1 은 직선으로 표현
- 여러개면 삼발로 표시
- M:N = 관계형 DB에서 이 형태의 조인은 cartesian product 발생
- 관계선택사양 Optionality : 필수는 I, 선택은 O로 표시
- 종류
- ERD 기준
- 존재 관계 : 엔티티 간의 상태
- 행위 관계 : 엔티티 간에 발생하는 행위
- UML (Unified Modeling Language) 기준
- 연관 관계 Association : 실선
- 의존 관계 Dependency : 점선
- 식별자에 따른 분류
- 식별 관계 : 부모 엔티티의 식별자를 자식 엔티티의 주식별자로 사용, 즉 어떤 엔티티의 PK를 그 엔티티를 참조한 다른 엔티티가 PK로 사용하는 것
- 비식별 관계 : 부모 엔티티의 식별자를 자식 엔티티가 일반 컬럼으로 사용하고 식별자는 별도의 컬럼을 이요함 (약한 종속 관계)
- ERD 기준
5. 식별자
- 엔티티를 대표할 수 있는, 각 인스턴스를 구별할 수 있는, 유일성을 만족하는 속성
- 유일성, 최소성, 불변성, 존재성
- DB키 종류
- 기본키 primary key : 엔티티를 대표하는 키, 후보키 중 하나 선정
- 후보키 : 유일성, 최소성 만족
- 대체키 : 기본키를 제외한 나머지 후보키
- 외래키 foreign key : 여러 테이블의 기본 키 필드, 참조 무결성을 확인하기위해 사용됨
- 식별자 종류
- 대표성 여부에 따른 분류
- 주식별자 : 대표성을 만족하는 식별자 업무에 자주 이용되는 속성으로 도출하고, 이름명 또는 복합 식별자는 지양
- 보조 식별자 : 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음, 이 중 선택된 것이 주식별자로
- 생성 여부에 따른 분류
- 내부 식별자 : 자연스럽게 존재하는 식별자 (=본질식별자)
- 외부 식별자 : 다른 엔티티와의 관계를 통해 생성되는 식별자
- 속성 수에 따른 분류
- 단일 식별자 : 하나의 속성으로 이루어진 식별자
- 복합 식별자 : 여러 속성으로 구성된 식별자
- 대체 여부에 따른 분류
- 본질 식별자 : 대체될 수 없는 식별자
- 인조 식별자 : 인위적으로 만들어지는 대체 가능한 식별자 ex) 순서 번호 후보 식별자 중 주 식별자로 선정할 것이 없거나, 주식별자가 너무 많은 복합 식별자인 경우 사용
- 대표성 여부에 따른 분류
'컴퓨터 공학 > 데이터베이스' 카테고리의 다른 글
반정규화 De-normalization (0) | 2022.01.07 |
---|---|
정규화 Normalization (0) | 2022.01.07 |
데이터 모델링의 이해 (0) | 2022.01.07 |
ELK) Logstash 기본 개념 (0) | 2021.12.27 |
ELK) Elasticsearch 기본 개념 (0) | 2021.12.27 |