주어진 데이터로부터 논리적 데이터 구조를 구성하는 작업
즉, 고객의 업무 프로세스를 이해하고 이를 바탕으로 정의한 규칙을 데이터 모델로 표현하는 작업
데이터 모델링을 구성하는 개념 3가지는 데이터 모델에 대한 이해의 근간이 됨
1. 업무가 관여하는 어떤 것[Things] |
2. 어떤 것이 가지는 성격[Attributes] |
3. 업무가 관여하는 어떤 것 간의 관계[Relationship] |
개념적 모델링 [Conceptual Data Modeling] |
* 고객의 업무 프로세스 분석 후 업무 전체에 대해 데이터 모델링 수행하는 단계 * 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링하는 단계 → 추상화 수준이 가장 높은 수준의 모델링 * 계층형 데이터 모델, 네트워크 모델, 관계형 모델에 관계없이 업무 측면에서 모델링 * Entitiy와 Attribute를 도출하고 개념적 ERD[Entity Relationship Diagram]를 작성 |
논리적 모델링 [Logical Data Modeling] |
* 개념적 모델링을 논리적으로 변환하는 단계 * 정규화를 통해 데이터 모델의 독립성 확봉 * 식별자를 정의하고 Attribute, Relationship 등을 모두 표현 |
물리적 모델링 [Physical Modeling] |
* 실제 데이터베이스를 구축하기 위해 Table, Index, Function등을 생성하는 단계 * 성능, 보안, 가용성 등 물리적인 측면을 고려하여 데이터베이스 구축 |
# ERD[Entity Relationship Diagram]
1976년 Peter Chen이 만든 Entity Relationship Model 표기법
ERD 작성 절차
1. Entity 도출 * 고객의 업무 프로세스에서 관리가 필요한 정보를 추출 |
2. Entity 배치 * 중요한 Entity는 가급적 왼쪽 상단에 배치 → 일반적으로 사람은 눈을 왼쪽에서 오른쪽으로 이동하려는 경향을 가지므로 |
3. Entity 간 관계 설정 |
4. 관계명 기술 * 관계의 명칭은 관계 표현에 있어서 매우 중요한 부분에 해당 |
5. 관계 참여도 표현 * 관계 참여도는 한 개의 Entity와 다른 Entity 간의 참여하는 관계 수를 의미 * 관계 차수로 표기 |
6. 관계의 필수 여부 표현 |
데이터 | 비즈니스 프로세스에서 사용되는 데이터를 의미 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법 → 구조 분석, 정적 분석 |
프로세스 | 비즈니스 프로세스에서 수행하는 작업을 의미 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법 시나리오 분석, 도메인 분석, 동적 분석 |
데이터와 프로세스 | 프로세스와 데이터 간의 관계를 의미 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법 CRUD[Create, Read, Update, Delete] 분석 |
완전성 | 업무에 필요한 모든 데이터가 정의되어 있어야 한다. |
중복배제 | 하나의 데이터베이스에 동일한 데이터가 없어야 한다. → 중복시 저장공간 낭비 |
업무규칙 | 업무에 사용되는 규칙들을 데이터 모델에 표현해야 함 → 모든 사용자가 해당 규칙에 대해 동일하게 판단하고 데이터 조작 가능 |
데이터 재사용 | 통합성[회사 전체 관점에서 설계]과 독립성[데이터가 Application에 독립적으로 설계]을 고려 최근에는 확장성을 강조하기 위해 많은 부분을 통합한 데이터 모델의 형태를 가짐 |
의사소통 | 주어진 업무를 데이터 관점에서 분석하고 설계한 데이터 모델은 의사소통을 위해 분석과정에서 도출되는 업무 규칙을 최대한 자세히 표현해야 함 |
통합성 | 공통 데이터를 도출하고 이를 전 영역에서 사용하기 적절한 통합된 형태로 설계 → 통합데이터 모델은 데이터 재사용성을 향상시킴 |
[개미의 걸음 SQLD 1과목] 데이터 모델링 요소 ① 엔터티(Entity) with 인스턴스 (0) | 2020.12.05 |
---|---|
[개미의 걸음 SQLD 1과목] 데이터 모델링 표기법(ERD) (0) | 2020.12.04 |
[개미의 걸음 SQLD 1과목] 데이터베이스 구조② 3층 스키마(3-Level Schema) (0) | 2020.12.02 |
[개미의 걸음 SQLD 1과목] 데이터베이스 구조① 스키마, 테이블, 뷰, 인덱스 (0) | 2020.12.01 |
[개미의 걸음 SQLD 들어가기 전] 데이터베이스 기초 (0) | 2020.11.30 |
댓글 영역