728x90
반응형
SMALL
데이터 모델
모델링이란?
설계, 디자인, 형상, ...
데이터베이스의 모델링은 현실 세계를 단순화하여 표현하는 기법이다.
모델링의 특징
특징 | 설명 |
---|---|
추상화 | 현실 세계를 일정한 형식으로 표현한 것 아이디어나 개념을 간략하게 표현하는 과정 |
단순화 | 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현하는 것 |
명확화 | 불분명함을 제거하고 명확하게 해석할 수 있도록 기술하는 것 |
데이터베이스의 모델링은 현실 세계를 추상화, 단순화, 명확화하기 위해
일정한 표기법에 의해 표현하는 기법이다.
모델링의 3가지 관점
1. 데이터 관점
- 어떤 데이터들이 업무와 얽혀있는지 그 데이터 간에는 어떤 관계가 있는지에 대해 모델링하는 방법
2. 프로세스 관점
- 이 업무가 실제로 처리하고 있는 일은 무엇인지 또는 앞으로 처리해야하는 일은 무엇인지를 모델링하는 방법
3. 데이터와 프로세스의 상관 관점
- 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법
데이터의 품질을 보장하기 위해 데이터 모델링 시 유의해야 하는 사항
데이터 품질 : 데이터의 신뢰도, 정확성 등을 나타내는 척도
사항 | 설명 |
---|---|
Duplication | 같은 데이터가 여러 엔티티에 중복으로 저장되는 현상을 지양 해야 한다. |
Inflexibility | 데이터 모델의 설계에 따라 애플리케이션의 사소한 변경에도 데이터 모델이 수시로 변경되어야 하는 상황이 생길 수 있다. |
Inconsistency | 데이터의 중복이 없는 경우에도 비일관성이 발생할 수 있다. 개발자가 다른 데이터와의 연관성을 고려하지 않고 일부 데이터만 변경할 수 있기 때문이다. |
중복 없고 유연성을 높이고 일관성 있도록 해야한다.
모델링의 3가지 단계
1. 개념적 데이터 모델링(Conceptual Data Modeling)
조직 전체 차원적
데이터 모델링 수행 시 행해진다.추상화 레벨이 가장 높은 모델링
이다.업무 중심적
이고포괄적
인 수준의 모델이 진행된다.
2. 논리적 데이터 모델링(Logical Data Modeling)
재사용성이 가장 높은 모델링
이다.- 데이터베이스 모델에 대한
Key, Attribute, Relationship 등을 모두 표현
하는 단계이다.
3. 물리적 데이터 모델링(Physical Data Modeling)
- 실제 데이터베이스로 구현할 수 있도록
성능
이나가용성
등의물리적인 성격을 고려
하여 모델을 표현하는 단계이다.
데이터의 독립성
ANSI-SPARC
American National Standard Institute, Standards Planning And Requirements Committee
- 스키마를 3 단계로 분리한다.
데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는
물리적인 방식을 분리하기 위함이다.
데이터베이스의 목적 중 하나는 사용자에게 데이터를 보여줄 수 있는 뷰를 제공하는 것이다.
1. 외부 스키마(External Schema)
- 사용자 관점 : Multiple User's View 단계로
각 사용자가 보는 데이터베이스의 스키마를 의미
한다.
2. 개념 스키마(Conceptual Schema)
- 통합된 관점 : Community View of DB 단계로
모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것
이다. - 데이터베이스의 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다.
3. 내부 스키마(Internal Schema)
- 물리적인 관점 : Physical Representation 단계로 물리적인 저장 구조를 나타낸다.
실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함된다.
3단계 스키마 구조가 보장하는 독립성
논리적 독립성
- 개념 스키마가 변경되어도 외부스키마는 영향 받지 않는다.
물리적 독립성
- 내부스키마가 변경되어도 외부/개념 스키마는 영향 받지 않는다.
ERD 작성 순서
- 엔티티를 도출하고 그린다.
- 엔티티를 적절하게 배치한다.
- 엔티티 간의 관계를 설정한다.
- 관계명을 기입한다.
- 관계의 참여도를 기입한다.
- 관계의 필수/선택 여부를 기입한다.
728x90
반응형
LIST
'데이터베이스' 카테고리의 다른 글
[ORACLE] SQL 객체 변경 ALTER - 컬럼 추가, 수정, 삭제 (0) | 2025.03.18 |
---|---|
[ORACLE] PL/SQL 예외처리 - EXCEPTION (1) | 2025.03.17 |
[ORACLE] PL/SQL 반복문 - 기본 LOOP, FOR LOOP, WHILE LOOP (0) | 2025.03.17 |
[ORACLE] PL/SQL 제어문 - 조건문(IF-ELSIF-ELSE, CASE-WHEN-THEN) (0) | 2025.03.17 |
[ORACLE] PL/SQL - PL/SQL 구조와 변수 (0) | 2025.03.17 |