Loading AI tools
struktura głównie cyfrowych danych, które zostały zapisane zgodnie z przyjętymi wcześniej zasadami tworzenia tego procesu. Z Wikipedii, wolnej encyklopedii
Baza danych – zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego specjalizowanego w gromadzeniu i przetwarzaniu tych danych. Program taki (często: pakiet programów) nazywany jest „systemem zarządzania bazą danych” (ang. database management system, DBMS).
W ustawie z 27 lipca 2001 r. o ochronie baz danych to pojęcie zostało zdefiniowane jako zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody, indywidualnie dostępnych w jakikolwiek sposób, w tym środkami elektronicznymi, wymagający istotnego, co do jakości lub ilości, nakładu inwestycyjnego w celu sporządzenia, weryfikacji lub prezentacji jego zawartości[1].
Programy do obsługi bazy danych operują głównie na danych tekstowych i liczbowych, lecz większość współczesnych systemów umożliwia przechowywanie danych cyfrowych różnego typu: dane o nieokreślonej strukturze, grafika, muzyka, obiekty itp.
Najwcześniejsze znane użycie terminu baza danych miało miejsce w listopadzie 1963, kiedy odbyło się sympozjum pod nazwą „Development and Management of a Computer-Centered Data Base”[2], sponsorowane przez System Development Corporation. Termin ten stał się powszechnie używany w Europie we wczesnych latach siedemdziesiątych XX wieku.
Pierwszy system zarządzania bazami danych został opracowany w latach sześćdziesiątych XX wieku. Pionierem był Charles Bachman. Wczesne opracowania Bachmana pokazywały, że jego celem było bardziej efektywne użycie nowych urządzeń bezpośredniego dostępu do składowanych danych, które wtedy zaczynały być dostępne. Jak dotąd, przetwarzanie danych było oparte na kartach dziurkowanych i taśmach magnetycznych. Oznaczało to szeregowy dostęp do danych, co pociągało za sobą użycie innych algorytmów niż dla dostępu swobodnego.
Powstały wtedy dwa kluczowe modele danych: sieciowy, opracowany przez CODASYL na bazie idei Bachmana i (być może niezależnie) hierarchiczny, użyty w systemie opracowanym przez North American Rockwell i później adaptowany przez IBM jako kamień milowy dla IMS. W tym czasie, oprócz CODASYL IDMS i IMS, powstały także inne bazy danych. Dwie warte wzmianki to: PICK i MUMPS, które były opracowane wcześniej jako systemy operacyjne z wbudowanymi bazami danych, a potem językami programowania i bazami danych do stosowania w systemach opieki zdrowotnej.
W 1970 E.F. Codd zaproponował relacyjny model danych. Krytykował on istniejące modele danych za mieszanie abstrakcyjnego opisu struktury informacyjnej z opisami mechanizmów fizycznego dostępu. Jednak przez dłuższy czas model relacyjny pozostawał tylko w sferze rozważań akademickich. Podczas gdy produkty CODASYL (IDMS) i IBM (IMS) były uważane za praktyczne rozwiązania wymagające tylko dostępnych wówczas technologii, to model relacyjny musiał poczekać na odpowiedni poziom rozwoju oprogramowania i sprzętu. Jednym z pierwszych implementacji modelu relacyjnego były: Ingres Michaela Stonebrakera z Berkeley i System R z IBM. Oba były prototypami badawczymi, ogłoszonymi w roku 1976. Pierwsze komercyjne rozwiązania, Oracle i DB2 nie były dostępne aż do roku około 1980. Natomiast pierwszym udanym produktem tego typu dla mikrokomputerów był dBASE dla systemów operacyjnych CP/M i PC-DOS/MS-DOS.
W latach osiemdziesiątych XX wieku aktywność badaczy skupiała się na rozproszonych bazach danych i maszynach bazodanowych (ang. database machines), ale te wysiłki nie miały większego odzwierciedlenia w ofertach rynkowych. Inną ważną ideą był funkcyjny model danych, ale oprócz specjalnych zastosowań w genetyce, biologii molekularnej i wykrywaniu nadużyć finansowych, także nie miały szerszych zastosowań.
W latach dziewięćdziesiątych uwaga badaczy przesunęła się w kierunku obiektowych baz danych. Stosowano je z powodzeniem tam gdzie konieczna była obsługa bardziej skomplikowanych danych niż dane, którym mogły podołać relacyjne bazy danych. Przykładem były: przestrzenne bazy danych (ang. spatial databases), dane inżynieryjne i dane multimedialne. Część z tych idei została zaadaptowana przez producentów relacyjnych baz danych. Lata 90. były też okresem rozprzestrzeniania się baz danych Open Source, takich jak PostgreSQL i MySQL.
Pierwsze lata XXI wieku są okresem dużego zainteresowania bazami danych XML. W tym czasie, podobnie jak to było w przypadku obiektowych baz danych, powstało sporo nowych firm-producentów tych baz, ale kluczowe ich elementy są wbudowywane także w istniejące relacyjne bazy danych. Celem baz danych XML jest usunięcie tradycyjnego podziału na dokumenty i dane, pozwalając na trzymanie wszystkich zasobów informacyjnych organizacji w jednym miejscu, obojętnie czy te dane są wysoce ustrukturalizowane czy nie.
Sposób organizacji danych w bazach danych jest różny. Wiele typów baz danych organizuje dane w formie tabel zawierających rekordy podzielone na pola, w których są przechowywane informacje poszczególnych kategorii. Na przykład w książce adresowej każdy rekord to zbiór informacji na temat jednej osoby. Składa się on z kilku pól przechowujących takie informacje, jak: imię, nazwisko, adres, numer telefonu itp. W każdym polu zapisywane są dane oddzielonej kategorii. Dzięki temu komputerowe bazy danych umożliwiają szybkie sortowanie rekordów według poszczególnych kategorii lub wyszukiwanie informacji w obrębie tylko wybranych pól.
Bazy danych można podzielić według struktur organizacji danych, których używają:
Z wymienionych struktur, w praktyce zdecydowanie najczęściej używane są bazy relacyjne.
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 tabel 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:
W bazach obiektowych dane przechowywane są w strukturach obiektowych (zdefiniowanych jako klasy). Koncepcje akademickie dotyczące baz obiektowych były najbardziej popularne w latach 90. Współcześnie popularność tego tematu zmalała, choć prace badawcze nad nimi nadal trwają, a na rynku pojawiły się obiektowe SZBD (np. Versant, db4o, LoXiM). Prace nad obiektowymi bazami danych ponowiło międzynarodowe konsorcjum OMG.
Bazy relacyjno-obiektowe pozwalają na manipulowanie danymi jako zestawem obiektów, posiadają jednak bazę relacyjną jako wewnętrzny mechanizm przechowywania danych.
Pod pojęciem bazy nierelacyjnej (NoSQL database) najczęściej rozumie się przechowywanie danych w formie listy par obiektów klucz-wartość, w których nie występują powiązania relacyjne między przechowywanymi obiektami. W bazie NoSQL najczęściej nie ma wymagania aby obiekty były jednorodne pod względem struktury. Niekiedy pojęcie to używane jest szerzej, do określenia wszelkich struktur danych (niekoniecznie o postaci klucz-wartość) w których nie występują tabele i relacje.
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ę).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.