CHAPTER1. 데이터 모델링의 이해
(1) 모델링이란?
모델링(Modeling)이라는 단어를 들었을 때, 다양한 분야의 모델링 공통 분모를 찾아보면 '설계', '디자인' 과 같은 단어들을 생각해낼 수 있다. 데이터베이스에서의 모델링도 이런 단어들을 접목해보면 된다.
데이터베이스의 모델링은 '현실 세계를 단순화하여 표현하는 기법' 이다.
모델은 현실세계에서 일어날 수 있는 다양한 현상에 대해 일정한 표기법에 의해 표현해 놓은 모형이라고 할 수 있다.
모델링은 이런 모델을 만들어가는 일이다.
모델링이 갖춰야 할 조건
- 현실세계를 반영해야 한다.
- 단순화하여 표현해야 한다.
- 관리하고자 하는 데이터를 모델로 설계한다.
(2) 모델링의 특징
1. 추상화
- 현실 세계를 일정한 형식으로 표현하는 것이다. 즉, 아이디어나 개념을 간략하게 표현하는 과정이다.
2. 단순화
- 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미이다.
3. 명확화
- 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미이다.
∴ 데이터베이스의 모델링은 현실세계를 추상호, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법
(3) 모델링의 세 가지 관점
1. 데이터 관점(What, data)
- 어떤 데이터들이 업무와 얽혀있는지, 그 데이터 간에는 어떤 관계가 있는지에 대해 모델링 하는 방법
(데이터 위주의 모델링)
2. 프로세스 관점(How, Process)
- 업무가 실제로 처리하고 있는 일은 무엇인지, 앞으로 처리해야 하는 일은 무엇인지를 모델링하는 방법
(프로세스 위주의 모델링)
3. 데이터와 프로세스의 상관 관점(Data vs Process, interaction)
- 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링 하는 방법
(데이터와 프로세스의 관계를 위주로 한 모델링)
(4) 모델링의 세 가지 단계
1. 개념적 데이터 모델링
- 전사적 데이터 모델링 수행 시 행해짐
- 추상화 레벨이 가장 높은 모델링이다.
- 업무 중심적이고 포괄적 수준의 모델링이 진행된다.
2. 논리적 데이터 모델링
- 재사용성이 가장 높은 모델링
- 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계
3. 물리적 데이터 모델링
- 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격 고려하여 모델을 표현하는 단계
(5) 데이터의 독립성
ANSI-SPARC 아키텍처는 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준이다.
ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나눈다.
3단계 스키마 구조
- 외부 스키마
- 사용자의 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의.
- 개념 스키마
- 통합된 관점 : Community View of DB 단계. 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. DB에 저장되는 데이터들을 표현, 데이터들간의 관계를 나타낸다
- 내부 스키마
- 물리적인 관점 : Physical Representation 단계. 물리적인 저장 구조를 나타냄. 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함
3단계 스키마 구조가 보장하는 독립성
이렇게 분리하는 목적은 데이터베이스에 대한 사용자들의 관점과 실제로 표현되는 물리적인 방식을 분리하여 독립성을 보장하기 위함이다.
- 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.
- 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.
(6) ERD
시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램이다.
1. ERD 표기 방식
- Peter Chen : 주로 대학교재에서 사용하는 표기법. 실무에서 사용하는 경우는 드물다.
- IDEFIX : 실무에서 사용하는 경우도 있으며, ERWin에서 사용되는 모델이기도 하다.
(ERWin은 ERD를 그리는 모델링 툴) - IE/Crow's Foot : 까마귀발 표기법이라고도 불리며 가장 많이 사용한다. ERWin, ERStudio에서 사용되는 모델이다.
- Min-Max/ISO : 각 엔터티의 참여도를 좀 더 상세하게 나타내는 표기법이다.
- UML : 소프트웨어 공학에서 주로 사용되는 모델
- Case*Method/Barker : Oracle에서 사용되는 모델. Crow's Foot과 비슷
2. IE/Crow's Foot 표기법
3. ERD 작성 순서
어떤 표기법을 사용하든 ERD 작성 순서는 공통된 룰이며, 아래의 순서를 따른다.
1. 엔터티를 도출하고 그린다.
2. 엔터티를 적절하게 배치한다.
3. 엔터티 간의 관계를 설정한다.
4. 관계명을 기입한다.
5. 관계의 참여도를 기입한다.
6. 관계의 필수/선택 여부를 기입한다.
'SQL > SQL' 카테고리의 다른 글
[SQL] NOT NULL 제약조건과 FK제약조건 (0) | 2024.09.29 |
---|---|
[SQL] JOIN (0) | 2024.08.12 |
[SQL] FK (0) | 2024.08.12 |
[Oracle] SQL문의 기초 (0) | 2024.08.05 |
[Oracle] 오라클 초기 설정 (0) | 2024.08.01 |