Data Modeling
- 데이터 모델링이란 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
Data Modeling 특징
- 추상화 : 현실세계를 일정한 형식에 맞추어 표현하려는 추상화의 의미를 갖는다.
- 단순화 : 복잡한 현실을 제한된 언어나 표기법으로 이해하기 쉽게할 수 있다.
- 정확화(명확화) : 애매모함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술할 수 있다.
Data Modeling 의 중요성
- 파급효과
- 간결한 표현
- 데이터 품질 유지
Data Modeling 유의점
중복 (Duplication)
- 여러 곳에
동일한 정보를 저장하는것을 지양
해야 한다.
비유연성 (Inflexibility)
- 데이터를 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터모델이 수시로 변경될 수 있다. 따라서
데이터 정의를 데이터의 사용 프로세스와 분리
하여 작은 변화에도 데이터모델이 수시로 변경되는 것을 줄여야 한다.
비일관성 (Inconsistency)
- Modeling 을 할 때 데이터 간 상호 연관 관계를 명확하게 하여 데이터의
비일관성을 예방
하여야 한다.
Data Modeling 3 단계
- 개념적 모델링 (계획/분석 = 추상) : ERD 도출, 업무중심, 포괄적인 수준의 모델링
- 논리적 모델링 (분석 = 정규화) : 테이블 도출, (key, 속성, 관계)를 표현, 재사용성, 정규화 수행
- 물리적 모델링 (설계 = DB) : DB구축, 물리적 성격, 개념적보다 구체적
데이터 독립성
데이터 독립성
이란 데이터베이스의 구조와 데이터의 내용이 서로 영향을 미치지 않는 것을 의미한다. 데이터 독립성은 논리적 데이터 독립성
과 물리적 데이터 독립성
으로 나눌 수 있다.
데이터 독립성 장점
데이터 독립성
은 데이터베이스의 유지보수와 확장성을 향상시키는 장점을 갖는다.- 데이터베이스의 구조가 변경되더라도 응용 프로그램이나 사용자에게 영향을 주지 않으므로, 시스템의 안정성과 신뢰성을 높일 수 있다.
- 데이터베이스의 성능이나 보안을 개선하기 위해 필요한 조치를 쉽게 적용할 수 있다.
논리적 데이터 독립성
논리적 데이터 독립성은 데이터베이스의 논리적 구조가 변경되어도 응용 프로그램이나 사용자의 요구에 영향을 주지 않는 것
을 말한다.
물리적 데이터 독립성
물리적 데이터 독립성은 데이터베이스의 물리적 구조가 변경되어도 논리적 구조나 데이터의 내용에 영향을 주지 않는 것
을 말한다. 예를 들어, 파일의 저장 방식이나 인덱스의 구성이 바뀌어도 데이터베이스의 스키마나 데이터는 그대로 유지될 수 있다.
Data Modeling 3 요소
- 엔티티 (Entity) : 데이터베이스를 구성하는
데이터 개체
- 관계 (Relationships) : 개체 사이에 존재하는 관계
- 속성 (Attributes) : 개체의 특성
데이터베이스 인스턴스 (Instance)
특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터의 값. Entity 의 실제 데이터라고 생각하면 된다.
Database Schema
- 스키마란
데이터베이스의 구조
,데이터 타입
,제약조건(Constraints)
에 관한 전반적인 명세를 기술한 것이다. - 데이터베이스의 논리적인 설계를 나타내며, 데이터베이스에서 어떤 데이터가 저장되고 어떻게 관련되어 있는지를 표현한다.
- 데이터베이스 의 물리적 모델링 단계(설게 단계)에서 명시되며 자주 변경되지 않는다.
Database Schema 3단계 구조
스키마는 데이터베이스의 전체적인 모습을 보여주는 외부 스키마
, 데이터베이스의 물리적인 저장 방식을 결정하는 내부 스키마
, 그리고 외부 스키마와 내부 스키마 사이의 관계를 매핑하는 개념 스키마
로 구성된다. 이렇게 3단계로 나뉘는 DB 구조를 3단계 데이터베이스 구조라고 한다.
외부 스키마
개념 스키마
내부 스키마
ERD
- ERD (Entity Relationship Diagram) 는
개체 관계 모델이란 구조화된 데이터에 대한 일련의 표현
이다. - 관계의 의미를 직관적으로 표현할 수 있는 수단이다.
- Entity 를 사각형, Relationship 를 마름모, Attributes 를 타원형으로 표현한다.
ERD 작성 순서
- 엔터티 도출
- 엔티티 배치
- 엔티티 간 관계 설정 (가급적 Cycle 이 발생하지 않아야 한다.)
- 관계명 기술 (1:1, N:1, 1:N, N:M)
- 관계 차수 설정
- 선택사양 기술
Reference
- 2
- 2 틀
- 3
- 2
- 3
- 2
- 4
- 4
- 2
- 4 틀
- 3 틀
- ? 틀
- 1
- 2
- 3
- ? 틀
- 4 틀
- 4
- 3
- 3 틀
- ? 틀
- 2
- 2
- ? 틀
- ? 틀
- 4
- 3 틀
- 2
- 2
- ? 틀
- ? 틀
- 2
- 1