모델링? 현실을 단순화 표기
특징: 추상화(일정 형식에 맞게), 단순화(쉽게 이해), 명확화(정확하게 기술)
세가지 관점 :
데이터 모델 구분
어떤 것 thing
그것의 성격 attributes
언관성 relationship
데이터 모델링? : 데이터 관점의 업무 분석 기법
기능: 시스템 가시화, 시스템 구조와 행동 명세화, 시스템구축의 구조화된 틀 제공, 문서화, 세부 사항은 숨기는 다양한 관점 제공, 상세 수준의 표현방법 제공
중요성: 파급효과(Leverage), 간결한 표현, 데이터 품질
유의점 :
개념적 데이터 모델
추상화 수준이 높고 업무중심적이고 포괄적인 수준
→ 논리적 데이터 모델
Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음 // *정규화 중요 - 논리데이터모델 상세화 과정의 대표 활동. 일관성 확보, 중복 제거로 신뢰성 있는 데이터구조 얻기
→ 물리적 데이터 모델
물리적으로 컴에 어케 저장될것인가 정의(물리적 스키마) 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려
보통 단계
계획 : 개념적 모델링
분석 : 논리적 모델링
설계 : 물리적 모델링
실제
분석 : 개념 + 논리 모델링
설계 : 물리 모델링
데이터 독립성
필요성: 유지보수비용 증가, 데이터복잡도 증가, 데이터중복성 증가, 요구사항대응 저하
효과: 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능 / 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공
데이터베이스 3단계 구조와 단계별 구성요소
ANSI 표준 모델 - 서로 간섭 x
외부단계 : 사용자와 가까운 단계, 사용자 개개인이 보는 자료에 대한 관점과 관련이 있는 부분
개념단계 : 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태
내부적단계 : 데이터가 물리적으로 저장된 방법에 대한 스키마 구조
데이터독립성 요소:
외부스키마 / 개념스키마 / 내부스키마
데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다
두 영역의 데이터 독립성
논리적 독립성:
개념 스키마가 변경되어도 외부 스키마에는 영향 x. 논리적 구조가 변경되어도 응용 프로그램에 영향 x
(통합구조 변경가능)
물리적 독립성:
내부스키마가 변경되어도 외부/개념 스키마는 영향 x
저장장치의 구조변경은 응용프로그램과 개념스키마에 영향x
(물리/개념 구조 변경 가능)
사상(매핑)
상호 독립적인 개념을 연결시켜주는 다리
외부적/개념적 사상(논리적 사상)
사용자 접근 형식에 따라
개념석/내부적 사상(물리적 사상)
데이터 모델링 세 가지 요소
1) 업무가 관여하는 어떤 것(Things)
2) 어떤 것이 가지는 성격(Attributes)
3) 업무가 관여하는 어떤 것 간의 관계(Relationships)
-> 엔터티, 속성, 관계 : 데이터 모델링을 완성해 가는 핵심 개념
단수/복수 명명
데이터 모델링 중요성 인식해야함.
데이터 모델 표기법: 엔터티 - 사격형, 관계- 마름모, 속성- 타원형
ERD표기법으로 모델링하기:
엔터티 그리기 - 배치 - 관계설정, 관계명기술 - 관계 참여도기술 - 필수여부 기술
완전성 / 모든 데이터가 데이터 모델에 정의되어 있어야
중복배제 /
업무규칙 / 업무규칙을 모델에 표현해야함
데이터 재사용 /
의사소통 /
통합성