Obiektowe bazy danych prof. UE dr hab. Inż. Mieczysław Owoc
Wykład 2
Kryteria różnicowania współczesnych BD
Stosowany model danych (przed-relacyjne, relacyjne, post-relacyjne)
Lokalizacja zasobów (scentralizowane, rozproszone)
Infrastruktura sprzętowo-programowa (jednorodne, różnorodne)
Wykorzystywane języki zapytań (SQL i inne)
Miejsce użytkownika (lokalne, zdalne)
Języki i formy komunikacji (interaktywne, programowe)
Sposób obsługi transakcji (paralelne, sekwencyjne)
Zakres funkcjonalny (pełny, ograniczony)
Klasyfikacja języków zapytań
wykorzystujące algebrę relacji (proceduralne)
wykorzystujące rachunek predykatów (nieproceduralne)
SQL (Structured Query Language)
OQL (Object Query Language)
Wykorzystujące algebrę relacji
specjalne operacje relacyjne:
• restrykcja (restrict, select) • rzut (project) • złączenie (join) • podzielenie (divide) dodatkowe operacje relacyjne:
• przemianowanie (rename) • rozszerzenie (extension)
• sumowanie (summarize)
Wykorzystujące rachunek predykatów krotek:
definiowanie wyniku za pośrednictwem wyrażeń, na które składają się:
odwołania do relacji, zmiennych i atrybutów, identyfikowanych przez nazwy,
operatory arytmetyczne i logiczne m.in.: =,,,
(…)
… zbiorom atrybutów
Ekwiwalentność poleceń w różnych językach zapytań
definiujące i modyfikujące obiekty BD (DDL): Create, Alter, Drop aktualizujące BD (DML): Insert, Delete, Update, wyszukujące dane z BD (DQL): Select
służące do administrowania BD (DCL):Desc[ribe], Grant/Revoke, Commit/Rollback, Connect/Exit, Startup/Shutdown, Recover, Backup, Analyze, Set, Execute, ...
Użyteczność języków deklaratywnych w przetwarzaniu OBD
Komponenty SQL3 dedykowane obiektowemu modelowi danych
Wprowadzenie obsługi obiektów (SQLJ, SQL/OLB):
Definiowanie abstrakcyjnych typów danych (ADT)
Deklarowanie procedur Implementacja właściwości podejścia obiektowego: hermetyzacja, dziedziczenie, polimorfizm itd.
Rozbudowana obsługa tabel i relacji (SQL/Schemata): Definiowanie typów wierszy
Deklarowanie tabel podrzędnych
Nowe typy związków między tabelami
Wprowadzenie struktur programowych (SQL/CLI, SQL/JRT, SQL/PSM):
przydzielania/usuwania (Assignement, Destroy)
sterujące (Call, Return)
testujące (If-Then, Case, Loop)
parametryzacja konstrukcji programowych (Public, Protected, Private) Obsługa rozproszonych źródeł danych (SQL/MED, SQL/XML)
Przesłanki rozwoju OBD
Zalety RBD:
mocny i precyzyjny fundament teoretyczny RBD (model relacyjny)
prostota modelu danych (JOD)
optymalizacja dostępu do danych (JZ)
efektywność przetwarzania
Niedogodności klasycznych RBD:
trudność reprezentowania bardziej złożonych struktur danych (obiekty i ich związki, nowe typy i wymiary danych
pasywność przetwarzania (automatyczne metody przypisane do obiektów)
Konieczność wzbogacenia podstawowych typów danych:
• abstrakcyjne typy użytkownika (ADT)
• typy strukturalne (zbiory, sekwencje, tabele)
• dziedziczenie struktur danych
Obsługa złożonych typów danych:
wyszukiwanie obiektów (SQL3/4/5, OOL)
metody definiowane przez użytkowników
dodatkowe operatory (dla typów strukturalnych: ∩, ≠, ^ oraz referencyjnych ->)
…
... zobacz całą notatkę
Komentarze użytkowników (0)