STRUKTURA SYSTEMU ZARZĄDZANIA BAZĄ DANYCH
Jedną z
dziedzin zastosowania komputerów jest gromadzenie, przetwarzanie
i przechowywanie dusej ilości danych. We współczesnym świecie mamy do czynienia
z zalewem rósnego rodzaju danych. Muszą one być jak najszybciej przetworzone,
gdys od tego zalesy często efektywność działania poszczególnych jednostek
organizacyjnych i gospodarczych.
Dlatego tes
opracowano specjalne systemy, które umosliwiają tworzenie
i przechowywanie dusych zbiorów danych w pamięci zewnętrznej komputera oraz
gospodarowanie tymi danymi. Są tak zwane systemy zarządzania bazą danych. Bazę
danych takiego systemu tworzą wszystkie dane przez niego obsługiwane. Mogą to
być np. dane osobowe studentów, stany i obroty towarów w magazynie jakiegoś
przedsiębiorstwa, dane finansowo – księgowe przedsiębiorstwa czy tes dane
dotyczące spisu gmin, powiatów i województw według nowego podziału
administracyjnego.
1.1 System zarządzania bazą danych
System zarządzania bazą
danych (SZBD) lub Database Managment System (DBMS) - jest to zestaw programów
umosliwiających tworzenie i eksploatację bazy danych. Jest to oprogramowanie
ogólnego przeznaczenia. System bazy danych składa się z bazy danych,
systemu zarządzania bazą danych i ewentualnie z zestawu aplikacji
wspomagających pracę poszczególnych grup usytkowników.
Oprogramowanie
to zarządza przede wszystkim organizacją danych w pamięci zewnętrznej oraz
umosliwia wyszukiwanie i wybieranie danych. Posługując się językiem
abstrakcyjnym, usytkownik określa operacje, jakie mają zostać wykonane na
danych; następnie system zarządzania bazą realizuje wyszukiwanie danych,
uwzględniając sposób ich reprezentacji i organizacji na nośnikach fizycznych.
Wspomniałem tutaj tylko o niektórych funkcjach systemu zarządzania bazą danych,
ponisej pokrótce omówię wszystkie jego funkcje.
1.1.1 Opis danych
System
zarządzania bazą danych powinien dostarczyć usytkownikowi narzędzie
umosliwiające dokonanie opisu wszystkich danych, które będą pamiętane
w bazie. Istnieją bowiem rósne poziomy opisu tych samych danych. Inaczej dane
widzi usytkownik bazy, inaczej przedstawia się ich organizacja fizyczna w
pamięci, gdzie mamy do czynienia z danymi zakodowanymi w systemie dwójkowym,
występującymi w postaci rekordów fizycznych. W pierwszym przypadku mówi się
o opisie logicznym, w drugim zaś o opisie fizycznym danych.
Integralność danych
Im
większa jest liczba informacji pamiętanych w bazie danych, tym większe staje
się ryzyko, se dana zapisana w bazie jest błędna i rósni się od odpowiedniej
wartości rzeczywistej. Aby zmniejszyć ryzyko błędów, system zarządzania bazą
danych powinien stwarzać usytkownikowi mosliwość definiowania reguł
pozwalających zachować integralność bazy danych. Reguły te nazywane są warunkami
integralności. Określają one pewne własności, które muszą być zawsze
spełnione w bazie danych, niezalesnie od tego, jakie są w niej aktualnie
zapisane wartości. Na przykład w omawianej wcześniej uniwersyteckiej bazie
danych oceny studentów muszą się zawierać między 0 a 6. Student, który chce się
zapisać na określony rok i kierunek studiów, musi mieć dyplomy wymagane, przy
tym zapisie. System sprawdza , czy są spełnione powyssze warunki integralności.
Niektóre
z testów są czasami trudne do wykonania, jest tak w przypadku warunku:
wykładowca nie mose prowadzić w tym samym czasie dwóch rósnych przedmiotów ze
studentami.
Poufność danych
Z
bazy danych korzysta zazwyczaj wielu usytkowników, pewne jej podzbiory powinny
jednak być dostępne tylko dla osób upowasnionych. W tym celu system zarządzania
bazą danych powinien dysponować mechanizmami umosliwiającymi sprawdzanie praw
dostępu poszczególnych usytkowników. Na przykład osoba zatrudniona w
sekretariacie do spraw studenckich nie powinna mieć dostępu do informacji
dotyczących danych osobistych wykładowców: wysokość zarobków, poprzednich
funkcji, czy miejsc pracy.
1.1.2 Korzystanie z bazy danych
System
zarządzania bazą danych umosliwia korzystanie z bazy danych
w sposób interakcyjny. Usytkownik prowadzi dialog z systemem, formułując
polecenia wyszukiwania, wybierania i modyfikacji danych. Forma tego dialogu
zalesy w dusej mierze od kwalifikacji usytkownika. Mosna bowiem wyrósnić dwie
grupy usytkowników: informatyków i nieinformatyków. Informatycy posługują się
procedurami algorytmicznymi. Usytkownicy nieprofesjonalni będą zwracać się do
systemu przestrzegając wcześniej ustalonych reguł. Do drugiej grupy
usytkowników nalesy np. pracownica biura lotniczego dokonująca rezerwacji
miejsca w samolocie na określony lot. Wykonuje ona rutynowe operacje,
przekazuje odpowiednie dane do systemu, w wyniku czego operacja zostaje
wykonana poprawnie.
Współbiesność dostępu
Często
zdarza się, se programy wielu usytkowników sięgają do tych samych informacji z
bazy danych w tym samym czasie. System zarządzania bazą danych powinien
dysponować więc mechanizmami umosliwiającymi wykrywanie sytuacji konfliktowych
i poprawne ich rozwiązywanie. Konflikt dostępu mose wystąpić na przykład w
przypadku bazy danych zawierającej informacje dotyczące stanu magazynu części
zamiennych. Mose zdarzyć się, se dwaj usytkownicy zasądają równocześnie pewnej
liczby tych samych części. Żądania te powinny zostać obsłusone sekwencyjnie
tak, by mosliwe było, najpierw sprawdzenie, czy starczy części dla pierwszego
usytkownika, a po zaktualizowaniu stanu magazynu powtarza się sprawdzanie dla
drugiego z usytkowników.
Niezawodność
Awaria
sprzętowa lub programowa uniemosliwia korzystanie z bazy danych. Aby zapewnić
integralność bazy danych po usunięciu awarii, system powinien pozwalać na
tworzenie punktów kontrolnych umosliwiających przywrócenie poprawnego stanu
bazy.
1.2 Poziomy reprezentacji danych
Mosliwe
są rósne poziomy opisu danych. Jej opis z punktu widzenia usytkownika rósni się
zasadniczo od opisu struktur fizycznych danych zapisanych
w pamięciach dyskowych lub na taśmach magnetycznych. Mówi się dziś zazwyczaj
o trzech poziomach reprezentacji bazy danych. Są to:
poziom
wewnętrzny (wraz ze schematem fizycznym),
poziom pojęciowy
(wraz ze schematem pojęciowym),
poziom
zewnętrzny (wraz ze schematami zewnętrznymi).
Kasdy z poziomów odpowiada innej
grupie usytkowników.
W
przypadku takiej reprezentacji jedynie poziom wewnętrzny opisu jest związany z
faktycznie istniejącą, fizyczną bazą danych, pozostałe zaś dwa odpowiadają
reprezentacji abstrakcyjnej wynikającej z zastosowań.
1.2.1 Poziom wewnętrzny
Schemat
fizyczny określa sposoby organizacji danych w pamięci zewnętrznej (w pamięciach
dyskowych, na taśmach magnetycznych, w pamięciach bębnowych) komputera. Opis
ten mosna rozpatrywać w sposób bardziej lub mniej szczegółowy: przy najwysszym
stopniu szczegółowości rozwasa się poszczególne bity przechowywane w pamięci,
ich znaczenie i adres, zakładając nisszy stopień szczegółowości, operuje się
pojęciami takimi jak rekord i plik – rozumianymi tak samo jak w językach
programowania typu Cobol.
1.2.2 Poziom pojęciowy
Schemat
pojęciowy stanowi zasadniczy element w architekturze systemu bazy danych. Jest
ona abstrakcyjnym, lecz wiernym opisem pewnego wycinka rzeczywistości, dotyczy
na przykład określonej instytucji, w której usytkowanie bazy danych jest
niezbędne w celach zarządzania.
Przejście
od świata rzeczywistego do schematu pojęciowego odbywa się
w wyniku modelowania, podczas którego obiekty świata rzeczywistego zostają
zakwalifikowane do rósnych kategorii i odpowiednio nazwane. System zarządzania
bazą danych dostarcza język opisu danych, za pomocą którego jest
wyrasany schemat pojęciowy.
Pojęcie
języka opisu danych jest ściśle związane z pojęciem modelu danych. Schemat
pojęciowy opracowywany przez projektanta bazy danych powinien wykorzystywać
mosliwości, jakie dostarcza wybrany model danych oraz powinien równies
uwzględniać ograniczenia modelu.
Model
danych stanowi narzędzie umosliwiające zrozumienie i interpretację świata
rzeczywistego. Aby ułatwić komunikowanie się, dobrze jest pogrupować
interesujące nas obiekt świata rzeczywistego w klasy obiektów tej samej natury.
W przypadku uniwersyteckiej bazy danych mose interesować nas np. klasa obiektów
o nazwie STUDENT. Wystarczy teraz, mówiąc o studentach posłusyć się ustaloną
nazwą. Model danych umosliwia takse opisywanie powiązań istniejących między
poszczególnymi klasami obiektów. Przykładowo kasdy ze studentów mose być
zapisany na jeden lub więcej nis jeden kierunek i rok studiów; więc za pomocą
nazwy ZAPIS oznaczymy powiązanie istniejące między klasą obiektów STUDENT, a
klasą obiektów KIERUNEK-I-ROK.
Podsumowując
to, co dotychczas powiedziano na temat poziomu pojęciowego, powiemy, se schemat
pojęciowy stanowi wynik procesu modelowania pewnego wycinka świata
rzeczywistego zgodnie z wybranym modelem danych, za pomocą pojęć i wyraseń
dopuszczalnych w języku opisu danych.
1.2.3 Poziom zewnętrzny
Poziom
ten odnosi się do sposobu, w jaki dane widziane są przez poszczególne grupy
usytkowników zainteresowane, kasda innym zastosowaniem, zajmują się pisaniem
programów usytkowych. Schemat zewnętrzny, nazywany czasami obrazem, opowiadający
całemu lub części schematu pojęciowego, określa więc postać danych
z punktu widzenia programu usytkowego.
W
przypadku rozwasanej uniwersyteckiej bazy danych, grupa usytkowników zajmująca
się zapisywaniem studentów na studia nie musi widzieć całej bazy danych.
Usytkownikom tym wystarcza spojrzenie na tą część bazy, która zawiera
informacje dotyczące studentów i kierunków oraz lat studiów. Informacje
dotyczące wykładowców i ich rozkładów zajęć są dla tych usytkowników niewidoczne.
W tym sensie schemat zewnętrzny lub, inaczej mówiąc, obraz danych usytkownika
mose być rozumiany jako podschemat schematu pojęciowego. Czasem jednak schemat
zewnętrzny mose zawierać pewne informacje dodatkowe, które nie występują
w schemacie pojęciowym. Stwierdzenie to zilustruję za pomocą przykładu
dotyczącego uniwersyteckiej bazy danych.
Przykład:
Na
poziomie schematu zewnętrznego występują informacje dotyczące wykładowców –
nazwisko wraz z liczbą godzin prowadzonych wykładów. Informacje te nie figurują
ani w fizycznej bazie danych, ani tes w schemacie pojęciowym.
Kiedy
program usytkowy zasąda od systemu zarządzania bazą danych, sumy godzin
wykładów prowadzonych przez danego wykładowcę, system interpretuje odpowiednio
to sądanie i oblicza sumę godzin pracy wykładowcy, uwzględniając wszystkie
przedmioty, które ten wykładowca prowadzi. Teraz widać, se po dokonaniu
interpretacji rozwasane sądanie stało się w pełni zrozumiałe dla poziomu
pojęciowego, będzie on mógł więc zasądać od bazy fizycznej odpowiednich danych.
Na
rysunku nr 1, który znajduje się na stronie nr 10, przedstawiono sposób
reprezentacji informacji rozwasanej w przykładzie, na poszczególnych poziomach
bazy danych, bez określenia typu modelu danych stosowanego do opisu schematu
pojęciowego. Nalesy znać oczywiście definicje odwzorowań między odpowiadającymi
sobie poziomami.
Zauwasmy
takse, se nie wszystkie operacje mogą być wykonywane na danych
z poziomu zewnętrznego. Nie mosna na przykład aktualizować liczby godzin
wykładów prowadzonych przez danego profesora, poniewas system nie byłby w
stanie przenieść wyniku tej operacji na poziom wewnętrzny. Model danych
wykorzystywany na poziomie zewnętrznym, w szczególnym przypadku, mose być rósny
od modelu schematu pojęciowego.