SUMMARY - 일반적인 데이터베이스 시스템 개발 절차요구사항을 표현한 논리데이터 모델 [ERD], 정규화, 정규화 유형, 정규화 수준에 따른 장단점, 정규화 예시, 정규화된 데이터 모델이 보장하는 ..

CODEDRAGON Development/Database

반응형


 

 

일반적인 데이터베이스 시스템 개발 절차

일반적으로 시스템 개발은 데이터 관점프로세스 관점의 두가지로 진행되는데, 개념 모델링을 통해 개발 범위를 파악하고, 업무 중심의 분석(논리 데이터 모델링, 분석 모델링)단계를 거쳐 개발하고자 하는 환경을 고려한 설계(물리 데이터 모델링, 설계 모델링)단계로 구체화되어 개발(데이터베이스 구축, 애플리케이션 개발)단계로 진행됩니다.

 


http://codedragon.tistory.com/5513

 

 

 

요구사항을 표현한 논리데이터 모델 [ERD]

사원이 학비 지원을 받지 않을 수도 있으므로, ‘사원’과 ‘학비 지원’ 엔터티 사이에서 "학비지원"     엔터티 쪽을 선택적(o optional) 으로 표시한다.

 

A사는 대학 졸업생과 함께 대학을 졸업하지 많은 유능한 사람도 고용하여

사원이 학사 학위를 취득하도록 

업무 분야와 관련된 전공 분야의 학비, 교재비, 실습비 등 비용 전액을 지원한다.


 

http://codedragon.tistory.com/4336

http://codedragon.tistory.com/4337

 

 

 

정규화

·       어떤 관계라도 데이터베이스 내에서 표현이 가능하도록 만드는

·       관계에서 바람직하지 않은 삽입, 삭제, 갱신 이상이 발생하지 않도록 한다.

·       새로운 형태의 데이터가 삽입될 관계를 재구성할 필요성을 줄일 있다.

·       보다 간단한 관계 연산에 기초하여 검색을 보다 효율적으로 있다.

http://codedragon.tistory.com/5496

 

 

 

정규화 유형

유형

설명

1정규화

·       반복되는 속성이나 Group 속성 제거

·       새로운 실체와 1:N의 관계 추가

·       모든 속성은 반드시 하나의 값을 가져야 합니다.(반복형태가 있어서는 안됩니다)

2정규화

·       주식별자에 완전하게 종속되지 않는 속성 제거

·       불완전 함수적 종속(Non Fully Dependency) 제거

·       모든 속성은 반드시 UID 전부에 종속되어야 합니다.(UID일부에만 종속되어서는 안됩니다)

3정규화

·       비식별자에 종속되는 속성 제거

·       주식별자에 이행종속(Transitive Dependency) 되는 속성 제거

·       UID가 아닌 모든 속성 간에는 서로 종속될 수 없습니다.(속성간 종속성 배제)

4정규화

·       실제로 거의 고려되지 않는 정규화

·       주식별자에 다가종속(Multi-Valued Dependency)되는 속성을 두가지 이상 두지 않습니다.

·       2차 정규화된 테이블은 다대다 관계를 가질 수 없습니다.

·       어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공합니다.

http://codedragon.tistory.com/5496

 

  

 

정규화 예시

정규화 전

사원 테이블

사원이름

사원번호

주소

전화번호

부서번호

부서이름

김철수

2106

서울

123-2345

1

영업

박영희

2108

수원

456-7894

2

기획

홍길동

2109

대구

258-1254

1

영업

이순신

2111

경기

256-3652

2

기획

강감찬

2120

부산

789-4125

3

개발

도레미

2119

안산

358-1254

1

영업

 

 

정규화 후

사원테이블을 부서테이블로 나눌수 있으며 사원 N : 1 부서 관계를 가집니다.

 

사원테이블

사원이름

사원번호

주소

전화번호

부서번호

김철수

2106

서울

123-2345

1

박영희

2108

수원

456-7894

2

홍길동

2109

대구

258-1254

1

이순신

2111

경기

256-3652

2

강감찬

2120

부산

789-4125

3

도레미

2119

안산

358-1254

1

 

부서 테이블

부서번호

부서이름

1

영업

2

기획

3

개발

 

 

 

 

정규화 수준에 따른 장단점

정규화 수준이 높을수록 발생하는 장점과 단점에 대한 내용입니다.

장점

·       유연한 데이터 구축이 가능합니다.

·       데이터의 정확성이 높아 집니다.

단점

·       물리적 접근이 복잡합니다.

·       길이가 짧은 데이터 생성으로 과도한 조인(join)이 발생합니다.

http://codedragon.tistory.com/5496

 

 

 

정규화된 데이터 모델이 보장하는 특정

정규화된 데이터 모델은 정확성, 일치성, 단순성, 비중복성, 안정성 보장합니다.

http://codedragon.tistory.com/5496

 

 

 

데이터모델 (ERD Entity Relationship Diagram) 표현

 

명세

"회사에 한명 이상의 직원이 있다”

ERD


http://codedragon.tistory.com/4163

http://codedragon.tistory.com/4186

http://codedragon.tistory.com/4187

http://codedragon.tistory.com/4188