본문 바로가기

자격증/정보처리기사 4과목

4-13강. 논리 데이터베이스 설계-데이터 모델링 및 설계(2)

과목4. 데이터베이스 구축, 13강. 논리 데이터베이스 설계-데이터 모델링 및 설계(2)

 

[ 목차 ]

1. 데이터베이스 정규화

2. 정규화의 목적

3. 제 1정규형(1NF)

4. 제 2정규형(2NF)

5. 제 3정규형(3NF)

6. BCNF

7. 제 4정규형(4NF)

8. 제 5정규형(5NF)

9. 정규화의 원칙

10. 정규화 과정(무손실 분해)

11. 좋은 데이터 모델의 요건

12. 데이터모델 품질 검증 기준

 

1. 데이터베이스 정규화

1) 관계형 DB 설계 시 중복을 최소화하도록 데이터를 구조화하는 프로세스

2) 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것이 목적

3) 조직되지 않은 테이블을 잘 조직된 테이블과 관계로 나누는 것(분해)을 포함

4) 데이터 중복을 방지하여 효율적으로 데이터를 저장하기 위해 사용

5) 테이블 분리 -> 삽입, 삭제, 갱신 이상의 발생 가능성 감소

 

2. 정규화의 목적

1) 데이터의 삽입, 삭제, 변경이 되어도 정의된 관계로 인해 데이터베이스의 나머지 부분들로 전파 되도록 하는 것

2) 어떤 관계라도 데이터베이스 내에서 표현이 가능

3) 삽입, 삭제, 갱신 이상이 발생하지 않도록

4) 새로운 데이터 삽입 시 관계를 재구성할 필요성 감소

5) 간단한 관계 연산에 기초하여 검색 효율 증가

 

3. 제 1정규형(1NF) - 정규형은 키워드 위주로 암기

1) 반복 되는 속성을 제거한 뒤 모든 속성이 원자 도메인만으로 되어 있는 정규형

2) 제 1정규형에 위배될 경우 중복이 발생 -> 공간 낭비, 이상 발생 -> 무결성 위배

3) 정규화시 데이터 손실이 나타나지 않았을 경우 무손실 분해라 지칭

이상 현상
1) 릴레이션에서 일부 속성들의 종속으로 인해 데이터 중복이 발생하여 테이블 조작 시 불일치가 발생하는 것
    정규화를 거치지 않을 경우 데이터베이스들의 데이터가 불필요하게 중복되어 발생하는 문제

2) 갱신이상 : 반복된 데이터 중에 일부만 수정하면 데이터의 불일치가 발생

3) 삽입이상 : 불필요한 정보를 함께 저장하지 않고는 어떤 정보를 저장하는 것이 불가능

4) 삭제이상 : 유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능

4. 제 2정규형(2NF)

1) 제 1정규형에서 부분함수적 종속을 제거하여 완전(충분)한 함수적 종속을 만족하는 정규형

2) 함수적 종속 : 어떤 테이블R에서 X와 Y를 각각 R의 속성 집합의 부분집합이라고 할 때 속성X의 값 각각에 대하여 시간에 관계없이 항상 속성Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 종속이라고 하고 X를 결정자 Y를 종속자라 지칭

X ->Y

3) 완전 함수적 종속 : 회원번호, 수강과목 -> 성적

4) 부분 함수적 종속 : 회원번호 -> 이름

5) 성적 테이블에서 이름 속성을 분리하면 성적 테이블은 완전함수적 종속 상태가되어 2정규형을 만족

 

5. 제 3정규형(3NF)

1) 제2 정규형을 만족하면서 이행적 함수적 종속 관계를 제거하여 비이행적 함수적 종속 관계를 만족하는 정규형

2) 이행적 함수적 종속 : 신청번호->회원번호   회원번호 ->회원취미 에서 신청번호->회원취미가 이행적 함수적 종속, 즉 기본키가 아닌 다른 키에 의해서 결정되는 값

 

6. BCNF

1) 제 3정규형을 만족하면서 결정자가 후보키가 아닌 함수 종속을 제거해서 모든 결정자가 후보키인 것

2) 결정자 교수가 후보키가 아니기 때문에 교수 속성을 분리하면 BCNF를 만족

 

7. 제 4정규형(4NF)

1) 다치 종속(다중값 종속)을 제거한 것

2) A -->> B

3) 다치 종속 :  하나의 아이디가 여러개의 과목을 수강할 수 있기에 아이디와 수강과목 속성은 다치 종속

 

8. 제 5정규형(5NF)

1) 조인 종속성을 이용

 

9. 정규화의 원칙

1) 낮은 차수에서 정규화를 만족한 상태로 높은 차수의 정규화를 진행

2) 무손실 표현 : 같은 의미의 정보를 유지하면서 더 바람직한 구조를 취함

3) 자료의 중복성 감소 : 중복 정보는 삭제, 통합

4) 분리의 원칙 : 독립적 관계는 별개의 릴레이션으로 표현하고 각각에 대해 독립적 조작 가능

 

10. 정규화 과정(무손실 분해)

 

11. 좋은 데이터 모델의 요건

1) 완전성 completeness : 업무에서 필요로하는 모든 데이터가 데이터 모델에 정의

2) 중복 배제 non-redundancy : 하나의 DB에 동일한 사실은 한 번만 기록

3) 비즈니스 룰 business rules : 업무 규칙을 데이터 모델에 표현하고 이를 모든 사용자가 공유하도록 제공

4) 데이터 재사용 data reusability : 데이터 통합성과 독립성에 대한 충분한 고려

5) 안전성 및 확장성 stability and flexibility: 확장성을 담보하기 위해 데이터 관점의 통합

6) 간결성 elegance : 잘 정돈된 방법으로 데이터를 통합하여 집합을 정의하고 이를 데이터 모델로 표현

7) 의사소통 communication : 분석 과정에서 도출되는 것을 최대한 자세하게 표현

8) 통합성 intergration : 여러 업무 영역에서 공동으로 사용하기 용이하게 함

 

12. 데이터모델 품질 검증 기준

1) 정화성 : 정확

2) 완전성 : 누락

3) 준거성 : 제반 준수, 준수

4) 최신성 : 최신

5) 일관성 : 여러 역역에서 참조활용, 일관성

6) 활용성 : 의미를 충분히 전달, 유연