1. 데이터 모델링
모델링이란?
현실세계에서 일어날 수 있는 현상을 추상화 한 후 표기법에 의해 규칙을 가지고 표기하는 것
모델링 특징? ★★
1)추상화
- 다양한 현상을 일정한 양식인 표기법에 의해 표현
2)단순화
- 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현해 쉽게 이해할 수 있 도록 하는 것
4)명확화
- 누구나 이해할 수 있도록 애매한 표현은 제거해야 됨
모델링의 3가지 관점?
- 데이터 관점
- 업무가 어떤 데이터와 관련이 있나?
(비즈니스 프로세스에서 사용되는 데이터 의미)
- 프로세스 관점
- 실제 하고 있는 일은 무엇인가?
(비즈니스 프로세스에서 수행하는 작업)
- 데이터와 프로세스의 상관관점
- 업무를 처리하는 방법에 따라 데이터가 받는 영향은 어떤가?
(데이터와 프로세스간의 관계 의미)
데이터 모델링이란
: 정보시스템을 구축하기 위한 데이터 관점에서 업무 분석하는 것
: 현실세계의 데이터에 대해 약속된 표기법으로 표현하는 것
: 데이터 베이스 구축을 위한 분석/설계과정
데이터 모델링의 중요성OR 유의점?★★★
-파급효과 (Leverage)
- 복잡한 정보 요구사항의 간결한 표현(Conciseness)
- 데이터품질(Data Quality)
데이터 모델링의 3단계 (=> 개논물)★★★
1. 개념적 모델링
: 어떤 업무인지 파악하고 정리하는 단계
2. 논리적 모델링
: (핵심을 잡아내는 단계) 정의된 객채들이 어떤 관계인지를 정의 => ex)1:1, 1:n .... ERD
3. 물리적 모델링
: 실제데이터에 반영하는 것
데이터 독립성이 필요한 이유?
- 데이터 복잡도 증가
- 데이터 중복성 증가
- 유지보수 비용 증가
- 요구사항 대응 저하
데이터 베이스 3단계 구조
- 외부단계 - 사용자 관점
==>논리적 데이터 독립성
- 개념적 단계 - 통합 관점
==> 물리적 데이터 독립성
- 내부적 단계 - 물리적 저항 구조
데이터 모델링에서 중요한 개념★★★
- 엔터티
- 속성
- 관계
EDR 작업 순서
: EDR이란?
- 데이터베이스가 어떤 구조로 이루어져 있는지 그리는 관계도

[EDR표기예시]



1) 엔터티를 그린다
2) 엔터티를 적절하게 배치한다
3) 엔터티 간의 관계를 설정한다
4) 관계명을 기술한다
5) 관계의 필수 여부를 기술한다
좋은 데이터 모델의 요소!★★★
- 완전성
- 중복배제
- 업무규칙
- 데이터 재사용
- 의사소통
- 통합성
엔터티

엔터티 개념
- 사람, 장소, 물건, 사건, 개념 등의 명사
- 업무상 관리가 필요한 관심사
- 저장이 되기위한 어떤 것
엔터티 특징
- 반드시 해당 업무에 필요하고 관리하고자 하는 정보
- 유일한 식별자에 의해 식별이 가능해야됨
- 영속적으로 존재하는 인스턴스의 집합이어야 함
- 엔터티는 업무 프로세스에 의해 이용되어야 함
- 엔터티는 반드시 속성이 있어야함
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
엔티티 분류
- 유무형에 따른 분류 ★★★ (유무사)
1) 유형 엔터티 - 물리적 형태 o (ex 강사, 학생)
2) 무형 엔터티 - 물리적 형태 x , 관리해야 할 개념적 정보로 구분(ex 부서, 강의)
3) 사건 엔터티 - 업무를 수행함에 따라 발생(ex 주문, 구매)
- 발생 시점에 따른 분류(기중행)
1) 기본/키엔터티 - 업무에 원래 존재하는 정보, 독립적으로 생성(ex 고객, 강의 제품)
2) 중심 엔터티 - 기본 엔티티로부터 발생, 업무의 중심 역할(ex 계좌, 주문)
3) 행위 엔터티 - 2개 이상의 부모 엔티티로부터 발생되고 자주 내용이 바뀌거나 데이터 양이 증가 됨(ex 수강이력, 주문이력)
속성
속성의 개념
: 업무에서 필요로 하는 인스턴스를 관리하고자 하는 의미상으로 더이상 분리되지 않는 최소의 데이터 단위-> 엔터티
엔터티, 인스턴스, 속성, 속성값의 관계
- 1개의 엔터티 : 2개 이상의 인스턴스 집합
- 1개의 엔터티 : 2개 이상의 속성
- 1개의 속성 : 1개의 속성값
속성의 분류★★★
- 속성의 특성에 따른 분류★★★
1) 기본속성 : 업무 분석을 통해 정의한 속성(ex 강사이름, 강의 제작일)
2) 설계속성 : 업무상 존재하지 않지만 설계에서 도출(ex 강의 번호)
3) 파생송성 : 다른 속성으로부터 계산, 변형되어 생성(ex 수강, 주문)
관계
관계의 계념
: 인스턴스 사이에 논리적 연관성으로서 존재하는 행위
서로에게 연관성이 부여된 상태
관계의 분류
- 존재에 의한 관계 ex) 부서 --- 사원(소속)
- 행위에 의한 관계 ex) 고객 --- 주문(주문하다)
관계표기법
- 관계명 : 관계 이름
- 관계 차수 : 1:1 / 1:M / M:N
- 관계 선택 사양 : 필수관계, 선택관계
식별자
식별자 개념
: 하나의 엔터티로 구성되어 있는 여러개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미.
하나의 엔터티는 반드시 하나의 유일한 식별자가 되어야 함
식별자의 특징 ★★★
1) 유일성 : 주 식별자에 의해 엔터티 내에 모든 인스턴스들을 유일하게 구분함
2) 최소성 : 주 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
3) 불변성 : 주 식별자가 한번 특정 엔터티에 지정되면, 그 식별자의 값은 변하지 않아야함
4) 존재성 : 주 식벽자가 지정되면 반드시 데이터 값이 존재해야함 (NULL안됨)
주 식별자 도출 기준
- 자주 이용되는 속성을 주 식별자로 지정
- 명칭, 내역 등과 같이 이름으로 기술 되는 것은 피해야 함
( 이름 등 같은 값이 있을 수 있는 속성은 주식별자가 되면 안됨, 학번이나 주민등록번호 등 중복이 되지 않는 것만 지정 가능)
- 속성의 수가 많아지지 않도록 함