bazy danych wyklad3


Bazy danych  modele baz danych
Modele baz danych
" hierarchiczny
" sieciowy
" relacyjny
" obiektowy
1
Bazy danych  modele baz danych
Modele baz danych
" hierarchiczny
POŚREDNICY
KLIENCI
MUZYCY
UMOWY ROZLICZENIA
TERMINARZ
2
Bazy danych  modele baz danych
Modele baz danych
" hierarchiczny
" sieciowy
" relacyjny
" obiektowy
3
Bazy danych  modele baz danych
Modele baz danych
" sieciowy
POŚREDNICY
KIERUJE
REPREZENTUJE
MUZYCY
KLIENCI
ZAWIERA
UISZCZA WYPEANIA
GRA
STYLE
ROZLICZENIA UMOWY
MUZYCZNE
4
Bazy danych  modele baz danych
Modele baz danych
" hierarchiczny
" sieciowy
" relacyjny
" obiektowy
5
RELACYJNY MODEL DANYCH
Bazy danych  relacyjny model danych
RELACJA (tabela)
Bazy danych  relacyjny model danych
" W relacyjnym modelu danych baza danych składa się zwykle z
szeregu tabel (relacji) oraz związków pomiędzy tabelami.
" Tabele przechowują informacje na temat interesujących
obiektów. Na uzyskanie pełniejszych informacji pozwala
łączenie tabel.
" Rodzaj danych, sposób podziału na tabele i związki jest
ustalony w procesie normalizacji bazy.
Bazy danych  relacyjny model danych
" Tabele mogą być ze sobą powiązane. Każda z nich jest
nazwana i ma stałą liczbę kolumn oraz dowolną liczbę wierszy.
" Tabela składa się z krotek, czyli rekordów oraz niezależnych
atrybutów, czyli pól. Ich kolejność jest dowolna.
" Rekordy są zapisywane w wierszach, natomiast atrybuty w
kolumnach. Kolumny są opatrzone nazwami i mogą
przechowywać dane określonego prostego typu
(np. liczby o podanej precyzji, napisy o określonej długości albo daty).
" Wiersze reprezentują konkretne wystąpienie rekordu i można je
dodawać lub usuwać.
Bazy danych  relacyjny model danych
" Założeniem poprawnej budowy tabeli jest to, aby każda
wartość atrybutu w każdej krotce była wartością atomową
(wartością nie rozkładalną - pojedyncza wartość, a nie zbiór
wartości).
Bazy danych  relacyjny model danych
Atrybuty (nagłówki kolumn)
Atrybuty służą do nazywania kolumn relacji. Na ogół oddają
znaczenie danych umieszczanych w kolumnach pod nimi
Bazy danych  relacyjny model danych
Schemat relacji
Film (tytuł,rok,długość,typFilmu)
Schemat relacji = nazwa relacji + zbiór atrybutów
Bazy danych  relacyjny model danych
Schemat relacji
Film (tytuł,rok,długość,typFilmu)
W modelu relacyjnym projekt składa się z jednego lub kilku
schematów relacji (schemat bazy danych)
Bazy danych  relacyjny model danych
Krotka (wiersz tabeli - relacji)
(Gwiezdne wojny,1977,124,kolor)
W krotce każdy atrybut ma swój odpowiednik w postaci
składowej krotki
Bazy danych  relacyjny model danych
Pole
Pole podaje wartość atrybutu, którego dziedziną jest zbiór
dopuszczalnych wartości jakie może przyjmować. (dane określonego
typu, definiowane na etapie projektowania bazy danych - mają stały
rozmiar i zwykle są to ogólnie znane typy proste - liczba, data,
godzina, ciąg znaków, znak itp.)
Bazy danych  relacyjny model danych
Instancja relacji (zbiór - krotek)
Bazy danych  relacyjny model danych
Bazy danych  relacyjny model danych
Własności relacji (tablicy)
" Krotki (wiersze) są unikalne
" Atrybuty (kolumny) są unikalne
" Kolejność krotek (wierszy) jest dowolna
" Kolejność atrybutów (kolumn) jest dowolna
" Wartości atrybutów (pól) są atomowe
Bazy danych  relacyjny model danych
Relacja między dwoma tabelami może przyjąć jeden konkretny typ:
powiązania jednoznaczne typu 1 do 1 ("1-1"):
powiązania jednoznaczne 1 do n ("1-n" ):
powiązania wieloznaczne n do m ("n-m"):
Bazy danych  relacyjny model danych
Relacja jeden-do-jednego
powiązania jednoznaczne typu 1 do 1 ("1-1")
występuje wtedy, gdy
pojedynczemu rekordowi z
pierwszej tabeli
przyporządkowany jest
powiązania jednoznaczne 1 do n ("1-n" )
najwyżej jeden rekord z
drugiej i na odwrót 
pojedynczemu rekordowi z
drugiej tabeli może być
przyporządkowany
powiązania wieloznaczne n do m ("n-m")
najwyżej jeden rekord z
pierwszej.
Bazy danych  relacyjny model danych
Relacja jeden-do-wielu
powiązania jednoznaczne typu 1 do 1 ("1-1")
występuje wtedy, gdy
pojedynczemu rekordowi z
pierwszej tabeli może
odpowiadać jeden lub
powiązania jednoznaczne 1 do n ("1-n" )
więcej rekordów z drugiej,
podczas gdy
pojedynczemu rekordowi z
drugiej tabeli odpowiada
najwyżej jeden rekord z
pierwszej.
powiązania wieloznaczne n do m ("n-m")
Bazy danych  relacyjny model danych
Relacja wiele-do-wielu
powiązania jednoznaczne typu 1 do 1 ("1-1")
występuje wtedy, gdy
pojedynczemu rekordowi w
pierwszej z nich może
odpowiadać jeden lub wiele
powiązania jednoznaczne 1 do n ("1-n" )
rekordów z drugiej i na
odwrót  pojedynczy rekord
z drugiej tabeli może być
powiązany z jednym lub
większą liczbą rekordów z
pierwszej.
powiązania wieloznaczne n do m ("n-m")
Bazy danych  relacyjny model danych
Diagram związków encji
rok
tytuł nazwisko adres
FILMY GWIAZDY
Gwiazdy-w
typFilmu
długość
nazwa
Posiada
STUDIA
adres
Bazy danych  relacyjny model danych
Zbiór encji relacja
rok
tytuł
FILMY
typFilmu
długość
Bazy danych  relacyjny model danych
Zbiór encji relacja
nazwisko adres
nazwisko adres
Carrie Fisher 123 Maple St., Hollywood
Mark Hamill 456 Oak Rd., Brentwood
GWIAZDY
Harrison Ford 789 Palm Dr, Beverly Hills
Bazy danych  relacyjny model danych
Związki encji relacja
tytuł rok nazwa studia
rok
tytuł
Gwiezdne wojny 1977 Fox
Potężne Kaczory 1991 Disnay
Świat Weyne a 1992 Paramount
FILMY
typFilmu
długość
nazwa
Posiada
STUDIA
Atrybuty relacji związku:
" Klucze zbiorów encji są atrybutami relacji
adres
" Własny klucz związku (jeśli istnieje)
Bazy danych  relacyjny model danych
Związki encji relacja
rok
tytuł nazwisko adres
FILMY GWIAZDY
Gwiazdy-w
typFilmu
długość
tytuł rok nazwisko gwiazdy
Gwiezdne wojny 1977 Carrie Fisher
Gwiezdne wojny 1977 Mark Hamill
Gwiezdne wojny 1977 Harrison Ford
Potężne Kaczory 1991 Emilio Estevez
Świat Weyne a 1992 Dana Carvey
Atrybuty relacji związku:
Świat Weyne a 1992 Mike Meyers
" Klucze zbiorów encji są atrybutami relacji
" Własny klucz związku (jeśli istnieje)
Bazy danych  relacyjny model danych
Związki encji relacja
rok
tytuł nazwisko adres
FILMY GWIAZDY
KONTRAKTY
typFilmu
długość
STUDIA
nazwa
adres
nazwisko gwiazdy tytuł rok studioGwiazdy studioProducenta
Atrybuty relacji związku:
KONTRAKTY
" Klucze zbiorów encji są atrybutami relacji
" Własny klucz związku (jeśli istnieje)
Bazy danych  relacyjny model danych
Zbiory (słabych) encji relacja
Jednostka-w
ZESPÓA STUDIA
nazwa adres
numer
Studia (nazwa, adres)
Zespoły (numer, nazwaStudia)
Jednostka (numer, nazwaStudia, nazwa)
Atrybuty relacji:
" Dla zbioru - atrybuty zbioru słabych encji oraz atrybuty klucza z innych
zbiorów encji
" Dla związku  wszystkie atrybuty klucza zbioru słabych encji również te, które
pochodzą z innych zbiorów encji
Bazy danych  relacyjny model danych
Zależności funkcyjne
Warunek występowania zależności funkcyjnych:
A1,A2,...An-->B
Jeżeli dwie krotki relacji R są zgodne dla atrybutów A1, A2, An (obie
krotki mają te same wartości składowych dla wymienionych atrybutów)
to muszą być również zgodne w pewnym innym atrybucie B
Bazy danych  relacyjny model danych
Zależności funkcyjne
A1,A2,...An-->B1
A1,A2,...An-->B2
A1,A2,...An-->Bm
A1,A2,...An-->B1B2& Bm
Jeżeli zbiór atrybutów A1, A2, An określa funkcyjnie więcej niż jeden
atrybut B
Bazy danych  relacyjny model danych
Zależności funkcyjne
tytuł rok długość typFilmu nazwaStudia nazwisko-
Gwiazdy
Gwiezdne 1977 124 kolor Fox Carrie Fisher
wojny
Gwiezdne 1977 124 kolor Fox Mark Hamill
wojny
Gwiezdne 1977 124 kolor Fox Harrison Ford
wojny
Potężne 1991 104 kolor Disney Emilio
Kaczory Estevez
Potężne 1992 95 kolor Paramount Dana Carvey
Kaczory
Świat 1992 95 kolor Paramount Mike Meyers
Wayne a
tytuł rok ---> długość
tytuł rok ---> typFilmu A1,A2,...An-->B
tytuł rok ---> nazwaStudia
tytuł rok ---> długość typFilmu nazwaStudia
A1,A2,...An-->B1B2& Bm
Bazy danych  modelowanie więzów
Klasyfikacja więzów - Klucze
Klucze  atrybuty lub zbiory atrybutów, które jednoznacznie
identyfikują encję wewnątrz zbioru encji.
Klucz może być utworzony przez:
" wybór atrybutu spełniającego rolę klucza (np. Pesel, NIP)
" utworzenie specjalnego atrybutu spełniającego rolę klucza
rok
tytuł
FILMY KLUCZ
typFilmu
długość
Bazy danych  relacyjny model danych
Klucze relacji
Atrybut lub zbiór atrybutów {A1, A2, ...., An} tworzy klucz relacji jeżeli
" Wszystkie pozostałe atrybuty relacji są fukcyjnie zależne od tych
atrybutów.
(Nie możesię zdarzyć, aby dwie różne krotki relacji R były zgodne
dla wszystkich atrybutów A1, A2, ...., An.)
" Nie istnieje podzbiór właściwy zbioru {A1, A2, ...., An}, od którego
pozostałe atrybuty relacji R są zależne funkcyjnie (klucz musi być
minimalny)
Bazy danych  relacyjny model danych
Klucze relacji
tytuł rok długość typFilmu nazwaStudia nazwisko-
Gwiazdy
Gwiezdne 1977 124 kolor Fox Carrie Fisher
wojny
Gwiezdne 1977 124 kolor Fox Mark Hamill
wojny
Gwiezdne 1977 124 kolor Fox Harrison Ford
wojny
Potężne 1991 104 kolor Disney Emilio
Kaczory Estevez
Potężne 1992 95 kolor Paramount Dana Carvey
Kaczory
Świat 1992 95 kolor Paramount Mike Meyers
Wayne a
Czy atrybuty {tytuł, rok, nazwiskoGwiazdy} tworzą klucz relacji Film ?
1. Czy wszystkie pozostałe atrybuty relacji Film są od nich zależne funkcyjnie ?
Istnieją tytuł rok ---> długość
zależności tytuł rok ---> typFilmu
funkcyjne tytuł rok ---> nazwaStudia
Dwie różne krotki zgodne dla wszystkich trzech atrybutów
{tytuł, rok, nazwiskoGwiazdy} są tą samą krotką
Bazy danych  relacyjny model danych
Klucze relacji
tytuł rok długość typFilmu nazwaStudia nazwisko-
Gwiazdy
Gwiezdne 1977 124 kolor Fox Carrie Fisher
wojny
Gwiezdne 1977 124 kolor Fox Mark Hamill
wojny
Gwiezdne 1977 124 kolor Fox Harrison Ford
wojny
Potężne 1991 104 kolor Disney Emilio
Kaczory Estevez
Potężne 1992 95 kolor Paramount Dana Carvey
Kaczory
Świat 1992 95 kolor Paramount Mike Meyers
Wayne a
Czy atrybuty {tytuł, rok, nazwiskoGwiazdy} tworzą klucz relacji Film ?
2. Czy żaden z podzbiorów właściwych zbioru {tytuł, rok, nazwiskoGwiazdy}
nie wyznacza pozostałych atrybutów w sosób zależny funkcyjnie ?
rok nazwiskoGwiazdy ---> tytuł NIE
tytuł nazwiskoGwiazdy ---> rok NIE
tytuł rok ---> nazwiskoGwiazdy NIE
Bazy danych  relacyjny model danych
Klucze relacji
Każda tabela (relacja) posiada zdefiniowany klucz - wyróżnioną
kolumnę lub kilka kolumn, których wartości jednoznacznie identyfikują
dany wiersz. Ich wartość dla każdego rekordu jest unikalna.
Kolumny jednoznacznie odróżniające rekordy relacji nazywane są
kluczem głównym (podstawowym).
W każdej relacji istnieje pewna kombinacja atrybutów mająca
zdolność jednoznacznej identyfikacji - tablica ma więcej niż jeden
klucz kandydujący wśród kluczy podstawowych. Wśród nich, ten
który poprzez minimalną ilość atrybutów jednoznacznie wyznacza
dany wiersz jest określany kluczem właściwym.
Bazy danych  relacyjny model danych
Klucze relacji
Klucz obcy
Kolumny jednej tabeli są kluczem obcym, jeśli nie są kluczem
głównym tej tabeli, ale ich wartości są wartościami klucza
głównego innej tabeli.
W relacyjnym modelu logicznym dwie tabele są ze sobą w
relacji, jeśli wiążą je wartości klucza podstawowego i klucza
obcego lub też specjalna tabela łącząca.
Bazy danych  relacyjny model danych
Klucze relacji
Bazy danych  relacyjny model danych
Klucze relacji
Atrybut lub zbiór atrybutów {A1, A2, ...., An} tworzy klucz relacji jeżeli
" Wszystkie pozostałe atrybuty relacji są fukcyjnie zależne od tych
atrybutów. Nie możesię zdarzyć, aby dwie różne krotki relacji R
były zgodne dla wszystkich atrybutów A1, A2, ...., An.
" Nie istnieje podzbiór właściwy zbioru {A1, A2, ...., An}, od którego
pozostałe atrybuty relacji R są zależne funkcyjnie (klucz musi być
minimalny)
Nadklucz  zbiór atrybutów zawierających klucz
(spełniony jest jedynie warunek pierwszy)
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- zasady podziału i łączenia
- zależności trywialne
- reguła przechodniości
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- zasady podziału i łączenia
Reguła podziału
zależność funkcyjną:
A1A2...An B1B2...Bm
można zastąpić zbiorem zależności funkcyjnych:
A1A2...An Bi gdzie i=1,2...m
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- zasady podziału i łączenia
Reguła łączenia
zbiór zależności funkcyjnych:
A1A2...An B1 gdzie i=1,2...m
można zastąpić zależnością funkcyjną:
A1A2...An B1B2...Bm
Bazy danych  relacyjny model danych
Zależności funkcyjne  przykład reguły łączenia
tytuł rok długość typFilmu nazwaStudia nazwisko-
Gwiazdy
Gwiezdne 1977 124 kolor Fox Carrie Fisher
wojny
Gwiezdne 1977 124 kolor Fox Mark Hamill
wojny
Gwiezdne 1977 124 kolor Fox Harrison Ford
wojny
Potężne 1991 104 kolor Disney Emilio
Kaczory Estevez
Potężne 1992 95 kolor Paramount Dana Carvey
Kaczory
Świat 1992 95 kolor Paramount Mike Meyers
Wayne a
tytuł rok ---> długość
tytuł rok ---> długość
tytuł rok ---> typFilmu
tytuł ---> długość
tytuł rok ---> nazwaStudia
rok ---> długość
tytuł rok ---> długość typFilmu nazwaStudia
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- zależności trywialne
zależność funkcyjna:
A1A2...An B
jest trywialna, jeżeli
B jest równe któremuś A
tytuł rok ---> tytuł
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- reguła przechodniości
Jeżeli w relacji R zachodzą zależności:
A1A2...An B1B2...Bm oraz B1B2...Bm C1C2...Ck
To w relacji R zachodzi także zależność:
A1A2...An C1C2...Ck
Bazy danych  relacyjny model danych
Reguły dotyczące zależności funkcyjnych
- reguła przechodniości (przykład)
Tytuł Rok Długość Typ Nazwa Studia
filmu
Gwiezdne 1997 124 Kolor Fox
wojny
Potężne 1991 104 Kolor Disney
Kaczory
Swiat 1992 95 Kolor Paramount
Wayne a
Jeżeli w relacji Film chcemy przechowywać dane dotyczące studia
Tytuł Rok Długość Typ Nazwa Studia adresStudia
filmu
Gwiezdne 1997 124 Kolor Fox Hollywood
wojny
Potężne 1991 104 Kolor Disney Buena Vista
Kaczory
Swiat 1992 95 Kolor Paramount Hollywood
Wayne a
tytuł rok ---> nazwaStudia
tytuł rok ---> adresStudia
nazwaStudia ---> adresStudia
Bazy danych  relacyjny model danych
PROJEKTOWANIE RELACYJNYCH
SCHEMATÓW BAZ DANYCH


Wyszukiwarka

Podobne podstrony:
22 Bazy danych – wykład wstępnyid)482
Bazy Danych wykład (digit)
bazy danych wyklad1
BAZY DANYCH Streszczenie z wykładów
Wykład 11 Recovery – Transakcyjne odtwarzanie bazy danych po awarii
Bazy Danych (SQL) wykład ROBERT CHWASTEK
Strona polecenia do bazy danych
2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]
MySQL Mechanizmy wewnętrzne bazy danych

więcej podobnych podstron