Wykladbd2

background image

Normalizacja bazy danych.
Powiązania. Integralność baz
danych

Piotr Piskozub

WYKŁAD

Informatyka– Semestr I

background image

Model relacyjny

Systemy relacyjnych baz danych charakteryzują się następującymi właściwościami:
• Wszystkie dane są reprezentowane koncepcyjnie jako zbiór wartości
uporządkowanych w formie wierszy i kolumn zwanych

relacją

.

• Wszystkie

wartości

skalarne

. Oznacza to, że dowolna pozycja relacji na

przecięciu kolumny i wiersza zawiera zawsze jedną i tylko jedną wartość.
• Wszystkie operacje są wykonywane na relacji, a ich wynikiem jest również relacja.
Taka właściwość operacji nazywana jest

domknięciem

.

Liczba krotek w relacji określa jej

moc

, a liczba atrybutów relacji określa jej

stopień

.

CZYTELNICY

NrKart

y

Nazwisko

Imie

Ucze

n

NrMiejscowos

ci

RokUrodzen

ia

DataZapis

u

1

Kowalski

Jan

Nie

2

1967

2000-11-24

2

Nowakows

ka

Anna

Tak

1

1975

1999-04-17

3

Kotecki

Michał

Tak

2

1977

2000-11-24

background image

Model danych – Podstawowe
elementy

Encja

– coś, o czym system musi przechowywać informację.

CZYTELNICY

wypożyczają

KSIĄŻKI

.

WYDAWNICTWA

wydają

KSIĄŻKI

.

Atrybut

– fakt dotyczący encji.

CZYTELNICY

– Nazwisko, Imię, Adres zamieszkania, Data urodzin

KSIĄŻKI

– Tytuł, Liczba stron, Cena, Rok wydania

Domena

– Zbiór wszystkich możliwych wartości jakie może przyjmować atrybut.

KSIĄŻKI.Cena

– Liczba rzeczywista większa od zera lub równa zero

CZYTELNICY.MiesiącUr

– Trzy literowe ciągi znaków (STY, LUT, MAR itd..)

Powiązania

– Związki łączące encje ze sobą.

CZYTELNICY

wypożyczają

KSIĄŻKI.

– Związek między encjami

CZYTELNICY

i

KSIĄŻKI

background image

Model danych – Diagram E/R

Model powiązań między encjami

(ang. Entity Relationship – E/R) opisuje dane

w terminach encji, atrybutów i powiązań za pomocą diagramów E/R.

W diagramach E/R na oznaczenie encji stosuje się prostokąty, atrybutów – elipsy,

a powiązań – romby.

CZYTELNICY

NrKarty

Nazwisko

Telefon

Czytelnicy

dokonują

wypożyczń

WYPOŻYCZENIA

DataZwrotu

NrKarty

jeden

wiele

zero lub jeden

background image

Normalizacja

Normalizacja

ma na celu uporządkowanie struktury danych, tak aby mogła ona

w sposób efektywnych udzielić odpowiedzi na poprawnie sformułowane zapytania.

Postacie normalne

nie są przepisami na tworzenie „poprawnych” modeli danych.

Jeżeli jednak model danych jest znormalizowany – to znaczy zgodny z regułami
struktury relacyjnej – istnieje duża szansa, że będzie to efektywny i wydajny
model danych.

NrWy

p

Nazwisko

Data

Zapisu

Tytuł Książki

Nazwa

Wydawnict

wa

Data

Wypożyczen

ia

Telefon

Wydawnictw

a

1

Kowalski

1999-12-

02

Access 2000

Helion

2000-11-24

45093992

2

Nowakows

ka

1998-04-

12

Bazy danych

RM

1999-04-17

48598499

3

Majewski

1998-01-

20

C++ Builder

3.0

WNT

2001-02-02

29048933

4

Majewski

1998-01-

20

Access 2000

RM

2001-07-20

48598499

5

Nowakows

ka

1997-04-

12

Podstawy

Delphi

Helion

2000-11-24

45093992

background image

Bezstratna dekompozycja

Bezstratna dekompozycja

polega na podziale relacji w taki sposób, aby uzyskane

w efekcie relacje mogły być znowu połączone bez straty żadnej informacji.

NrAutora

Nazwisko

Imie

NazwaKraju

SymbolKraju

1

Liberty

Jesse

Stany Zjednoczone

USA

2

Mickiewicz

Adam

Polska

PL

3

Reisdorph

Kent

Stany Zjednoczone

USA

4

Greene

Joe

Stany Zjednoczone

USA

5

Sienkiewicz

Henryk

Polska

PL

AUTORZY

NrAutora

Nazwisk

o

Imie

NrKraj

u

1

Liberty

Jesse

1

2

Liberty

Adam

2

3

Reisdorph

Kent

1

4

Greene

Joe

1

5

Sienkiewi

cz

Henry

k

2

KRAJE

NrKraj

u

NazwaKraju

SymbolKraj

u

1

Stany

Zjednoczone

USA

2

Polska

PL

background image

Klucze kandydujące i klucze
główne

Kluczem kandydującym

nazywamy kombinację atrybutów relacji jednoznacznie

identyfikujących każdą jej krotkę.
Klucz składający się z pojedynczego atrybutu nazywamy

kluczem prostym

, a klucz

składający się z wielu atrybutów nazywamy

kluczem złożonym

.

Jeżeli w relacji występuje wiele kluczy kandydujących, to jeden z nich określa się
mianem

klucza głównego

, a pozostałe jako

klucze alternatywne

.

CZYTELNICY

NrKart

y

Nazwisko

Imie

DataZapis

u

Telefon

NrMiejscowos

ci

PESEL

1

Kowalski

Jan

2000-11-24

328929

1

197401139

34

2

Nowakows

ka

Anna

1999-04-17

328981

2

196901203

90

3

Majewski

Jan

2001-01-20

289893

1

197802029

32

4

Kotecki

Michał

2000-11-24

289822

1

197411240

29

Klucze kandydujące

background image

Zależność funkcjonalna

Niech dana będzie relacja R i dwa zbiory jej atrybutów X = {X1, ..., Xn} i
Y = {Y1, ..., Ym} (nie muszą być to zbiory wzajemnie rozłączne}. Mówimy, że zbiór
Y jest

funkcjonalnie zależny

od zbioru X, jeśli dla każdego poprawnego elementu

zbioru X istnieje tylko jeden poprawny element zbioru Y.
Co oznacza, że istnieje pewien zbiór atrybutów unikatowy dla każdej krotki
i znajomość tych atrybutów pozwala ustalić pozostałe, nie unikatowe atrybuty.

CZYTELNICY

NrKart

y

Nazwisko

Imie

DataZapis

u

Telefon

NrMiejscowos

ci

PESEL

1

Kowalski

Jan

2000-11-24

328929

1

197401139

34

2

Nowakows

ka

Anna

1999-04-17

328981

2

196901203

90

3

Majewski

Jan

2001-01-20

289893

1

197802029

32

4

Kotecki

Michał

2000-11-24

289822

1

197411240

29

X = {PESEL}, Y = {NrKarty, Nazwisko, Imie, DataZapisu,
Telefon, NrMiejscowosci}
Mówimy, że PESEL określa funkcjonalnie atrybuty
NrKarty, Nazwisko, Imie, DataZapisu, Telefon oraz NrMiejscowosci.

background image

Pierwsza postać normalna

Relacja jest w pierwszej postaci normalnej

, jeśli domeny zdefiniowane dla jej

atrybutów są skalarne. Oznacza to, że każdy atrybut krotki musi zawierać
pojedynczą wartość.

POWIATY

NrPowiat

u

NazwaPowia

tu

Miejscowości

1

Nowosolski

67-100 Nowa Sól, 67-120 Kożuchów, 67-160 Otyń

2

Zielonogórski

65-560 Zielona Góra, 65-250 Ochla

Przykład 1:

Przykład 2:

POWIATY

NrPowiat

u

NazwaPowia

tu

Kod1

M1

Kod2

M2

Kod3

M3

1

Nowosolski

67-
100

Nowa Sól

67-

120

Kożuchów

67-
160

Otyń

2

Zielonogórski

65-

560

Zielona Góra

65-
250

Ochla

Jak reprezentować daty?
Czy tworzyć atrybuty bitowe?

background image

Druga postać normalna

Relacja jest w drugiej postaci normalnej

, jeśli jest w pierwszej postaci normalnej,

a ponadto wszystkie jej atrybuty zależą od całego klucza kandydującego.
Zatem warunek ten oznacza, aby nie reprezentować dwóch różnych encji (Książki
i Wydawnictwa) w ramach jednej relacji.

KSIAZKI

NrKatego

rii

Tytul

NazwaWydawnict

wa

IloscStro

n

TelefonWydawnictw

a

3

SQL – Księga eksperta

HELION

879

2312219

7

Gramatyka angielska

PWN

354

2389839

Uwagi:

- Atrybut TelefonWydawnictwa zależy tylko od atrybutu
NazwaWydawnictwa, a nie
od całego klucza złożonego. Podobnie atrybut IloscStron zależy tylko od
atrybutu
Tytuł.

- Niemożliwe jest zapisanie jakichkolwiek informacji o wydawcach, bez
podania
informacji o książce, gdyż żaden ze składników klucza głównego nie
może być
pusty.

background image

Access 2000 - Typy danych

Typ danych

Opis

Rozmiar

Tekst

Typ domyślny. Ciąg znaków i cyfr lub tylko cyfr, które nie

są wykorzystywane w obliczeniach.

Do 255 znaków

Nota

Łańcuch znaków o dużej liczbie znaków.

Do 65 535

znaków.

Liczba

Dane numeryczne poddawane obliczeniom

matematycznym

1, 2, 4, 8, 16

bajtów

Data/Godzina

Data i czas

8 bajtów

Walutowy

Typ walutowy. Dokładność obliczeń do czterech miejsc po

przecinku.

8 bajtów

Autonumerowanie

Unikalna liczba całkowita generowana sekwencyjnie lub

losowo przez Microsoft Access wówczas, gdy do tabeli

dodawany jest nowy rekord. Nie podlega aktualizacji.

4 lub 16 bajtów

Tak/Nie

Typ danych do przechowywania jednej z dwóch logicznych

wartości

1 bit

Obiekt OLE

Wskazanie na obiekt lub obiekt osadzony (arkusz

kalkulacyjny Microsoft Excel, dokument programu

Microsoft Word, dźwięk, dane binarne)

Do 1GB

Hiperłącze

Adres hiperłącza

do 3 razy 2048

background image

Access 2000 - Właściwości
atrybutów

Właściwość pola

Zastosowanie

Rozmiar pola

Ustawienie rozmiaru pola typu Tekst lub ograniczenie zakresu

dopuszczalnych wartości w polu typu liczba

Format

Wyświetlanie dat i liczb w pewnym formacie, takim jak format daty „Data

krótka”

Miejsca dziesiętne

Wyświetlanie określonej liczby miejsc po przecinku w przypadku

zastosowania formatu dla pola typu Liczba lub Waluta

Maska

wprowadzenia

Wyświetlanie znaków formatujących w polu, aby było zbędne ich

wprowadzanie

i zapewnienie, że wprowadzane dane pasują do maski

Tytuł

Określenie etykiet innych niż domyślne (nazwa pola) dla nowych formularzy

i raportów

Wartość domyślna

Automatyczne wpisywanie pewnej wartości do pola w nowych rekordach

dodawanych do tabeli

Reguła

poprawności
Komunikat o

błędzie

Ograniczenie danych wprowadzanych do pola do wartości spełniających

pewne wymagania

Wymagane

Wymaganie wprowadzenia danych do pola

Zerowa długość?

Dopuszczenie przechowywania ciągów znaków o zerowej długości w polach

typu Tekst i Nota

Indeksowanie

Przyspieszenie wyszukiwania w często poszukiwanych polach oraz

przyspieszenie sortowania. Może jednak spowodować spowolnienie

aktualizacji danych

background image

Access 2000 – Maski
wprowadzania (1)

Przeznaczenie masek wprowadzania danych

:

• ułatwienie i ujednolicenie wprowadzania danych;

• zapewnienie zgodności wprowadzanych danych ze
zdefiniowanym formatem oraz
typem danych,

• ochrona poufnych informacji.

Uwaga

:

• Maska wprowadzenie utworzona dla pola w tabeli jest także
stosowana dla tego
pola w zapytaniach, formularzach i raportach, w których
wykorzystano tą tabelę.

• Jeśli zostanie ustawiona właściwość „Format” dla pola w tabeli,
w zapytaniu lub
elementu sterującego w formularzu lub raporcie, do
wyświetlania danych w polu
zostanie wykorzystany określony format, a nie maska
wprowadzania. Jeśli jednak
pole jest edytowane w formularzu, wyświetlana jest maska
wprowadzania, a nie
określony format.

Sekcje maski wprowadzania

: (000) 000-0000;0;” ”

background image

Access 2000 – Maski
wprowadzania (2)

Znak maski

Interpretacja

0

Tylko cyfra (wprowadzanie wymagane)

9

Tylko cyfra (wprowadzanie nie wymagane)

#

Cyfra, znak + lub – albo spacja (wprowadzanie nie wymagane:

puste miejsca są przekształcane na spacje)

L

Litera (wprowadzanie wymagane)

?

Litera (wprowadzanie nie wymagane)

A

Litera lub cyfra (wprowadzanie wymagane)

a

Litera lub cyfra (wprowadzanie nie wymagane)

&

Dowolny znak lub spacja (wprowadzanie wymagane)

C

Dowolny znak lub spacja (wprowadzanie nie wymagane)

.,:;-/

Przecinek dziesiętny, separator tysięcy, daty lub godziny

(zależny od lokalnych ustawień systemowych)

<

Powoduje przekształcenie znaków po prawej stronie na małe

litery

>

Powoduje przekształcenie znaków po prawej stronie na wielkie

litery

background image

Access 2000 – Maski
wprowadzania (3)

Definicja maski

wprowadzania

Przykład maski wprowadzania

(000) 000-0000

(206) 555-0248

(000) AAA-AAAA

(206) 555-TELE

00000-9999

98115-

>L<??????????????

Tomasz

ISBN 0-&&&&&&&&&-0

ISBN 1-55615-507-7

background image

Definiowanie powiązań między
relacjami

Definiowanie relacji między tabelami

Uwagi ogólne:

• Przed rozpoczęciem modyfikowania relacji należy zamknąć
wszystkie otwarte
tabele;

• Relacje mogą być tworzone dla tabel i kwerend, ale w
przypadku kwerend nie są
wymuszane więzy integralności;

Aby zdefiniować relację
należy:

• określić tabele i pola
pomiędzy
którymi definiowana jest
relacja,

• określić typ relacji,

• określić typ sprzężenia,

• zdefiniować, czy dla
tworzonej
relacji mają być
wymuszane
więzy integralności.

background image

Właściwości relacji – typ relacji

Typ relacji ustalany jest automatycznie na podstawie właściwości
pól, które są łączone relacją na etapie jej tworzenia. Typ relacji
wyświetlany jest w oknie edycji relacji.

Możliwe są do zdefiniowania następujące typy relacji:

• relacja

Jeden–do-wielu

oznacza, że jedno z powiązanych pól

jest kluczem
podstawowym lub ma unikatowy indeks,

• relacja

Jeden-do-jednego

oznacza, że oba pola powiązane

relacją są kluczem
podstawowym lub mają unikatowy indeks,

• relacja

Nieokreślona

oznacza, że żadne z pól nie jest kluczem

podstawowym
ani nie ma unikatowego indeksu. Aby zapobiec relacjom
nieokreślonym, należy
zdefiniować przynajmniej jeden klucz podstawowy lub indeks
unikatowy dla
powiązanych pól.

Uwaga:

Symbole określające typ relacji wyświetlane są dla

danej relacji tylko
wtedy, gdy więzy integralności są wymuszane.

background image

Właściwości relacji – typ
sprzężenia

Sprzężenie jest to wiązanie między polem w jednej tabeli lub
kwerendzie a polem o tym samym typie danych w innej tabeli lub
kwerendzie. Sprzężenie stanowi dla programu Microsoft Access
informację o sposobie powiązania danych.
Typ sprzężenia wskazuje, które rekordy wybiera kwerenda lub
jaką akcję na nich przeprowadza.

Kiedy do kwerendy dodawane są
tabele, które mają już zdefiniowane
relacje, program Access
automatycznie tworzy sprzężenie
wewnętrzne. Jeżeli relacje nie były
uprzednio zdefiniowane, program
automatycznie tworzy sprzężenie
wewnętrzne między polami, które
mają takie same nazwy i typy
danych, pod warunkiem, że jedno z
pól jest kluczem głównym.
Utworzenie sprzężenia
w widoku projektu kwerendy nie
jest równoważne z utworzeniem
trwałej relacji..

background image

Właściwości relacji – typ
sprzężenia

Sprzężenie wewnętrzne – domyślny typ sprzężenia

KLIENCI

PESEL

Nazwisko

00000000001

Nowak

00000000002 Kowalski

00000000003 Marciniszyn

ZAMÓWIENIA

PESEL

Ilość IDTowaru

00000000001

5

5

00000000003

2

2

00000000001

10

5

00000000001

2

1

ZAMÓWIENIA KLIENTÓW: Kwerenda

wybierająca

Nazwisko

PESEL

Ilość IDTowaru

Nowak

00000000001

5

5

Marciniszyn 00000000003

2

2

Nowak

00000000001 10

5

Nowak

00000000001

2

1

Domyślny typ sprzężenia powoduje wybranie ze sprzężonych tabel lub kwerend tylko tych rekordów, które
zawierają te same wartości w sprzężonych polach

background image

Właściwości relacji – typ
sprzężenia

Lewo i prawostronne sprzężenie zewnętrzne

KLIENCI

PESEL

Nazwisko

00000000001

Nowak

00000000002 Kowalski

00000000003 Marciniszyn

ZAMÓWIENIA

PESEL

Ilość IDTowaru

00000000001

5

5

00000000003

2

2

00000000001

10

5

00000000001

2

1

ZAMÓWIENIA KLIENTÓW: Kwerenda

wybierająca

Nazwisko

PESEL

Ilość IDTowaru

Nowak

00000000001

5

5

Kowalski 00000000002

Marciniszyn 00000000003

2

2

Nowak

00000000001 10

5

Nowak

00000000001

2

1

Sprzężenia zewnętrzne powodują wybór
przez kwerendę wszystkich rekordów z
danej tabeli bez względu na to czy mają
one odpowiadające rekordy w innej
tabeli. Kiedy dla rekordów z tabeli, nie
można znaleźć odpowiadającego rekordu
w innej tabeli kwerenda wyświetla puste
komórki w tych miejscach.

background image

Właściwości relacji – więzy
integralności

Więzy integralności jest to system zasad, które w programie
Microsoft Access są stosowane aby zapewnić, że relacje pomiędzy
powiązanymi tabelami są prawidłowe
i że powiązane rekordy nie zostaną przypadkowo usunięte lub
zmienione.Wymuszanie więzów integralności możliwe jest tylko,

wtedy, gdy spełnione są wszystkie następujące
warunki:

• obie tabele są przechowywane w tej samej bazie
programu Access,

• powiązane pola są tego samego typu danych,

• wiązane pole z tabeli podstawowej jest kluczem
podstawowym
(kluczem głównym) lub ma unikatowy indeks.

Uwaga:

Więzów integralności nie można wymusić dla tabel

przyłączonych z baz danych innego formatu.

background image

Właściwości relacji – więzy
integralności

Więzy integralności narzucają następujące reguły
postępowania:

• w polu

klucza obcego

w tabeli powiązanej nie można

wprowadzić wartości nie
istniejących w polu klucza podstawowego tabeli podstawowej.
Można jednak
w polu klucza obcego wprowadzić wartość

Null

oznaczającą,

że rekord nie jest
powiązany;

• w tabeli podstawowej nie można usunąć rekordu jeżeli
istnieją powiązane
z nim rekordy w tabeli sprzężonej,

• w tabeli podstawowej nie można zmienić wartości klucza
podstawowego, jeżeli
istnieją powiązane z nim rekordy.

Zapamiętaj:

Aby dla relacji obowiązywały powyższe reguły

należy podczas jej tworzenia zaznaczyć pole wyboru „Wymuszaj
więzy integralności”.

background image

Właściwości relacji – więzy
integralności

Kaskadowe aktualizowanie pól pokrewnych

 Zaznaczenie pola wyboru powoduje automatyczną aktualizację

odpowiadających
sobie wartości w powiązanej tabeli po każdej zmianie wartości
klucza
podstawowego w tabeli podstawowej

 Odznaczenie pola wyboru blokuje możliwość zmian wartości

klucza
podstawowego w tabeli podstawowej jeżeli występują w tabeli
powiązanej
powiązane rekordy

KLIENCI

PESEL

Nazwisko

00000000001

Nowak

00000000002

Potocka

00000000003 Kowalski

00000000004 Marciniszyn
00000000005 Majewska
00000000006 Kotewicz

ZAMÓWIENIA

PESEL

Ilość IDTowaru

00000000002

30

2

00000000003

5

5

00000000003

2

2

00000000001

10

4

00000000005

2

1

00000000003

7

9

background image

Właściwości relacji – więzy
integralności

Kaskadowe usuwanie powiązanych rekordów

 Zaznaczenie pola wyboru powoduje automatyczne usuwanie

powiązanych
rekordów w tabeli powiązanej po każdym usunięciu rekordu z
tabeli podstawowej

 Odznaczenie pola wyboru blokuje możliwość usunięcia

rekordów z tabeli
podstawowej, jeżeli w tabeli powiązanej występują rekordy
powiązane

ZAMÓWIENIA

PESEL

Ilość IDTowaru

00000000002

30

2

00000000003

5

5

00000000003

2

2

00000000001

10

4

00000000005

2

1

00000000003

7

9


Document Outline


Wyszukiwarka

Podobne podstrony:
Napęd Elektryczny wykład
wykład5
Psychologia wykład 1 Stres i radzenie sobie z nim zjazd B
Wykład 04
geriatria p pokarmowy wyklad materialy
ostre stany w alergologii wyklad 2003
WYKŁAD VII
Wykład 1, WPŁYW ŻYWIENIA NA ZDROWIE W RÓŻNYCH ETAPACH ŻYCIA CZŁOWIEKA
Zaburzenia nerwicowe wyklad
Szkol Wykład do Or
Strategie marketingowe prezentacje wykład
Wykład 6 2009 Użytkowanie obiektu
wyklad2
wykład 3
wyklad1 4
wyklad 5 PWSZ

więcej podobnych podstron