indywidualne: modele, funkcje SZBD, charakterystyka elementów BD

advertisement
ZSE - Systemy baz danych
FUNKCJE SZBD
1
System zarządzania bazami danych
System zarządzania bazami danych (SZBD, ang. DBMS) jest zbiorem
narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych a
użytkownikiem i umożliwiających dostęp do danych oraz zarządzanie bazami
danych.
SZBD
BD1
BD2
Podstawowe funkcje SZBD:
- zarządzanie plikami,
- przeszukiwanie danych,
- zarządzanie bazą danych.
.
.
.
BDn
ZSE - Systemy baz danych
3
System zarządzania bazą danych musi posiadać mechanizmy:
• umożliwiające administrowanie zbiorami danych
umieszczonymi w bazie
• zapewniające bezpieczeństwo i integralność danych
• umożliwiają dostęp do danych za pomocą języka zapytań
• zapewniają wielodostępność danych
• pozwalają na autoryzację dostępu do danych
W systemach zarządzania bazą danych można wyodrębnić dwa elementy:
 serwer–przechowuje dane , umożliwia ich pobieranie i aktualizowanie oraz
zapewnia ich integralność i bezpieczeństwo;
 oprogramowanie pośredniczące -realizuje komunikację między użytkownikiem ,
a serwerem. Wyposażone jest w mechanizmy pozwalające wykorzystywać
pobierane dane , na przykład w narzędzia do tworzenia i obsługi formularzy oraz
Raportów.
ZSE - Systemy baz danych
4
Podstawowe funkcje SZBD
• tworzenie struktur baz danych,
• wykonywanie operacji CRUD (Create, Read,
Update, Delete),
• obsługa zapytań (selekcjonowanie danych),
• generowanie raportów i zestawień,
• administracja bazą danych.
ZSE - Systemy baz danych
5
Funkcje SZBD (Systemu Zarządzania Bazami Danych)
•
•
•
•
•
optymalizacja zapytań - takie przekształcanie zapytań
kierowanych do bazy przez jej użytkowników aby czas
oczekiwania na odpowiedź był możliwie najkrótszy,
zapewnienie integralności danych - uniemożliwienie
przejścia bazy do stanu, który nie istnieje w modelowanej
rzeczywistości,
zarządzanie współbieżnym dostępem wielu użytkowników
w taki sposób aby każdy z nich był niewidoczny
(„przeźroczysty”) dla innych użytkowników; każdy z
użytkowników musi być przekonany o tym, że jest wyłącznym
właścicielem danych,
odporność na awarie (niezawodność bazy danych) możliwość odtworzenia poprawnego stanu bazy danych sprzed
awarii,
ochrona danych - uniemożliwienie dostępu nieuprawnionych
użytkowników do poufnych danych innych użytkowników.
ZSE - Systemy baz danych
Schemat SZBD
 Moduł zarządzania pamięcią
przechowuje informacje
o miejscu zapisania plików bazy
danych na dysku oraz
obsługuje pamięć operacyjną.
 Procesor zapytań
przekształca zapytanie lub operację
języka zapytań w ciąg poleceń
żądających określonych
danych.
 Moduł zarządzania
transakcjami - kontroluje
poprawność i kompletność
wykonania wszystkich
transakcji.
6
ZSE - Systemy baz danych
7
CHARAKTERYSTYKA
ELEMENTÓW BAZ DANYCH.
Zagadnienia: encja, atrybut, krotka, dziedzina, klucz
(główny, kandydujący, obcy, prosty, złożony).
ZSE - Systemy baz danych
8
Elementy baz danych
• Twórca relacyjnego modelu danych – E.F. Codd – w pracy
Relacyjny model danych dla dużych banków nie używa
terminów tabela, kolumna, wiersz, lecz zamiast nich
stosuje pojęcia:
• relacja (zamiast tabela),
• atrybut (zamiast kolumna),
• krotka (zamiast wiersz).
ZSE - Systemy baz danych
Terminologia:
9
ZSE - Systemy baz danych
10
Terminologia:
• Dziedzina - jest zbiorem wartości, jakie może przyjąć
atrybut krotki (np. dla imienia to Ela, Jan , Tomek).
• Klucz główny( primary key) to klucz, który został
wybrany, aby unikatowo identyfikować krotki .Klucz
główny jest podyktowany wyborem projektanta bazy
danych tabeli.
• Cechy klucza głównego:
• ID (unikatowość)
• NOT NULL (trwałość)
• Atrybut niezmienny w czasie (stabilność)
• Krótki
• Krotka jest wierszem w tabeli
ZSE - Systemy baz danych
11
Terminologia:
• klucz prosty – to taki, który jest jednoelementowy (składa się z
jednej kolumny),
• klucz złożony –to taki, który jest kilkuelementowy (składa się z
więcej niż jednej kolumny)
• Do łączenia dwóch tabel (np. A i B) za pomocą związków
używa się klucza. Klucz pochodzący z obcej tabeli B (w której
jest on kluczem głównym), używany do łączenia tej tabeli z
tabelą A, będzie dla tabeli A kluczem obcym.
• Klucz kandydujący (nadklucz, klucz potencjalny) o super
klucz zawierający minimalną liczbę kolumn unikatowo
identyfikujących krotki relacji. W praktyce to kolumna lub
kolumny, których użycie w charakterze klucza głównego jest
rozważane przez projektanta baz danych. To właśnie twórca
bazy danych decyduje, której kolumnie (kolumnom) nada
funkcję klucza głównego.
Pojęcie ENCJI
Encja to pewien wyodrębniony
logicznie i jednoznacznie określony byt
(obiekt), rozpoznawalny w badanej
rzeczywistości i pełniący w niej
określoną rolę. Encja może być
zarówno obiektem fizycznym (takim
jak np. samochód, drzewo, książka
itp.) jak również zdarzeniem (np.
sprzedaż
samochodu,
zasadzenie
drzewa, zakup książki itp.). Każda
encja
jest
jednoznacznie
identyfikowana na podstawie swojej
nazwy. Przyjęło się, że nazwy encji są
rzeczownikami w liczbie pojedynczej.
Graficznie
każda
encja
jest
reprezentowana przez prostokąt.
Badana rzeczywistość:
organizacja zajęć
dydaktycznych
Kierunek
Przedmiot
Wykładowca
Student
Sala
Grupa
Atrybuty ENCJI
Student
Sala
Atrybuty encji to cechy (własności)
Nazwisko
Numer
charakteryzujące daną encję w
badanej
rzeczywistości,
którym
Imię
Rodzaj
przypisywane są określone wartości.
Rok_Studiów
Ilość_miejsc
Wartości poszczególnych atrybutów
Nr_indeksu
Sprzęt
pozwalają odróżniać encje od siebie.
Encje posiadające te same własności tworzą typy (zbiory) encji. W
praktyce, dla uproszczenia przyjęto używać określenia encja zarówno
w odniesieniu do typu encji, jak również do określonego wystąpienia
encji (określonej instancji encji).
Typ Encji:
Studenci
Instancja encji:
Nazwisko: Kowalski
Imię: Jan
Rok_Studiów: I
Nr_indeksu: R-10/03
Instancja encji:
Nazwisko: Nowak
Imię: Anna
Rok_Studiów: IV
Nr_indeksu: R-24/99
Związki ENCJI
Związki określają powiązania pomiędzy poszczególnymi encjami. W
najprostszych modelach uwzględniane są związki występujące pomiędzy
dwoma encjami. Pomiędzy dwoma różnymi encjami może zachodzić wiele
związków, ale pomiędzy dwoma tymi samymi encjami może zachodzić
tylko jeden związek.
Każdy związek posiada swoją
nazwę. Przyjęło się, że nazwy
związków
są
czasownikami.
Graficznie związek jest zwykle
reprezentowany
przez
romb
połączony liniami z encjami,
pomiędzy którymi zachodzi wraz z
oznaczeniem jego liczebności (a)
lub
też
przez
samą
linię
zakończoną
symbolami
określającymi jego liczebność (b).
W niektórych notacjach nazwy
związków się pomija.
Student
M
Zawiera
1
a)
Student
b)
Grupa
Grupa
Liczebność związku ENCJI
Liczebność (stopień) związku encji określa liczbę instancji biorących udział w
danym związku. Rozróżnia się związki:
- jednojednoznaczne (jeden-dojeden, 1:1) – każdej instancji
pierwszej encji odpowiada dokładnie
jedna instancja drugiej encji i
odwrotnie;
- jednoznaczne (jeden-do-wiele,
1:M) – każdej instancji pierwszej
encji odpowiada M instancji drugiej
encji, ale każdej instancji drugiej
encji odpowiada tylko jedna instancja
pierwszej encji;
- wieloznaczne (wiele-do-wiele,
M:N) – każdej instancji pierwszej
encji odpowiada M instancji drugiej
encji, a każdej instancji drugiej encji
odpowiada N instancji pierwszej
encji.
Student
Dyplom
Student
Grupa
Student
Przedmiot
ZSE - Systemy baz danych
16
PRZYKŁADY ZWIĄZKÓW
Opcjonalność ( może)
wymagany ( musi)
ZSE - Systemy baz danych
Przykład ERD
17
ZSE - Systemy baz danych
MODELE BAZ DANYCH
18
Modele danych
Model danych w kontekście architektury danych to „...
zbiór zasad dotyczących struktur danych, ich używania oraz
określania warunków wspomagających utrzymywanie
zgodności danych z rzeczywistością.*”
Modele danych obejmują trzy główne kategorie reguł:
- definicje danych – zbiór reguł określających logiczną
strukturę danych
- zasady operowania danymi – reguły dotyczące procesu
dostępu do danych i ich modyfikacji;
- zasady integralności danych – reguły określające jakie
operacje na danych są dopuszczalne aby dane pozostały nadal
poprawne.
*Banachowski L., Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1998
Hierarchiczny model danych
Hierarchiczny model danych wykorzystuje dwie podstawowe
struktury danych: typy rekordów oraz hierarchiczne związki jeden-dowiele (typu rodzic/dziecko). Model ten ma znaczenie historyczne.
Rekord: Kierunek studiów
Rodzic: none
Rekord: Przedmiot
Rodzic: Kierunek studiów
A co
z prowadzeniem
Rekord:
Przedmiot
przedmiotów?!
Rodzic:
Wykładowca
Rekord: Wykładowca
Rodzic: Kierunek studiów
Rekord: Student
Rodzic: Kierunek studiów
Sieciowy model danych
Sieciowy model danych wykorzystuje również dwie podstawowe struktury
danych: typy rekordów oraz typy kolekcji, stanowiące związki jeden-do-wiele.
Istotne jest, że jeden typ rekordu podrzędnego może być podporządkowany
kilku typom rekordów nadrzędnych. Model ten stanowi rozwinięcie modelu
hierarchicznego.
uwzględnia
Rekord: Kierunek studiów
obejmuje
zatrudnia
Rekord: Przedmiot
Rekord: Wykładowca
prowadzi
Rekord: Student
Relacyjny model danych
Relacyjny model danych wykorzystuje tylko jedną strukturę danych –
relację. Relacja jest dwuwymiarową tabelą spełniającą następujące
zasady:
- każda relacja ma jednoznaczną nazwę;
- każda kolumna w relacji ma jednoznaczną nazwę w ramach relacji;
- wszystkie wartości w kolumnie muszą być tego samego typu;
- porządek kolumn w relacji jest nieistotny;
- każdy wiersz relacji musi być różny (powtarzanie wierszy jest
niedozwolone);
- porządek wierszy nie jest istotny;
- każde pole leżące na przecięciu kolumny/wiersza w relacji powinno
zawierać wartość atomową.
Twórcą założeń relacyjnego modelu danych jest dr E. F. Codd (z
wykształcenia matematyk), który opublikował je w roku 1970.
Relacyjny model danych c.d.
Każda relacja posiada nagłówek, określający jej atrybuty.
Nazwa relacji wraz ze zbiorem jej atrybutów określana jest mianem
schematu relacji, przedstawianego w sposób następujący:
NazwaRelacji(atrybut-1, atrybut-2,...,atrybut-n).
Kolejne wiersze relacji, poza wierszem nagłówkowym nazywane są
krotkami.
Dla każdej relacji musi być określony jednoznaczny identyfikator
określany mianem klucz główny.
Atrybuty
Klucz główny
Nagłówek
Krotki
ID
1
2
Nazwisko
Imię
Telefon
Kowalski
Jan
12345
Kowalski
Jan
67890
Obiektowy model danych
Koncepcja obiektowego modelu danych sprowadza się do rozszerzenia
modelu relacyjnego o cechy obiektowe. W modelu tym mogą występować
relacje zagnieżdżone, opisujące atrybuty złożone. Podstawowymi
składnikami modelu obiektowego są:
-obiekty, stanowiące pakiety danych (przechowywanych w atrybutach obiektu) i
metod (umożliwiających operowanie danymi);
-klasy obiektów, stanowiące zgrupowanie podobnych obiektów, pozwalające na
określanie wspólnych dla grupy obiektów atrybutów, metod i związków.
Z pojęciem klas związane jest
pojęcie dziedziczenia, polegające
na przejmowaniu przez podklasy
atrybutów i metod z klasy
nadrzędnej.
Klasa: Pracownik
Atrybuty:
Nazwisko (Char),
Staż (Int)
Stawka (Int)
Klasa: Kierownik
Atrybuty:
Dodatek (Int)
Klasa
nadrzędna
Podklasa
Rozproszone bazy danych
Rozproszone bazy danych opierają swoją strukturę w dużej mierze na
relacyjnym modelu danych. Są to systemy, w których występuje
fragmentacja danych i rozmieszczenie ich w różnych geograficznie
miejscach organizacji.
Proces aplikacji
BD1
SZBD
BD2
Rozproszone bazy danych c.d.
Do podstawowych typów rozproszonych baz danych należą:
- systemy klient-serwer, w których baza danych jest przechowywana na
jednym serwerze i może być udostępniana wielu klientom;
- systemy jednorodne, w których dane rozłożone są na wielu serwerach,
opartych na tym samym SZBD;
- systemy niejednorodne, w których konfiguracje sprzętowe i
oprogramowania serwerów mogą być różne;
- systemy federacyjne, składające się z pewnej liczby niezależnych baz
danych, które w razie potrzeby mogą wykonywać wspólne zadania.
Interpreter
PHP
2
Przeglądarka
WWW
1
5
Przykład systemu klient-serwer
Serwer
WWW
3
4
Serwer
MySQL
Download