Bazy danych można podzielić według struktur danych,
których używają:
Bazy proste :
bazy kartotekowe
hierarchiczne bazy danych
Bazy złożone :
bazy relacyjne
bazy obiektowe
bazy relacyjno-obiektowe
strumieniowe bazy danych
temporalne bazy danych
W bazach kartotekowych
każda tablica danych jest samodzielnym dokumentem i nie
może współpracować z innymi tablicami. Z baz tego
typu korzystają liczne programy typu: książka
telefoniczna, książka kucharska, spisy książek, kaset
i inne. Wspólną cechą tych baz jest ich zastosowanie w
jednym wybranym celu.
Model historyczny, pozwalał tylko na związki binarne;
wiele do jeden.
Przykładem hierarchicznej bazy danych jest opracowana
przez IBM baza IMS (ang. Information Management System).
W bazach
relacyjnych wiele tablic danych może
współpracować ze sobą (są między sobą powiązane).
Bazy relacyjne posiadają wewnętrzne języki
programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą
których tworzone są zaawansowane funkcje obsługi
danych. Relacyjne bazy danych (jak również przeznaczony
dla nich standard SQL) oparte są na kilku prostych
zasadach:
Wszystkie wartości danych oparte są na prostych typach
danych.
Wszystkie dane w bazie relacyjnej przedstawiane są w
formie dwuwymiarowych tabel (w matematycznym żargonie
noszących nazwę "relacji"). Każda tabela zawiera
zero lub więcej wierszy (w tymże żargonie - "krotki") i
jedną lub więcej kolumn ("atrybutów"). Na
każdy wiersz składają się jednakowo ułożone kolumny
wypełnione wartościami, które z kolei w każdym
wierszu mogą być inne.
Po wprowadzeniu danych do bazy, możliwe jest
porównywanie wartości z różnych kolumn, zazwyczaj
również z różnych tabel, i scalanie wierszy, gdy
pochodzące z nich wartości są zgodne. Umożliwia to
wiązanie danych i wykonywanie stosunkowo złożonych
operacji w granicach całej bazy danych.
Wszystkie operacje wykonywane są w oparciu o algebrę relacji, bez
względu na położenie wiersza tabeli. Nie można więc
zapytać o wiersze, gdzie (x=3) bez wiersza pierwszego,
trzeciego i piątego. Wiersze w relacyjnej bazie danych
przechowywane są w porządku zupełnie dowolnym - nie
musi on odzwierciedlać ani kolejności ich wprowadzania,
ani kolejności ich przechowywania.
Z braku możliwości identyfikacji wiersza przez jego
pozycję pojawia się potrzeba obecności jednej lub
więcej kolumn niepowtarzalnych w granicach całej
tabeli, pozwalających odnaleźć konkretny wiersz.
Kolumny te określa się jako "klucz
podstawowy" (ang. primary key) tabeli.
W bazach obiektowych dane
przechowywane są w strukturach obiektowych
(zdefiniowanych jako klasy). Koncepcje akademickie
dotyczące baz obiektowych były popularne w latach 90.,
obecnie prace nad nimi są w zaniku.
Bazy relacyjno-obiektowe pozwalają na manipulowanie
danymi jako zestawem obiektów, posiadają jednak bazę
relacyjną jako wewnętrzny mechanizm przechowywania
danych.
Temporalna
baza danych jest
odmianą bazy relacyjnej, w której każdy rekord posiada
stempel czasowy, określający czas w jakim wartość
jest prawdziwa. Posiada także operatory algebry
relacyjnej, które pozwalają operować na danych
temporalnych (wyciągać historię).