Bazy Danych

advertisement
Bazy Danych
Wykład I
Wprowadzenie
Opracowano na podstawie: „Podstawowy Wykład z Systemów Baz Danych”, J.D.Ullman, J.Widom
Copyrights by Arkadiusz Rzucidło
1
Definicje
„
„
„
Baza danych to uporządkowany zbiór danych,
przechowywany w pamięci komputera.
Bazą danych nazywamy zbiór danych o określonej strukturze,
zapisany na nośniku pamięciowym komputera, mogący
zaspokoić potrzeby wielu użytkowników. W bazie danych
zapisywane są fakty i zdarzenia zachodzące w pewnym
wycinku rzeczywistości.
Bazy danych są komputerowymi reprezentacjami fragmentów
istniejącego świata rzeczywistego
Copyrights by Arkadiusz Rzucidło
2
Definicje
„
„
Baza danych to zestaw danych, metadanych (katalogów),
programów i innych środków pozwalających na utrzymywanie,
zabezpieczanie, przetwarzanie i udostępnianie danych dla
użytkowników
Baza danych jest magazynem danych z nałożoną na niego
wewnętrzną strukturą
W potoczny rozumieniu
„
Baza danych jest zbiorem danych zorganizowanym przez System
Zarządzania Bazami Danych DBMS (Data Base Management
System)
„
Informacje (dane) są takim samym zasobem firmy jak każdy inny
(np. pracownicy, materiały, urządzenia) Informacje mają wartość
tylko wtedy, gdy są dokładne i dostępne wtedy, gdy trzeba. Baza
danych jest standardową metodą strukturalizacji informacji w
większości organizacji.
Copyrights by Arkadiusz Rzucidło
3
Czego oczekuje się od DBMS ?
„
„
„
„
Tworzenia nowej bazy danych i określenia jej schematu
(logicznej struktury danych) za pomocą języka definiowania
danych
Możliwości tworzenia zapytań (query) o dane, aktualizowania
danych za pomocą języka zapytań (query language) lub
języka manipulowania danymi
Możliwości przechowywania dużej ilości danych (GB) przez
dłuższy czas, chroniąc je przed przypadkowym,
niepowołanym dostępem a także umożliwiając efektywny
dostęp do danych za pomocą języka zapytań i operacji
Sterowania jednoczesnym dostępem do danych przez wielu
użytkowników z zapewnieniem bezkolizyjności oraz ochrony
danych przed uszkodzeniem
Copyrights by Arkadiusz Rzucidło
4
Podział ze względu na
budowę:
„
„
„
„
„
Relacyjne bazy danych
Hierarchiczne bazy danych
Sieciowe bazy danych
Obiektowe bazy danych
Obiektowo - relacyjne bazy danych
Copyrights by Arkadiusz Rzucidło
5
Ewolucja
Copyrights by Arkadiusz Rzucidło
6
Hierarchiczne i sieciowe bazy
danych
„
Hierarchiczne
{
{
{
{
„
Pierwsza elektroniczna baza danych
Oparta o strukturę drzewiastą (lasu)
Logiczne powiązania pomiędzy wartościami danych
Powiązania jeden-jeden, jeden-wiele, wiele-jeden
Sieciowe
{
{
Zmodyfikowana wersja typu hierarchicznego
Pozwala na definiowanie powiązań wiele-wiele w postaci
struktury drzewiastej bez powtarzania poszczególnych wartości
w ramach obiektu
Copyrights by Arkadiusz Rzucidło
7
Relacyjne baz danych
{
{
Dane przechowywane w tabelach (stała liczba kolumn i
dowolną liczbę wierszy
Typy
„
„
„
„
„
{
określone są na etapie projektowania bazy danych
Jest ich określona ilość
Mają stały rozmiar
Zwykle są ogólnie znanymi typami prostymi (tekst, liczba)
Każda tabela ma wyróżniony klucz (wyróżniony atrybut lub
kilka atrybutów)
Zapytania do bazy
„
„
Pewien podzbiór bazy danych podawany w tabeli
Dane wybierane na podstawie wartości w konkretnych
polach krotki
Copyrights by Arkadiusz Rzucidło
8
Obiektowe bazy danych
„
„
„
Model danych korzysta z takich pojęć jak: klasy, atrybuty,
metody, udostępnia identyfikatory obiektów (OID),
hermetyzację danych oraz metod, wielokrotne dziedziczenie
Łączą właściwości obiektowości oraz obiektowych języków
programowania
Zapytania
{
{
{
Obiektowo zorientowany język staje się językiem programowania
jak i językiem bazy danych
Zależność pomiędzy obiektem w aplikacji a obiektem w bazie
danych
Możliwość korzystania z SQL dla celów zgodności ze
standardem ODBC
Copyrights by Arkadiusz Rzucidło
9
Porównanie RBDMS i ODBMS
Copyrights by Arkadiusz Rzucidło
10
Podział ze względu na sposób
zarządzania
„
Analityczne bazy danych
{
{
{
{
„
Dane statyczne (historyczne, wydarzenia)
Dane nie wymagają modyfikacji
Dane służą jako źródło do analizy (prognozowania,
analiza tendencji rynkowych)
Przykład: bazy testów chemicznych, danych pomiarowych
Operacyjne bazy danych
{
{
{
Dane wymagają nieustannej modyfikacji – dynamiczne
Przedstawiają aktualny stan rzeczy
Przykład: bazy zamówień, faktur, inwentaryzacyjne)
Copyrights by Arkadiusz Rzucidło
11
Składowe RBDMS
Modyfikacje
schematu
Zapytania
Aktualizacje
Procesor zapytań
Moduł
Zarządzania
Pamięcią
Moduł
Zarządzania
Transakcjami
Dane
Metadane
Copyrights by Arkadiusz Rzucidło
12
Etapy projektowania baz
danych
„
„
„
„
Określenie wymagań systemu
Analiza obszaru działania (modelowanie systemu)
Projektowanie i programowanie
Implementacja
Projektowanie strukturalne
„
specyfikacja funkcjonalna (diagram hierarchii funkcji DHF)
model procesów i przepływu danych (diagram DFD)
„
model danych (encje związki) (diagram związków encji ERD)
„
współpraca z relacyjnymi bazami danych
Copyrights by Arkadiusz Rzucidło
13
Analiza środowiska
„
Wywiad środowiskowy
{
{
„
„
„
Określenie zapotrzebowania
Identyfikacja głównych potrzeb i niedomagań obecnego systemu
informacyjnego
Nakreślenie głównych założeń nowego systemu
Zaplanowanie poprawek i rozwiązań dla nowego systemu
Wstępna analiza funkcji systemu oraz zapotrzebowania na
informację
Copyrights by Arkadiusz Rzucidło
14
Diagram DHF (Diagram Hierarchii Funkcji)
„
„
Reprezentuje układ hierarchiczny funkcji, które system będzie
realizował w czasie pracy
Zasada modelowania funkcji: pokazywać funkcje (co?), a nie
mechanizmy (jak?)
„
„
Funkcje pogrupowane są tematycznie
Zasada dekompozycji - kompletność funkcjonalna - działanie
funkcji nadrzędnej jest sumą działań funkcji podrzędnych
„
„
Zawiera tylko funkcje systemu
Funkcje są wyrażone za pomocą czynności
Copyrights by Arkadiusz Rzucidło
15
Funkcje elementarne
„
„
„
„
Muszą być w całości wykonane lub w całości zaniechane
Stanowią podstawę do projektowania modułów aplikacji
Mogą być dalej dekomponowane dla lepszego
udokumentowania
Dla f. element. modeluje się użycie danych przez funkcje
(modele macierzowe)
Copyrights by Arkadiusz Rzucidło
16
Metodyka tworzenia DHF
„
„
Modelowanie "od góry"
Konwencje:
{
{
„
„
nazwy funkcji opisują ich działanie
etykiety pokazują miejsce w drzewie
Pożądane wymiary drzewa: klika na kilka
Dekompozycja powinna doprowadzić do funkcji
elementarnych
Copyrights by Arkadiusz Rzucidło
17
Przykład DHF (fragment)
Internetowe Wspomaganie
Nauczania
Administrowanie
Studentami
Administrowanie
materiałami
dydaktycznymi
Realizacja procesu
dydaktycznego
Rejestracja studentów
Wprowadzanie materiałów
Udostępnianie materiałów
Logowanie studentów
Edycja materiałów
Raportowanie użycia mater.
Sporządzanie statystyk
Sporządzanie zestawień
Sporządzanie statystyk
Klasyfikowanie materiałów
Tworzenie i edycja grup lab.
Przydzielanie studentów
Rejestrowanie obecności
i ocen
Sporządzanie testów
Copyrights by Arkadiusz Rzucidło
18
Diagram DFD (Diagram Przepływu Danych)
„
„
Diagram przepływu danych jest narzędziem modelowania
pozwalającym zobrazować system jako sieć procesów
funkcyjnych, połączonych ze sobą „potokami” i „zbiornikami”
danych
Cele DFD:
{
{
Specyfikacja czynności wykonywanych przedsiębiorstwie w
powiązaniu z danymi
Specyfikacja obiegu danych
Copyrights by Arkadiusz Rzucidło
19
Budowa DFD
„
Składniki:
{
{
{
{
„
„
procesy
magazyny danych
obiekty zewnętrzne
przepływy danych
Każdy diagram odpowiada jednej funkcji nadrzędnej z
hierarchii dekompozycji
Zasady dekompozycji:
{
{
kompletność funkcjonalna -- jak w FHD
równoważenie między poziomami -- przepływy z/do funkcji
nadrzędnej muszą zostać dokładnie "rozwiązane" jako przeplywy
z/do funkcji podrzędnych
Copyrights by Arkadiusz Rzucidło
20
Proces DFD
„
„
„
Proces pokazuje fragment systemu przekształcający dane na
wyniki
Nazywane pojedynczym słowem lub frazą (jak funkcja DHF –
Co robi proces ?)
Różne notacje
cukier
jajka
mleko
ciasto
Mieszaj ciasto
Proszek
do pieczenia
Copyrights by Arkadiusz Rzucidło
21
Przepływ DFD
„
„
„
Przepływ służy do reprezentacji przenoszenia jednostek
informacji lub pakietów informacji z jednego fragmentu
systemu do innego
Oznaczony jest nazwą informacji, która jest przekazywana
Nazwa powinna być jednoznaczna i nie zawierać dwóch lub
więcej informacji
Numer wewnętrzny
Numer telefonu
Weryfikacja
numeru
telefonicznego
Copyrights by Arkadiusz Rzucidło
Numer zewnętrzny
22
Magazyn danych DFD
„
„
„
Magazyn danych służy do modelowania zbioru danych w
bezruchu
Często nazywany jest plikiem lub bazą danych (bez względu
na fizyczną postać magazynu)
Magazyny zwykło oznaczać się nazwami zgodnymi z
przechowywaną w nich informacją
faktura
Fakturowanie
Dane faktury
Faktury
Copyrights by Arkadiusz Rzucidło
23
Terminator DFD
„
„
„
„
Terminator reprezentuje obiekty zewnętrzne z którymi
komunikuje się system pobierając lub emitując informację
Terminatory znajdują się na zewnątrz systemu i łączą się z
systemem za pomocą interfejsu
Projektant nie może wpłynąć na sposób działania terminatora
Żaden związek pomiędzy terminatorami nie jest istotny dla
systemu
Klient
Dane osobowe
Pobierz
dane
klienta
Dane klienta
Klient
Copyrights by Arkadiusz Rzucidło
24
Wskazówki dotyczące
konstruowania DFD
„
„
„
„
Nazwy znaczące dla elementów diagramów
Numerowanie procesów
Unikać nadmiernie złożonych DFD
Brak sprzeczości logicznej
{
{
{
{
„
„
Nieskończone studnie
Nieskończone źródła
Magazyny tylko do zapisu lub tylko do odczytu
Nieetykietowane przepływy
Żaden z poziomów nie powinien zawierać więcej niż 6-8
procesów
Równoważenie diagramów
Copyrights by Arkadiusz Rzucidło
25
Przykład – DFD kontekstowy
Dane osobowe
Student
Dane konta studenta
Wykonanie testu
Materiały dyd.
Student
Wyniki testów
Materiały edukacyjne
Internetowe
wspomaganie
nauczania
Raporty wyników naucz.
Informacje od studentów
Obecność
Prowadzący
zajęcia
oceny
Prowadzący
zajęcia
Inf. o zajęciach
Copyrights by Arkadiusz Rzucidło
26
Przykład DFD – poziom 0
Informacje od prowadzących
Dane osobowe
Administrowanie
studentami
Test zaliczeniowy
Student
Wyniki testów
Student
Lista studentów
Testy zaliczeniowe
Obecności
Oceny
Prowadzący
zajęcia
Lista grup lab.
Realizacja procesu
dydaktycznego
Raporty frekwencji
Materiały dydaktyczne
Prowadzący
zajęcia
Przydział
materiałów
do przedmiotów
Informacje o zajęciach
Materiały dyd.
Sylabusy
Administrowanie
materiałami
Copyrights by Arkadiusz Rzucidło
27
Koniec
Copyrights by Arkadiusz Rzucidło
28
Moduł zarządzania pamięcią
„
„
„
„
„
Wybieranie właściwych danych z pamięci
Dostosowywanie danych do wymagań modułów z wyższych
poziomów systemu
W prostych systemach może być tym samym co system
plików SO
W większości RDBMS zarządzają bezpośrednio przestrzenią
dysku (efektywność)
Dwa moduły
{
{
Moduł zarządzania plikami – przechowuje dane o miejscu
zapisania plików na dysku
Moduł zarządzania buforami – obsługuje pamięć operacyjną
Powrót
Copyrights by Arkadiusz Rzucidło
29
Moduł zarządzania
zapytaniami
„
„
„
Zadaniem modułu jest przekształcenie zapytania lub operacji
na bazie danych
Zapytania w języku bardzo wysokiego poziomu (np. SQL)
Najtrudniejszym z etapów odpowiedzi na zapytania jest
optymalizacja zapytania
Powrót
Copyrights by Arkadiusz Rzucidło
30
Moduł zarządzania
transakcjami
„
„
„
Odpowiada za spójność systemu
Gwarantuje, że kilka jednocześnie wykonywanych zapytań nie
będzie wzajemnie sobie przeszkadzać
Właściwości transakcji:
{
{
{
{
Niepodzielność – Żądanie aby cała transakcja została
przeprowadzona albo, że żaden z jej elementów nie zostanie
uwzględniony (bankomat – zapis na koncie)
Spójność – baza musi być spójna, dane muszą zaspokajać
oczekiwania klienta (miejsca w samolocie)
Izolacja – Dwie transakcje przeprowadzane równocześnie nie
mogą na siebie wzajemnie wpływać (bilety na ten sam rejs)
Trwałość – Jeśli transakcja zakończy się jej wynik nie może być
utracony z powodu awarii systemu.
Powrót
Copyrights by Arkadiusz Rzucidło
31
Download