PPT - pjwstk.edu.pl

Download Report

Transcript PPT - pjwstk.edu.pl

Modele baz danych - spojrzenie
na poziom fizyczny
SZB, L.Banachowski
1
Typ i plik rekordów
Schemat bazy danych to:
– zbiór typów rekordów (którym odpowiadają pliki rekordów), i
– zbiór związków jednoznacznych (jeden do wiele) między nimi,
nazywanych też powiązaniami.
Rekord po stronie jeden związku nazywa się nadrzędny.
Rekord po stronie wiele związku nazywa się podrzędny.
Jednemu rekordowi nadrzędnemu odpowiada kolekcja
rekordów podrzędnych pozostających z nim w
rozważanym związku.
SZB, L.Banachowski
2
Model sieciowy
Oprócz wskazanych powiązań, powiązania od rekordów
podrzędnych do nadrzędnych (czyli od pracowników do
departamentów i stanowisk).
SZB, L.Banachowski
3
Model hierarchiczny
SZB, L.Banachowski
4
Model relacyjny
Tabele – zbiory rekordów. Powiązania miedzy rekordami przez
wartości klucz obcy – klucz główny.
SZB, L.Banachowski
5
Zalety SZBD
Niezależność danych – Programy aplikacyjne są niezależne od
szczegółów reprezentacji danych i ich przechowywania na
dysku.
Szybki dostęp do danych – SZBD ma do dyspozycji wiele
skomplikowanych metod przechowywania i wyszukiwania
danych:
– bardzo dużo danych i są one przechowywane w pamięci
zewnętrznej.
Spójność i ochrona danych – Dostęp do danych odbywa się
wyłącznie za pomocą SZBD:
– jednolite więzy spójności niezależne od aplikacji przetwarzającej
dane
– jednolity system kontroli dostępu do danych określający, jakie dane
są dostępne dla jakich użytkowników.
SZB, L.Banachowski
6
Zalety SZBD
Administracja danymi – Dane używane przez różnych
użytkowników są centralnie administrowane:
– dopasowanie reprezentacji danych w celu zminimalizowania
redundancji ich zapisu
– dopasowanie struktury przechowywania danych na dysku w celu
przyśpieszenia wyszukiwania danych.
Współbieżny dostęp i odtwarzanie po awarii – SZBD umożliwia
i kontroluje współbieżny dostęp do danych przez wielu
użytkowników tak, że każdy z nich ma wrażenie, że tylko
on używa tych danych w danej chwili. SZBD zabezpiecza
dane przed utratą w sytuacji zaistnienia różnego rodzaju
awarii.
Zmniejszony czas tworzenia aplikacji – SZBD dostarcza
wspólnych funkcji dla aplikacji korzystających z danych w
bazie danych; dostarcza interfejsu wysokiego poziomu do
danych.
SZB, L.Banachowski
7
Trzy poziomy schematu bazy danych w
SZBD
logiczny (koncepcyjny) – opisuje przechowywane dane w
kategoriach modelu danych SZBD, np. w modelu
relacyjnym jest to zbiór tabel tworzących bazę danych.
Na tym poziomie są definiowane niektóre obiekty
używane na innych poziomach jak np. perspektywy,
indeksy.
fizyczny – opisuje jak dane (w modelu relacyjnym tabele)
są zapisywane na dysku i jak są implementowane
indeksy.
zewnętrzny - opisuje sposób użycia bazy danych przez
aplikację, końcowego użytkownika – np. w modelu
relacyjnym za pomocą perspektyw – wirtualnych tabel
zamiast rzeczywistych.
SZB, L.Banachowski
8
Przykład
Poziom logiczny - tabele:
– Studenci(sid: string, nazwisko: string, login: string, wiek:
integer, gpa:real)
– Kursy(kid: string, nazwa:string, punkty:integer)
– Zapisany(sid:string, kid:string, stopień:string)
Poziom zewnętrzny nr. 1 – perspektywa:
– Course_info(kid:string, nazwa:string,
punkty:integer, liczba_studentów:integer)
Poziom zewnętrzny nr. 2– perspektywa:
– Student_info(sid:string, nazwisko:string, login: string,
wiek: integer, gpa:real, liczba_kursów:integer)
SZB, L.Banachowski
9
Niezależność danych
logiczna – użytkownicy jak i aplikacje są osłaniane
przed zmianami w logicznej strukturze danych
– np. w wyborze tabel przy pomocy których będą
reprezentowane dane na poziomie logicznym,
– możliwość integracji różnych aplikacji bez ich zmiany.
fizyczna – schemat logiczny osłania
użytkowników przed zmianami w schemacie
fizycznym opisującym w jaki sposób są zapisane
dane na dysku i jakie indeksy są używane.
SZB, L.Banachowski
10
Postulaty Codda – relacyjny system
zarządzania bazą danych
Postulat informacyjny. Na poziomie logicznym dane są
reprezentowane wyłącznie za pomocą tabel wartości.
Postulat dostępu. Do każdej pojedynczej danej jest
możliwy dostęp za pomocą tabel, kolumn i wartości klucza
głównego.
Postulat obiektu null. W systemie jest dostępny specjalny
obiekt reprezentujący stan braku wartości (tj.
reprezentujący wartość brakującą, nieokreśloną lub
nieznaną) – różny od każdej konkretnej wartości jak 0 lub
napis pusty.
Postulat struktury metadanych. Informacje o obiektach
bazy danych tworzących schemat bazy danych są na
poziomie logicznym pogrupowane w tabele i dostępne w
taki sam sposób jak każde inne dane.
SZB, L.Banachowski
11
Postulaty Codda
Postulat pełnego języka danych. W systemie jest
zaimplementowany pełny język obejmujący definiowanie tabel,
perspektyw, więzów spójności, operowanie danymi
(interaktywne i przez interfejs programistyczny), nadawanie
uprawnień użytkownikom, transakcje.
Postulat modyfikowania bazy danych przez perspektywy.
System umożliwia modyfikowanie danych przy użyciu
perspektyw, w przypadku gdy taka modyfikacja jest
semantycznie sensowna.
Postulat modyfikowania danych na wysokim poziomie
abstrakcji. System umożliwia modyfikowanie danych za
pomocą operacji, których argumentami są tabele (perspektywy)
Fizyczna niezależność danych. Zmiany w metodach
przechowywania danych i dostępu do nich nie mają wpływu
na aplikacje.
SZB, L.Banachowski
12
Postulaty Codda
Logiczna niezależność danych. Zmiany w tabelach
zachowujące informacje i dopuszczalne semantycznie nie
mają wpływu na aplikacje.
Niezależność więzów spójności. Więzy spójności są
definiowalne w języku bazy danych (nie muszą być
wyrażane w aplikacji).
Niezależność dystrybucyjna. System (i jego język)
umożliwiają używanie danych zapisanych w różnych
fizycznie miejscach (w różnych węzłach sieci).
Zabezpieczenie przed operacjami na niższych poziomach
abstrakcji. Jeśli system umożliwia operacje na niższych
poziomach abstrakcji, nie mogą one naruszać relacyjnego
modelu danych (w tym nie mogą pomijać ograniczeń
określonych przez więzy spójności).
SZB, L.Banachowski
13