Wprowadzenie do baz danych

advertisement
Wprowadzenie do baz danych
Wprowadzenie do baz danych
Każde przedsiębiorstwo przechwuje jakieś dane. Zajmijmy się przykładowo linią lotniczą.
Firma taka musi zbierać informacje o pasażerach, rejsach, samolotach i personelu. Pomiędzy tymi
danymi zachodzą jakieś związki, które także należy przechowywać w komputerze. Związki te to np.
rezerwacje (kórzy pasażerowie zarezerwowali miejsca na które rejsy) lub załogi samolotów (kto ma
być pierwszym pilotem, w których rejsach). Tego rodzaju dane, przechowywane w komputerze stale
lub czasowo, nazywamy bazą danych (BD).
Baza danych może być traktowana na wiele sposobów, np. jako:
model świata rzeczywistego
zbiór struktur danych
uniwersum interpretacji języka danych – czyli zbiór wartości wyrażeń pewnego języka danych
zasób systemu informatycznego – zasób o którego przydział współzawodniczą ze sobą procesy
współbieżne
element składowy systemu informatycznego – o ustalonych związkach między systemem zarządzania
bazą danych a systemem operacyjnym komputera oraz o określonych środkach sprzętowych i
programowych do przechowywania danych, transmisji, komunikacji z człowiekiem
MODEL ŚWIATA
RZECZYWISTEGO
ZASÓB SYSTEMU
INFORMATYCZNEGO
BAZA
DANYCH
ELEMENT
SKŁADOWY
ZBIÓR
STRUKTUR
DANYCH
INFORMATYCZNEGO
SYSTEMU
UNIWERSUM
INTERPRETACJI
JĘZYKA
www.wkuwanko.pl
DANYCH
1
Wprowadzenie do baz danych
W bazie danych odwzorowana jest wiedza odnosząca się do pewnego wydzielonego
fragmentu świata rzeczywistego. Powstają dwa pytania:
Jaki zakres wiedzy może być odwzorowany w bazie danych?
W jaki sposób odwzorowanie to może być zrealizowane?
W przypadku sformatowanych baz danych (takimi się tu zajmujemy), tj. w których można podać
skończony zbiór wzorców służących do wyrażania pewnych informacji o stanie świata rzeczywistego –
zakres odwzorowywanej wiedzy nie może być szeroki. O wiele szerszy zakres wiedzy można
odwzorować stosując np. pewne metody opracowane w dziedzinie sztucznej inteligencji, takie jak sieci
semantyczne, specjalne języki oparte na rachunku predykatów lub wyspecjalizowane języki opisu
wiedzy.
Ustalenie związków między danymi w BD a faktami w świecie rzeczywistym (czyli ustalenie semantyki
danych) nie odbywa się bezpośrednio. Pomostem umożliwiającym określenie tych związków jest tzw.
schemat konceptualnej bazy danych.
ŚWIAT
SYSTEMATYZACJA
FRAGMENTU ŚWIATA
ANALIZA
SYSTEMO
WA
MODEL
KONCEPCYJN
Y
IMPLEMENTACJA
W JĘZYKU DML I DDL
MODEL
LOGICZNY
DANYCH
IMPLEMENTACJA
NISKIEGO POZIOMU
REALIZACJA (NP. W C)
FIZYCZNA
www.wkuwanko.pl
2
Wprowadzenie do baz danych
Fizyczna baza danych jest stale przechowywana w pamięci pomocniczej np. na dyskach, taśmach. W
fizycznej BD można wyróżnić kilka poziomów abstrakcji, poczynając od poziomu rekordów i plików w
językach programowania (np. Pascal, C) przez poziom rekordów logicznych w systemie operacyjnym,
na którym opiera się system zarządzania bazą danych, aż do poziomu bitów i adresów fizycznych w
pamięci.
Proces przejścia od faktów w świecie rzeczywistym do danych w BD podzielono poniżej na pięć
etapów:
(1)
FAKTY W ŚWIECIE
RZECZYWISTYM
(2)
PODZBIÓR JĘZYKA
NATURALNEGO DO
FORMUŁOWANIA
WYPOWIEDZI O FAKTACH W
ŚWIECIE RZECZYWISTYM
(3)
ABSTRAKCYJNY MODEL
ŚWIATA RZECZYWISTEGO
(4)
KONCEPTUALNA BAZA
DANYCH
PRZEDSTAWIENIE
ABSTRAKCYJNEGO
MODELU ZA POMOCĄ
DIAGRAMU O-Z
LOGICZNA BAZA DANYCH
(5) że istnieje pewien obiektywny i poznawalny świat rzeczywisty (1), który chcemy
Zakładamy,
odwzorować w bazie danych (5). Możliwe jest (jak to zaznaczono strzałkami) przejście zarówno od
świata rzeczywistego do baz danych jak i odwrotne (5)(1). Zakres wiedzy podlegającej
odwzorowaniu wyznacza nam zasób wyrażeń języka naturalnego, w którym wiedza ta ma być
formułowana. W ten sposób wyznaczany jest pewien podzbiór języka naturalnego (2). Etap (3) to
tworzenie abstrakcyjnego modelu świata rzeczywistego, który zawiera pojęcia ściśle związane z
wyrażeniami wybranego podzbioru języka naturalnego, a jednocześnie umożliwia formalne
sformułowanie pewnych niezmienniczych praw istniejących w świecie rzeczywistym. Kolejnym etapem
jest przedstawienie języka służącego do opisu modelu abstrakcyjnego. Zbiór wyrażeń tego języka
nazywamy schematem konceptualnej bazy danych (4).
Formułowanie i przekazywanie wiedzy o świecie rzeczywistym możliwe jest tylko za pomocą
specjalnego języka. Mamy wówczas do czynienia z trzema procesami: nazywaniem, selekcją i
klasyfikowaniem pewnych interesującyh faktów występujących w świecie. W dalszym ciągu zajmować
się będziemy jedynie sformatowaną wiedzą opisową (deskryptywną, sytuacyjną), a więc dotyczącą
www.wkuwanko.pl
3
Wprowadzenie do baz danych
faktów odnoszących się do ustalonych stanów świata rzeczywistego, nie będziemy rozważać wiedzy
operacyjnej, proceduralnej – opisującej zjawiska przyczynowo skutkowe. Skorzystamy dalej z
metodyki zaproponowanej przez Chena, szeroko przyjętej w teorii i praktyce baz danych.
Do podstawowych faktów rozpatrywanych w świecie rzeczywistym, o których wiedza reprezentowana
jest w bazie danych, zaliczamy: występowanie obiektów, encji (entity), pozostawanie tych obiektów
we wzajemnych powiązaniach (relationship) między sobą oraz posiadanie przez obiekty powiązania
określonych wartości (value) atrybutów (attribute).
Obiekt (encja) jest przedmiotem (materialnym lub abstrakcyjnym), który może być wyróżniony i
określony w świecie rzeczywistym i o którym chcemy pamiętać informacje. Informacjami tymi jest to,
że ma on określone wartości swoich atrybutów oraz że pozostaje w pewnych powiązaniach z innymi
obiektami. Jest to byt konceptualny (pojęciowy). Np. mrówki w mrowisku nie mogą być encjami, bo
nie można ich odróżnić.
Atrybut określony jest jako funkcja częściowa ze zbioru obiektów lub zbioru powiązań w zbiór
wartości:
A: ENTnVAL
Formalnie rzecz biorąc opis świata rzeczywistego jest pewną teorią w sensie logiki matematycznej,
natomiast model stanu świata rzeczywistego jest modelem tej teorii. Dla celów baz danych wymagane
jest formalne określenie pewnego podzbioru języka naturalnego. Podzbiór ten nazwiemy językiem
opisu stanu JOS.
JOS=<X,P>
Alfabet języka JOS składa się ze zbiorów: nazw jednostkowych X i predykatów P.
Modelem abstrakcyjnym stanu świata rzeczywistego generowanym przez język JOS nazywamy
następującą strukturę matematyczną:
MAS=<X,R>
gdzie R = W  O  Z  A
, przy czym:
X – zbiór wartości (nazw jednostkowych język JOS)
W – rodzina zbiorów wartości
www.wkuwanko.pl
4
Wprowadzenie do baz danych
O – rodzina zbiorów obiektów
Z – rodzina relacji wyrażających powiązania
A – rodzina relacji wyrażających wartości atrybutów obiektów i powiązań
Przykład:
ZBIÓR OBIEKTÓW
ATRYBUTY
ZBIORY WARTOŚCI
NR_PRACOWNIKA
NR_PRACOWNIKA
PRACOWNIK
101
C1
NAZWISKO
NAZWISKO (np. Kowalski)
WIEK
LICZBA_LAT
38
Na rysunku został określony zbiór obiektów PRACOWNIK. Atrybuty: NR_PRACOWNIKA, NAZWISKO i
WIEK przyporządkowują każdemu obiektowi ze zbioru PRACOWNIK wartości w zbiorach wartości,
odpowiednio NR_PRACOWNIKA, NAZWISKO i LICZBA_LAT.
Zbiór wartości:
Nr_Pracownika={1001,1002,...,5000}
Nr_Wydziału={W1,W2}
www.wkuwanko.pl
5
Wprowadzenie do baz danych
Liczba_Lat={0,1,...,70}
Procent={0.1, 0.2, 1,... ,100}
Nr_Projektu={101,102,...,200}
Zbiory obiektów:
Pracownik={1001,1002,1003,1004}
Wydział={W1,W2}
Projekt={101,102,103,104}
Zbiory powiązań (relacje wyrażające powiązania):
Pr_Wydz={(1001,W1), (1002,W1), (1003,W2)}
Pr_Proj={(1001,101), (1001,102), (1002,101), (1003,103)}
Relacje wyrażające wartości atrybutów:
Nazwisko={(1001,Kowalski), (1002,Rysiuk), (1003,Janicki)}
Udział={(1001,101,10), (1001,102,50), (1002,101,41)}
Staż={(1001,W1,5), (1002,W1,15), (1003,W2,1)}
Bazy danych są przedmiotem intensywnych badań w informatyce co najmniej od początku lat
siedemdziesiątych. Wówczas to szybko wzrastała liczba komputerów i ich moc obliczeniowa. Łączyło
się to ze zmniejszeniem kosztów przechowywania i przetwarzania informacji co pociągnęło za sobą
szybki rozwój metod tworzenia systemów informatycznych w tym i systemów zarządzania danymi.
Poniżej przedstawiono etapy rozwoju komputerów prowadzące do powstania systemów
informatycznych.
KOMPUTER
BIERNA ROLA
SPRZĘTU
W ŚRODOWISKU
I
UŻYTKOWANIA
ZMIANY ILOŚCIOWE
W ZAKRESIE
OPROGRAMOWANIA
SYSTEM
KOMPUTEROWY
METOD
6
www.wkuwanko.pl
ZMIANY
Wprowadzenie do baz danych
SYSTEM
INFORMATYCZ
NY
Rozwój sieci komputerowych doprowadził do możliwości terytorialnego rozproszenia bazy
danych na różne stanowiska komputerowe. Przy czym celowe stało się duplikowanie niektórych
danych na kilku stanowiskach. Wszystko to spowodowało, że efektywna obsługa wielu współbieżnych
procesów stała się zadaniem złożonym. Stąd też pojawiła się konieczność tworzenia oprogramowania
niezbędnego do zarządzania wielowymiarowymi danymi - programów, które umożliwiłyby różnym
osobom korzystanie lub zmienianie danych. Powstały więc systemy zarządzania bazami danych - SZBD
(Data Base Managment System – DBMS).
Głównym zadaniem takiego systemu jest zapewnienie użytkownikowi możliwości operowania
danymi za pomocą pojęć abstrakcyjnych w możliwie niewielkim stopniu odwołujących się do sposobu
przechowywania danych przez komputer. Tak rozumiany system działa jak interpreter języka
programowania wysokiego poziomu.
Oprogramowanie DBMS stanowi najważniejsze zastosowanie komputerów w
przedsiębiorstwach, a jednocześnie jest jednym z najbardziej skomplikowanych systemów wśród
istniejących rodzajów oprogramowania. Wykorzystywane jest m.in. w gospodarce materiałowej i
magazynowej, obsłudze kadrowej, finansowo-księgowej, bibliotecznej, dokumentacyjnej.
Poniżej przedstawiono schemat systemu bazy danych.
ZAPYTANIE UŻYTKOWNIKA - KWERENDA
www.wkuwanko.pl
7
Wprowadzenie do baz danych
PROCESOR
ZAPYTAŃ
PROGRAMY
ZARZĄDZAJĄCE
BAZĄ DANYH
PROGRAMY
ZARZĄDZAJĄCE
PLIKAMI
FIZYCZNA
BAZA DANYCH
Procesor zapytań jest czymś w rodzaju kompilaora zapytań. Wyniki uzyskuje się w
postaci ciągu rozkazów przekazywanych do innych części systemu.
Programy zarządzania bazą danych często realizują jeszcze kilka innych zadań. Należą do
nich:
Ochrona. Nie każdy użytkownik powinien mieć dostęp do wszystkich danych dlatego stosuje
się hasła.
Integralność. System zarządzający może sprawdzić niektóre rodzaje więzów spójności
(consistency constraints), tj. wymaganych własności danych.
Synchronizacja. Często zdarza się, że wielu użytkowników korzysta z BD w tym samym
czasie. System powinien chronić przed niespójnością powstającą w wyniku wykonania na
jednostce danych dwóch prawie równoczesnych operacji.
W BD naturalne jest rozdzielenie funkcji deklaracji i obliczania między dwa różne języki.
Wynika to stąd, iż zmienne zwyczajnego programu istnieją tylko w czasie jego wykonywania,
podczas gdy w systemach BD dana istnieje „wiecznie” i może być deklarowana raz na
zawsze.
DANE
OPIS DANYCH
www.wkuwanko.pl
8
Wprowadzenie do baz danych
Opis BD wyraża się w secjalnym języku zwanym językiem definicji danych (data
definition language DDL). Nadaje mu się postać tablic używanych przez pozostałe częsci
systemu DBMS.
Natomiast działanie na BD wymaga specjalnego języka, zwanego językiem
manipulacji danymi (data monipulation language DML) lub językiem zapytań. W języku tym
można wyrażać m.in. takie polecenia jak:
Wyszukaj w BD liczbę wolnych miejsc w rejsie 123 w dniu 20 lipca
Znajdź wszystkie rejsy do Nowego Jorku
Przetłumaczenie zapytania na operacje na plikach nie jest zadaniem łatwym, gdyż bazy
danych mogą reprezentować skomplikowne struktury plików. Te struktury tworzy się po to,
aby w możliwie największym stopniu przyspieszyć dostęp do bazy danych i działanie na niej.
Z baz danych korzysta kilka rodzajów użytkowników mających określone funkcje i
różniących się „stopniem wtajemniczenia” w problematykę BD:
Naiwny użytkownik, np. szef lub słabo wyszkolona sekretarka. Pracują oni z wykorzystaniem
makropoleceń, formularzy itd.
Dobrze wyszkolony użytkownik. Potrafi tworzyć zapytania, raporty itd.
Programista użytkowy. Tworzy programy użytkowe, makra itd.
www.wkuwanko.pl
9
Wprowadzenie do baz danych
Administrator baz danych. Jest odpowiedzialny za sprawy dotyczące BD jako całości. Do jego
obowiązków należą m.in.:
Tworzenie pierwotnego opisu struktury BD i sposobu odwzorowywania go w plikach fizycznej
BD.
Udzielanie rozmaitych zezwoleń na korzystanie z BD lub jej fragmentów.
Modyfikacja opisu BD lub jego związków z fizyczną organizacją BD, gdy wnioski z jej
eksploatacji wskazują, że inna organizacja błaby bardziej efektywna.
Wykonywanie archiwalnych kopii BD i przywracanie jej poprawnego stanu po uszkodzeniach
powstałych na skutek awarii lub niewłaściwego użycia sprzętu bądź oprogramowania
Kierunki rozwoju baz danych:
Rozproszone bazy danych
Obiektowo zorientowane bazy danych
Bazy relacyjno-obiektowe
Aktywne bazy danych
Database legacy
Database mining
www.wkuwanko.pl
10
Download