Microsoft PowerPoint 13 normalizacja id 299070

background image

1

Rozdział 13

Normalizacja

© Pearson Education Limited 1995, 2005

Chapter 13 - Objectives

The purpose of normalization.

How normalization can be used when

designing a relational database.

The potential problems associated with

redundant data in base relations.

The concept of functional dependency, which

describes the relationship between

attributes.

The characteristics of functional

dependencies used in normalization.

2

© Pearson Education Limited 1995, 2005

Chapter 13 - Objectives

How to identify functional dependencies for

a given relation.

How functional dependencies identify the

primary key for a relation.

How to undertake the process of

normalization.

How normalization uses functional

dependencies to group attributes into

relations that are in a known normal form.

3

© Pearson Education Limited 1995, 2005

Chapter 13 - Objectives

How to identify the most commonly used

normal forms, namely First Normal Form

(1NF), Second Normal Form (2NF), and Third

Normal Form (3NF).

The problems associated with relations that

break the rules of 1NF, 2NF, or 3NF.

How to represent attributes shown on a form

as 3NF relations using normalization.

4

© Pearson Education Limited 1995, 2005

Cel normalizacji

Normalizacja to technika wyznaczania zbioru

relacji o pożądanych cechach na podstawie

wymagań względem danych przedsiębiorstwa.

5

© Pearson Education Limited 1995, 2005

Cel normalizacji

Cechy charakterystyczne odpowiedniego

zbioru relacji to:

minimalna liczba atrybutów niezbędnych do

spełnienia wymagań danych danego

przedsiębiorstwa;

atrybuty blisko ze sobą logicznie związane są w tej

samej relacji;

minimalna redundancja, wyrażająca się tym, że

każdy atrybut występuje tylko raz, z wyjątkiem

tych, które stanowią część lub całość klucza

obcego.

6

© Pearson Education Limited 1995, 2005

background image

2

Cel normalizacji

Korzystanie z odpowiedniego zbioru relacji

sprawia, że baza danych:

Cechuje się łatwością dostępu do danych i ich

aktualizacji;

Zajmuje minimalną objętość pamięci komputera.

7

© Pearson Education Limited 1995, 2005

8

© Pearson Education Limited 1995, 2005

Redundancja danych i anomalie

aktualizacji

Główne zadanie w projektowaniu relacyjnej

bazy danych to pogrupowanie atrybutMajor

aim ów w relacje w sposób, który minimalizuje

redundancję danych.

9

© Pearson Education Limited 1995, 2005

Redundancja danych i anomalie

aktualizacji

Potencjalne korzyści dla bazy danych to:

Aktualizację danych zapisanych w bazie danych

można przeprowadzić wykonując minimalną liczbę

operacji, co zmniejsza możliwość wystąpienia

niespójności danych.

Zmniejszenie rozmiaru plików z danymi pozwala

na minimalizację kosztów.

10

© Pearson Education Limited 1995, 2005

Redundancja danych i anomalie

aktualizacji

Problemy związane z redundancją danych

ilustruje porównanie relacji Pracownicy

(Staff) i Biura (Branch) z relacją

PracownicyBiura (StaffBranch).

11

© Pearson Education Limited 1995, 2005

Redundancja danych i anomalie

aktualizacji

12

© Pearson Education Limited 1995, 2005

background image

3

Redundancja danych i anomalie

aktualizacji

Relacja StaffBranch zawiera redundantne

dane; informacje o biurze są powtarzane dla

każdego pracownika.

Dla odmiany, w relacji Branch dane dotyczące

każdego biura pojawiają się tylko raz, a jedyną

informacją powtarzającą się w relacji Staff jest

tylko numer biura wskazujący miejsce pracy

poszczególnych pracowników.

13

© Pearson Education Limited 1995, 2005

Redundancja danych i anomalie

aktualizacji

Relacje zawierające redundantne dane mogą

potencjalnie podlegać anomaliom aktualizacji.

Typy anomalii:

Anomalie wstawiania

Anomalie usuwania

Anomalie modyfikacji

14

© Pearson Education Limited 1995, 2005

Własności bezstratnego złączenia

i zachowania zależności

Istotnymi cechami są:

Bezstratne złączenie pozwala na odtworzenie

każdego stanu oryginalnej relacji z odpowiednich

stanów mniejszych relacji.

Zachowanie zależności gwarantuje, że więzy na

oryginalnej relacji mogą być utrzymane przez

proste wymuszenie pewnych więzów na każdej z

mniejszych relacji.

15

© Pearson Education Limited 1995, 2005

Zależności funkcyjne

Istotne pojęcie związane z normalizacją.

Zależność funkcyjna opisuje związek pomiędzy

atrybutami.

Na przykład, jeżeli A i B są atrybutami relacji R,

to B jest funkcyjnie zależny od A (oznaczane

przez A  B), jeżeli każda wartość A w R jest

powiązana z dokładnie jedną wartością B (A i

B mogą składać się z jednego lub z większej

liczby atrybutów).

16

© Pearson Education Limited 1995, 2005

Charakterystyki zależności

funkcyjnych

Zależność funkcyjna jest własnością

znaczenia lub semantyki atrybutów w relacji.

Diagram zależności funkcyjnej.

Wyznacznik określa atrybut lub grupę

atrybutów, które występują po lewej stronie

strzałki oznaczającej zależność funkcyjną.

17

© Pearson Education Limited 1995, 2005

Przykład zależności funkcyjnej

18

© Pearson Education Limited 1995, 2005

background image

4

Przykład zależności funkcyjnej

zawsze prawdziwej

Z danych w tabeli wynika,

że prawdziwe są

następujące zależności:

staffNo → sName
sName → staffNo

19

© Pearson Education Limited 1995, 2005

Rozważmy wartości atrybutów staffNo i sName

relacji Staff.

Przykład zależności funkcyjnej

zawsze prawdziwej

Zauważyć jednak trzeba, że jedyną zależnością

funkcyjną, która pozostaje prawdziwa dla

wszystkich możliwych wartości atrybutów

staffNo i sName relacji Staff jest:

staffNo → sName

20

© Pearson Education Limited 1995, 2005

Charakterystyki zależności

funkcyjnych

Wyznaczniki powinny mieć minimalną liczbę

atrybutów niezbędnych do określenia zależności

funkcyjnej atrybutu(ów) po prawej stronie.

To wymaganie nosi nazwę pełnej zależności

funkcyjnej:

Atrybuty B są w pełni zależne funkcyjnie od

atrybutów A, jeśli B jest funkcyjnie zależny od A, ale

nie jest zależny od żadnego właściwego podzbioru A.

21

© Pearson Education Limited 1995, 2005

Charakterystyki zależności

funkcyjnych

Pełna zależność funkcyjna oznacza, że jeżeli A i

B są atrybutami relacji, to B jest w pełni

funkcyjnie zależne od A, jeżeli B jest funkcyjnie

zależne od A, ale nie od żadnego podzbioru A.

22

© Pearson Education Limited 1995, 2005

Przykład częściowej zależności

funkcyjnej

W relacji Staff występuje następująca

zależność funkcyjna:
staffNo, sName → branchNo

Poprawne jest stwierdzenie, że każda para

(staffNo, sName) wyznacza jednoznacznie

wartość branchNo.

Tym niemniej branchNo jest także funkcyjnie

zależne od podzbioru (staffNo, sName), a

mianowicie staffNo.

23

© Pearson Education Limited 1995, 2005

Główne cechy zależności

funkcyjnych

Związek pomiędzy atrybutami z lewej i prawej

strony zależności jest jednoznaczny.

Zależność zachodzi zawsze.

Zależność jest nietrywialna. Trywialna to taka,

gdy nie jest możliwe, by nie zachodziła – gdy

jej prawa strona jest podzbiorem jej lewej

strony (wyznacznika).

24

© Pearson Education Limited 1995, 2005

background image

5

Zależności przechodnie

(tranzytywne)

Wykrycie zależności przechodnich jest

istotne, bo ich zachodzenie w relacji może

spowodować anomalie aktualizacji.

Zależność przechodnia występuje w

sytuacji, gdy A, B i C są atrybutami relacji,

takimi że A → B i B → C. Wtedy C jest

przechodnio (tranzytywnie) zależne od A

poprzez B (pod warunkiem, że A nie jest

zależne funkcyjnie od B lub C).

25

© Pearson Education Limited 1995, 2005

Przykład zależności przechodniej

staffNo → sName, position, salary, branchNo,

bAddress

branchNo → bAddress

Zależność przechodnia staffNo → bAddress

występuje poprzez atrybut branchNo.

26

© Pearson Education Limited 1995, 2005

Proces normalizacji

Technika służąca do wyznaczenia zbioru relacji

o pożądanych cechach na podstawie

wymagań względem danych przedsiębiorstwa.

Często prowadzona w szeregu etapów. Każdy

etap odpowiada konkretnej postaci normalnej

o znanych własnościach.

27

© Pearson Education Limited 1995, 2005

Określanie zależności funkcyjnych

Zidentyfikowanie wszystkich zależności

funkcyjnych w obrębie zbioru atrybutów jest

względnie łatwe jeżeli znaczenie każdego

atrybutu i zależności pomiędzy nimi są dobrze

zrozumiane.

Takie informacje powinny być udostępnione

przez przedsiębiorstwo w toku dyskusji

użytkownikami oraz/lub dokumentacji, takie

jak specyfikacja wymagań użytkowników.

28

© Pearson Education Limited 1995, 2005

W przypadku, gdy nie można przeprowadzić

konsultacji z użytkownikami oraz/lub

dokumentacja jest niekompletna, to może

okazać się konieczne pozyskanie brakujących

informacji w oparciu o zdroworozsądkową

analizę popartą doświadczeniem projektanta

bazy danych.

29

© Pearson Education Limited 1995, 2005

Określanie zależności funkcyjnych

Przykład – Identyfikacja zbioru

zależności funkcyjnych dla relacji

StaffBranch

Załóżmy, że piastowane stanowisko i biuro

(oddział) określają płacę pracownika.

30

© Pearson Education Limited 1995, 2005

background image

6

Dysponując wystarczającymi informacjami

określimy następujące zależności funkcyjne dla

relacji StaffBranch:

staffNo → sName, position, salary, branchNo, bAddress
branchNo → bAddress
bAddress → branchNo
branchNo, position → salary
bAddress, position → salary

31

© Pearson Education Limited 1995, 2005

Przykład – Identyfikacja zbioru

zależności funkcyjnych dla relacji

StaffBranch

Rozważmy dane dla atrybutów oznaczonych

A, B, C, D, oraz E w przykładowej relacji.

Ważne, by przykładowe wartości danych były

reprezentatywne dla wszystkich możliwych

wartości, jakie mogą przyjmować atrybuty A,

B, C, D, oraz E. Wystarczy przeanalizowanie

niewielkiej takiej próbki danych.

32

© Pearson Education Limited 1995, 2005

Przykład – Identyfikacja zbioru

zależności funkcyjnych dla relacji

Przykład – określanie zależności

funkcyjnych

33

© Pearson Education Limited 1995, 2005

Zależności funkcyjne pomiędzy atrybutami

A – E w powyższej relacji:

A  C

(fd1)

C  A

(fd2)

B  D

(fd3)

A, B  E

(fd4)

34

© Pearson Education Limited 1995, 2005

Przykład – określanie zależności

funkcyjnych

Określanie klucza głównego dla relacji

w oparciu o zależności funkcyjne

Głównym celem identyfikowania zbioru

zależności funkcyjnych relacji jest określenie

zbioru więzów integralności, które relacja

musi spełniać.

Do istotnych więzów integralności, które

trzeba rozważyć, należy identyfikacja kluczy

kandydujących, z których jeden wybiera się na

klucz główny relacji.

35

© Pearson Education Limited 1995, 2005

Example - Identify Primary Key for

StaffBranch Relation

StaffBranch relation has five functional

dependencies (see Slide 31).

The determinants are staffNo, branchNo,

bAddress, (branchNo, position), and

(bAddress, position).

To identify all candidate key(s), identify the

attribute (or group of attributes) that

uniquely identifies each tuple in this relation.

36

© Pearson Education Limited 1995, 2005

background image

7

Example - Identifying Primary Key

for StaffBranch Relation

All attributes that are not part of a candidate

key should be functionally dependent on the

key.

The only candidate key and therefore

primary key for StaffBranch relation, is

staffNo, as all other attributes of the relation

are functionally dependent on staffNo.

37

© Pearson Education Limited 1995, 2005

Example - Identifying Primary Key

for Sample Relation

Sample relation has four functional

dependencies (see Slide 31).

The determinants in the Sample relation

are A, B, C, and (A, B). However, the only

determinant that functionally determines

all the other attributes of the relation is

(A, B).

(A, B) is identified as the primary key for

this relation.

38

© Pearson Education Limited 1995, 2005

Proces normalizacji

As normalization proceeds, the relations

become progressively more restricted

(stronger) in format and also less vulnerable

to update anomalies.

39

© Pearson Education Limited 1995, 2005

Proces normalizacji

40

© Pearson Education Limited 1995, 2005

41

© Pearson Education Limited 1995, 2005

Proces normalizacji

Użytkownicy

Specyfikacja

wymagań

Formularze/raporty

wykorzystywane przez

zleceniodawcę

Źródła: słownik

danych, model

przedsiębiorstwa

Postać

nieznormalizowana

(UNF)

Pierwsza postać

normalna

(1NF)

Druga postać

normalna(2NF)

Trzecia postać

normalna(3NF)

Źródła danych

Zapisz atrybuty w tabeli

Usuń grupy powtórzeniowe

Usuń zależności

częściowe

Usuń zależności

przechodnie

Postać nieznormalizowana (UNF)

Tabela zawierająca jedną lub więcej grup

powtórzeniowych.

Tworzenie tabeli nieznormalizowanej:

Przekształć dane ze źródła informacji (np.

formularza) do postaci tabelarycznej – ze

wierszami i kolumnami.

42

© Pearson Education Limited 1995, 2005

background image

8

Dokumenty źródłowe

43

Zawartość dokumentów w postaci tabeli

nieznormalizowanej

44

Pierwsza postać normalna (1NF)

Relacja, w której na przecięciu każdego

wiersza i każdej kolumny znajduje się tylko

wartość elementarna.

45

© Pearson Education Limited 1995, 2005

UNF 1NF

Wskaż atrybut lub grupę atrybutów jako klucz

tabeli nieznormalizowanej.

Zidentyfikuj grupę (grupy) powtórzeniową w

tabeli nieznormalizowanej, która powtarza się

dla atrybutów kluczowych.

46

© Pearson Education Limited 1995, 2005

Usuń grupę powtórzeniową przez:

Wprowadzenie odpowiednich danych do pustych

kolumn wierszy zawierających powtarzające się

dane .

Albo przez

Przeniesienie powtarzających się danych wraz z

kopią atrybutów klucza do nowej relacji.

47

© Pearson Education Limited 1995, 2005

UNF 1NF

Pierwsza postać normalna – 1NF

48

Wersja A

background image

9

49

Wersja B

Pierwsza postać normalna – 1NF

Druga postać normalna (2NF)

Based on the concept of full functional

dependency.

Full functional dependency indicates that if

A and B are attributes of a relation,

B is fully dependent on A if B is functionally

dependent on A but not on any proper subset of

A.

50

© Pearson Education Limited 1995, 2005

Jest to relacja, która jest w 1NF i każdy jej

atrybut niewchodzący w skład klucza

głównego jest w pełni funkcyjnie zależny od

klucza głównego.

51

© Pearson Education Limited 1995, 2005

Druga postać normalna (2NF)

1NF 2NF

Zidentyfikuj klucz główny relacji w 1NF.

Zidentyfikuj zależności funkcyjne w relacji.

Jeżeli istnieją zależności cząstkowe od klucza

głównego, to usuń je przez umieszczenie w

nowej relacji wraz z kopią ich wyznacznika.

52

© Pearson Education Limited 1995, 2005

Analiza zależności funkcyjnych relacji

53

Schemat zależności funkcyjnych relacji

54

background image

10

Wynik normalizacji do 2NF

55

Trzecia postać normalna (3NF)

Postać ta jest oparta na pojęciu przechodniej

zależności funkcyjnej.

Zależność przechodnia to stan, w którym:

A, B i C są atrybutami relacji takimi, że jeżeli A  B i

B  C,

to wtedy C jest przechodnio zależne od A poprzez B

(przy założeniu, że A nie jest funkcyjnie zależne od

B lub od C).

56

© Pearson Education Limited 1995, 2005

Relacja, która jest w 1NF oraz w 2NF i w

której żaden atrybut nie należący do klucza

głównego nie jest przechodnio zależny od

klucza głównego.

57

© Pearson Education Limited 1995, 2005

Trzecia postać normalna (3NF)

2NF 3NF

Zidentyfikuj klucz główny w relacji w 2NF.

Zidentyfikuj zależności funkcyjne w relacji.

Jeżeli występują zależności funkcyjne od

klucza głównego, to usuń je przez

przeniesienie tych atrybutów wraz z kopią ich

wyznacznika do nowej relacji.

58

© Pearson Education Limited 1995, 2005

Analiza zależności funkcyjnych relacji

59

Wynik normalizacji do 3NF

60

background image

11

Przebieg normalizacji - podsumowanie

61

Dokumenty źródłowe – jeszcze raz …

62

Ostateczny schemat relacyjny w 3NF

63

Definicje 2NF i 3NF

Druga postać normalna (2NF)

Relacja, która jest w pierwszej postaci normalnej i

każdy jej atrybut nie wchodzący w skład klucza

głównego jest w pełni funkcyjnie zależny od każdego

klucza kandydującego.

Trzecia postać normalna (3NF)

Relacja, która jest w pierwszej i drugiej postaci

normalnej, i w której żaden z atrybutów nie

wchodzących w skład klucza głównego nie jest

przechodnio funkcyjnie zależny od żadnego klucza

kandydującego.

64

© Pearson Education Limited 1995, 2005


Wyszukiwarka

Podobne podstrony:
(Microsoft PowerPoint Logistyka blok 2 id 352766 (2)
Microsoft PowerPoint 05 SQL id 299069
Microsoft PowerPoint Logistyk blok4 id 352776
(Microsoft PowerPoint Logis id 352765 (2)
Microsoft PowerPoint 2rmo id 299071
Microsoft PowerPoint Proces zapBonu par cieczy id 29
(Microsoft PowerPoint Wyk 263ad dla student 363w)id 1
Microsoft PowerPoint mech zap
Kopia Microsoft PowerPoint SAMOZAPALENIE id 247618
Microsoft PowerPoint id 299065 Nieznany
Nowy Prezentacja programu Microsoft PowerPoint 5
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
ZADANIA PiP Prezentacja Microsoft PowerPoint
Nowy Prezentacja programu Microsoft PowerPoint ppt
Microsoft PowerPoint IP5 klasyfikacje tryb zgodnosci
Microsoft Office Project Project1 id 299062

więcej podobnych podstron