ZSBD-2st-1.2-w4.tresc-1.1-Slajd9
Architektury obiektowych i obiektowo-relacyjnych systemów baz danych
Obiektowo-relacyjne systemy bazy danych dziedziczą po systemach relacyjnych cechę niedopasowania systemów typów danych bazy danych i aplikacji bazy danych, co zostało zilustrowane na rysunku po lewej stronie slajdu. Dane przechowywane w bazie danych mają inną strukturę i semantykę niż dane przetwarzane przez aplikacje. Ta sama informacja w ciągu swojego cyklu życia obejmującego przenoszenie jej między pamięcią dyskową, a pamięcią operacyjną zmienia swoją fizyczną reprezentację. W bazie danych jest krotką o określonej reprezentacji fizycznej poszczególnych typów danych, tekstowych, numerycznych i dat. Z kolei podczas wizualizowania na ekranie komputera przez aplikacje ta sama informacja jest kolekcją danych o odmiennych reprezentacjach fizycznych.
Na przykład, nazwisko studenta w bazie danych jest przechowywane w polu o typie VARCHAR(20), którego fizyczna reprezentacja jest dwuelementową tablicą, której pierwszy element pamięta faktyczną długość tekstu, a drugi jest łańcuchem kodów ASCII. Tymczasem aplikacja napisana w języku C++ przechowuje nazwisko studenta w zmiennej wskaźnikowej na tekst, który jest ciągiem kodów ASCII zakończonym wyróżnioną wartością zera binarnego. Przenoszenie informacji między bazą danych, a aplikacją wymaga więc bezustannej transformacji fizycznej reprezentacji tej informacji. Niedopasowanie systemów typów danych ogranicza wydajność działania oraz komplikuje tworzenie aplikacji.
Czysto obiektowe bazy danych nie posiadają tej wady. Obiekty w bazie danych i obiekty przetwarzane przez aplikacje mają dokładnie taką samą strukturę i semantykę. Przenoszenie danych między pamięcią operacyjną i dyskową nie wymaga żadnego przekształcania danych. Ilustruje to rysunek po prawej stronie slajdu.