Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을.

Similar presentations


Presentation on theme: "1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을."— Presentation transcript:

1

2 1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을 처리하기 곤란한 현상 ② 이상의 종류 • 삽입 이상 : 데이터를 삽입할 때 불필요한 데이터가 함께 삽입 되는 현상 • 삭제 이상 : 한 튜플을 삭제함으로써 연쇄 삭제 현상으로 인한 정보의 손실 • 갱신 이상 : 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 (수정 이상) 갱신되어 정보에 모순이 생기는 현상

3 2) 정규화 개요 ① 현실 세계를 정확하게 표현하는 관계 스키마를 설계하는 작업으로 개체, 속성, 관계성들로 릴레이션을 만드는 과정에 관한 것 ② 정규화 되지 못한 릴레이션의 조작 시 발생하는 이상(anomaly) 현상의 근본적인 원인은 여러 가지 종류의 사실들이 하나의 릴레이션에 표현 되기 때문 ③ 정규화가 잘못되면 데이터의 불필요한 중복을 야기하여 릴레이션 조작 시 문제를 일으킴 ④ 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정

4 ⑤ 좋은 데이터베이스 스키마를 생성해 내고 불필요한 데이터의 중복을
방지하여 정보 검색을 용이하게 할 수 있도록 허용 ⑥ 레코드들의 관련 속성들 간의 종속성을 최소화하기 위한 구성 기법 ⑦ 정규화는 논리적 처리 및 품질에 큰 영향을 미침 ⑧ 정규형에는 제 1정규형, 제 2정규형, 제 3정규형, BCNF형, 제 4정규형, 제 5정규형 등이 있음

5 3) 정규화의 목적 ① 가능하다면 모든 개체간의 관계를 표현하기 위해 ② 정보의 중복을 피하기(최소화) 위해 ③ 정보의 검색을 보다 용이하게 하기 위해 ④ 삽입, 삭제, 갱신 이상의 발생을 방지 ⑤ 효율적인 데이터를 조작

6 4) 정규화 과정

7 - 제 1정규형 컬럼명 회원 번호 이름 주소 핸드폰 주민 자격증 취득일 키형태 PK 견본 데이터 1 윤대일 서울시 인사동
운전면허1종 MCSE 정보처리기사 컬럼명 회원 번호 이름 주소 핸드폰 주민 자격증 취득일 키형태 PK 견본 데이터 1 윤대일 서울시 인사동 운전면허1종 MCSE 정보처리기사

8 ① 제 1정규형 • 어떤 릴레이션에 속한 모든 도메인이 원자값(atomic value) 만으로 되어 있는 릴레이션 ② 제 2정규형 • 릴레이션 R이 제 1정규형을 만족하면서, 키가 아닌 모든 속성이 기본 키에 완전 함수 종속인 릴레이션 ③ 제 3 정규형 • 릴레이션 R이 제 2정규형(2NF) 을 만족하면서, 키가 아닌 모든 속성 들이 기본 키에 이행적으로 함수 종속되지 않는 릴레이션 • 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF 설계를 얻을 수 있음

9 - 제 2정규형 P.K 학 번 과정명 학 점 과 정 기 간 컬럼명 학번 과정 학점 과정명 기간 키형태 PK 견본 데이터 100
A01 A JAVA 프로그래밍 4개월 101 B01 D+ 웹마스터 6개월 B03 DBMS 전문가 5개월 B 학 점 학 번 과 정 과정명 기 간 P.K

10 - 제 3정규형 : 이행적 함수 종속 주문번호 회원명 전화번호 회원등급 회원 ID 상품 ID 수 량 단 가

11 ④ BCNF 정규형 • 릴레이션의 모든 결정자가 후보키인 릴레이션 • 모든 BCNF(Boyce-Codd Normal Form) 가 종속성을 보존하는 것은 아님 • 모든 BCNF 스킴은 3NF 에 속하게 되며, 따라서 BCNF 가 3NF 보다 한정적 제한이 더 많음 ⑤ 제 4정규형 • 종속성들의 집합 F 에 대한 F+의 모든 의미 있는 다치 종속성 X -» Y 에 대해, X가 릴레이션 스키마 R의 슈퍼키이면 R은 F에 대한 제 4정규형, 여기서 F는 함수적 종속성과 다치 종속성을 포함함 ⑥ 제 5정규형 • 어떤 릴레이션 R에 존재하는 모든 조인 종속성이 릴레이션 R의 후보키 를 통해서만 성립

12 ⑦ 함수적 종속성 • 어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이 라고 할 경우, 애트리뷰트 X의 값 각각에 대하여 시간에 관계없이 항상 애트리뷰트 의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속 이라함. X → Y 로 표현함 • A → B는 애트리뷰트 A의 값 각각에 대해 애트리뷰트 B의 값이 반드시 하나만 연관된다는 뜻임 ⑧ 이행적 함수 종속 • A → B 이고 B → C 일 때 A → C 를 만족하는 관계 ⑨ 완전 함수적 종속 • 복합 속성 X에 대하여 R.X → R.Y 가 성립할 때 X 에 포함된 속성 K 가 R.k → R.Y 를 만족하는 K가 존재하지 않는 것 • 만약 위를 만족하는 K가 존재하면 부분 함수 종속 이라함

13 ⑩ 다치 종속 함수적 관계 • A -» B의 의미는 R의 애트리뷰트 A가 애트리뷰트 B의 값의 집합을 결정한다는 것 • 릴레이션 R(A,B,C) 에서 종속 A -» B 가 성립할 때, 릴레이션 R에서 다치 종속 A -» B가 성립하므로 A -» C도 성립함 • 릴레이션 R은 언제든지 프로젝션을 통해 R1(A, B) 과 R2(A, C) 로 무손실 분해할 수 있음

14 1. 데이터의 중복으로 인하여 관계연산을 처리할 때 곤란한 현상이 발생하는 것을
무엇이라 하는가? (0603) 가. 이상(Anomaly) 나. 제한(Restriction) 다. 종속성(Dependency) 라. 변환(Translation) 2. 관계 데이터 모델링에서 정규화(Normalization)를 하는 이유로 거리가 먼 것은? (0303) 가. 가능하다면 모든 개체간의 관계를 표현하기 위해서 나. 개체간의 종속성을 가급적 피하기 위해서 다. 정보의 중복을 피하기 위해서 라. 정보의 검색을 보다 용이하게 하기 위해서 3. 정규화의 목적으로 거리가 먼 것은? (0503) 가. 삽입, 삭제, 갱신 이상의 발생을 방지한다. 나. 데이터의 중복성을 최소화 한다. 다. 효율적으로 데이터를 조작할 수 있다. 라. 릴레이션을 분해하여 연산시간을 감소시킨다.

15 4. 제 3정규형에서 보이스코드 정규형(BCNF) 으로 정규화하기 위한 작업은?
(9910, 0403) 가. 원자값이 아닌 도메인을 분해 (제1정규형) 나. 부분 함수 종속 제거 (제2정규형) 다. 이행 함수 종속 제거 (제3정규형) 라. 결정자가 후보키가 아닌 함수 종속 제거 5. 어떤 릴레이션에 속한 모든 도메인이 원자값 (atomic value) 만으로 되어 있는 릴레이션을 무엇이라고 하는가? (9904) 가. 제 1 정규형 (1NF) 나. 제 2 정규형 (2NF) 다. BCNF 라. 제 4 정규형 (4NF) 6. 관계 데이터베이스의 정규화에 관한 설명으로 옳지 않은 것은? (0103) 가. 3NF 는 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF 설계를 얻을 수 있다. 나. 3NF 는 정규형에서 모든 이행(transitive) 종속을 제거하지 못한 경우라도 정보의 중복에 대한 문제가 존재하지 않는 장점을 가지고 있다. 다. 모든 BCNF(Boyce-Codd Normal Form) 가 종속성을 보존하는 것은 아니다. 라. 모든 BCNF 스킴은 3NF 에 속하게 되며, 따라서 BCNF가 3NF보다 한정적 제한이 더 많다.

16 7. 관계 데이터 모델링 중 BCNF(Boyce-Codd Normal Form)에 대한 옳은 설명으로
만 짝지어진 것은? (0603) ㄱ. BCNF에 속하는 릴레이션은 반드시 제 3정규형 (Third Normal Form) 에 속한다. ㄴ. 제 3정규형에 속하지만 BCNF 에 속하지 않는 릴레이션이 있다. ㄷ. 복합 속성을 허용하지 않는다. ㄹ. 완전 함수적 종속성 개념에 기반을 두었다. (제2정규형) 가. ㄱ, ㄴ 나. ㄴ, ㄷ 다. ㄱ, ㄴ, ㄷ 라. ㄱ, ㄴ, ㄷ, ㄹ 8. 어떤 릴레이션 R에 존재하는 모든 조인 종속성이 릴레이션 R의 후보키를 통해서 만 성립된다. 이 릴레이션 R은 어떤 정규형의 릴레이션인가? (0003, 0106) 가. 제 3정규형 나. 보이스 코드- 정규형 다. 제 4정규형 라. 제 5정규형 9. 다음과 같이 주어진 두개의 함수적 종속 관계에서 추론될 수 없는 종속 관계는? (0103) A →{B, C, D, E, F} F →{G, H} 가. B → F 나. F → G 다. A → A 라. A →{G, H}

17 10. 릴레이션 R(A,B,C) 에서 종속 A->>B 가 성립한다. 이 릴레이션에 대한 설명
으로 부적합한 것은? 가. 릴레이션 R 에서 다치 종속 A->>B 가 성립하므로 A->>C 도 성립한다. 나. 릴레이션 R의 다치 종속은 함수 종속 A->B의 특별한 한 형태라고 할 수 있다. 다. A->>B 의 의미는 R의 애트리뷰트 A가 애트리뷰트 B의 값의 집합을 결정 한다는 것이다. 라. 릴레이션 R은 언제든지 프로젝션을 통해 R1(A, B) 과 R2(A, C) 로 무손실 분해할 수 있다.

18 2. 물리적 데이터베이스 설계 (1) 데이터베이스 설계 개념 사용자의 요구를 분석하고 이를 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것

19 (2) 데이터베이스 설계 과정

20 (3) 개념적 설계 1) 산출물로 ER- 다이어그램이 만들어짐 2) DBMS 에 독립적인 개념 스키마를 설계 요구분석단계에서 나온 결과(명세)를 다이어그램과 같은 DBMS에 독립적이고 고차원적인 표현기법으로 기술하는 것 3) 논리적 설계 단계의 앞 단계에서 수행 4) 트랜잭션 모델링 (4) 논리적 설계 DBMS에 따라 서로 다른 논리적 스키마를 정의 현실 세계를 표현하기 위한 데이터베이스의 논리적 구조, 즉 정규화 과정을 이용한 릴레이션의 속성을 결정하는 단계 3) 논리적 설계 단계에서 수행되는 작업 ① 논리적 데이터 모델로 변환 ② 트랜잭션 인터페이스 설계 ③ 스키마의 평가 및 정제

21 (5) 물리적 설계 1) 목표 DBMS에 맞는 물리적 구조 설계 ① 기본적인 데이터 단위는 저장 레코드 ② 데이터베이스 시스템의 성능에 중대한 영향을 미침 ③ 여러 가지 타입의 저장 레코드 집합이라는 면에서 단순한 파일과 다름 ④ 데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로를 표현한 것 2) 물리적 설계 단계에서 수행되는 작업 ① 저장 레코드 양식 설계 ② 접근 경로 설계 ③ 레코드 집중의 분석 및 설계 ④ 파일의 저장 구조 및 탐색 기법

22 3) 물리적 설계 단계의 고려사항 ① 어떤 인덱스를 만들 것인지에 대한 고려 ② 성능 향상을 위한 개념 스키마의 변경 여부 검토 ③ 빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려사항 • 응답시간 • 저장 공간의 효율화 • 트랜잭션 처리량 ④ 레코드의 크기 ⑤ 파일과 구조 저장을 위한 최소한의 효율적 공간 (6) 구현 1) 목표 DBMS DDL 로 스키마 작성 2) 응용프로그램을 위한 트랜잭션 작성

23 1. 데이터베이스 설계 시 다음 ( ) 안의 내용으로옳은 것은? (0007, 0109, 0403, 0405)
요구 조건 분석 → ( ) → ( ) → ( ) → 데이터베이스 구현 가. 물리적 설계 → 논리적 설계 → 개념적 설계 나. 개념적 설계 → 논리적 설계 → 물리적 설계 다. 논리적 설계 → 개념적 설계 → 물리적 설계 라. 논리적 설계 → 물리적 설계 → 개념적 설계 2. 데이터베이스 설계과정 중 개념적 설계 단계에 대한 설명으로 틀린 것은? (0509) 가. 산출물로 ER-D 가 만들어진다. 나. DBMS 에 독립적인 개념 스키마를 설계한다. 다. 트랜잭션 인터페이스를 설계한다. 라. 논리적 설계 단계의 앞 단계에서 수행된다. 3. 다음에서 설명하는 데이터베이스 설계 단계는? (0505) - 데이터베이스 관리시스템 (DBMS) 에 따라 서로 다른 논리적 스키마를 정의한다. - 현실 세계를 표현하기 위한 데이터베이스의 논리적 구조, 즉 정규화 과정을 이용한 릴레이션의 속성을 결정하는 단계이다. 가. 요구사항 및 분석단계 나. 개념적 설계 단계 다. 논리적 설계 단계 라. 물리적 설계 단계

24 4. 데이터베이스 설계의 논리적 설계 단계에서 수행하는 작업이 아닌 것은? (0609)
가. 논리적 데이터 모델로 변환 나. 트랜잭션 인터페이스 설계 다. 스키마의 평가 및 정제 라. 트랜잭션 모델링 5. 물리적 데이터베이스 구조에 대한 설명으로 잘못된 것은? (9904) 가. 기본적인 데이터 단위는 저장 파일이다. 나. 데이터베이스 시스템의 성능에 중대한 영향을 미친다. 다. 여러 가지 타입의 저장 레코드 집합이라는 면에서 단순한 파일과 다르다. 라. 데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로를 표현한 것이다. 6. 데이터베이스의 물리적 설계 단계에서 수행되는 작업이 아닌 것은? (0409) 가. 저장레코드 양식 설계 나. 접근 경로 설계 다. 레코드 집중의 분석 및 설계 라. 트랜잭션 인터페이스 설계

25 7. 물리적 데이터베이스 설계를 수행할 때 결정할 사항으로 거리가 먼 것은? (0603)
가. 어떤 인덱스를 만들 것인지에 대한 고려 나. 성능 향상을 위한 개념 스키마의 변경 여부 검토 다. 빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려 라. 개념스키마와 외부스키마 설계 8. 데이터베이스 설계 단계와 그 단계에서 수행되는 결과의 연결이 잘못된 것은? (0603) 가. 개념적 설계 단계 - 트랜잭션 모델링 나. 논리적 설계 단계 - 목표 DBMS 에 독립적인 논리 스키마 설계 다. 물리적 설계 단계 - 목표 DBMS 에 맞는 물리적 구조 설계 라. 구현 단계 - 목표 DBMS DDL 로 스키마 작성


Download ppt "1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을."

Similar presentations


Ads by Google