방통대 데이터베이스 수업 내용을 정리했습니다.


 - 잘못된 데이터베이스 모델링

   데이터중복, 갱신이상(삽입 이상, 삭제 이상, 수정 이상)


정규화 : 관계형 모델에서 논리적 스키마를 효율적으로 모델링하는데 이용되는 기법


고려사항 : 한 릴레이션 내의 컬럼 간의 관계 표현, 종속과 중복제거, 관계 수정 최소화


함수적 종속성 : 릴레이션 인스턴스를 분석하여 속성들 간의 연관 관계를 표현한 것


함수적 종속성 추론 규칙 : 숨어있는 함수적 종속성을 찾기 위해 추론 규칙을 사용함. F의 클로저


커버 : 함수적 종속성들의 집합 E가 있을 때 E가 F+에 포함되면 E의 모든 함수적 종속성이 F로부터 추론 될 수 있다.

       이때 F가 E를 커버하다고 말함


카노니컬 커버 : 함수적 종속성 추론 규칙으로 확장한 클로저에는 자명한 종속성과 중복된 종속성이 포함됨.

따라서 불필요한 함수적 종속성을 제거하여 정규화함



정규형 : 정규화 과정에서 사용되는 중복을 최소화하는 릴레이션의 형식


정규화의 목적

1. 어떠한 릴레이션이라도 데이터베이스 내에서 표현할 수 있도록 함

2. 보다 간단한 관계 연산에 기초하여 검색 알고리즘을 효과적으로 작성

3. 릴레이션에 바람직하지 않은 삽입, 수정, 삭제 등의 이상이 발생하지 않도록 함

4. 새로운 데이터가 삽입될 때, 릴레이션을 재구성할 필요성을 줄임


제1정규형 : 릴레이션의 모든 속성이 단일 값으로 구성되어야 하는 조건,


함수적 종속성 다이어그램 : 릴레이션 내의 속성간의 종속 관계를 직관적이고 이해하기 쉽게 도식화 한 표현방식




연습문제

1. 다음 중 정규화에 대한 설명으로 올바르지 않은 것은?

-> 릴레이션 간 공통부분을 도출하고 유사 릴레이션을 통합한다 x -> 정규화는 컬럼 간의 연관관계를 이용

하여 릴레이션의 비효율성을 제거한다.


2. 이것은 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것으로, 주어진 릴레이션 

인스턴스에서 서로 다른 두 레코드와 속성 집합 X와 Y에 대해, 두 레코드의 X 속성값이 같을 때, 

Y의 속성값이 같으면 성립하는 특성을 말한다. -> 함수적 종속성


3. 릴레이션 내의 컬럼 간의 종속 관계를 직관적이고 이해하기 쉽게 직사각형과 화살표로 

도식화한 표현 방식을 무엇이라고 하는가? -> 함수적 종속성 다이어그램


4. 다음 중 사업자 릴레이션에 포함된 함수적 종속성이라고 할 수 없는 것은? 1번 사업자번호->공사구분


5. 사업자 릴레이션에 대한 함수적 종속성 집합 F의 F+에 포함되는 종속성이 아닌 것은? 2번 건축물,층수 -> 공사구분


6. 사업자 릴레이션의 클로저 F+에 대한 카노니컬 커버 Fc를 생성하는 과정에서 제거되는 함수적 종속성은? 

-> 3번 층수, 사업자 -> 공사구분


4~6번 문제풀이는 시험전 다시 한 번 체크하기



정리하기

1.관계형 데이터베이스 모델링 과정에서 효율성을 위해 속성들을 어떻게 그룹화할 것인가는 데이터베이스의

 정확성을 판단하는 데 중요한 기준이 된다. 정규화 과정에서 고려해야 할 사항은 데이터의 중복을 

제거하고, 새로운 속성들이 데이터베이스에 추가될 때 기존 속성과의 관계에서 수정을 최소화해야 한다는 

것이다. 또한 정규화 과정을 통해 데이터 저장을 위한 공간의 낭비를 줄일 수 있다. 


2.데이터베이스에서 정규화가 이루어지면 아래와 같은 갱신 이상 현상을 방지할 수 있다.

① 삽입 이상:파일에 레코드를 추가할 때, 불필요한 항목의 값이 들어오는 경우, 두 개 이상의 

릴레이션의 조인 시 속성으로 결과가 나타난다.

② 삭제 이상:키 값 삭제 시 의도와는 달리 다른 데이터가 삭제될 때 발생한다.

③ 수정 이상:하나의 파일이 불필요한 중복을 포함하면서 수정될 때, 몇 개의 다른 논리적인 항목들이 

수정될 필요성이 있을 때 일어난다. 


3.함수적 종속성은 릴레이션 스키마의 속성들 사이에 명시되는 기본적인 제약조건이다. 

함수적 종속성에 의한 방법과 추론하는 방법을 바탕으로 기본적인 정규형을 나열하면 다음과 같다.

① 제1정규형:어떤 릴레이션의 모든 속성이 단순 영역에서 정의되면, 이 릴레이션은 제1정규형이다. 

즉, 모든 속성이 원자값(atomic value)을 가지는 것이다.

② 제2정규형:어떤 릴레이션 R이 제1정규형이고, 이 릴레이션의 기본키가 아닌 속성들이 기본키에 대해 

완전 종속이면, 이 릴레이션은 제2정규형이다.

③ 제3정규형:어떤 릴레이션 R이 제2정규형이고, 이 릴레이션의 기본키가 아닌 속성들이 어떤 키에도 

이행적으로 종속하지 않을 때, 이 릴레이션은 제3정규형이다.

④ BC정규형:어떤 릴레이션 스키마 R에서 성립하는 X → A 형태의 모든 함수적 종속성에 대하여 X가 

R의 수퍼키이면, 이 릴레이션은 BC정규형이다. 


4.추가적인 정규형에는 다음과 같이 제4정규형과 제5정규형이 있다.

① 제4정규형:어떤 릴레이션 R에서 자명하지 않은 다중치 종속성 X ↠ Y가 존재하고 X가 수퍼키인 경우, 

이 릴레이션은 제4정규형의 조건을 만족한다.

② 제5정규형:어떤 릴레이션의 종속성 집합 F+에 존재하는 모든 자명하지 않은 조인 종속성에 대해서 

모든 Ri가 R의 수퍼키이면 R은 제5정규형의 조건을 만족한다. 


+ Recent posts