목차
모델링의 이해
데이터 모델링의 중요성
3층 스키마
ERD
모델링의 이해
데이터 모델링의 정의
- 정보 시스템 구축을 위해 데이터 관점의 업무를 분석하는 과정
- 현실 세계의 데이터를 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
데이터 모델링의 목적
- 업무에 필요한 정보를 정확하게 '정의'하고 '표현'하여 업무를 분석
-> 개발하기 위해서만 데이터 모델링을 하는 것은 아님
- 분석 모델을 통해 실제 데이터베이스를 생성하여 데이터를 관리
데이터 모델링의 순서: 추상화 -> 단순화 -> 명확화
1) 추상화: 일정한 형식에 맞추어 표현하는 것
2) 단순화: 복잡한 현실세계를 단순화 하여 표기법이나 언어로 표현
3) 명확화: 애매모함을 제거하고 현상을 정확하게 기술하는 것
데이터 모델링 단계
1.개념적 데이터 모델링: 중요한 부분을 위주로 가장 높은수준으로 추상화함
2. 논리적 데이터 모델링: 정보를 구조와 규칙을 명확화 하여 표현
=> 정규화 수행하여 데이터 모델의 독립성 확보
3. 물리적 데이터 모델링
- 추상화한 데이터를 어떻게 저장소에 넣어야 할지 다루는 과정,생성단계
데이터의 모델링의 중요성
1) 데이터 모델링의 중요성 및 유의점
<파급효과>
- 구체적인 내용은 변해도 큰 구조는 변하지 않도록 만드는 것
<간결한 표현>
- 구축할 시스템의 한계점을 가장 명확하고 간결하게 표현하게 만들어야하는 것
<데이터 품질>
- 중복 : 데이터베이스 여러 곳에서 같은 정보를 중복해서 저장하는 행위
- 비유연성
- 환경이 바뀌었을 때 데이터 사용 가능 여부
- 설계에 따라 유지보수의 난이도가 변한다.
- 비일관성
- 데이터의 중복이 없다해도 일관적이지 않은 경우
- 데이터간에 상호 연관관계가 없는 경우
프로젝트 라이프 사이클에서 데이터 모델링
<폭포수모델(Waterfall)>
계단식으로 날짜를 정하여 시작부터 완료에 이르기 까지 일련의 프로젝트 기획방법 => 프로젝트 범위가 명확할때 사용
<에자일모델<Agile)>
프로젝트 범위를 늘려가며 시작부터 종류까지 확장하면서 개발하는 방법
3) 데이터 모델링의 이해관계자
정보를 구축하는 모든 사람은 데이터 모델링을 전문적으로 해석 할 수 있어야 한다. => 프로젝트이해관계자 모두 알아야 한다.
데이터 모델링의 요소와 ERD
3층 스키마
1. 엔티티 - 업무에 관여하는 어떤 것
- 사물이나 사건을 바라볼때 전체를 지칭하는 용어
예) 데이터모델링에서 사용되는 하나의 객체 -> 사람, 사물,개념
2. 속성 - 어떤 것이 갖는 성격
예) 사람의나이, 몸무게,키, 사물의 특징
3. 관계 - 업무가 갖는 어떤 것 간의 관계
예) 헬스장을 데이터 모델링을 한다면 => 트레이너 엔티티, 고객 엔티티 1:N 의 관계(1대 다수)
ERD
ERD란? 엔티티와 릴레이션쉽을 나타내는 그림
3. 데이터 모델 표기법
1)IE표기법
식별자 속성-고유함 => 주민등록번호, 고객 ID
일반속성1
일반속성2
2)Barker 표기법
=> 특수문자 사용 고유식별자 구분 안되어있음
좋은 데이터 모델의 요소
- 완정성 => 업무에 필요한 모델에 정의 되어 있어야함
- 중복 제재 => 하나의 데이터 베이스는 하나만 기재 중복 x
- 업무규칙 => 어떤 업무의 규칙에 대한 구분별 항목들이 데이터 모델에 나타나 있어야 한다.
- 데이터 재사용 => 데이터를 언제든 다시 재사용 가능 해야함
- 의사소통 => 데이터모델은 의사사통 도구로써 역활을 해야함
- 통합성 => 동일한 데이터는 조직전체에서 한번만 정의 되어 있어야 한다.
느낀점
알고 있다고 생각했지만 정의에 대해 더욱 확실하게 짚고 넘어가니
좋은 데이터구조에 대해 다시 고민 할 수 있었던 시간이었다.