[SQL-D]#01 데이터 모델링의 이해 - 모델링, 데이터 모델링, ERD
모델링의 이해
- Modeling
일정한 표기법에 의해 규칙을 가지고 표기하는 것,커뮤니케이션 효율성 극대화한 고급화된 표현방법
- 모델링 특징 3가지
- 추상화
현실세계 일정한 형식에 맞추어 표현 (일정한 양식 표기법)
- 단순화
복잡한 헌실세계 약속된 규약에 의해 제한된 표기법/언어로 표현 쉽게 이해
- 명확화
누구나 이해하기 쉽게 대상의 애매모호함 제거 정확하게 현상을 기술
- 데이터 관점 (Data, What) : 업무와 데이터 or 데이터간의 관계
- 프로세스 관점 (Process, How): 업무가 실제 하는 일 or 무엇을 해야 하는지
- 상관 관점 (Interaction): 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향
데이터 모델의 기본 개념의 이해 및 중요성 및 유의점
- Data modeling
정보시스템 구축 위한 데이터 관점 업부 분석기법, 현실세계 데이터를 약속된 표기법에 의해 컴퓨터로 표현, 데이터베이스 구축 위한 분석/설계 과정
- 기능
시스템 가시화 도움, 구조와 행동 명세화 가능 ,구조화된 틀 제공, 다양한 영역 집중 위해 다른 영역 세부사항 숨김 (다양한 관점 제공)
데이터 모델링 중요성)
파급효과(Leverage): 데이터 구조 변경으로 인한 일련의 변경작업 위험요소 해결
간결한 표현 (Conciseness): 요구사항, 한계 명확하고 간결하게 함으로써 데이터 정합성을 유지한다.
데이터 품질유지 (Data Quality): 오래된 데이터의 정확성, 신뢰성 해결
데이터 모델링 유의점)
중복 (Duplication): 데이터베이스가 여러 장소에 같은 정보 저장하는 것 주의
비유연성 (Inflexibility): 사소한 업무변화에 데이터모델 수시로 변경되면 유지보수 어려움 →
데이터의 정의를 데이터의 사용 프로세스와 분리
비일관성 (Inconsistency) : 데이터의 중복이 없어도 비일관성 발생 가능 → 모델링 할 때 데이터간 상호 연관관계 명확히 정의
데이터 모델링의 3단계
개념적 (추상) → 논리적 → 물리적 (구체)
개념적 데이터 모델링)
조직, 사용자의 데이터 요구사항을 찾고 분석하는데서 시작한다.
ERD 생성추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행, EA 데이터 모델링, 수립시 사용
논리적 데이터 모델링)
DB 설계 프로세스의 Input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법
시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
식별자 확정, 정규화, M:M관계 해소, 참조 무결성 규칙
cf) 정규화(Normalization) → 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 한다.
대개 현실 프로젝트에서는 개념적 DM과 논리적 DM을한꺼번에 수행함
데이터 독립성
- 데이터 독립성 필요성
유지보수 비용,데이터 중복성 & 복잡성 증가, 요구사항 대응 저하<과거의 File 시스템>
- 데이터 독립성 효과
각 View의 독립성 유지, 계층별 View에 영향 주지 않고 변경 가능.
단계별 Schema에 따라 DDL과 DML의가 다름을 제공.
- 데이터독립성 요소
외부스키마)
View단계 여러 개의 사용자 관점으로 구성, 즉 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB 스키마, DB의 개개 사용자나 응용프로그래머가 접근하는 DB정의
개념스키마)
개념단계, 하나의 개념적 스키마로 구성, 모든 사용자 관점을 통합한 조직 전체의 DB를 기술
통합적 관점, DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
내부스키마)
내부단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식, 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마.
DB 스키마 구조 각각은 상호 독립적인 의미를 가지고 고유한 기능을 가진다. 최종적으로 데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.
- 두 영역의 데이터독립성
논리적 독립성)
개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원. 논리적 구조의 변경이 응용 프로그램에 영향을 미치지 않게끔 설계
물리적 독립성)
내부스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원. 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향을 끼치지 않게끔 설계
ERD(Entity-Relationship Diagram)의 이해
ERD는 각 업무분석에서 도출된 엔터티간의 관계를 이해하기 쉽게 도식화된 다이어그램으로 표시하는 방법으로서 해당 업무에서 데이터의 흐름과 프로세스와의 연관성을 이야하기하는 데 가장 중요한 표기법이자 산출물이다.
- 엔터티를 그린다
- 엔터티를 적절하게 배치
- 엔터티간 관계를 설정한다.
- 관계명을 기술
- 관계의 참여도를 기술한다.
- 관계의 필수여부를 기술한다.
- 좋은 데이터 모델의 요소
- 완전성(Completeness)
업무에 필요한 모든 데이터가 데이터 모델에 정의되어 있어야한다.
- 중복배제(Non-Redundancy)
하나의 DB내에 동일한 사실은 한 번만 기록하여야 한다. EX)하나의 테이블에 '나이' & '생년월일'
- 업무규칙(Business-rule)
업무규칙에 따라 데이터모델은 얼마든지 바뀔 수 있다.
- 데이터 재사용(Data Reusability)
데이터의 재사용성은 기업에 많은 이익을 가져다준다. 독립적 설계 → 재사용성 증대
- 의사소통(Comuunication)
여러 이해관계자들이 설계자가 정의한 업무 규칙들을 동일한 의미로 받아들이고 정보시스템 활용
- 통합성(Integrity)
Uploaded by Notion2Tistory v1.1.0