Académique Documents
Professionnel Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Wprowadzenie do
systemw baz danych
Autor: Ramez Elmasri, Shamkant B. Navathe
Tumaczenie: Mikoaj Szczepaniak (rozdz. 0 9, 27 29),
Bartomiej Garbacz (rozdz. 10 19, dod. A C),
Bartomiej Moczulski (rozdz. 20 26)
ISBN: 83-7361-716-7
Tytu oryginau: Fundamentals of Database
Systems, 4th Edition
Format: B5, stron: 1056
Bazy danych to podstawa wikszoci zoonych systemw informatycznych.
W oparciu o dane czerpane z tabel w bazie dziaaj portale i sklepy internetowe,
aplikacje biznesowe i informacyjne, a nawet multimedialne witryny, coraz czciej
spotykane w urzdach, muzeach i innych budynkach uytecznoci publicznej.
Na rynku dostpnych jest wiele systemw zarzdzania bazami danych, oferowanych
przez rnych producentw i na rnych zasadach licencjonowania. Pomimo istotnych
rnic, wszystkie opieraj si na podobnych zaoeniach, a projektowanie wydajnych
baz danych odbywa si w niemal identyczny sposb, niezalenie od docelowego
systemu zarzdzania nimi. Opanowanie wiadomoci lecych u podstaw projektowania
i wykorzystywania baz danych jest wic niezbdne do stworzenia efektywnego
i bezpiecznego zaplecza bazodanowego dla systemu informatycznego.
Ksika Wprowadzenie do systemw baz danych to szczegowe omwienie
wszystkich aspektw projektowania i stosowania baz danych. Szczeglny nacisk
pooono w niej na podstawy modelowania danych i definiowania tabel. Ksika moe
peni rol podrcznika pomocnego przy poznawaniu zagadnie zwizanych z bazami
danych lub rda informacji dla projektantw i administratorw systemw
bazodanowych.
Rozwizania oparte na bazach danych
Uytkownicy baz danych
Architektury systemw zarzdzania bazami danych
Modelowanie danych oparte na zwizkach encji
Zastosowanie jzyka UML w modelowaniu danych
Relacyjny model danych
Jzyk SQL-99
Normalizacja danych
Skadowanie danych na dysku
Indeksy i klucze
Algorytmy przetwarzania zapyta
Mechanizmy transakcyjne
Obiektowe bazy danych
Bezpieczestwo danych
Jzyk XML w bazach danych
Technologie eksploracji danych
Hurtownie danych, systemy GIS i bazy danych dla urzdze mobilnych
Ksika stanowi rdo wiedzy dla projektantw baz danych i oprogramowania
bazodanowego.
Spis treci
Przedmowa ................................................................................................................13
I
WPROWADZENIE I MODELOWANIE KONCEPCYJNE ..........................................19
1.
Bazy danych i ich uytkownicy .................................................................................21
1.1. Wprowadzenie .............................................................................................................................22
1.2. Przykad .......................................................................................................................................23
1.3. Waciwoci rozwiza opartych na bazach danych ....................................................................26
1.4. Aktorzy na scenie ........................................................................................................................31
1.5. Pracownicy poza scen ................................................................................................................33
1.6. Zalety stosowania rozwiza opartych na systemach zarzdzania bazami danych ......................34
1.7. Krtka historia praktycznych zastosowa baz danych .................................................................40
1.8. Kiedy nie naley uywa systemw zarzdzania bazami danych ................................................43
1.9. Podsumowanie .............................................................................................................................44
2.
Architektura systemw baz danych i zwizane z nimi pojcia .................................47
2.1. Modele danych, schematy i egzemplarze .....................................................................................48
2.2. Trjwarstwowa architektura i niezaleno danych .....................................................................51
2.3. Jzyki i interfejsy baz danych ......................................................................................................54
2.4. rodowisko systemu bazy danych ...............................................................................................57
2.5. Architektury systemw zarzdzania bazami danych scentralizowane i typu klient-serwer .........61
2.6. Klasyfikacja systemw zarzdzania bazami danych ....................................................................66
2.7. Podsumowanie .............................................................................................................................68
3.
Modelowanie danych zgodnie z modelem zwizkw encji ......................................71
3.1. Stosowanie wysokopoziomowych, koncepcyjnych modelw danych podczas projektowania
bazy danych ................................................................................................................................72
3.2. Przykadowa aplikacja bazy danych ............................................................................................74
3.3. Typy encji, zbiory encji, atrybuty i klucze ...................................................................................75
3.4. Typy zwizkw, zbiory zwizkw, role i ograniczenia strukturalne ...........................................82
3.5. Sabe typy encji ...........................................................................................................................89
3.6. Udoskonalanie projektu ER dla bazy danych FIRMA .................................................................90
SPIS TRECI
3.7. Diagramy ER, konwencje nazewnictwa oraz zagadnienia zwizane z projektowaniem ..............91
3.8. Notacja dla diagramw klas UML ...............................................................................................95
3.9. Podsumowanie .............................................................................................................................97
4.
Rozszerzony model zwizkw encji oraz modelowanie UML ...............................105
4.1. Podklasy, nadklasy i dziedziczenie ............................................................................................106
4.2. Specjalizacja i generalizacja ......................................................................................................108
4.3. Ograniczenia i waciwoci zwizkw specjalizacji i generalizacji ...........................................111
4.4. Modelowanie typw UNII w oparciu o kategorie ......................................................................118
4.5. Przykad schematu EER dla bazy danych UNIWERSYTET oraz formalne definicje
dla modelu EER ........................................................................................................................120
4.6. Reprezentowanie specjalizacji-generalizacji oraz dziedziczenia na diagramach klas
metodologii UML .....................................................................................................................124
4.7. Typy zwizkw stopnia wyszego ni drugi .............................................................................125
4.8. Abstrakcja danych, reprezentacja wiedzy oraz zagadnienia zwizane z ontologi ....................129
4.9. Podsumowanie ...........................................................................................................................135
II
MODEL RELACYJNY: ELEMENTY SKADOWE, OGRANICZENIA,
JZYKI, PROJEKTY I PROGRAMOWANIE .............................................................143
5.
Relacyjny model danych i ograniczenia relacyjnych baz danych ...........................145
5.1. Podstawowe pojcia relacyjnego modelu danych ......................................................................146
5.2. Ograniczenia modelu relacyjnego i schematy relacyjnych baz danych .....................................152
5.3. Operacje aktualizacji i obsuga narusze wizw integralnoci ................................................160
5.4. Podsumowanie ...........................................................................................................................163
6.
Algebra relacyjna i rachunek relacji ........................................................................169
6.1. Relacyjne operacje unarne: selekcja i projekcja ........................................................................170
6.2. Operacje algebry relacyjnej pochodzce z teorii zbiorw ..........................................................175
6.3. Binarne operacje na relacjach: zczenie i dzielenie ..................................................................179
6.4. Dodatkowe operacje relacyjne ...................................................................................................186
6.5. Przykady zapyta w algebrze relacyjnej ...................................................................................192
6.6. Relacyjny rachunek krotek ........................................................................................................194
6.7. Relacyjny rachunek dziedzin .....................................................................................................203
6.8. Podsumowanie ...........................................................................................................................206
7.
Projektowanie relacyjnych baz danych przez odwzorowywanie modelu ER i EER
w model relacyjny ...................................................................................................213
7.1. Projektowanie relacyjnych baz danych w oparciu o odwzorowywanie modelu ER
w model relacyjny .....................................................................................................................213
7.2. Odwzorowania konstrukcji modelu EER w relacje ...................................................................221
7.3. Podsumowanie ...........................................................................................................................225
SPIS TRECI
8.
SQL-99: Definicja schematu, podstawowe ograniczenia oraz zapytania ................229
8.1. Definicje danych i typy danych jzyka SQL ..............................................................................231
8.2. Okrelanie podstawowych ogranicze w jzyku SQL ...............................................................236
8.3. Dostpne w jzyku SQL polecenia zmiany schematu ................................................................240
8.4. Podstawowe zapytania jzyka SQL ...........................................................................................242
8.5. Bardziej skomplikowane zapytania jzyka SQL ........................................................................253
8.6. Dostpne w jzyku SQL polecenia INSERT, DELETE i UPDATE ..........................................270
8.7. Dodatkowe wasnoci jzyka SQL ............................................................................................273
8.8. Podsumowanie ...........................................................................................................................274
9.
Wicej o jzyku SQL: asercje, perspektywy i techniki programowania .................279
9.1. Definiowanie oglnych ogranicze w postaci asercji ................................................................280
9.2. Perspektywy (tabele wirtualne) w jzyku SQL ..........................................................................281
9.3. Programowanie baz danych: najwaniejsze zagadnienia i stosowane techniki ..........................286
9.4. Osadzony jzyk SQL, dynamiczny jzyk SQL oraz jzyk SQLJ ...............................................289
9.5. Programowanie baz danych z wywoaniami funkcji: SQL/CLI oraz JDBC ..............................301
9.6. Procedury skadowane w bazie danych i technika SQL/PSM ...................................................311
9.7. Podsumowanie ...........................................................................................................................314
III
TEORIA I METODOLOGIA PROJEKTOWANIA BAZ DANYCH ...........................317
10.
Zalenoci funkcyjne i normalizacja w relacyjnych bazach danych .......................319
10.1. Nieformalne wskazwki dotyczce projektowania schematw relacji ......................................321
10.2. Zalenoci funkcyjne .................................................................................................................329
10.3. Postaci normalne oparte na kluczach gwnych ........................................................................337
10.4. Definicje oglne drugiej i trzeciej postaci normalnej ................................................................345
10.5. Posta normalna Boycea-Codda ...............................................................................................349
10.6. Podsumowanie ...........................................................................................................................351
11.
Algorytmy projektowania relacyjnych baz danych i dodatkowe zalenoci ...........357
11.1. Waciwoci dekompozycji relacyjnych ....................................................................................358
11.2. Algorytmy projektowania schematw relacyjnych baz danych .................................................364
11.3. Zalenoci wielowartociowe i czwarta posta normalna ..........................................................370
11.4. Zalenoci zczeniowe i pita posta normalna .......................................................................376
11.5. Zalenoci zawierania ................................................................................................................378
11.6. Inne zalenoci i postaci normalne ............................................................................................379
11.7. Podsumowanie ...........................................................................................................................381
12.
Praktyczna metodologia projektowania baz danych i uycie diagramw UML .....385
12.1. Rola systemw informacyjnych w przedsibiorstwach .............................................................386
12.2. Projekt bazy danych i proces jej implementacji .........................................................................390
12.3. Uycie diagramw jzyka UML jako rodka wspomagajcego tworzenie specyfikacji... .........408
12.4. Rational Rose narzdzie projektowe oparte na jzyku UML ................................................417
12.5. Narzdzia zautomatyzowanego projektowania baz danych .......................................................421
12.6. Podsumowanie ...........................................................................................................................425
SPIS TRECI
IV
PRZECHOWYWANIE DANYCH, INDEKSOWANIE,
PRZETWARZANIE ZAPYTA ORAZ PROJEKTOWANIE FIZYCZNE .................429
13.
Skadowanie danych na dysku, podstawowe struktury plikowe
i funkcje mieszajce ................................................................................................431
13.1. Wprowadzenie ...........................................................................................................................432
13.2. Drugorzdne urzdzenia pamiciowe ........................................................................................435
13.3. Buforowanie blokw .................................................................................................................441
13.4. Rozmieszczanie rekordw plikw na dysku ..............................................................................442
13.5. Operacje wykonywane na plikach .............................................................................................446
13.6. Pliki nieuporzdkowanych rekordw (pliki stertowe) ...............................................................449
13.7. Pliki uporzdkowanych rekordw (pliki posortowane) .............................................................450
13.8. Techniki mieszania ....................................................................................................................453
13.9. Inne podstawowe metody organizacji plikw ............................................................................461
13.10. Zapewnianie rwnolegego dostpu do dysku przy uyciu architektury RAID .........................462
13.11. Sieci obszarw skadowania danych ..........................................................................................467
13.12. Podsumowanie ...........................................................................................................................468
14.
Struktury indeksowe dla plikw ..............................................................................475
14.1. Rodzaje jednopoziomowych indeksw uporzdkowanych ........................................................476
14.2. Indeksy wielopoziomowe ..........................................................................................................485
14.3. Dynamiczne indeksy wielopoziomowe z uyciem B-drzew i B+-drzew ....................................488
14.4. Indeksy na wielu kluczach .........................................................................................................501
14.5. Inne rodzaje indeksw ...............................................................................................................505
14.6. Podsumowanie ...........................................................................................................................506
15.
Algorytmy przetwarzania i optymalizacji zapyta ..................................................513
15.1. Translacja zapyta jzyka SQL do postaci wyrae algebry relacji ..........................................515
15.2. Algorytmy sortowania zewntrznego ........................................................................................516
15.3. Algorytmy operacji wybierania i zczenia ...............................................................................518
15.4. Algorytmy operacji rzutowania i teoriomnogociowych ...........................................................528
15.5. Implementacja operacji agregujcych oraz zcze zewntrznych ............................................529
15.6. czenie operacji poprzez mechanizm potokowy .....................................................................531
15.7. Wykorzystanie metod heurystycznych do optymalizacji zapyta ..............................................532
15.8. Wykorzystanie oszacowa selektywnoci i kosztu w optymalizacji zapyta ............................543
15.9. Przegld technik optymalizacji zapyta w systemie Oracle ......................................................552
15.10. Semantyka optymalizacji zapyta .............................................................................................553
15.11. Podsumowanie ...........................................................................................................................554
16.
Praktyczne projektowanie i strojenie baz danych ...................................................557
16.1. Fizyczne projektowanie baz danych w przypadku baz relacyjnych ...........................................557
16.2. Przegld technik strojenia baz danych w systemach relacyjnych ..............................................560
16.3. Podsumowanie ...........................................................................................................................567
SPIS TRECI
V
ZAGADNIENIA Z ZAKRESU PRZETWARZANIA TRANSAKCJI .........................569
17.
Wprowadzenie do problematyki i teorii przetwarzania transakcji ..........................571
17.1. Wprowadzenie do problematyki przetwarzania transakcji ........................................................572
17.2. Pojcia dotyczce transakcji i systemu ......................................................................................578
17.3. Podane waciwoci transakcji ...............................................................................................581
17.4. Charakteryzowanie harmonogramw na podstawie moliwoci odtwarzania ...........................582
17.5. Charakterystyka harmonogramw wedug ich szeregowalnoci ...............................................586
17.6. Obsuga transakcji w jzyku SQL .............................................................................................596
17.7. Podsumowanie ...........................................................................................................................598
18.
Techniki sterowania wspbienego ........................................................................601
18.1. Techniki blokowania dwufazowego dla celw sterowania wspbienego ...............................602
18.2. Sterowanie wspbiene w oparciu o uporzdkowanie wedug znacznikw czasu ...................612
18.3. Techniki wielowersyjnego sterowania wspbienego ..............................................................614
18.4. Techniki walidacyjnego (optymistycznego) sterowania wspbienego ...................................617
18.5. Ziarnisto elementw danych i blokowanie z wieloma poziomami ziarnistoci ......................619
18.6. Uycie blokad dla celw sterowania wspbienego w przypadku indeksw ...........................623
18.7. Inne kwestie zwizane ze sterowaniem wspbienym .............................................................624
18.8. Podsumowanie ...........................................................................................................................625
19.
Techniki odtwarzania baz danych ...........................................................................629
19.1. Pojcia zwizane z odtwarzaniem .............................................................................................630
19.2. Techniki odtwarzania oparte na aktualizacjach odroczonych ....................................................636
19.3. Techniki odtwarzania oparte na aktualizacjach natychmiastowych ...........................................641
19.4. Stronicowanie z przesanianiem ................................................................................................642
19.5. Algorytm odtwarzania ARIES ...................................................................................................644
19.6. Odtwarzanie w systemach wielu baz danych .............................................................................647
19.7. Tworzenie kopii bezpieczestwa bazy danych i odtwarzanie po awariach ................................648
19.8. Podsumowanie ...........................................................................................................................649
VI
OBIEKTOWE I OBIEKTOWO-RELACYJNE BAZY DANYCH ...............................655
20.
Idea obiektowych baz danych .................................................................................657
20.1. Przegld poj zorientowanych obiektowo ...............................................................................658
20.2. Tosamo i struktura obiektw oraz konstruktory typw ........................................................661
20.3. Enkapsulacja operacji, metody i trwao obiektw ..................................................................666
20.4. Hierarchia typw i klas oraz dziedziczenie ................................................................................670
20.5. Obiekty zoone .........................................................................................................................674
20.6. Inne pojcia zorientowane obiektowo .......................................................................................676
20.7. Podsumowanie ...........................................................................................................................678
10
SPIS TRECI
21.
Standardy, jzyki i projektowanie obiektowych baz danych ..................................681
21.1. Wstp do modelu obiektowego ODMG ....................................................................................682
21.2. Jzyk definicji obiektw ODL ...................................................................................................693
21.3. Obiektowy jzyk zapyta OQL .................................................................................................699
21.4. Przegld wizania z jzykiem C++ ............................................................................................707
21.5. Projektowanie pojciowe obiektowej bazy danych ...................................................................708
21.6. Podsumowanie ...........................................................................................................................711
22.
Systemy obiektowo-relacyjne i rozszerzone relacyjne ............................................713
22.1. Przegld SQL i jego cech obiektowo-relacyjnych .....................................................................714
22.2. Obecne tendencje i ewolucja w technologiach baz danych .......................................................721
22.3. Informix Universal Server .........................................................................................................722
22.4. Obiektowo-relacyjne cechy systemu Oracle 8 ...........................................................................732
22.5. Problemy implementacyjne w rozszerzonych systemach typw ...............................................735
22.6. Zagniedony model relacyjny ..................................................................................................736
22.7. Podsumowanie ...........................................................................................................................739
VII
INNE TEMATY .............................................................................................................741
23.
Bezpieczestwo baz danych i mechanizmy uwierzytelniania .................................743
23.1. Wprowadzenie do bezpieczestwa baz danych .........................................................................743
23.2. Dyspozycyjna kontrola dostpu polegajca na nadawaniu i odbieraniu uprawnie ..................747
23.3. Realizacja zabezpiecze wielopoziomowych za pomoc obowizkowej kontroli dostpu
i zabezpiecze opartych na rolach .............................................................................................752
23.4. Wprowadzenie do bezpieczestwa statystycznych baz danych .................................................756
23.5. Wprowadzenie do kontroli przepywu .......................................................................................758
23.6. Szyfrowanie i infrastruktura klucza publicznego .......................................................................759
23.7. Podsumowanie ...........................................................................................................................761
24.
Rozszerzone modele danych stosowane w zaawansowanych aplikacjach ..............765
24.1. Wyzwalacze i inne pojcia zwizane z aktywnymi bazami danych ..........................................766
24.2. Koncepcja czasowych baz danych .............................................................................................776
24.3. Przestrzenne i multimedialne bazy danych ................................................................................787
24.4. Wprowadzenie do dedukcyjnych baz danych ............................................................................790
24.5. Podsumowanie ...........................................................................................................................803
25.
Rozproszone bazy danych i architektury klient-serwer ...........................................809
25.1. Koncepcja rozproszonej bazy danych ........................................................................................810
25.2. Techniki fragmentacji, replikacji i alokacji danych w projekcie rozproszonej bazy danych .....815
25.3. Rodzaje rozproszonych systemw baz danych ..........................................................................820
25.4. Przetwarzanie zapyta w rozproszonych bazach danych ...........................................................823
25.5. Techniki sterowania wspbienego i odzyskiwania danych w rozproszonych bazach danych ... 828
24.6. Przegld trjwarstwowej architektury klient-serwer ..................................................................831
25.7. Rozproszone bazy danych w Oracle ..........................................................................................833
25.8. Podsumowanie ...........................................................................................................................836
SPIS TRECI
11
VIII
NOWE TECHNOLOGIE ...............................................................................................841
26.
XML i internetowe bazy danych .............................................................................843
26.1. Dane strukturalne, pstrukturalne i niestrukturalne ..................................................................843
26.2. Hierarchiczny (drzewiasty) model danych w dokumentach XML .............................................846
26.3. Dokumenty XML, DTD i schematy ..........................................................................................848
26.4. Dokumenty XML a bazy danych ...............................................................................................855
26.5. Zapytania XML .........................................................................................................................862
26.6. Podsumowanie ...........................................................................................................................864
27.
Elementy drenia danych .......................................................................................867
27.1. Przegld technologii drenia danych .......................................................................................868
27.2. Reguy asocjacyjne ....................................................................................................................872
27.3. Klasyfikacja ...............................................................................................................................884
27.4. Grupowanie ...............................................................................................................................888
27.5. Strategie rozwizywania pozostaych problemw zwizanych z dreniem danych .................891
27.6. Zastosowania technik drenia danych ......................................................................................894
27.7. Komercyjne narzdzia drenia danych ....................................................................................894
27.8. Podsumowanie ...........................................................................................................................897
28.
Przegld hurtowni danych i rozwiza OLAP ........................................................901
28.1. Wprowadzenie, definicje i terminologia ....................................................................................901
28.2. Waciwoci hurtowni danych ...................................................................................................903
28.3. Modelowanie danych dla hurtowni danych ...............................................................................904
28.4. Budowanie hurtowni danych .....................................................................................................910
28.5. Typowa funkcjonalno hurtowni danych .................................................................................913
28.6. Hurtownie danych kontra perspektywy .....................................................................................914
28.7. Problemy i nierozwizane zagadnienia zwizane z hurtowniami danych ..................................914
28.8. Podsumowanie ...........................................................................................................................916
29.
Przegld najnowszych technologii i zastosowa baz danych ..................................919
29.1. Mobilne bazy danych .................................................................................................................920
29.2. Multimedialne bazy danych .......................................................................................................928
29.3. Systemy informacji geograficznej .............................................................................................936
29.4. Zarzdzanie danymi kodu genetycznego ...................................................................................943
DODATKI ......................................................................................................................953
A Alternatywne notacje modeli zwizkw encji .....................................................955
B Parametry dyskw ...............................................................................................959
C Omwienie jzyka QBE ......................................................................................963
Bibliografia ..........................................................................................................971
Skorowidz .........................................................................................................1007
Bazy danych i systemy baz danych stay si kluczowym narzdziem w yciu codziennym wspczesnego spoeczestwa. Niemal codziennie kady z nas wykonuje wiele czynnoci, ktre w taki czy inny
sposb wi si z wykorzystywaniem bazy danych. Przykadowo, kiedy idziemy do banku celem
wpacenia lub wypacenia pienidzy z naszego konta, kiedy rezerwujemy pokj w hotelu lub bilet lotniczy, kiedy szukamy interesujcych nas pozycji w skomputeryzowanym katalogu biblioteki lub kiedy
kupujemy cokolwiek (ksik, zabawk czy choby komputer) w sklepie internetowym obsugiwanym
za porednictwem strony WWW, jest bardzo prawdopodobne, e tego typu czynnoci wymagaj od
kogo lub od jakiego programu komputerowego wanie dostpu do bazy danych. Nawet zwyke
zakupy w supermarkecie w wielu przypadkach wi si obecnie z automatyczn aktualizacj bazy
danych reprezentujcej stan zapasw poszczeglnych artykuw.
Wymienione powyej dziaania s przykadami tego, co moemy nazwa tradycyjnymi zastosowaniami baz danych, w ktrych wikszo przechowywanych i uzyskiwanych informacji ma posta
albo danych tekstowych, albo danych numerycznych. Przez ostatnie kilka lat stay postp technologiczny doprowadzi do wynalezienia zupenie nowych, pasjonujcych zastosowa dla systemw baz
danych. Multimedialne bazy danych mog teraz przechowywa obrazy, klipy wideo czy komunikaty
gosowe. Geograficzne systemy informacyjne (ang. Geographic Information Systems GIS) mog
przechowywa i analizowa mapy, dane o pogodzie, a nawet zdjcia satelitarne. Hurtownie danych
i systemy OLAP (od ang. Online Analytical Processing) s wykorzystywane do wydzielania z ogromnych baz danych przydatnych informacji i ich analizy, ktra ma ostatecznie uatwi podjcie waciwych decyzji. Technologie baz danych czasu rzeczywistego i aktywnych baz danych s przydatne podczas sterowania procesami w produkcji przemysowej. Okazuje si take, e techniki
przeszukiwania baz danych znalazy zastosowanie w wiecie witryn i stron internetowych, gdzie
w ostatnim czasie znacznie usprawniono mechanizmy wyszukiwania przez uytkownikw potrzebnych
informacji w internecie.
Aby zrozumie podstawy tych technologii, musimy jednak rozpocz nasze rozwaania od analizy bardziej tradycyjnych zastosowa baz danych. W podrozdziale 1.1 zdefiniujemy wic to, czym
faktycznie jest baza danych, i dopiero potem przystpimy do omawiania innych podstawowych poj.
W podrozdziale 1.2 przedstawimy prosty przykad bazy danych , ktry bdzie stanowi
dobr ilustracj dla naszych rozwaa. W podrozdziale 1.3 opiszemy niektre spord najwaniejszych
wasnoci systemw baz danych, natomiast w podrozdziaach 1.4 i 1.5 sprbujemy odpowiednio
skategoryzowa typy pracownikw, ktrych praca wie si z wykorzystywaniem systemw baz
danych. Podrozdziay 1.6, 1.7 oraz 1.8 zawieraj bardziej szczegow analiz moliwoci oferowanych przez systemy baz danych oraz ich typowych zastosowa. Tre podrozdziau 1.9 bdzie podsumowaniem caego rozdziau.
22
Czytelnicy, ktrzy chcieliby bardzo szybko przebrn przez teoretyczne wprowadzenie do systemw baz danych, mog przeczyta jedynie podrozdziay od 1.1 do 1.5, pomin podrozdziay od 1.6
do 1.8 i od razu przej do rozdziau 2.
1.1. Wprowadzenie
Bazy danych i technologie baz danych w ogromnym stopniu przyczyniaj si do wzrostu liczby zastosowa komputerw. Moemy z penym przekonaniem stwierdzi, e wanie bazy danych odgrywaj
gwn rol niemal we wszystkich obszarach, w ktrych w ogle wykorzystuje si komputery
wystarczy wymieni takie gazie jak biznes, handel elektroniczny, inynieria, medycyna, prawo,
edukacja czy bibliotekarstwo. Okrelenie baza danych jest dzi na tyle popularne, e powinnimy
rozpocz nasze rozwaania od zdefiniowania, czym faktycznie jest baza danych. Przedstawiona poniej definicja bdzie na razie dosy oglna.
Baza danych jest zbiorem powizanych ze sob danych. Przez dane rozumiemy w tym przypadku znane fakty, ktre mona jako zarejestrowa, i ktre maj konkretne znaczenie. Przykadowo, rozwamy nazwiska, numery telefonw oraz adresy osb, ktre znamy moemy mie te
dane zarejestrowane w odpowiednio indeksowanej ksice adresowej lub przechowywa je na
twardym dysku swojego komputera z wykorzystaniem oprogramowania (choby aplikacji Microsoft
Access lub Microsoft Excel). Mamy wic zbir powizanych ze sob danych o konkretnym znaczeniu, co oznacza, e dysponujemy baz danych.
Powysza definicja bazy danych jest dosy oglna; przykadowo, moemy traktowa zbir sw
skadajcych si na t stron tekstu jako zbir wzajemnie powizanych danych, a wic (zgodnie
z przyjtymi przed chwil warunkami) jako baz danych. Pojcie bazy danych w powszechnym
rozumieniu jest jednak znacznie wsze. Kada taka baza danych musi mie nastpujce wasnoci:
Baza danych reprezentuje jaki wybrany aspekt wiata rzeczywistego, nazywany niekiedy
mini-wiatem lub dziedzin problemu (ang. Universe of Discourse UoD). Zmiany w takim
mini-wiecie musz by uwzgldniane w bazie danych.
Baza danych jest logicznie koherentnym zbiorem danych z jakim spjnym znaczeniem. Przypadkowy zbir danych nie jest prawidow baz danych i nie naley dla niego stosowa tego
okrelenia.
Baza danych jest projektowana, konstruowana i wypeniana danymi w okrelonym celu. Do bazy
danych powinna by przypisana grupa docelowych uytkownikw oraz z gry przyjte zastosowania, ktre bd realizowane przez tych uytkownikw.
Innymi sowy, kada baza danych powinna mie pewne rdo, z ktrego bd pochodzi przechowywane dane, pewien stopie interakcji ze zdarzeniami majcymi miejsce w reprezentowanym
przez ni wycinku wiata rzeczywistego oraz uytkownikw, ktrzy s aktywnie zainteresowani
jej zawartoci.
Bazy danych mog mie dowolne rozmiary i zrnicowane poziomy zoonoci. Przykadowo,
wspominana ju lista nazwisk i adresw moe si skada tylko z kilku tysicy rekordw, z ktrych
kady ma stosunkowo prost struktur. Z drugiej strony, skomputeryzowany katalog zbiorw
wielkiej biblioteki moe si skada z p miliona wpisw zorganizowanych w rnych kategoriach (wedug nazwiska autora, tematu, tytuu itp.), ktre s z kolei uporzdkowane w kolejnoci
alfabetycznej. Jeszcze wiksza i bardziej skomplikowana baza danych jest utrzymywana przez
amerykaski urzd skarbowy (Internal Revenue Service), ktry przechowuje formularze podatkowe
wypeniane przez podatnikw na terenie caych Stanw Zjednoczonych. Jeli przyjmiemy, e takich
1.2. PRZYKAD
23
podatnikw jest 100 milionw i rekord dla kadego z nich zawiera rednio pi formularzy po 400
znakw informacji, otrzymamy baz danych zawierajc 1001064005 znakw (bajtw) informacji.
Gdyby okazao si, e amerykaski urzd skarbowy przechowuje dodatkowo dla kadego podatnika po
trzy formularze nadesane w przeszoci (poza formularzem tegorocznym), otrzymalibymy baz danych
zawierajc a 81011 bajtw (800 gigabajtw) informacji. Tak ogromna ilo informacji musi by
zorganizowana i zarzdzana w taki sposb, aby uytkownicy mogli t baz danych przeszukiwa,
uzyskiwa interesujce ich informacje oraz w razie potrzeby aktualizowa istniejce zapisy.
Baza danych moe by generowana i utrzymywana rcznie lub moe zosta cakowicie skomputeryzowana. Przykadowo, katalog kart bibliotecznych jest tym rodzajem bazy danych, ktry
mona stworzy i utrzymywa bez pomocy komputerw. Skomputeryzowane bazy danych mog
by tworzone i utrzymywane zarwno za pomoc grupy programw napisanych specjalnie z myl
o tym zadaniu, jak i przez uniwersalny system zarzdzania baz danych. W tej ksice bdziemy
si oczywicie skupiali wycznie na skomputeryzowanych bazach danych.
System zarzdzania baz danych (w skrcie SZBD, ang. Database Management System
DBMS) jest zbiorem programw, ktre umoliwiaj tworzenie i utrzymywanie bazy danych. SZBD jest
wic uniwersalnym systemem programowym, ktry uatwia definiowanie, konstruowanie, manipulowanie i udostpnianie baz danych rnym uytkownikom i aplikacjom. Definiowanie bazy danych
wie si z okrelaniem typw i struktur danych oraz ogranicze dla przechowywanych informacji. Konstruowanie bazy danych jest kontrolowanym przez SZBD procesem umieszczania w niej
waciwych informacji na jakim medium przechowywania. Manipulowanie baz danych obejmuje takie dziaania jak wykonywanie zapyta wycigajcych z bazy okrelone informacje, aktualizowanie bazy danych w taki sposb, aby zawarte w niej informacje odzwierciedlay rzeczywisty
stan reprezentowanego mini-wiata, oraz generowanie raportw na podstawie informacji zawartych
w bazie danych. Udostpnianie bazy danych umoliwia wielu uytkownikom i programom jednoczesne operowanie na zawartych w niej informacjach.
Do pozostaych funkcji oferowanych przez systemy zarzdzania bazami danych naley ochrona
bazy danych oraz konserwowanie jej przez dugi okres czasu. Proces ochrony bazy danych obejmuje zarwno ochron systemow przed niewaciwym dziaaniem (lub awariami) sprztu oraz
oprogramowania, jak i zabezpieczanie przed nieuprawnionym dostpem. Cykl ycia wielkich baz
danych moe trwa wiele lat, zatem systemy zarzdzania takimi bazami danych musz umoliwia
ich konserwowanie, tak aby moliwe byo dostosowywanie ich do ewoluujcych wymaga.
Implementowanie skomputeryzowanych baz danych wcale nie wymaga stosowania uniwersalnego oprogramowania typu SZBD. Moemy przecie napisa wasny zbir programw tworzcych
i utrzymujcych nasz baz danych, tworzc tym samym wasne, specyficzne oprogramowanie
typu SZBD. W obu przypadkach (a wic niezalenie od tego, czy zdecydowalimy si wykorzysta
uniwersalny SZBD) musimy zwykle wdroy w docelowym systemie komputerowym do skomplikowany pakiet oprogramowania. W rzeczywistoci wikszo systemw zarzdzania bazami
danych jest bardzo skomplikowanymi systemami oprogramowania.
Aby prezentowany w tym podrozdziale zbir definicji wprowadzajcych by kompletny, musimy
jeszcze okreli, czym jest system bazy danych ot jest to poczenie samej bazy danych z oprogramowaniem SZBD. Rysunek 1.1 ilustruje niektre spord omwionych do tej pory zagadnie.
1.2. Przykad
Przeanalizujmy teraz prosty przykad, ktry wikszoci czytelnikw tej ksiki moe wyda si
znajomy chodzi o baz danych reprezentujc informacje dotyczce studentw,
przedmiotw i ocen w rodowisku wyszej uczelni. Na rysunku 1.2 przedstawiono struktur bazy
24
RYSUNEK 1.1.
Uproszczone
rodowisko systemu
bazy danych
danych wraz z kilkoma przykadowymi informacjami wypeniajcymi poszczeglne tabele. Prezentowana baza danych skada si z piciu plikw, z ktrych kady zawiera rekordy danych tego
samego typu1. Plik
zawiera dane na temat poszczeglnych studentw, plik
na temat poszczeglnych przedmiotw, plik na temat poszczeglnych kursw z odpowiednich przedmiotw, plik zawiera dane na temat ocen uzyskanych przez studentw
podczas zaliczania poszczeglnych kursw, natomiast plik
informacje o wymaganiach odnonie do zaliczonych zaj przed uzyskaniem moliwoci uczestnictwa w zajciach
z poszczeglnych przedmiotw.
Aby zdefiniowa tak baz danych, musimy okreli struktur rekordw przechowywanych
w kadym z plikw przez sprecyzowanie rnych typw elementw danych, ktre maj by przechowywane w kolejnych rekordach. Na rysunku 1.2 kady rekord pliku
zawiera dane reprezentujce nazwisko studenta (element danych Nazwisko), numer indeksu (element danych NumerIndeksu), rok studiw (element danych RokSt, ktry moe zawiera takie wartoci jak pierwszy lub 1,
Drugi lub 2, ) oraz kierunek (element danych Kierunek, ktry moe zawiera takie wartoci jak
MAT, Informatyka lub INF, ). Kady rekord pliku
zawiera dane reprezentujce nazw
przedmiotu (element danych NazwaPrzedmiotu), identyfikator przedmiotu (element danych NumerPrzedmiotu), liczb godzin tygodniowo (element danych Godziny) oraz wydzia, na ktrym dany
przedmiot jest wykadany (element danych Wydzia), itd. Dla kadego takiego elementu danych
wewntrz rekordu musimy take okreli typ danych. Przykadowo, moemy okreli, e element
danych Nazwisko w pliku
jest cigiem znakw alfabetu, element danych NumerIndeksu w tym
1
Wykorzystujemy w tym miejscu pojcie pliku w sposb nieformalny. Na poziomie koncepcyjnym plik
jest zbiorem rekordw, ktre mog (cho nie musz) by uporzdkowane.
25
1.2. PRZYKAD
RYSUNEK 1.2.
Baza danych
zawierajca
informacje
o studentach
i przedmiotach
samym pliku jest liczb cakowit, natomiast element danych Ocena w pliku jest pojedyncz wartoci ze zbioru {5, 4, 3, 2}. Do reprezentowania wartoci poszczeglnych elementw
danych moemy take uy odpowiedniego schematu kodowania. Przykadowo, w widocznym na
rysunku 1.2 elemencie danych RokSt w pliku
warto 1 lub Pierwszy reprezentuje studenta
pierwszego roku, warto 2 lub Drugi studenta drugiego roku, warto 3 lub Trzeci studenta trzeciego
roku, warto 4 lub Czwarty studenta czwartego roku, a warto 5 lub Pity studenta pitego roku.
Aby skonstruowa baz danych , zapisujemy dane, ktre maj reprezentowa poszczeglnych studentw, przedmioty, kursy, oceny i wymagania w postaci rekordu w odpowiednim
pliku. atwo zauway, e rekordy w rnych plikach mog by ze sob powizane. Przykadowo,
rekord Nowak w pliku
moe by powizany z dwoma rekordami w pliku ,
ktry przechowuje oceny, jakie student o takim nazwisku uzyska z dwch zaliczanych przeze
kursw. Podobnie, kady rekord w pliku
jest zwizany z dwoma rekordami
26
reprezentujcymi dwa rne przedmioty: przedmiot, dla ktrego zdefiniowano dane wymaganie,
oraz przedmiot, ktrego zaliczenie stanowi warunek uczestnictwa w zajciach z pierwszego przedmiotu. Wikszo rednich i wielkich baz danych skada si z wielu typw rekordw i zawiera wiele
zwizkw pomidzy tymi rekordami.
Manipulowanie baz danych wie si z wykonywaniem zapyta i aktualizacj zawartych w niej
informacji. Przykadowo, zapytania mog mie nastpujc posta: wygeneruj list wszystkich
przedmiotw, w ktrych uczestniczy student o nazwisku Nowak, wraz z uzyskanymi ocenami,
wygeneruj list nazwisk studentw, ktrzy brali udzia w zajciach z danego kursu w ramach
przedmiotu Bazy Danych w semestrze jesiennym 1999 roku wraz z uzyskanymi przez nich ocenami
z tego kursu oraz jakie wymagania naley speni przed przystpieniem do zaj z przedmiotu
Bazy danych?. Przykadowe instrukcje aktualizujce mog natomiast mie posta: zmie rok
studiw studenta Nowak na drugi (Drugi), stwrz nowy kurs dla przedmiotu Bazy danych prowadzonego w biecym semestrze oraz zapisz ocen 5 dla studenta Nowak za zaliczenie w ostatnim
semestrze wskazanego kursu z przedmiotu Bazy danych. Przetworzenie wymienionych przed chwil
nieformalnych zapyta i instrukcji aktualizujcych wymaga oczywicie nadania im postaci precyzyjnych polece zapisanych w jzyku zapyta, ktry jest obsugiwany w wykorzystywanym systemie zarzdzania baz danych.
27
28
W niektrych typach systemw baz danych, np. w systemach obiektowych i obiektowo-relacyjnych (patrz rozdziay 20. i 22.), to uytkownicy mog (w ramach definiowania baz danych) okrela moliwe operacje na danych. Taka operacja (nazywana take funkcj lub metod) skada si
z dwch elementw. Pierwszym z nich jest interfejs (nazywany czsto sygnatur), ktry zawiera
nazw operacji oraz typy danych jej argumentw (nazywanych take parametrami). Drugim jest
implementacja (metoda), ktra jest definiowana osobno i moe by zmieniana bez koniecznoci
modyfikowania odpowiadajcego jej interfejsu. Aplikacje uytkownika mog operowa na danych
przez wywoywanie tak zdefiniowanych operacji poprzez ich nazwy i argumenty, niezalenie od
tego, w jaki sposb te operacje zostay zaimplementowane. Mona taki model nazwa niezalenoci programu od operacji.
Waciwo, ktra umoliwia zapewnienie niezalenoci programu od danych oraz niezalenoci programu od operacji, jest nazywana abstrakcj danych. Systemy zarzdzania bazami danych udostpniaj uytkownikom koncepcyjn reprezentacj danych, ktra nie zawiera wielu
szczegw zwizanych z wykorzystywanymi technikami przechowywania danych oraz implementacji operacji. Nieformalnie mona przyj, e jednym z typw abstrakcji danych jest model danych,
stosowany do zapewniania wanie reprezentacji koncepcyjnej. Model danych wykorzystuje takie
logiczne pojcia jak obiekty, ich wasnoci oraz ich wewntrzne relacje, ktre dla wielu uytkownikw s bardziej zrozumiae od poj zwizanych z przechowywaniem danych na wspczesnych
komputerach. Oznacza to, e model danych ukrywa szczegy przechowywania i implementacji
danych, ktre nie s przedmiotem zainteresowania dla wikszoci uytkownikw baz danych.
Przykadowo, przeanalizujmy ponownie struktur bazy danych przedstawion na rysunku 1.2.
Wewntrzna implementacja pliku moe by zdefiniowana za pomoc dugoci jego rekordw
liczby znakw (bajtw) w kadym rekordzie natomiast kady z wykorzystywanych elementw
danych moe zosta okrelony za pomoc jego bajtu pocztkowego wewntrz odpowiedniego rekordu
oraz dugoci (take wyraonej w bajtach). Rekord z pliku
byby w takim przypadku reprezentowany w taki sam sposb, jak to przedstawiono na rysunku 1.3. Typowego uytkownika bazy
danych nie interesuj jednak ani dokadne miejsce przechowywania poszczeglnych elementw danych
wewntrz rekordu, ani jego rzeczywista dugo; zamiast tego, taki uytkownik oczekuje przede
wszystkim tego, aby po odwoaniu si do elementu Nazwisko wybranego rekordu w pliku
zostaa zwrcona prawidowa warto. Koncepcyjn reprezentacj rekordw w pliku
przedstawiono na rysunku 1.2. Wiele innych szczegw organizacji plikw z danymi (w tym zdefiniowanych
29
dla niego cieek dostpu) mona ukry przed uytkownikami baz danych dziki odpowiednim mechanizmom systemu zarzdzania bazami danych (szczegy zwizane z przechowywaniem danych
omwimy w rozdziaach 13. i 14.).
W typowym rozwizaniu opartym na bazie danych szczegowa struktura i organizacja poszczeglnych plikw jest przechowywana w katalogu. Uytkownicy bazy danych i obsugujcych j
aplikacji odwouj si jedynie do koncepcyjnej reprezentacji tych plikw, a za wydobywanie z katalogu
szczegw zwizanych z przechowywaniem plikw odpowiadaj stosowne moduy dostpu uywanych systemw zarzdzania bazami danych. Do zapewniania abstrakcji danych uytkownikom
baz danych mona wykorzystywa rozmaite modele danych. Znaczna cz tej ksiki jest powicona prezentacji rnych modeli danych i stosowanym w nich mechanizmom abstrahowania reprezentacji danych.
W obiektowych i obiektowo-relacyjnych bazach danych proces abstrahowania obejmuje nie
tylko struktury danych, ale take zdefiniowane dla nich operacje. Takie operacje stanowi abstrakcj
dla czynnoci w reprezentowanym przez baz danych mini-wiecie, ktre zwykle s atwiejsze do
zrozumienia dla zwykych uytkownikw. Przykadowo, do obliczania redniej ocen wskazanego
obiektu z pliku
moe suy operacja . Operacje takie jak ta mog by wywoywane przez uytkownika za pomoc odpowiednich zapyta (lub za porednictwem aplikacji obsugujcych baz danych) bez znajomoci szczegw dotyczcych sposobu zaimplementowania
wykonywanych dziaa. W tym sensie abstrakcja czynnoci z reprezentowanego mini-wiata jest
udostpniana uytkownikowi jako operacja abstrakcyjna.
30
RYSUNEK 1.4. Dwie perspektywy dla bazy danych z rysunku 1.2. (a) Perspektywa REJESTR_OCEN_STUDENT.
(b) Perspektywa PRZEDMIOT_WYMAGANIA_WSTPNE
31
32
33
34
35
36
uwierzytelniajcych. System zarzdzania baz danych powinien oferowa podsystem bezpieczestwa i autoryzacji, za pomoc ktrego administrator bazy danych bdzie mg tworzy konta
uytkownikw (lub grup uytkownikw) i nakada na nie odpowiednie ograniczenia. System zarzdzania baz danych powinien nastpnie automatycznie wymusza przestrzeganie tych ogranicze.
Warto pamita, e podobne elementy zabezpieczajce mona spotka w samym oprogramowaniu
systemu zarzdzania baz danych. Przykadowo, tylko osoby z uprawnieniami administratora bazy
danych mog uruchamia pewne uprzywilejowane elementy tego oprogramowania, np. moduy
przeznaczone do tworzenia nowych kont uytkownikw. Podobnie, uytkownicy parametryczni
mog mie moliwo uzyskiwania dostpu do bazy danych wycznie za porednictwem transakcji
zaprojektowanych specjalnie z myl o realizowanych przez nich zadaniach.
37
38
39
40
Elastyczno. Kada ewentualna zmiana wymaga moe si wiza z koniecznoci zmodyfikowania struktury bazy danych. Przykadowo, nowa grupa uytkownikw moe zgosi konieczno
przetwarzania informacji, ktre nie s przechowywane w bazie danych w obecnym ksztacie. W efekcie, moe zaistnie potrzeba dodania do bazy danych nowego pliku lub rozszerzenia elementw
danych w pliku ju istniejcym. Wspczesne systemy zarzdzania bazami danych oferuj na szczcie pewne moliwoci w zakresie wprowadzania ewolucyjnych zmian do struktury bazy danych
bez koniecznoci modyfikowania ju przechowywanych danych ani istniejcych aplikacji.
Dostpno aktualnych informacji. System zarzdzania baz danych udostpnia t baz wszystkim
uytkownikom, ktrzy tylko dysponuj odpowiednimi uprawnieniami. Oznacza to, e w momencie
zastosowania w udostpnianej bazie danych operacji aktualizacji wykonanej przez jednego uytkownika, wszyscy pozostali uytkownicy mog natychmiast zobaczy efekt wykonania tej operacji.
Dostpno najbardziej aktualnych informacji ma zasadnicze znaczenie w wielu aplikacjach przetwarzajcych transakcje (takich jak systemy rezerwacji czy bankowe bazy danych) jest to moliwe
dziki mechanizmom sterowania wspbienego i podsystemowi odzyskiwania danych systemu zarzdzania baz danych.
Korzyci ekonomiczne. Rozwizania oparte na systemach sterowania bazami danych umoliwiaj
konsolidowanie danych i aplikacji celem ograniczenia niepotrzebnego pokrywania si dziaa personelu przetwarzajcego dane przydzielonego do rnych projektw lub pracujcego w rnych
dziaach organizacji. Dziki temu caa organizacja moe inwestowa wiksze rodki w nowoczesne
procesory, ukady pamici czy systemy komunikacji, zamiast pozwala poszczeglnym dziaom na
dokonywanie samodzielnych zakupw (czsto gorszego) wyposaenia. Mona w ten sposb zredukowa czne koszty operacyjne i zarzdzania.
41
42
43
Rozwizania naukowe, ktre wymagaj przechowywania ogromnych iloci danych generowanych w trakcie eksperymentw naukowych w takich obszarach jak fizyka czstek elementarnych czy odwzorowywanie ludzkiego materiau genetycznego.
Przechowywanie i udostpnianie obrazw, poczwszy od zeskanowanych artykuw prasowych i rodzinnych fotografii, a skoczywszy na zdjciach satelitarnych i obrazach powstajcych podczas takich procedur medycznych jak przewietlenia rentgenowskie czy rezonans
magnetyczny.
Przechowywanie i udostpnianie obrazu wideo, np. filmw czy klipw wideo z wiadomociami telewizyjnymi lub zapisem z osobistych kamer cyfrowych.
Rozwizania w zakresie drenia danych, w ktrych ogromne iloci danych s poddawane
analizie pod ktem wystpie konkretnych wzorcw lub relacji.
Techniki przestrzenne, w ktrych przechowuje si przestrzenne lokalizacje takich danych jak
informacje o pogodzie czy mapy wykorzystywane w systemach informacji geograficznej.
Zastosowania zwizane z przechowywaniem szeregw czasowych, w tym danych ekonomicznych odpowiadajcych rwnomiernie rozoonym punktom w czasie; mog to by np. wykresy
dziennej sprzeday lub miesicznego produktu krajowego brutto.
Bardzo szybko okazao si, e podstawowe relacyjne systemy baz danych nie nadaj si do obsugi
wielu z wymienionych przed chwil zastosowa zwykle powodem takiego stanu rzeczy jest jeden
z poniszych problemw:
Do modelowania istniejcego stanu mini-wiata potrzebne s bardziej skomplikowane struktury danych ni prosta reprezentacja relacyjna.
Poza podstawowymi typami numerycznymi i znakowymi niezbdne s nowe typy danych.
Do operowania na nowych typach danych potrzebne s zupenie nowe operacje i konstrukcje
jzyka zapyta.
Niezbdne s nowe struktury przechowywania i indeksowania danych.
Wymienione powyej ograniczenia spowodoway, e twrcy systemw zarzdzania bazami
danych zaczli wprowadza do swoich pakietw dodatkowe elementy zwikszajce ich funkcjonalno. Zastosowania niektrych z nowych funkcji s uniwersalne dotyczy to np. przenoszenia
poj z obiektowych baz danych do systemw relacyjnych. Inne elementy nowej funkcjonalnoci
maj bardzo konkretne przeznaczenie i s zwykle oferowane w postaci opcjonalnych moduw,
ktre mona stosowa tylko podczas realizacji specyficznych zada. Przykadowo, uytkownicy
mog zakupi modu obsugujcy szeregi czasowe, ktry bd nastpnie wykorzystywali w swoim
relacyjnym systemie zarzdzania baz danych do obsugi takich szeregw.
44
1.9. Podsumowanie
W tym rozdziale zdefiniowalimy baz danych jako zbir wzajemnie powizanych danych (informacji), gdzie przez same dane rozumiemy zarejestrowane fakty ze wiata rzeczywistego. Typowa
baza danych reprezentuje jaki aspekt tego wiata i jest wykorzystywana do okrelonych celw przez
jedn lub wicej grup uytkownikw. System zarzdzania baz danych jest uniwersalnym pakietem
oprogramowania, ktry umoliwia implementowanie i utrzymywanie skomputeryzowanej bazy
danych. Baza danych w poczeniu z tym oprogramowaniem tworzy system bazy danych. Wymienilimy w tym rozdziale szereg waciwoci, ktre odrniaj rozwizania oparte na bazach danych
od tradycyjnych aplikacji przetwarzajcych pliki z danymi. W dalszej kolejnoci omwilimy najwaniejsze kategorie uytkownikw baz danych nazwalimy ich aktorami na scenie. Stwierdzilimy take, e poza wymienionymi rodzajami uytkownikw baz danych istnieje take kilka kategorii personelu wspierajcego tych uytkownikw podczas ich pracy w rodowisku bazy danych
nazwalimy ich pracownikami poza scen.
Przedstawilimy take list moliwoci i funkcji, ktre powinny by dostpne na poziomie
systemw zarzdzania bazami danych dla administratorw, projektantw oraz uytkownikw baz
danych, i ktre powinny im uatwia projektowanie, administrowanie i wykorzystywanie tyche
baz danych. Zaraz potem krtko omwilimy histori i ewolucj rozwiza opartych na bazach
danych. Wreszcie skupilimy si przez chwil na kosztach wynikajcych ze stosowania systemw
zarzdzania bazami danych oraz przedstawilimy sytuacje, w ktrych wykorzystywanie tego typu
rozwiza moe powodowa wicej strat ni korzyci.
1.9. PODSUMOWANIE
45
Pytania powtrkowe
1.1. Zdefiniuj nastpujce pojcia: dane, baza danych, system zarzdzania baz danych, system
bazy danych, katalog bazy danych, niezaleno programu od danych, perspektywa uytkownika, administrator bazy danych, uytkownik kocowy, transakcja zapuszkowana, dedukcyjny system bazy danych, trway obiekt, metadane oraz aplikacja przetwarzajca transakcje.
1.2. Jakie trzy gwne typy dziaa wi si ze stosowaniem baz danych? Krtko omw kady
z wymienionych typw.
1.3. Omw gwne waciwoci rozwiza opartych na bazach danych i przedstaw krtko rnice
dzielce te rozwizania od ich odpowiednikw majcych posta tradycyjnych systemw
plikw.
1.4. Jakie s zadania administratora bazy danych i projektanta bazy danych?
1.5. Wymie rne typy uytkownikw kocowych bazy danych. Omw gwne czynnoci podejmowane przez uytkownikw nalecych do poszczeglnych typw.
1.6. Przedstaw moliwoci, jakie powinny by oferowane przez systemy zarzdzania bazami
danych.
wiczenia
1.7. Przedstaw kilka nieformalnych zapyta i operacji aktualizujcych, ktre chciaby zastosowa dla bazy danych przedstawionej na rysunku 1.2.
1.8. Jaka jest rnica pomidzy kontrolowan a niekontrolowan nadmiarowoci? Odpowied
zilustruj odpowiednimi przykadami.
1.9. Wymie wszystkie zwizki czce rekordy bazy danych przedstawionej na rysunku 1.2.
1.10. Podaj kilka dodatkowych perspektyw, ktre mog by przydatne dla innych grup uytkownikw bazy danych zademonstrowanej na rysunku 1.2.
1.11. Przedstaw kilka przykadw ogranicze integralnociowych, ktre Twoim zdaniem powinny
zosta zdefiniowane dla bazy danych zaprezentowanej na rysunku 1.2.
Wybrane publikacje
Wydanie miesicznika Communications of the ACM z padziernika roku 1991 oraz ksika Kima
(1995) zawieraj wiele artykuw i materiaw opisujcych systemy zarzdzania bazami danych
nastpnej generacji; wiele spord rozwiza omwionych w tym pierwszym czasopimie jest ju
dostpnych w oferowanych obecnie komercyjnych pakietach oprogramowania. Wydanie miesicznika
ACM Computing Surveys z marca roku 1976 zawiera wczesne wprowadzenie do systemw baz
danych, ktre dla zainteresowanych czytelnikw moe stanowi ciekawy materia historyczny na
ten temat.