제1절
1. 모델링은 현실세계에 대해서 표현하는 것으로 이해할수 있습니다. 모델링의 특징은?
- 현실세계를 일정한 형식에 맞추어 표현하는 추상화의 의미를 가질 수 있음
- 모델링은 단지 시스템 구현만을 위해 수행하는 타스크가 아니며, 시스템 구현을 포함한 업무분석 및 업무형상화를 하는 목적도 있음
- 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 하는 단순화의 의미를 가지고 있음
- 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술하는 정확화의 의미를 가짐
발생시점에 따른 엔터티 분류
- 기본/엔터티(Fundamental Entity, Key Entity)
- 중심엔터티(Main Entity)
- 행위엔터티(Active Enity)
2. 데이터 모델링이 필요한 이유는?
첫 번째) 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현함으로써 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하는 것
두 번째)는 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것
<총정리>
데이터모델링이라는 것은 단지 데이터베이스만을 구축 하기 위한 용도로 쓰이는 것이 아니라 데이터모델링 자체로서 업무를 설명하고 분석하는 부분에서도 매우 중요한 의미를 가지고 있다고 할 수 있다.
데이터모델링이란
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계의 과정
3. 데이터모델링 할 때 유의해야 할 사항은?
데이터 모델링을 할 때 유의할 사항은 중복성, 비유연성, 비일관성 등이다.
- 중복(Duplication): 데이터 모델은 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데 도움을 줌으로써 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
- 비유연성(Inflexibility): 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수를 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
- 비일관성(Inconsistency): 데이터의 중복이 없더라도 비일관성은 발생할 수 있는데, 예를 들면 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보를 갱신하는 경우이다. 개발자가 서로 연관된 다른 데이터와 모순된다는 고려 없이 일련의 데이터를 수정할 수 있기 때문에 이와 같은 문제가 발생할 수 있다. 데이터 모델링을 할 때 데이터와 데이터 간의 상호 연관 관계에 대해 명확하게 정의한다면 이러한 위험을 사전에 예방하는데 도움을 줄 수 있다. 사용자가 처리하는 프로세스 혹은 이와 관련된 프로그램과 테이블의 연계성을 높이는 것은 데이터 모델이 업무 변경에 대해 취약하게 만드는 단점에 해당
4. 데이터모델링 개념
전사적 데이터 모델링이나 EA 수립 시에 많이 하며, 추상화 수준이 높고 업무 중심적으면서 포괄적인 수준의 모델링을 진행하는 것을 개념적 데이터 모델링 이라고 하며, 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등의 물리적인 성격을 고려한 데이터 모델링 방식은 물리적 데이터 모델링이라고 한다.
- 개념적 데이터 모델링: 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행, 전사적 데이터 모델링, EA 수립시 많이 이용
- 논리적 데이터 모델링: 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
- 물리적 데이터 모델링 : 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
5. 데이터베이스 스키마 구조 3단계중 개념 스키마 설명
데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가지고 고유한 기능을 가진다. 그 중 통합관점의 스키마구조를 표현한 것을 개념스키마라고 하며, 데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.
- 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현
- 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
데이터베이스 스키마 구조 3단계
- 외부 스키마, 개념 스키마, 내부 스키마
6. 고객과 주문의 ERD에 대한 설명이다.
[고객(고객번호, 고객이름)]
[주문(고객번호(PK) 제품 번호), (주문수량)]
- 한 명의 고객은 여러 개의 제품을 주문 할 수 있다. 주문은 할 수도 있고 안 할 수도 있다.
- 하나의 주문은 반드시 한 명의 고객에 의해 주문된다.
- 주문에 데이터를 입력할 때는 반드시 고객데이터가 존재해야 한다.
* 부모 엔터티에 데이터가 입력될 때 자식 엔터티에 해당 값이 존재하는지의 여부와 상관없이 입력될 수 있는 구조로 표현되어 있기 때문에, 고객 엔터티에 새로운 고객번호 데이터를 입력하는 것은 주문 엔터티에 해당 고객번호가 존재하고 있는지의 여부와 상관없이 가능하다.
'SQL' 카테고리의 다른 글
SQL 연습문제 (0) | 2022.08.20 |
---|---|
SQL을 활용한 데이터 베이스 마지막 과제 (총 종합 문제) (0) | 2022.08.16 |
SQL 테이블 구조 살펴보기 (0) | 2022.08.06 |
데이터베이스 관련 용어 정리 (0) | 2022.08.06 |