-
데이터 모델의 이해데이터베이스 강의 2023. 4. 9. 10:08
1. 모델링의 이해
모델링의 정의
- 주어진 개념으로부터 논리적이 데이터 모델을 구성하는 작업
- 업무정보를 구성하는 기초가 되는 정보들을 일정한 표기법에 의해 표현함으로써
정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하는 것
- 분석된 모델을 가지고 실제 데이터 베이스를 생성하여 개발 및 데이터 관리에 사용하기 위한 것
모델링의 특징
추상화 현실세계를 일정한 형식에 맞추어 표현 단순화 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술 데이터 모델의 기본 개념
데이터 모델링의 정의
- 데이터 베이스 골격을 이해하고, 이를 바탕으로 SQL문장을 기능과 성능적인 측면에서
효율적으로 작성하기 위한 핵심요소
- 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가
필요로 하는 정보는 무엇인지 분석하는 방법
- 데이터에 존재하는 업무 규칙에 대하여 참, 거짓을 판별할 수 있는 사실을 데이터에 접근하는
방법, 사람, 전산화와는 별개의 관점에서 이를 명확하게 표현하는 추상적인 기법
데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화 하도록 도와준다.
- 시스템의 구조와 행동을 명세화 할 수 있게 한다.
- 시스템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공
- 특정 목표에 따라 구체화된 상세수준의 표현방법은 제공한다.
데이터 모델링의 중요성 및 유의점
데이터 모델링의 중요성
파급효과
Leverag시스템 구축 작업 중에서 다른 어떤 설계 과정보다 데이터 설계가 중요함 간결한 표현
Conciseness복잡한 정보 요구사항이 정확하고 간결하게 표현되어야 한다는 것 데이터 품질
Data Quality데이터는 기업의 중요한 자산이고 비즈니스 가치로 삼고 활용하는 것, 따라서 데이터 관리가 중요함 데이터 모델링의 유의점
중복
Duplication데이터가 여러 장소에 같은 정보를 저장하지 않도록 해야 함 비유연성
Inflexibility데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄여줌 비일관성
Inconsistency데이터와 데이터간 상호 연관 관계에 대한 명확하게 정의하여 데이터의 모순을 파악하지 못한 채 데이터를 수정하는 것을 방지 2. 데이터 모델링의 종류
데이터 모델링의 3단계 진행
- 현실세계에서 데이터베이스까지 만들어지는 과정은 시간에 따라 진행되는 과정으로서
추상화수준에 따라 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델로 정리할 수 있다
개념적 데이터 모델링 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행 EA기반 전사적 데이터 모델링 수립 시 많이 이용 논리적 데이터 모델링 시스템으로 구축하고자 하는 업무에 대해 키, 속성, 관계 등을 정확하게 표현, 재 사용성이 높음 물리적 데이터 모델링 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계 데이터 모델링의 3단계 진행
개념적 데이터 모델링(Conceptual Data Modeling)
- 조직이나 사용자의 데이터 요구사항을 찾고 분석하는 데서 시작- 핵심 Entity와 그들 간의 관계를 발견하고 그것을 표현하기 위해 ER 다이어그램을 생성 하는 것
- 사용자와 시스템 개발자가 데이터 요구사항을 발견하는 것을 지원한다.
- 현 시스템이 어떻게 변형 되어야하는 하는가를 이해하는데 유용하다.
논리적 데이터 모델링
- 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법이나 과정
- 데이터 모델링 과정에서 가장 핵심이 되는 부분
- 정규화 과정을 통해 일관성을 확보하고 중복을 제거하여 속성들이 가장
적절한 Entity에 배치되도록 함으로써 신뢰성 있는 데이터 구조를 확보
- 논리 데이터 모델의 상세화는 식별자 확정, 정규화, M:M 관계 해소, 참조 무결성
규칙 정의 등을 들 수 있으며, 추가적으로 이력 관리에 대한 전략을 정의
물리적 데이터 모델링(Physical Data Modeling)
- 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의
- 트랜잭션 세부사항을 설계하고, 테이블, 칼럼 등으로 표현되는 물리적인 저장 구조와 사용될 저장 장치,
자료를 추출하기 위해 사용될 접근 방법 등을 결정
프로젝트 생명주기에서의 데이터 모델링
- 폭포수 모델기반에서는 데이터 모델링의 위치가 분석과 설계 단위로 구분되어 명확하게 정의 할 수 있다.
- 정보공학이나 구조적 방법론에서는 보통 분석단계에서 업무 중심의 논리적인 데이터 모델링을 수행하고 설계 단계에서 하드웨어와 성능을 고려한 물리적인 데이터 모델링을 수행한다.
- 객체지향 개발 방법론(Rational Unified Process) )에서는 업무 크기에 따라 논리적 데이터 모델과 물리적 데이터 모델이 분석, 설계 단계 양쪽에서 수행이 되며 비중은 분석단계에서 논리적인 데이터 모델이 더 많이 수행된다.
3. 데이터 모델의 구성요소
개체(Entity)
- 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상이다.
- 실 세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.
- 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.
- 독립적으로 존재 하거나 그 차체로도 구별 가능하다
속성(Attribute)
- 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.
- 개체를 구성하는 항목이다.
관계(Relation)
- 개체 간의 관계 또는 속성 간의 관계이다.
- 데이터 모델이란 데이터를 저장하고 접근하는 방식을 개념적으로 정의 한 것이다.
- 데이터 모델의 모델링 과정에 따라 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델이 있다.
- 데이터 모델의 구성요소는 개체, 속성, 관계로 구성된다'데이터베이스 강의' 카테고리의 다른 글
관계형 데이터 모델 제약조건(2) (0) 2023.04.09 관계형 데이터 모델 제약조건(1) (0) 2023.04.09 데이터 모델의 종류 (0) 2023.04.09 데이터베이스 관리시스템의 종류 (0) 2023.04.09 데이터베이스 관리시스템의 정의 (0) 2023.04.08