데이터베이스의 모델링
현실 세계를 단순화하여 표현하는 기법
모델 : 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
모델링 : 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정
모델링이 갖춰야 할 조건
- 현실 세계를 반영해야 한다.
- 단순화하여 표현해야 한다.
- 관리하고자 하는 데이터를 모델로 설계한다.
모델링의 특징
- 추상화(Abstraction)
현실 세계를 일정한 형식으로 표현하는 것. 아이디어나 개념을 간략하게 표현하는 과정 - 단순화(Simplification)
복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미 - 명확화(Clarity)
불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미.
데이터베이스의 모델링은 현실 세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법을 말한다.
모델링의 세 가지 관점
- 데이터 관점(What, Data)
데이터 위주의 모델링으로 어떤 데이터들이 업무와 얽혀있는지, 데이터 간에 어떤 관계에 있는지에 대해 모델링하는 방법 - 프로세스 관점(How, Process)
프로세스 위주의 모델링으로 업무가 실제로 처리하고 있는 일은 무엇인지 혹은 앞으로 처리해야 하는 일이 무엇인지를 모델링하는 방법 - 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction)
데이터와 프로세스의 관계를 위주로한 모델링으로 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법
모델링의 세 가지 단계
- 개념적 데이터 모델링(Conceptual Data Modeling)
회사 전체 차원의 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링.
이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행된다. - 논리적 데이터 모델링(Logical Data Modeling)
재사용성이 가장 높은 모델링.
데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계. - 물리적 데이터 모델링(Physical Data Modeling)
실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계.
데이터의 독립성

ANSI-SPARC 아키텍처는 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준을 말한다.
ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나누는데, 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함이다.
데이터베이스가 존재하는 목정 중 하나는 사용자에게 데이터를 보여줄 수 있는 뷰를 제공하는 것인데, 사용자 입장에서는 데이터베이스의 내부 구조에 대해서는 알 필요가 없기에 데이터가 어떻게 저장되고 유지되는지에 대해서는 분리하게 된다.
이렇게 ANSI-SPARC 아키텍처는 데이터의 독립성을 보장한다.
3단계 스키마 구조
- 외부 스키마(External Schema)
사용자 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의한다. - 개념 스키마(Conceptual Schema)
통합된 관점 : Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다. - 내부 스키마(Internal Schema)
물리적인 관점 : Physical Representation 단계로 물리적인 저장 구조를 나타낸다. 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함된다.
3단계 스키마 구조가 보장하는 독립성
- 논리적 독립성
개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다. - 물리적 독립성
내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않는다.
ERD(Entity Relationship Diagram)
시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램
참고자료 : 유선배 SQL 개발자
'DB' 카테고리의 다른 글
| 엔터티(Entity) (0) | 2024.04.03 |
|---|---|
| 오라클 환경 세팅(다운로드 및 설치) + 설치 오류 (0) | 2024.04.02 |
| 인텔리제이에 mysql 연결하는 방법 (0) | 2023.08.10 |
| 인텔리제이에 DB 연결 (0) | 2023.08.10 |
| DB관리툴 - DBeaver 설치 및 mysql 연결 (0) | 2023.08.09 |