Bazy danych

advertisement
Bazy danych
Podstawy teoretyczne
Bazy danych
Podstawy teoretyczne
Poj cia podstawowe
Baza Danych jest to zbiór danych o okre lonej strukturze zapisany w nieulotnej pami ci, mog cy
zaspokoi potrzeby wielu u!ytkowników korzystaj cych z niego w sposób
sposób selektywny w
dogodnym dla siebie czasie.
System Zarz dzania Baz Danych (SZBD) jest to oprogramowanie umo!liwiaj ce wspó'prac
u!ytkownika z baz danych.
System bazy danych sk'ada si z bazy danych, systemu zarz dzania baza danych oraz dodatkowych
aplikacji wspomagaj cych.
Transakcja jest sekwencj instrukcji, po wykonaniu której spójna baza danych
danych nadal zachowuje sw
spójno .
Spójno
bazy danych jest to zgodno
z modelowan rzeczywisto ci .
Istotne zagadnienia zwi zane z SZBD: opis danych, formy korzystania z bazy danych, integralno
danych, poufno danych, wspó'bie!no dost pu, niezawodno .
2
Bazy danych
Podstawy teoretyczne
Poj cia podstawowe
J zyk opisu danych jest narz dziem s'u! cym do utworzenia schematu poj ciowego i jest
jest on ci le
zwi zany z modelem. Umo!liwia on definiowanie klas obiektów oraz powi za. mi dzy nimi.
J zyk manipulowania danymi s'u!y do:
-
wprowadzania,
-
modyfikacji,
-
usuwania,
-
wyszukiwania,
-
formu'owania zapyta..
Jednym z bardziej istotnych postulatów stawianych bazom danych jest
jest niezale!no
danych.
danych.
programów od
3
Bazy danych
Podstawy teoretyczne
Poj cia podstawowe
Poziomy reprezentacji bazy danych:
wewn trzny (sposób organizacji danych w pami ci zewn trznej),
-
poj ciowy (model - abstrakcyjny opis rzeczywisto ci),
-
zewn trzny (posta danych widziana z punktu widzenia programu u!ytkowego).
u!ytkowego).
Sposoby reprezentacji danych na poziomie poj ciowym (modele):
-
hierarchiczny,
-
sieciowy,
-
relacyjny,
-
obiektowy,
-
relacyjno - obiektowy.
4
Bazy danych
Podstawy teoretyczne
Relacyjne bazy danych
Trwa'e dane mog by przechowywane w:
•
w plikach,
•
w bazie danych (relacyjnej, obiektowej, lub relacyjno-obiektowej).
Zaletami relacyjnych baz danych s :
•
wysoka efektywno i stabilno ,
•
mo!liwo ci zapewniania spójno ci danych poprzez automatyczne sprawdzanie warunków
integralno ci,
•
wielodost p,
•
rozszerzalno ,
•
mo!liwo rozproszenia danych,
•
mo!liwo kaskadowego usuwania powi zanych obiektów.
5
Bazy danych
Podstawy teoretyczne
Relacyjne bazy danych
Projektuj c relacyjn baz danych nale!y:
•
okre li sposób realizacji zwi zków pomi dzy klasami/encjami,
•
okre li typy kolumn w relacjach odpowiadaj cych polom/atrybutom klas/encji.
•
okre li kolumny identyfikuj ce dla ka!dej relacji, mog to by istniej ce kolumny (grupy
kolumn) lub sztuczne kolumny identyfikuj ce,
•
znormalizowa struktur bazy danych,
•
okre li indeksy poszczególnych relacji.
Je!eli projektowanie odbywa si na podstawie modelu obiektowego, etapem po rednim mo!e by
transformacja fragmentu modelu obejmuj cego (wybrane) klasy trwa'e do modelu zwi zku
encji.
Linia
Punkt linii
6
Bazy danych
Podstawy teoretyczne
Relacyjne bazy danych
Encja odzwierciedla materialny lub niematerialny obiekt
schemacie poj ciowym (modelu).
Przyk'ady encji:
encji:
„Ania”
„Kowalski”
1.56
5
„zielony”
20032003-1111-28
wiata rzeczywistego
rzeczywistego opisany w danym
Encje tego samego typu mo!na grupowa w zbiory encji.
encji.
Przyk'ady encji:
encji:
wszyscy studenci,
wszyscy wyk'adowcy,
wszystkie sale wyk'adowe.
7
Bazy danych
Podstawy teoretyczne
Relacyjne bazy danych
Ka!dy zbiór encji posiada unikalny identyfikator.
Sposoby definiowania zbiorów:
1.
ekstenjonalny (wyliczenie elementów) {m ski,
e ski},,
2.
intensjonalny (podanie w'asno ci) {x Osoba | p e (x)=m ska},,
3.
za pomoc iloczynu kartezja.skiego X×Y×Z;(x,y,z);x X,y Y,z Z,,
4.
za pomoc operatorów: sumy, przeci cia i ró!nicy zbiorów.
Powi zanie jest relacj dwucz'onow na zbiorach encji,
encji, co zapisuje si :
gdzie:
F
Y
G
X, Y s zbiorami encji (nie koniecznie ró!nymi),
X
F, G s odwrotnymi wzgl dem siebie odwzorowaniami.
8
Bazy danych
Podstawy teoretyczne
Model relacyjny
Schemat relacji to zbiór nazw atrybutów: S = {A1, A2, …, An}
Relacj na schemacie S jest dowolny podzbiór iloczynu kartezja.skiego jednej lub wielu dziedzin:
Rs
D1 × D2 × ... × Dn.
Ka!da relacja jakiego iloczynu kartezja.skiego D1 × D2 × ... × Dn jest zbiorem krotek:
krotek:
R = {k1, k2, …, km}
Elementami relacji s krotki kj= (d1, d2, ... , dn), gdzie di D1 dla i = 1, 2, …, n.
Przyk'ad:
Je!eli n=2, D1={0, 1} oraz D2={a, b, c} to D1 × D2 jest zbiorem:
{(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)}.
c)}.
Zbiór {(0, a), (0, b), (1, a)} jest relacj ; tzn. podzbiorem D1 × D2.
9
Bazy danych
Podstawy teoretyczne
Model relacyjny
Relacja mo!e by przegl dana jak tabela,
tabela, gdzie ka!da krotka jest przedstawiana jako wiersz,
wiersz, a ka!da
kolumna jest cz ci krotki odpowiada atrybutowi.
atrybutowi.
Relacyjna baza danych jest zbiorem relacji spe'niaj cych warunki integralno ci dla ka!dej
ka!dej relacji i
mi dzy nimi.
Okre la si dziedzin Di, dla ka!dego atrybutu Ai, 1 + i + n, sk d brane s warto ci atrybutów.
Cz sto schemat relacji zapisuje si : R (A1, A2, ... ,An).
Krotk zapisuje si : k = (a1, a2, ... ,an)
10
Bazy danych
Podstawy teoretyczne
Model relacyjny
Klucz relacji.
Klucz K relacji R jest to minimalny zbiór atrybutów, które jednoznacznie wyznaczaj ka!d krotk .
K S: Rs( k1, k2 Rs(k1.k2 k1[K].
[K].k2[K])),
[K])),
gdzie ki[K] podkrotka zawieraj ca tylko atrybuty z klucza K.
Dla relacji R (X, Y, Z), X stanowi klucz relacji,
relacji, je!eli zale!no
zale!
zale!no ci funkcyjn .
funkcyjna X Y, Z jest pe'
pe'n
Oznacza to, !e X jest kluczem relacji je li dla !adnego podzbioru w'
w'a ciwego X ’ nie jest spe'
spe'niona
zale!
zale!no X ’ Y, Z.
Przyk'
Przyk'ad:
Relacja: R (PRZEDMIOT, DZIE9
DZIE9, GODZINA, SALA, WYK>
WYK>ADOWCA)
Zale!
Zale!no
funkcyjna: DZIE9
DZIE9, GODZINA, SALA
PRZEDMIOT, WYK>
WYK>ADOWCA
Je!
Je!eli nie istnieje podzbió
podzbiór zbioru {DZIE9
{DZIE9, GODZINA, SALA} od któ
którego by'
by'by zale!
zale!ny funkcyjnie
zbió
zbiór {PRZEDMIOT, WYK>
WYK>ADOWCA},
ADOWCA}, to zale!
zale!no funkcyjna jest zale!
zale!no ci pe'
pe'n , a wi c
atrybut z'
z'o!ony: DZIE9
DZIE9, GODZINA, SALA jest kluczem relacji.
relacji.
11
Bazy danych
Podstawy teoretyczne
Model relacyjny
Rodzje kluczu relacji.
•
Klucze w'a ciwe – !aden podzbiór w'a ciwy klucza w'a ciwego nie jest kluczem.
•
Klucz g'ówny – jeden z kluczy w'a ciwych relacji, wybrany do identyfikacji krotek relacji.
•
Klucze proste – zawieraj ce jeden atrybut
•
Klucze z'o!one – zawieraj ce wi cej ni! jedne atrybut.
Uwagi:
Klucze okre la si na podstawie analizy encji i ich atrybutów, a nie aktualnie dost pnych danych.
Ka!da relacja powinna mie klucz g'ówny.
12
Bazy danych
Podstawy teoretyczne
Dla powi zania:
Model relacyjny
F
Z1 × Z 2 × K × Z k Z k +1 × K × Z n
gdzie:
Z1, Z2, …, Nn – nazwy zbiorów encji,
encji,
F – odwzorowanie,
mo!na skonstruowa relacj n-cz'onow :
Przyk'ad:
R ( Z1 , Z 2 , K , Z n )
NAUCZYCIEL× GODZINA
zaj(0)
SALA
R( NAUCZYCIEL, GODZINA, SALA)
13
Bazy danych
Podstawy teoretyczne
Model relacyjny
Odwzorowania mog by :
jednowarto ciowe lub wielowarto ciowe (jeden do jednego lub jeden
jeden do wielu),
-
ca'kowite lub cz ciowe (wszystkie encje ze zbioru wej ciowego maj swoje obrazy lub istniej
encje nie posiadaj ce swoich obrazów,
-
o okre lonej liczno ci minimalnej i maksymalnej.
Notacja:
-
nazwy encji rozpoczyna si ma@ liter lub cyfr ,
-
nazwy zbiorów zaczyna si od duBej litery,
-
odwzorowania jednowarto ciowe pisze si ma@ymi literami,
-
odwzorowania wielowarto ciowe rozpoczyna si duB liter ,
-
po odwzorowaniu ca'kowitym pisze si w nawiasie cyfr 1,
-
po odwzorowaniu cz ciowym pisze si w nawiasie cyfr 0,
-
po odwzorowaniu o okre lonej liczno ci pisz
maksymaln .
si
w nawiasie warto
minimaln
14
i
Bazy danych
Podstawy teoretyczne
Model relacyjny
Powi zania:
STUDENT
STUDENT
STUDENT
Relacja:
nazwiskostudenta(1)
NAZWISKO
Studentonazwisku(0)
adresstudenta(1)
ADRES
zapisany (1)
KIERUNEK
Studentzapisany (0)
R1( STUDENT , NAZWISKO, ADRES , KIERUNEK )
Predykat relacji:
( R1 ( s, n, a, k ) = prawda ) (n = nazwiskostudenta( s) a = adresstudenta ( s ) k = zapisany ( s))
15
Bazy danych
Podstawy teoretyczne
Model relacyjny
Przyk'ady:
encja
OSOBA
OSOBA
odwzorowanie
jednowarto ciowe
OSOBA
OSOBA
odwzorowanie
wielowarto ciowe
ple-(1)
wiek (1)
LICZBA
mieszka(1)
pracuje(0)
PARTIA × ROK
zbiór encji
{m, k}
odwzorowanie
ca'kowite
MIASTO
odwzorowanie
cz ciowe
MIASTO
Kandydat (0)
OSOBA
16
Bazy danych
Podstawy teoretyczne
Model relacyjny
Zale!no
relacji.
lekcja(0)
NAUCZYCIEL× DZIE1 × GODZINA
SALA
prowadzi(0)
SALA× DZIE1 × GODZINA
NAUCZYCIEL
n – nauczyciel
d – dzie.
g – godzina
s – sala
(lekcja(n, d , g ) = s) ( prowadzi( s, d , g ) = n)
17
Download