Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym dla siebie czasie. System Zarzdzania Baz Danych (SZBD) jest to oprogramowanie umo!liwiajce wspó'prac u!ytkownika z baz danych. System bazy danych sk'ada si z bazy danych, systemu zarzdzania baza danych oraz dodatkowych aplikacji wspomagajcych. Transakcja jest sekwencj instrukcji, po wykonaniu której spójna baza danych nadal zachowuje sw spójno. Spójno bazy danych jest to zgodno z modelowan rzeczywistoci. Istotne zagadnienia zwizane z SZBD: opis danych, formy korzystania z bazy danych, integralno danych, poufno danych, wspó'bie!no dostpu, niezawodno. 2
Pojcia podstawowe Jzyk opisu danych jest narzdziem s'u!cym do utworzenia schematu pojciowego i jest on cile zwizany z modelem. Umo!liwia on definiowanie klas obiektów oraz powiza. midzy nimi. Jzyk manipulowania danymi s'u!y do: - wprowadzania, - modyfikacji, - usuwania, - wyszukiwania, - formu'owania zapyta.. Jednym z bardziej istotnych postulatów stawianych bazom danych jestj niezale!no programów od danych. 3
Poziomy reprezentacji bazy danych: Bazy danych Pojcia podstawowe - wewntrzny (sposób organizacji danych w pamici zewntrznej), - pojciowy (model - abstrakcyjny opis rzeczywistoci), - zewntrzny (posta danych widziana z punktu widzenia programu u!ytkowego). Sposoby reprezentacji danych na poziomie pojciowym (modele): - hierarchiczny, - sieciowy, - relacyjny, - obiektowy, - relacyjno - obiektowy. 4
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!liwoci zapewniania spójnoci danych poprzez automatyczne sprawdzanie warunków integralnoci, wielodostp, rozszerzalno, mo!liwo rozproszenia danych, mo!liwo kaskadowego usuwania powizanych obiektów. 5
Relacyjne bazy danych Projektujc relacyjn baz danych nale!y: okreli sposób realizacji zwizków pomidzy klasami/encjami, okreli typy kolumn w relacjach odpowiadajcych polom/atrybutom klas/encji. okreli kolumny identyfikujce dla ka!dej relacji, mog to by istniejce kolumny (grupy kolumn) lub sztuczne kolumny identyfikujce, znormalizowa struktur bazy danych, okreli indeksy poszczególnych relacji. Je!eli projektowanie odbywa si na podstawie modelu obiektowego, etapem porednim mo!e by transformacja fragmentu modelu obejmujcego (wybrane) klasy trwa'e do modelu zwizku encji. Linia Punkt linii 6
Relacyjne bazy danych Encja odzwierciedla materialny lub niematerialny obiekt wiata rzeczywistego opisany w danym schemacie pojciowym (modelu). Przyk'ady encji: - Ania - Kowalski - 1.56-5 - zielony - 2003-11 11-28 Encje tego samego typu mo!na grupowa w zbiory encji. Przyk'ady encji: - wszyscy studenci, - wszyscy wyk'adowcy, - wszystkie sale wyk'adowe. 7
Ka!dy zbiór encji posiada unikalny identyfikator. Bazy danych Relacyjne bazy danych Sposoby definiowania zbiorów: 1. ekstenjonalny (wyliczenie elementów) {mski, eski}, 2. intensjonalny (podanie w'asnoci) {xosoba pe(x)=mska}, 3. za pomoc iloczynu kartezja.skiego X Y Z;(x,y,z);xX,yY,zZ, 4. za pomoc operatorów: sumy, przecicia i ró!nicy zbiorów. Powizanie jest relacj dwucz'onow na zbiorach encji,, co zapisuje si: gdzie: X, Y s zbiorami encji encji (nie koniecznie ró!nymi), F, G s odwrotnymi wzgldem siebie odwzorowaniami. X F G Y 8
Schemat relacji to zbiór nazw atrybutów: S = { {A 1, A 2,, A n } Relacj na schemacie S jest dowolny podzbiór iloczynu kartezja.skiego jednej lub wielu dziedzin: R s D 1 D 2... D n. Ka!da relacja jakiego iloczynu kartezja.skiego D 1 D 2... D n jest zbiorem krotek: R = { {k 1, k 2,, k m } Elementami relacji s krotki k j = (d 1, d 2,..., d n ),, gdzie d i D 1 dla i = 1, 2,, n. Przyk'ad: Je!eli n=2, D 1 ={0, 1} oraz D 2 ={a, b, c} to D 1 D 2 jest zbiorem: {(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)}. Zbiór {(0, a), (0, b), (1, a)} jest relacj; tzn. podzbiorem D 1 D 2. 9
Relacja mo!e by przegldana jak tabela,, gdzie ka!da krotka jest przedstawiana jako wiersz,, a ka!da kolumna jest czci krotki odpowiada atrybutowi. Relacyjna baza danych jest zbiorem relacji spe'niajcych warunki integralnoci dla ka!dej relacji i midzy nimi. Okrela si dziedzin D i, dla ka!dego atrybutu A i, 1 + i + n,, skd brane s wartoci atrybutów. Czsto schemat relacji zapisuje si: R (A 1, A 2,...,,A n ). Krotk zapisuje si: k = ( (a 1, a 2,...,,a n ) 10
Klucz relacji. Klucz K relacji R jest to minimalny zbiór atrybutów, które jednoznacznie wyznaczaj ka!d krotk. KS: R s (k 1, k 2 R s (k 1.k 2 k 1 [K].k 2 [K])), gdzie k i [K] podkrotka zawierajca tylko atrybuty z klucza K. Dla relacji R (X, Y, Z), X stanowi klucz relacji,, je!eli zale!no funkcyjna XY, Z jest pe'n zale!no noci funkcyjn. Oznacza to,!e X jest kluczem relacji jeli dla!adnego podzbioru w'aciwegow X nie jest spe'niona zale!no no X Y, Z. Przyk'ad: Relacja: R (PRZEDMIOT, DZIE9,, GODZINA, SALA, WYK>ADOWCA) Zale!no no funkcyjna: DZIE9,, GODZINA, SALA PRZEDMIOT, WYK>ADOWCA Je!eli eli nie istnieje podzbiór r zbioru {DZIE9,, GODZINA, SALA} od którego by'by zale!ny funkcyjnie zbiór {PRZEDMIOT, WYK>ADOWCA} ADOWCA},, to zale!no no funkcyjna jest zale!no noci pe'n,, a wic atrybut z'o!ony: z ony: DZIE9,, GODZINA, SALA jest kluczem relacji. 11
Rodzje kluczu relacji. Klucze w'aciwe!aden podzbiór w'aciwy klucza w'aciwego nie jest kluczem. Klucz g'ówny jeden z kluczy w'aciwych relacji, wybrany do identyfikacji krotek relacji. Klucze proste zawierajce jeden atrybut Klucze z'o!one zawierajce wicej ni! jedne atrybut. Uwagi: Klucze okrela si na podstawie analizy encji i ich atrybutów, a nie aktualnie dostpnych danych. Ka!da relacja powinna mie klucz g'ówny. 12
Dla powizania: F Z Z Z Z + K Z 1 2 K k k 1 n gdzie: Z 1, Z 2,, N n nazwy zbiorów encji, F odwzorowanie, mo!na skonstruowa relacj n-cz'onow: Przyk'ad: R( Z, Z2, K, Z 1 n ) zaj(0) NAUCZYCIEL GODZINA SALA R( NAUCZYCIEL, GODZINA, SALA) 13
Odwzorowania mog by : Bazy danych - jednowartociowe lub wielowartociowe (jeden do jednego lub jeden n do wielu), - ca'kowite lub czciowe (wszystkie encje ze zbioru wejciowego maj swoje obrazy lub istniej encje nie posiadajce swoich obrazów, - o okrelonej licznoci minimalnej i maksymalnej. Notacja: - nazwy encji rozpoczyna si ma@ liter lub cyfr, - nazwy zbiorów zaczyna si od dubej litery, - odwzorowania jednowartociowe pisze si ma@ymi literami, - odwzorowania wielowartociowe rozpoczyna si dub liter, - po odwzorowaniu ca'kowitym pisze si w nawiasie cyfr 1, - po odwzorowaniu czciowym pisze si w nawiasie cyfr 0, - po odwzorowaniu o okrelonej licznoci pisz si w nawiasie warto minimaln maksymaln. 14 i
Powizania: nazwiskostudenta(1) STUDENT NAZWISKO Studentonazwisku (0) adresstudenta(1) STUDENT ADRES STUDENT zapisany(1) KIERUNEK Studentzapisany(0) Relacja: R1( STUDENT, NAZWISKO, ADRES, KIERUNEK) Predykat relacji: ( R 1( s, n, a, k) = prawda) ( n = nazwiskostudenta( s) a = adresstudenta( s) k = zapisany( s)) 15
Przyk'ady: encja OSOBA ple-(1) { m, k} zbiór encji odwzorowanie jednowartociowe odwzorowanie wielowartociowe wiek(1) OSOBA LICZBA mieszka(1) OSOBA MIASTO pracuje(0) OSOBA MIASTO Kandydat(0) PARTIA ROK OSOBA odwzorowanie ca'kowite odwzorowanie czciowe 16
Zale!no relacji. n nauczyciel d dzie. g godzina s sala lekcja(0) NAUCZYCIEL DZIE1 GODZINA SALA prowadzi(0) SALA DZIE1 GODZINA NAUCZYCIEL ( lekcja ( n, d, g) = s) ( prowadzi( s, d, g) = n) 17