encyklopedia.space

Baza danych

Baza danych (ang. database) – uporządkowany zbiór danych przechowywanych i udostępnianych w sposób umożliwiający ich łatwe wyszukiwanie, modyfikację oraz analizę. Baza danych jest podstawowym elementem systemów informatycznych, służącym do gromadzenia, przechowywania i zarządzania informacjami w sposób trwały i bezpieczny.

Historia

Początki baz danych sięgają lat 1960., kiedy to powstały pierwsze systemy zarządzania plikami. Przełomowym momentem był rozwój modelu relacyjnego zaproponowany przez E. F. Codd’a w artykule „A Relational Model of Data for Large Shared Data Banks” (1970). W kolejnych dekadach powstały systemy SQL-based, a od lat 2000. pojawiły się także rozwiązania NoSQL, przeznaczone do obsługi danych niestrukturalnych i bardzo dużej skali.

Klasyfikacja baz danych

Bazy danych można podzielić według kilku kryteriów:

Architektura systemu zarzÄ…dzania bazÄ… danych

System zarządzania bazą danych (SZBD) składa się z kilku warstw:

  1. Warstwa fizyczna – odpowiedzialna za przechowywanie danych na dyskach, organizację plików i zarządzanie pamięcią.
  2. Warstwa logiczna – definiuje strukturę danych (schemat, tabele, indeksy) oraz reguły integralności.
  3. Warstwa API – interfejsy programistyczne (np. ODBC, JDBC) umożliwiające dostęp do bazy z aplikacji.
  4. Warstwa językowa – języki zapytań, najczęściej SQL, ale także XQuery, SPARQL czy języki specyficzne dla NoSQL.

Podstawowe pojęcia

Schemat (schemat)
Opis struktury bazy, określający tabele, ich pola oraz zależności.
Rekord (rekord)
Pojedynczy wiersz w tabeli, zawierający zestaw powiązanych ze sobą wartości.
Klucz główny (klucz główny)
Unikalny identyfikator rekordu w tabeli.
Indeks (indeks)
Struktura przyspieszająca wyszukiwanie danych, podobna do spisu treści w książce.
Transakcja (transakcja)
Jednostka pracy, którą należy wykonać w całości albo nie wykonać wcale, zapewniająca spójność danych (zasada ACID).
Normalizacja (normalizacja)
Proces podziału danych na tabele w celu eliminacji redundancji i zapewnienia integralności.

Języki zapytań

Najbardziej rozpowszechnionym językiem jest SQL (Structured Query Language), który umożliwia operacje DDL (definicja struktury), DML (manipulacja danymi) i DCL (kontrola dostępu). W bazach NoSQL stosuje się natomiast:

  • MongoDB – zapytania w formacie JSON.
  • Cassandra – jÄ™zyk CQL (Cassandra Query Language).
  • Neo4j – jÄ™zyk Cypher do zapytaĹ„ grafowych.

Zastosowania

Bazy danych sÄ… wykorzystywane w praktycznie wszystkich dziedzinach informatyki i gospodarki:

  • Systemy bankowe i finansowe – przechowywanie transakcji, kont, historii operacji.
  • Systemy e‑commerce – katalogi produktĂłw, zamĂłwienia, informacje o klientach.
  • Opieka zdrowotna – elektroniczne rekordy medyczne (EMR).
  • Nauka i badania – przechowywanie duĹĽych zestawĂłw danych (np. Big Data).
  • Systemy zarzÄ…dzania zasobami (ERP), systemy zarzÄ…dzania treĹ›ciÄ… (CMS) i wiele innych.

Przyszłość baz danych

Współczesne trendy obejmują:

  • IntegracjÄ™ z sztucznÄ… inteligencjÄ… – automatyczne optymalizacje zapytaĹ„ i indeksĂłw.
  • Rozproszone i edge computing – przetwarzanie danych bliĹĽej miejsca ich generacji.
  • Technologie blockchain jako alternatywne modele przechowywania danych.
  • RozwĂłj GraphQL oraz innych jÄ™zykĂłw zapytaĹ„ zapewniajÄ…cych wiÄ™kszÄ… elastyczność w dostÄ™pie do danych.

Powiązane pojęcia

System zarządzania bazą danych – oprogramowanie umożliwiające tworzenie, utrzymywanie i ochronę baz danych.
Model relacyjny – najpowszechniejszy model danych oparty na tabelach.
NoSQL – rodzina baz danych nie‑relacyjnych.
SQL – język zapytań używany w relacyjnych bazach danych.
Transakcja – jednostka operacji zapewniająca spójność danych.

Literatura

  1. Codd, E. F. „A Relational Model of Data for Large Shared Data Banks”. Communications of the ACM, 1970.
  2. Silberschatz, A., Korth, H. F., Sudarshan, S. – Systemy baz danych, 6. wyd., Pearson, 2022.
  3. Harrington, J. L. – Relational Database Design and Implementation, 4. wyd., Morgan Kaufmann, 2016.
  4. Stonebraker, M., Çetintemel, U. – “The 10 Rules of Cloud Data Management”, IEEE Data Eng. Bull., 2005.