Baza danych
Baza danych to zbiór danych zapisanych zgodnie z określonymi regułami, często z wykorzystaniem systemu zarządzania bazą danych (DBMS). W ustawie z 27 lipca 2001 r. zdefiniowano bazę danych jako zbiór danych zorganizowanych według określonej systematyki, wymagający znacznego nakładu inwestycyjnego na weryfikację i prezentację zawartości. Programy do obsługi baz danych operują głównie na danych tekstowych i liczbowych, ale także na grafice, muzyce i danych o nieokreślonej strukturze.
Historia
Termin „baza danych” po raz pierwszy użyto w 1963 roku podczas sympozjum dotyczącego gromadzenia danych. Pierwsze systemy zarządzania bazami danych powstały w latach 60., a pionierem był Charles Bachman, który wprowadził modele sieciowe i hierarchiczne. W 1970 roku E.F. Codd zaproponował relacyjny model danych, który zyskał popularność dopiero w latach 80. dzięki rozwojowi technologii. W latach 90. nastąpił rozwój obiektowych baz danych oraz baz danych Open Source, jak PostgreSQL i MySQL. Na początku XXI wieku pojawiły się bazy danych XML, integrujące dokumenty i dane.
Budowa bazy danych
Dane w bazach danych mogą być organizowane w formie tabel, gdzie każdy rekord jest zbiorem informacji podzielonym na pola. Taka struktura umożliwia szybkie sortowanie i wyszukiwanie informacji.
Rodzaje baz danych
Bazy danych dzielą się na:
- Bazy proste:
- kartotekowe
- hierarchiczne
- Bazy złożone:
- relacyjne
- obiektowe
- relacyjno-obiektowe
- strumieniowe
- temporalne
- serii czasowych
- nierelacyjne (NoSQL)
Bazy relacyjne
Bazy relacyjne organizują dane w tabelach, które mogą współpracować ze sobą. Umożliwiają one użycie języka SQL do operacji na danych. Kluczowe zasady relacyjnych baz danych obejmują:
- Wszystkie dane są reprezentowane jako dwuwymiarowe tabele.
- Możliwość porównywania wartości z różnych kolumn i scalania danych.
- Operacje oparte są na algebrze relacji.
- Obecność kolumn klucza podstawowego do identyfikacji wierszy.
Bazy obiektowe i relacyjno-obiektowe
Bazy obiektowe przechowują dane jako obiekty, a relacyjno-obiektowe łączą elementy obu modeli, pozwalając na manipulowanie danymi jako zestawem obiektów, z relacyjnym mechanizmem przechowywania.
Bazy nierelacyjne (NoSQL)
Bazy NoSQL przechowują dane w formie par klucz-wartość, bez wymogu relacji między obiektami. Mogą mieć różnorodne struktury danych, niekoniecznie tabelaryczne.
Temporalne bazy danych
To odmiana baz relacyjnych, w której każdy rekord ma znacznik czasowy, co umożliwia operacje na danych temporalnych.