background image

Bazy Danych

wykład IV

Jan Aleksander Wierzbicki

background image

Właściwości sprzężenia (typ złączania wierszy)

background image

Uwzględnienie tylko rekordów, dla których 
połączone pola z obu tabel są równe 
(złączenie wewnętrzne).  
Np. pracownicy, którzy obsługiwali 
wypożyczenia;
oraz wypożyczenia tylko obsługiwane 
przez pracowników.

background image
background image

Uwzględnienie wszystkich rekordów z 
tabeli nadrzędnej i tylko tych rekordów z 
tabeli podrzędnej, dla których istnieje 
powiązany z nimi rekord w tabeli 
nadrzędnej (lewostronne złączenie 
zewnętrzne
). 
Np. obejmuje również pracowników, którzy 
nie obsługiwali wypożyczeń, ale nie 
obejmuje wypożyczeń, które nie były 
obsługiwane przez pracowników.

background image
background image

Uwzględnienie wszystkich rekordów z 
tabeli podrzędnej  i tylko tych rekordów z 
tabeli nadrzędnej, dla których istnieje 
powiązany z nimi rekord w tabeli 
podrzędnej (prawostronne złączenie 
zewnętrzne
). 
Np. obejmuje również wypożyczenia nie 
będące obsługiwane przez pracowników 
(ale już nie obejmuje pracowników, którzy 
nie obsługiwali wypożyczeń).

background image

Indeksy
Indeks służy do przyśpieszenia wyszukiwania 
rekordów mając dane wartości w jednym lub więcej 
pól. Dostęp do listy indeksów jest albo z menu 
"Widok -> Indeksy" albo przez przycisk "Indeksy" z 
paska narzędzi. 

background image

Każdy fakt przechowywany w bazie danych powinien 
być wyrażalny w niej tylko na jeden sposób.

Normalizacja

 – postacie normalne

Informacja o przedmiocie powinna być zapisana 
tylko 
w jednym miejscu, a nie przy każdym uczniu, który 
uczy się danego  przedmiotu. 

Jeśli mamy informację o rodzicach każdej osoby, nie 
potrzeba zapisywać informacji o dziadkach, bo ta 
informacja daje się wyprowadzić z informacji  
rodzicach.

Niektóre schematy 
tabel są złe!

background image

Pierwsza postać normalna

Każdy element tabeli musi być niepodzielny.
Wartość atrybutu jest niepodzielna – atomowa. 

biologia, chemia

Lis

5n

geografia, chemia

Kot

4n

wf, przysposobienie 

obronne

Sowa

3n

j.polski, historia

Kiwalsk

i

2n

matematyka, fizyka, 

informat

Banach

1n

Nazwa przedmiotu

Nazwis

ko

Id_nau

cz

background image

Lis

5n

Kot

4n

Sowa

3n

Kiwalsk

i

2n

Banach

1n

Nazwis

ko

Id_nauc

z

Biologia

biol

Historia

hist

Geografia

geog

chem

pol

inf

fiz

mat

Id_prz

ed

Chemia

J.polski

Informaty

ka

Fizyka

Matematy

ka

Nazwa 

przed

biol

5n

chem

4n

geog

4n

hist

2n

pol

2n

mat

1n

inf

1n

fiz

1n

mat

1n

Prze

d

Nauc

z

KLUCZ = {NauczPrzed}

8

8

background image

Zbiór atrybutów A = {a

1

, a

2

,..,a

n

}

Nadklucz

 - dowolny podzbiór atrybutów B z A taki, 

że zachodzi zależność funkcyjna 

B -> A

.

Wartość każdego atrybutu jest jednoznacznie 
zdeterminowana przez wartości atrybutów zbioru B. 
Jednym z nadkluczy jest zawsze zbiór wszystkich 
atrybutów A.

Nadklucz

Kluczem

 -  nazywamy każdy minimalny 

nadklucz 
(nie zawierający w sobie żadnego innego 
nadklucza).

Zależności funkcyjne

Id_naucz -> Nazwisko Id_przed -> Nazwa przedmiotu

background image

Schematy tabel, 
które są złe

Książki = {ISBN, Tytuł, Id_wydaw, Nazwa, Adres}

Klucz główny = {ISBNId_wydaw}

Kępy

Nasze

2n

Topolog

ia

89x48

Polna

Nauko

we

1n

Analiza

23s45

Polna

Nauko

we

1n

Algebra

3x45

Adres

Nazwa

Id_wyda

w

Tytuł

ISBN

background image

Polna

Nauko

we

1n

Zadania

6865z

Zbory

Fizyczn

e

3n

Geomet

ria

456d

Kępy

Nasze

2n

Topolog

ia

89x48

Polna

Nauko

we

1n

Analiza

23s45

Polna

Nauko

we

1n

Algebra

3x45

Adres

Nazwa

Id_wyda

w

Tytuł

ISBN

Redundancja!

Problem

 

z aktualizacją!

Nie można wstawić wydawnictwa bez książki – klucz!

background image

Adres zależy od 

części

 klucza – od atrybutu  

Id_wydaw.

Zależności 

częściowa

 między atrybutami 

tabeli

Książki = {ISBN, Tytuł, Id_wydaw, Nazwa, Adres}

Klucz główny = {ISBNId_wydaw}

Id_wydaw -> Adres

background image

Problem: 

próba umieszczenia w jednej encji dwóch różnych 
rodzajów encji: 

Książki = {ISBN, Tytuł} 

Wydawnictwa = {id_wydaw, Nazwa, Adres} 

Rozwiązanie – rozbicie schematu na dwie tabele 
każda reprezentująca osobny typ obiektów – Książki
Wydawnictwa.

Zadania

Analiza

Algebra

Tytuł

1n

6865z

1n

23s45

1n

3x45

Wydaw

ISBN

Zbor

y

Fizyczn

e

3n

Kępy

Nasze

2n

Poln

a

Nauko

we

1n

Adre

s

Nazwa

Id_wyda

w

background image

Druga postać normalna

Schemat jest w pierwszej postaci normalnej.

Każdy atrybut (niekluczowy) zależy 
funkcyjnie od całego klucza głównego 
(a nie od części klucza).

background image

Nauczyciele = {Id_naucz, Nazwisko, Nazwa_szkoły, Adres}

Brzozowa

Liceum nr 5

Lis

5n

Kwiatowa

Gimnazjum 

nr 2

Kot

4n

Brzozowa

Liceum nr 5

Sowa

3n

Kwiatowa

Gimnazjum 

nr 2

Kiwalski

2n

Kwiatowa

Gimnazjum 

nr 2

Banach

1n

Adres

Nazwa

szkoły

Nazwisk

o

Id_nau

cz

Redundancja!

Problem

 

z aktualizacją!

Nie można wstawić szkoły bez nauczyciela – klucz!

background image

Adres zależy od atrybutu Nazwa_szkoły, który nie jest 
kluczem. 
Wartość atrybutu Adres zależy przechodnio od 
klucza: 

Nauczyciele = {Id_naucz, Nazwisko, Nazwa_szkoły, Adres}

Zależność 

przechodnia

 między atrybutami tabeli

Nazwa_szkoły -> Adres

Kluczem jest atrybut Id_naucz. 

background image

Problem: 

próba umieszczenia w jednej encji dwóch różnych 
rodzajów encji: 

Nauczyciel = {Id_naucz, nazwisko, id_szkoły} 

Szkoła = {Id_szkoły, Nazwa, Adres} 

Rozwiązanie – rozbicie schematu na dwie tabele 
każda reprezentująca osobny typ obiektów – 
Nauczyciele, Szkoła

Sowa

Kiwalski

Banach

Nazwis

ko

2s

3n

1s

2n

1s

1n

Id_szko

ły

Id_nau

cz

Brzozow

a

Liceum nr 

5

2s

Kwiatow

a

Gimnazju

m nr 2

1s

Adres

Nazwa

Id

_szkoł

y

Id_szkoły -> Adres

background image

Trzecia postać normalna

Atrybuty są w zależności funkcyjnej 
jedynie od klucza głównego, nie ma 
takiej zależności między innymi 
kolumnami.

Schemat jest w drugiej postaci normalnej.

Nie ma zależności częściowych (chyba, że atrybut jest kluczowy*)

i przechodnich.

* Nie dotyczy - postać normalna Boyce’a-Codda

background image

Interfejs użytkownika

• proste, intuicyjne posługiwanie 

się bazą danych

• użytkownik - nie zna teorii bazy 

danych

podstawowe elementy
• formularze
• raporty

background image

Formularz

umożliwia:
• „graficzne” przedstawienie 

wybranych danych

• ułatwiony wpis danych do tabel
• „jednoczesny” wpis danych do 

wielu tabel

background image

Formularz

pobiera dane z:
• tabeli (tabel)
• kwerendy

background image

wybieramy pola

do sekcji szczegóły

background image

etykieta

pole

background image

prawy przycisk myszy

na elemencie
+ właściwości

background image

Formularz

elementy formularza:
• pola
• etykiety
• sekcja szczegóły
• obszar formularza
• itp.

background image

Ćwiczenia za 15 

minut!!!

Hurra!!!!


Document Outline