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