Supermodel - wybieramy bazy danych
- Jarosław Badurek,
- 07.10.1996
Decyzja o wyborze typu bazy danych ma znaczenie dla całego systemu informatycznego.
Decyzja o wyborze typu bazy danych ma znaczenie dla całego systemu informatycznego .
Możliwości korzystania z bazy danych są w ścisłej zależności z założeniami przyjętymi w procesie modelowania danych. To właśnie wtedy dokonuje się odwzorowanie obiektów świata rzeczywistego w ich komputerową reprezentację. Jej sposób rzutuje zatem na sprawność całego systemu informacyjnego, wykorzystującego bazę danych. Tak więc pod pojęciem model danych ukrywa się sposób przedstawiania struktur danych, składających się z obiektów, wraz z atrybutami, oraz powiązań między nimi. Sposoby te można pogrupować w 5 podstawowych typów modeli:
* liniowe
* hierarchiczne
* sieciowe
* relacyjne
* postrelacyjne.
Niezależnie od przyjętego modelu danych, mogą być one reprezentowane na trzech poziomach: wewnętrznym, logicznym i zewnętrznym
Z kolei agregowanie danych powoduje, że możemy mówić o przechodzeniu od danych do informacji. Natomiast ideałem dla każdego użytkownika byłaby możliwość korzystania ze zintegrowanej bazy wiedzy, a nie masy liczb, słów czy symboli. Jednak, mimo postępów w zakresie systemów ekspertowych, postulat ten długo jeszcze pozostawał będzie w sferze marzeń.
Mnogość wariantów aplikacji bazodanowych powoduje, że nie istnieje w tym obszarze najlepszy "supermodel danych", którego zastosowanie gwarantowałoby optimum funkcjonalne bazy danych. W pewnych przypadkach nawet proste bazy danych mogą dawać pożądane efekty. Przyjrzyjmy się zatem bliżej cechom poszczególnych modeli baz danych. Najprostszym z nich jest model liniowy, wykorzystujący bezpośrednio filozofię systemu zbiorów danych wraz z metodami dostępu do nich. Model ten ogólnie można scharakteryzować następująco:
- możliwość wyboru rekordów lub pól w rekordach w ramach danego typu rekordów
- brak bezpośrednich powiązań między poszczególnymi typami rekordów
- indeksowanie w celu przyspieszenia dostępu do danych.
Ograniczenia wynikające z takiego modelu pokazano na rys. 2. W praktyce poradzimy sobie na pewno z EL-TECHEM i to wcale nie dlatego, że posłużymy się numerem klienta, ale będzie to wynikać z konkretnej implementacji bazy danych, a nie z właściwości jej modelu. Nie trzeba dodawać, że koncepcja ta obecnie ma znaczenie li tylko historyczne - przykładem takiego rozwiązania jest VSAM (Virtual Sequential Access Method) IBM.
Wyższy szczebel wtajemniczenia to model hierarchiczny, który można znaleźć np. w pakiecie IMS (Information Management system) IBM. Model ten opiera się na przyjęciu "drzewiastej" struktury danych, definiowanej na gruncie teorii grafów. Notabene, teorię tę można śmiało polecić miłośnikom przyrody, roi się w niej bowiem od "roślinnych" terminów, takich jak "korzenie", "liście", "gałęzie", "lasy" czy "palmy" (tak jest!). Negatywne konsekwencje takiej struktury (rys. 3) to:
- konieczność znajomości ścieżki dostępu prowadzącej do docelowych danych
- brak możliwości bezpośredniego przedstawiania relacji n:m.
Z kolei model sieciowy nie nakłada żadnych ograniczeń na powiązania (set) między obiektami (rekordami tego samego typu). W szczególności oznacza to, że podrzędny typ rekordów - członek (member) może mieć 2 nadrzędne typy rekordów - właścicieli (owner), co przedstawia rys. 4. Model sieciowy precyzyjnie zdefiniowany został normami CODASYL. Jego główne cechy to:
- możliwość bezpośredniego użycia relacji n:m
- schematy powiązań między obiektami zbliżone do rzeczywistości
- sztywne powiązania między danymi
- konieczność znajomości ścieżki dostępu do danych.
Dla baz danych korzystających z tej klasy modeli typowe jest zastosowanie języków DDL (Data Description Language - Język Opisu Danych - JOD) i DML (Data Manipulation Language - Język Manipulowania Danymi - JMD), będących rozszerzeniami COBOL, ze wszystkimi wadami i zaletami takiego rozwiązania.