728x90
SQLD 1과목. 데이터 모델링의 이해
SQLD 1과목은 데이터 모델링의 이해이며, 데이터 모델링의 이해 파트와 데이터 모델링의 속성 파트로 나눠진다.
이 포스팅은 1과목의 첫 번째, 데이터 모델링의 이해 파트의 요점정리이다.
데이터 모델링
1. 데이터 모델링의 정의
- 고객과 함께 고객의 업무 프로세스를 이해해야 함
- 현실 세계를 데이터베이스상에서 추상화하는 과정
- 데이터 모델링 표기법을 사용해야 함
- 고객이 이해하기 쉽게 모델링 해야 함
2. 데이터 모델링의 특징
추상화현실세계를 일정한 양식에 맞게 표현
| 단순화 | 누구나 이해하기 쉽도록 약속된 구약에 의해 표기 |
| 명확화 | 명확하게 의미가 한 가지로 해석해야 함, 정확한 현상을 기술해야 함 |
3. 데이터 모델링의 단계
개념적 모델링 > 논리적 모델링 > 물리적 모델링
| 개념적 모델링 | 논리적 모델링 | 물리적 모델링 |
| 추상화 수준이 가장 높음 | 특정 데이터 베이스 모델로 종속 | 가장 낮은 추상화 단계 |
| 업무 측면의 모델링, 전사적인 모델링 | 세부속성, 식별자, 관계 표현 | 물리적인 성능과 데이터 저장을 고려한 설계 |
| 핵심 엔터티 도출, ERD 작성 | 데이터 정규화 완료, 재사용성 높음 | 성능, 보안, 가용성 고려한 데이터베이스 모델링 진행 |
4. 데이터 모델링 관점
- 데이터 관점
- 데이터와 업무 간의 관계, 비즈니스 프로세스에 사용되는 데이터
- 프로세스 관점
- 실제 하는 업무에 따라 모델링을 한다.
- 시나리오 분석, 도메인 분석, 동적 분석
- 데이터와 프로세스의 상관 관점
- 업무의 처리와 데이터간의 서로 어떤 영향을 주고받는지 모델링
5. 데이터 모델링 ERD(Unity Relationship Diagram)
ERD 작성 순서
- 엔터티 도출
- 엔터티 배치
- 엔터티 관계 설정
- 관계명 기술
- 관계 참여도 기술
- 관계 필수 여부 기술
6. 3단계 구조 스키마(3 - Level Schema)
- 데이터 베이스의 독립성을 위해서 존재
- 사용자 관점(외부 스키마), 설계자 관점(개념 스키마), 개발자 관점(내부 스키마)에 따라 계층 존재
| 외부 스키마 | 개념 스키마 | 내부 스키마 |
| 사용자 관점 | 설계자 관점 | 개발자 관점 |
| 응용프로그램이 접근하는 데이터베이스 | 데이터 베이스의 규칙과 구조 표현(전체적인 논리구조) | 저장 장치 관점 |
| 여려개의 외부 스키마 존재 | 물리적인 저장 구현 |
7. 엔터티(Entity)
- 데이터 집합
- 다른 개체와 명확히 구분됨 > 모델의 독립성과 연관
- 저장, 관리되는 데이터
- 개념, 사건, 장소 등의 대명사
분류
- 유형 / 무형 에 따른 분류
| 유형 엔터티 | 개념 엔터티 | 사건 엔터티 |
| 물리적이며 안정적(변하지 않음) | 물리적 x, 개념적으로 존재, 정보로 분류되는 데이터 | 비즈니스 프로세스에 따라 발생되는 데이터 |
| 사원, 제품, 교수 등 | 강의, 금융상품 등 | 구매, 대여, 영업 등 |
- 발생시점에 따른 분류
| 기본 엔터티 | 중심 엔터티 | 행위 엔터티 |
| 키 엔터티, 독립적으로 생성/관리 | 기본 엔터티로 부터 발행, 행위엔터티 생성을 위한 중간 데이터 | 상위 2개 이상의 엔터티로 부터 발생되는 엔터디, 계속 생성되고 추가됨 |
| 고객, 부서, 판매 제품 등 | 계좌, 송금, 주문 등 | 주문 이력, 전송 이력 등 |
8. 속성(Attribute)
- 엔터티가 가지는 항목
- 더 이상 분리 되지 않음
- 인스턴스의 구성요소로 최소한의 데이터 단위
- 업무에서 관리되는 정보
- 속성은 하나의 값만 가짐
- 주식별자에게 함수적으로 종속, 기본키에 따라 속성의 값도 변경될 수 있음
분류
- 특성
| 기본 속성 | 설계 속성 | 파생 속성 |
| 비즈니스 프로세스에서 도출한 본래의 속성 | 데이터 모델링 과정에서 발생되는 속성 | 다른 속성에 의해서 만들어지는 속성 |
| 이름, 전화번호 등 | 상품코드 등 | 합계, 평균 등 |
728x90
'DataBase > SQL' 카테고리의 다른 글
| [SQL] 상품리뷰 데이터 분석 - 2 (0) | 2023.10.06 |
|---|---|
| [SQL] 상품리뷰 데이터 분석 - 1 with MySQL (0) | 2023.10.06 |
| [SQL] 기초문법 - CREATE, INSERT, DELETE, UPDATE, VIEW (0) | 2023.10.06 |
| MySQL - Unhandled exception : 'ascii' codec can't decode byte 0xc3 in position 480: 해결방법 (2) | 2023.10.04 |
| [SQL] 데이터 모델링(Data Modeling) 개념과 ERD (0) | 2023.09.12 |