728x90
1. 개념
- 정의: 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
- 표시 요소
연산 | - 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세 - 릴레이션을 조작하기 위한 관계 연산(SELECT, PROJECT, JOIN 등) |
구조 | - 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계 |
제약 조건 | - 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건 - 릴레이션의 특정 칼럼에 설정하는 제약을 의미 |
2. 절차
요구조건 분석 | - 도출된 요구사항 간 상충관계 해결 - 요구사항 범위 파악 - 외부 환경과의 상호작용 분석을 통해 데이터 요구 분석 |
개념적 설계 | - 요구에 대한 트랜잭션을 모델링하는 단계 - 현실 인식을 추상적, 개념적으로 표현하여 구조를 도출 |
논리적 설계 | - 트랜잭션의 인터페이스를 설계하는 단계 |
물리적 설계 | - 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계 - 테이블, 인덱스, 뷰, 파이션 등 객체를 생성 - 반 정규화 수행 |
3. 적용 사례(아마존 홈페이지에 나와있는 데이터 모델링에 대한 설명을 정리)
- 개념적 데이터 모델
예를 들어 자동차 대리점에 대한 개념적 데이터 모델은 다음과 같은 데이터 엔터티를 표시할 수 있다
- 대리점이 갖고 있는 다양한 매장에 대한 정보를 나타내는 Showrooms 엔터티
- 대리점이 현재 보유하고 있는 여러 대의 자동차를 나타내는 Cars 엔터티
- 대리점에서 자동차를 구매한 모든 고객을 나타내는 Customers 엔터티
- 실제 판매에 대한 정보를 나타내는 Sales 엔터티
- 대리점에서 일하는 모든 판매원에 대한 정보를 나타내는 Salesperson 엔터티
이 개념적 모델에는 다음과 같은 비즈니스 요구 사항도 포함된다
- 모든 자동차는 특정 쇼룸 소속이어야 합니다.
- 모든 판매에는 최소 한 명의 판매원과 한 명의 고객이 연결되어 있어야 합니다.
- 모든 자동차에는 브랜드 이름과 제품 번호가 있어야 합니다.
- 모든 고객은 전화번호와 이메일 주소를 제공해야 합니다.
- 논리적 데이터 모델
자동차 대리점 예에서 논리적 데이터 모델은 개념적 모델을 확장하고 다음과 같이 데이터 클래스를 더 심층적으로 확인
- Showrooms 엔터티에는 텍스트 데이터 형식의 이름 및 위치 필드와 숫자 데이터 형식의 전화번호 필드가 있습니다.
- Customers 엔터티에는 xxx@example.com 또는 xxx@example.com.yy 형식의 이메일 주소 필드가 있습니다. 필드 이름은 100자 이하여야 합니다.
- Sales 엔터티에는 고객 이름 필드, 판매원 이름 필드, 날짜 데이터 형식의 판매 날짜 필드 및 10진수 데이터 형식의 금액 필드가 있습니다.
- 물리적 데이터 모델
- Sales에서 판매 금액은 float 데이터 형식이고 판매 날짜는 타임스탬프 데이터 형식입니다.
- Customers에서 고객 이름은 문자열 데이터 형식입니다.
- S3 Glacier Flexible Retrieval 용어에서 볼트는 데이터의 지리적 위치입니다.
4. 데이터 모델링 프로세스
'프로그래밍 > CS' 카테고리의 다른 글
워터링 홀(Watering Hole) (0) | 2024.04.16 |
---|---|
정보처리기사 실기 기출 문제 사이트 (0) | 2024.04.15 |
COCOMO 소프트웨어 개발 유형 (0) | 2023.08.03 |
[강의] 2020년 개정된 내용 반영한 정보처리기사 OneStop 패키지 강의, 필기부터 실기까지 강의 하나로 완벽 마스터 섹션 2 (0) | 2023.07.21 |
[강의] 2020년 개정된 내용 반영한 정보처리기사 OneStop 패키지 강의, 필기부터 실기까지 강의 하나로 완벽 마스터 섹션 1 (0) | 2023.07.20 |
댓글