Proces projektowania baz danych rozpoczyna się od analizy danych, przeznaczonych do przechowywania w bazie, oraz ustalenia zależności między wyodrębnionymi składowymi. Struktura bazy danych, nazywana schematem bazy, jest często opisywana za pomocą jednego z wielu języków lub formalizmów, które są specjalnie przeznaczone do projektowania. Po dokładnej analizie projekt doprowadza się do takiej postaci, żeby można go było zapisać w systemie zarządzania bazami danych, gdzie zaczyna istnieć jako fizyczna baza danych.
W niniejszej książce będziemy używać dwóch formalizmów. Pierwszy z nich. nazywany diagramem związków encji (cntity-rclationship E/R), jest tradycyjnym zapisem graficznym, w którym prostokąty i strzałki reprezentują główne elementy danych oraz powiązania między nimi. Równolegle z notacją E/R w prowadzimy język ODL (język definiow ania obiektów - objęci definition lafiguage), który stanowi realizację zorientowanego obiektowo podejścia do projektowania i staje się standardem w zorientowanych obiektowo systemach baz danych. W niniejszym rozdziale pojawią się również dwa inne modele -hierarchiczny i sieciowy które mają głównie znaczenie historyczne. W pewnym sensie można je uważać za zawężone wersje języka ODL, korzystano z nich w' komercyjnych systemach baz danych w latach siedemdziesiątych.
W rozdziale trzecim skierujemy uwagę na model relacyjny, w którym świat postrzega się jako zbiór tabel. W modelu relacyjnym potrafimy reprezentować tylko dość ograniczone struktury. Niemniej jednak jest on wyjątkowo prosty i użyteczny ora/ stanowi podstawę większości współczesnych ko-ncrcyjnych systemów zarządzania bazami danych. Projektanci baz danych ;zęsto zaczynają pracę od utworzenia schematu w modelu związków encji lub >bicktowym, a potem, w celu implementacji, przekształcają schemat do po-taci modelu relacyjnego.
Na rysunku 2.1 zobrazowano proces projektowania. Zaczynamy od wydania danych, które mają być modelowane. Naszą koncepcję trzeba opisać v jednym z języków projektowania, przedstawiliśmy juz dwie możliwości:
RYSUNEK 2.1
Modelowanie bazy danych i proces implementacji
diagram związków encji i język ODL. ale są oczywiście jeszcze inne. Przeważnie projekty są później implementowane w relacyjnych systemach zarządzania bazami danych. W takich przypadkach projekt abstrakcyjny jest przekształcany do konkretnej postaci relacyjnej; można ten proces zmechanizować, co opiszemy w rozdziale 3. Przedstawimy także alternatywną ścieżkę, wiodąca od projektu w języku ODL do zorientowanego obiektowo schematu bazy danych. W tym przypadku przeróbka schematu odbywa się automatycznie poprzez bezpośrednie przetłumaczenie jednostek dialektu języka ODL na odpowiedniki /dialektów języków zorientowanych obiektowo C++ lub Smałltalk.
Język ODL stopniowo staje się języ kiem standardowym, przeznaczonym do specyfikowania struktury baz danych w terminach zorientowanych obiek towo, których odpowiedniki znajdują się w takich językach jak C+~ lub Smałltalk. Stanowi on rozszerzenie innego języka IDL (język opisu interfejsu), składnika standardu CORBA (common objęci reąuest broker architectu-re). Ten ostatni jest już standardem wiodącym zorientowanego obiektowo przetwarzania rozproszonego.
Pojęcia
ODL
ODL osadzony wC++
OODBMS oparty na O*
ODL
osadzony w Smalltalku
OODBMS
oparty na Smalltalku
RYSUNEK 2.2
Przekształcanie projektów w języku ODL do postaci OODBMS