728x90
< 목차 >
0. TL;DR
1. 논리적 데이터 모델링
2. 개념적 모델링과 논리적 모델링 매핑
3. 물리적 데이터 모델링
4. ERD (Entity Relationship Diagram)
0. TL;DR
- 논리적 데이터 모델링: 개념적 모델을 상세화하는 과정
- 물리적 데이터 모델링: 논리적 데이터 모델을 특정 DBMS 기술에 매핑하고, 소프트웨어의 용어를 사용
- ERD: 시스템의 엔티티가 무엇이 있는지, 어떤 관계가 있는지를 나타내는 다이어그램
1. 논리적 데이터 모델링
: 개념적 데이터 클래스를 기술적 데이터 구조에 매핑하는 단계
즉, 개념적 모델을 상세화하는 과정을 의미한다.
개념적 데이터 모델에서 식별된 데이터 개념과 복잡한 데이터 관계에 대한 자세한 내용을 제공한다.
- 다양한 속성의 데이터 유형 (e.g. 문자열 or 숫자)
- 데이터 엔티티 간의 관계
- 데이터의 기본 속성 or 키 필드
- 데이터 아키텍트와 분석가가 협업을 통해 만듦
- 표현을 생성하기 위해 여러 공식 데이터 모델링 시스템 중 하나를 따름
- 업무를 모델링 표기법으로 형상화
- 직관적이며 특정 DB 모델 기반 논리적 스키마로 변환하는 과정
논리적 데이터 모델링 단계
1. 특정 순서 없이 진행
Task | 설명 |
엔티티 타입 도출 | 기본, 중심, 행위 엔티티 도출 |
관계 도출 | 엔티티 타입 간 관계 도출 |
식별자 도출 | PK, FK, UK, AK 정의 |
속성 도출 | 기본, 설계, 파생 속성 정의 |
세부사항 도출 | 용어 사전, 도메인, 속성 규칙 |
정규화 | 1, 2, 3, 4, 5차 정규화, BCNF |
통합 / 분할 | 엔티티 성격 기반 통합 / 분할 |
2. 단계말
Task | 설명 |
데이터 모델 검증 | 엔티티 타입, 속성, 관계 적합성 |
논리적 데이터 모델링 예시 - 자동차 대리점
- 대리점 엔티티
- 대리점의 이름 및 위치 정보는 텍스트 형식 필요
- 대리점 전화번호는 숫자 데이터 형식 필드 존재
- Showrooms 엔티티
- 쇼룸의 구역은 텍스트 형식 정보 필요
- 쇼룸의 크기는 숫자 형식으로 존재
- Customers 엔티티
- 고객 이메일은 xxx@example.com 형식의 이메일 주소 필드 필요
- 이메일 길이는 255 글자 이하
- Sales 엔티티
- 고객 이름 필드, 판매점 이름 필드, 텍스트 형식
- YYYY-MM-DD 형식의 판매 날짜 필드 존재
- 10진수 데이터 형식의 금액 필드 존재
2. 개념적 모델링과 논리적 모델링 매핑
3. 물리적 데이터 모델링
: 논리적 데이터 모델을 특정 DBMS 기술에 매핑하고, 소프트웨어의 용어를 사용
- DBMS에 표현된 데이터 필드 유형
- DBMS에 표현된 데이터 관계
- 성능 조정과 같은 추가 세부 정보
- 데이터 엔지니어는 최종 설계 구현 전에 물리적 모델을 생성
- 데이터 모델링 기술을 따라 설계의 모든 측면을 다뤘는지 확인
물리적 데이터 모델링 단계
1. 일괄 전환
과정 | 고려사항 |
엔티티별 테이블 전환 | Sub Type 설계 방안 |
식별자 Primary Key 정의 | - Artificial Key 검토 - PK 컬럼 순서 검토 |
속성의 컬럼 전환 | - 영문 컬럼명 매핑 - 데이터 타입 / 길이 도메인 결정 |
Relationship의 컬럼으로 전환 | 참조 무결성 규칙 및 구현방안 결정 |
2. 구조 조정
과정 | 고려사항 |
수퍼 타입 / 서브 타입 모델 전환 | - 트랜잭션 성격 전체 / 부분 통합 - 데이터 모델 조정 |
3. 성능 향상
과정 | 고려사항 |
성능 고려한 반정규화 | SQL 활용 능력 미흡으로 인한 빈번한 비정규화 배제 |
물리적 데이터 모델링 예시 - 자동차 대리점
- 대리점 엔티티
- 대리점의 이름 및 위치 정보: VARCHAR(50), VARCHAR(255)
- 대리점 전화번호는 숫자 데이터 형식: INT
- Showrooms 엔티티
- 쇼룸의 구역은 텍스트 형식 정보 필요: VARCHAR(255)
- 쇼룸의 크기는 숫자 형식으로 존재: INT
- Customers 엔티티
- 고객 이메일은 xxx@example.com 형식의 이메일 주소 필드 필요
- 이메일의 길이는 255 글자 이하: VARCHAR(255)
- Sales 엔티티
- 고객 이름 필드, 판매원 이름 필드, 텍스트 형식: VARCHAR(50)
- YYYY-MM-DD 형식의 판매 날짜 필드 존재: DATETIME
- 10진수 데이터 형식의 금액 필드가 존재: MONEY, FLOAT
4. ERD (Entity Relationship Diagram)
: 시스템의 엔티티가 무엇이 있는지, 어떤 관계가 있는지를 나타내는 다이어그램
- 주로 관계형 DB에서 널리 사용됨
- 엔티티와 속성을 테이블과 컬럼으로 변환
- 테이블과 관계를 시각화할 수 있기 때문에 설계 문제점을 파악
- 서로 다른 시스템 요소와 서로 간의 관계를 식별하는 데 도움
논리적 ERD
물리적 ERD
728x90
'CS (Computer Science)' 카테고리의 다른 글
[개발 공부 110일차] DB 개론 | 3차 정규화, 보이스-코드 정규화, 4차/5차 정규화 (19) | 2024.10.01 |
---|---|
[개발 공부 109일차] DB 개론 | 데이터 모델링 1차 정규화, 2차 정규화 (19) | 2024.09.30 |
[개발 공부 106일차] DB 개론 | 데이터 모델링 단계, 개념적 데이터 모델링 (7) | 2024.09.28 |
[개발 공부 105일차] DB 개론 | 식별자, 관계 (0) | 2024.09.27 |
[개발 공부 104일차] DB 개론 | 엔티티 타입 및 속성 (20) | 2024.09.26 |