이 글은 전공 수업 내용을 복습할 겸 기록해놓은 글입니다.
추가할 사항이 있거나 잘못된 점이 있으면 댓글로 남겨주세요.
데이터 모델링 개요
- 모델링
복잡한 현실 세계를 추상화, 단순화하여 일정한 표기법에 의해 명확히 표현하는 것
추상화, 단순화, 명확화에 유의. 구체화, 복잡화, 일반화가 아님.
추상화
- 현실 세계를 일정한 형식에 맞춰서 표현
단순화
- 현실 세계를 약속된 규칙에 맞는 일정한 표기법이나 언어로 쉽게 표현
명확화
- 누구나 이해할 수 있도록 모호함이 없이 정확하게 표현 - 모델링의 관점
데이터 관점(What)
- 데이터와 데이터 간의 관계, 업무와 데이터 간의 관계를 모델링
- 데이터에 접근하는 방법(How)나 사람(Who)와는 관계 없음
프로세스 관점(How)
- 업무가 실제로 하고 있는 일이나 해야할 일을 모델링
데이터와 프로세스의 상관 관점(Interaction)
- 업무 처리 방법에 따라 데이터가 받는 영향을 모델링 - 데이터 모델링 단계(실제 업무에서는 개념적 모델링과 논리적 모델링의 구분이 모호하다.(이탤릭체로 표시))
개념적 모델링
- ERD 도출 단계
- 핵심 엔티티와 관계, 속성 중심의 ERD 도출
- 높은 추상화 수준
- 업무 중심적인 포괄적 모델링
논리적 모델링
- 테이블 도출 단계
- 기본키와 외래키를 지정
- 정규화 및 반정규화 수행
- 보다 구체적인 ERD 도출
- 식별자, 속성, 관계 등을 명시
- M:N 관계 해소(여러 개의 1:N으로 분해)
물리적 모델링
- DBMS에 맞는 테이블 구축
- 데이터 타입 정의, 인덱스 설계, 뷰 설계
- 테이블 도출
- 기본키 외래키 칼럼 정의
- 정규화 및 반정규화 수행
데이터 독립성
- 데이터베이스의 3단계 구조
외부 스키마(External Schema)
- 각 사용자 또는 응용 프로그래머가 바라보는 데이터베이스 구조(= 스키마)
- 개별 사용자 관점에서의 데이터 베이스
개념 스키마(Conceptual Schema)
- 모든 사용자의 관점을 통합한 데이터베이스 구조
- DB에 저장되는 데이터와 그들간의 관계를 표현
내부 스키마(Internal Schema)
- DB가 물리적으로 저장된 형식
- 데이터가 실제적으로 저장되는 방법을 표현
외부 스키마와 내부 스키마를 통합한 관점인 개념 스키마를 만들어 가는 과정이 데이터 모델링. - 데이터 종속성과 독립성
데이터 종속성
- 응용 프로그램에 대한 데이터의 종속성
- 응용 프로그램과 데이터가 상호 의존적임
- 사용자가 접근하는 유형에 따라 데이터를 구성하는 방법이 영향을 받음
- 데이터를 저장한 파일 구조가 변하면 응용 프로그램도 변경되어야 함
데이터 독립성
- 데이터 구조가 변해도 응용 프로그램은 변할 필요가 없음
- 논리적 독립성(외부 스키마 - 개념 스키마) + 물리적 독립성(내부 스키마 - 개념 스키마)
데이터 독립성의 필요성(독립성이 유지되지 않는다면?)
- 데이터 중복성 및 복잡도 증가
- 요구사항 대응 난이도 증가
- 유지보수 비용 증가 - 논리적 독립성과 물리적 독립성
논리적 독립성
- 논리적 사상(외부적/개념적 사상)을 통해 논리적 독립성 보장
- 개념 스키마가 변해도 외부 스키마에는 영향이 없음
- 논리적 구조가 변해도 응용 프로그램에는 영향이 없음
물리적 독립성
- 물리적 사상(개념적/내부적 사상)을 통해 물리적 독립성 보장
- 내부 스키마가 변해도 개념 스키마에는 영향이 없음
- 저장 장치의 구조 변경은 응용 프로그램과 개념 스키마에 영향이 없음
논리적 사상
- 외부적 뷰와 개념적 뷰의 상호 관련성 정의
물리적 사상
- 개념적 뷰와 저장된 데이터베이스의 상호관련성 정의
'데이터베이스(Database) > Data Modeling' 카테고리의 다른 글
[DB] 데이터 모델링(6) - 식별자(Identifier) (0) | 2022.10.24 |
---|---|
[DB] 데이터 모델링(5) - 속성(Attribute) (0) | 2022.10.24 |
[DB] 데이터 모델링(4) - 관계(Relationship) (0) | 2022.10.24 |
[DB] 데이터 모델링(3) - 엔티티(Entity) (0) | 2022.10.24 |
[DB] 데이터 모델링(2) - 데이터 모델링의 요소와 ERD (0) | 2022.10.24 |