연관토픽
- [하위] 개념적 데이터 모델링(conceptual data modeling)
- [하위] 논리적 데이터 모델링(Logical Data Modeling)
- [하위] 물리적 데이터 모델링
- [연관] 데이터베이스 설계(Database Design)
- [연관] 데이터베이스 구축
기출문제
회차 | 문제 |
관리133-4 | 4. RDBMS를 적용하기 위한 데이터 모델링에 대하여 다음을 설명하시오. 가. 데이터 모델링의 개념 및 모델링 단계별 수행내용 나. 데이터 관계 모델링 시 식별(Identification)과 비식별(Non Identification)에 대하여 비교 다. 데이터 모델링 시 고려사항 |
응용101-1 | 1. 데이터모델링 과정에서 반정규화를 수행하는 이유와 각각의 유형에 대하여 설명하시오. |
개념 : 데이터베이스 설계의 핵심 과정
- 사용자 요구 사항을 분석하고 필요한 데이터 요소를 도출하여 적절한 데이터 구조를 정의하는 방법(데이터베이스 설계 과정 핵심 기법)
- 기업 업무와 사용자의 요구사항에 대한 종합적인 이해를 바탕으로 기업 데이터에 대한 구조와 행동을 명세화하여 데이터베이스로 구축하는 틀을 제공하는 활동
- 업무 프로세스를 추상화하여 데이터베이스의 데이터로 표현하기 위한 설계 과정
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 개념적 모델링과 논리적 모델링을 명확히 구분하지 않고, 합쳐서 데이터 모델링이라고 함
데이터 모델링 기본 원칙
좋은 데이터베이스 설계의 특징
특징 | 설명 |
완전성(Completeness) |
|
비중복성(Nonredundancy) |
|
업무 규칙 적용성 (Enforcement of Business Rules) |
|
데이터 재사용성 (Data Reusability) |
|
의사전달성 (Communication) |
|
안정성 및 유연성 (Stability and Flexibility) |
|
통합성 (Integration) |
|
균형적 조화 (Balancing) |
|
데이터 모델링의 3가지 관점
관점 | 설명 |
데이터 관점 |
|
프로세스 관점 |
|
데이터와 프로세스 상관 관점 |
|
데이터 모델링 단계(4단계)
- 사용자 요구 분석에서 개념적, 논리적, 물리적 모델링 과정을 통해 특정 DBMS에 최적화된 DDL 까지 도출
- 설계단계 이후 데이터 구조 변경은 파급효과를 고려해야 하므로 데이터 모델링 시 객관적 품질 요소 확보 및 검증 필요
구분 | 개념 데이터모델링 | 논리 데이터모델링 | 물리 데이터모델링 |
내용 |
|
|
|
Task |
|
|
|
추상화 수준 | 추상적 | 구체적 |
데이터 모델링 단계별 활동
관점 | 설명 |
엔티티 정의 | 엔티티 후보 선정, 엔티티 검증 및 확정 |
관계정의 | 관계(Relationship) 파악 관계 명칭 확정 |
개념모델작성 | 핵심 엔티티 배치, 키 앤티티 연결, 엔티티 간 관계 확정 |
속성 정의 | 최소단위 분할, 단일 값 검증, 가공속성 제거 |
식별자 정의 | 의미상 주어 확인, 상속 및 단절 전략, 식별자 확정 |
데이터 모델 상세화 | 정규화(1, 2, 3 정규화), M:M 관계 해소 |
데이터 모델 통합 | 엔티티 통합(수직, 수평, 차원적 통합), 엔티티간 관계 통합 |
이력관리 결정 | 이력관리 대상 선정, 이력관리 형태 결정, User Review |
데이터 요구사항 분석
단계 | 설명 |
요구사항 도출 | - 구축대상 프로젝트 범위기준으로 조사범위를 결정, 업무관계자 인터뷰, 외부자료 수집 분석 |
요구사항 분석 | - 도출된 요구사항의 명확성, 완전성, 모호성 검증, 불완전한 요구사항 도출단계 재수행 |
요구사항 명세 | - 요구사항 정리 및 관리자 승인 문서와 |
개념 모델링
- 조직 전체 정보의 요구사항 표현, 상위 수준의 모델링으로 논리 모델링을 위한 정보로 사용됨
단계 | 설명 |
주제영역 도출 | - 데이터의 최상위 집합을 구분하는 단계 - 전사적 관점에서 데이터 분류 수행 |
핵심 데이터 집합 도출 | - Entity가 될 가능성이 있는 후보 수집(문서, 인터뷰, 관련서적, 전문가 경험) |
관계설정, 핵심속성 도출, 식별자 도출 |
- 관련이 있는 Entity간의 연관성을 정의(1:1, 1:M, M:N) - 후보 데이터 집합 중 핵심 Entity 선별, 식별자, 서브타입 등 정의 |
논리 모델링
- 업무요건을 명확히하는 상세한 모델, Entity Type을 도출하고, 관계, 식별자 등 상세설계를 수행하고 물리 모델링을 수행하여 DB의 객체로 생성됨
단계 | 설명 |
속성 상세화 | - Entity 속성 검증 및 확정, 속성 값 나열 |
개체 상세화 | - 식별자 확정, 정규화, M:N 관계 해속, 무결성 규칙 정의 |
이력관리 | - 정보로서의 활용성 추적성 확보 - 시점, 선분(발생이력, 변경이력, 진행이력) |
물리 모델링
- 데이터 모델링 수행 시 데이터의 무결성, 일관성 및 확장성을 보장 위해, 데이터의 중복, 비일관성, 모델링의 유연성 측면의 고려가 필요함
단계 | 설명 |
환경분석 | - DBMS 종류와 버전, 운영체계에 대한 분석 |
논리/물리 변환 | - 논리모델을 물리영역으로 변환(DB에 생성 가능한 SQL문으로 변환) |
반정규화 | - 시스템 성능, 유지보수성을 고려한 데이터 모델통합(테이블 분할, 중복, 병합 수행, 테이블/컬럼/관계 반정규화) |
데이터 모델링 3요소
요소 | 설명 |
엔터티(Entity) | 업무가 다루는 사물(대상) |
관계(Relation) | 업무가 다루는 사물들 사이에 존재 하는 연관 관계 |
속성(Attribute) | 각 사물이 가지고 있는 상세한 특성 |
데이터 모델링의 무결성, 일관성, 확장성 보장을 위한 고려사항
- 데이터 무결성 보장을 위해 데이터의 중복 최소화하여 이상현상을 방지함.
데이터 모델링시 데이터와 데이터간 상호연관 관계에 대한 명확한 정의를 통해 비일관성 문제를 사전에 예방함 - 데이터 모델과 프로세스 모델을 분리하여, 업무 프로세스 변경에 따른 애플리케이션과 데이터 모델의 변경을 최소화하여 모델링의 유연성을 확보함.