SIP: Struktura a model bazy danych

Wśród wdrożeniowców dość powszechne jest  żonglowanie pojęciami związanymi z bazami danych. Dla higieny umysłu i poprawy komunikacji postanowiłem zrobić resume definicji, ze szczególnym rozróżnieniem pojęć struktura bazy danych a model bazy danych.  

Baza danych
Baza danych jest zbiorem danych z nałożoną na niego wewnętrzną strukturą. Struktura ta powoduje pewien logiczny podział danych. Mówi się o bazie danych jak o zbiorze plików. Każdy plik w bazie danych jest również strukturalnym zbiorem danych składającym się z rekordów. Każdy rekord jest z kolei podzielony na zbiór obszarów nazywany polami. W każdym polu wpisana jest konkretna wartość. Inaczej też baza danych jest faktycznie zbiorem struktur danych służących do organizowania i przechowywania danych.

System zarządzania bazą danych (SZBD)
System zarządzania bazą danych jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. Za pomocą tych narzędzi dokonują się operacje na bazie danych. W tym kontekście możemy mówić o jądrze systemu (zbiorze plików) i zestawie narzędzi.

Modele danych
Każda baza danych lub system zarządzania bazą danych musi się stosować do określonego modelu danych. Model danych to [Paul Beyno-Davies, Systemy Baz Danych, 2000):
– architektura danych – zbiór zasad, które określają zbiór danych,
– zbiór wymagań (oczekiwań, specyfikacji) w odniesieniu do danych.

Wyróżnia się: hierarchiczny model danych, relacyjny model danych, obiektowy model danych.

Zbiór zasad, które określają model danych można podzielić na:
– Definicję danych – zbiór reguł określających jaka jest struktura danych,
– Operowanie danymi – zbiór danych jak się operuje danymi,
– Integralność danych – zbiór reguł, które stany bazy danych są poprawne.
Definicja danych wiąże się z określeniem organizacji danych: określeniem szablonów, wzorców-struktur, w które będą odwzorowane dane. Jak zatem widać pojęcie modelu danych jest szersze niż struktura danych.

Struktura danych – to pewne logiczne uporządkowanie danych.

Należy odróżnić struktury danych od struktur systemów zarządzania danymi. Dla tych drugich twórcy SZBD Oracle wprowadzają dla przestrzeni składowania danych (jądra bazy) następujące pojęcia: struktury logiczne: Przestrzenie tabel (ang. Tablespaces), Segmenty (ang. Segments), Ekstenty (ang. Extents), Bloki danych Oracle (ang. Oracle data blocks) oraz Struktury fizyczne: Pliki danych (ang. Data Files) i Bloki danych systemu operacyjnego (ang. OS blocks).