과목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) 활용성 : 의미를 충분히 전달, 유연
'자격증 > 정보처리기사 4과목' 카테고리의 다른 글
4-15강.물리 데이터베이스 설계-데이터베이스 물리속성 설계 (0) | 2020.05.09 |
---|---|
4-14강. 물리 데이터베이스 설계-물리요소 조사 분석 (0) | 2020.05.06 |
4-12강. 논리 데이터베이스 설계-데이터 모델링 및 설계(1) (1) | 2020.05.06 |
4-11강 논리 데이터베이스 설계-데이터 모델(2) (0) | 2020.05.06 |
4-10강. 논리 데이터베이스 설계-데이터 모델(1) (0) | 2020.05.06 |