한국   대만   중국   일본 
Baza danych ? Wikipedia, wolna encyklopedia Przejd? do zawarto?ci

Baza danych

Z Wikipedii, wolnej encyklopedii

Baza danych ? zbior 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 programow) 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 zbior danych lub jakichkolwiek innych materiałow i elementow zgromadzonych według okre?lonej systematyki lub metody, indywidualnie dost?pnych w jakikolwiek sposob, 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łownie na danych tekstowych i liczbowych, lecz wi?kszo?? wspołczesnych systemow umo?liwia przechowywanie danych cyfrowych ro?nego typu: dane o nieokre?lonej strukturze, grafika , muzyka , obiekty itp.

Historia [ edytuj | edytuj kod ]

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, ktore 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 algorytmow 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 po?niej adaptowany przez IBM jako kamie? milowy dla IMS . W tym czasie, oprocz CODASYL IDMS i IMS, powstały tak?e inne bazy danych. Dwie warte wzmianki to: PICK i MUMPS , ktore 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 mechanizmow 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 wowczas 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 mikrokomputerow był dBASE dla systemow 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 oprocz 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, ktorym 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 producentow 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-producentow 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 zasobow informacyjnych organizacji w jednym miejscu, oboj?tnie czy te dane s? wysoce ustrukturalizowane czy nie.

Budowa bazy danych [ edytuj | edytuj kod ]

Sposob organizacji danych w bazach danych jest ro?ny. Wiele typow baz danych organizuje dane w formie tabel zawieraj?cych rekordy podzielone na pola, w ktorych s? przechowywane informacje poszczegolnych kategorii. Na przykład w ksi??ce adresowej ka?dy rekord to zbior informacji na temat jednej osoby. Składa si? on z kilku pol 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 rekordow według poszczegolnych kategorii lub wyszukiwanie informacji w obr?bie tylko wybranych pol.

Rodzaje baz danych [ edytuj | edytuj kod ]

Bazy danych mo?na podzieli? według struktur organizacji danych, ktorych u?ywaj?:

  • Bazy proste:
    • kartotekowe
    • hierarchiczne
  • Bazy zło?one:
    • relacyjne
    • obiektowe
    • relacyjno-obiektowe
    • strumieniowe
    • temporalne
    • serii czasowych
    • nierelacyjne (NoSQL)

Z wymienionych struktur, w praktyce zdecydowanie najcz??ciej u?ywane s? bazy relacyjne.

Bazy kartotekowe [ edytuj | edytuj kod ]

  Osobny artykuł: Kartotekowa baza danych .

W bazach kartotekowych ka?da tablica danych jest samodzielnym dokumentem i nie mo?e wspołpracowa? z innymi tablicami. Z baz tego typu korzystaj? liczne programy typu: ksi??ka telefoniczna, ksi??ka kucharska, spisy ksi??ek, kaset i inne. Wspoln? cech? tych baz jest ich zastosowanie w jednym wybranym celu.

Sieciowe bazy danych [ edytuj | edytuj kod ]

  Osobny artykuł: Sieciowa baza danych .

Model historyczny, pozwalał tylko na zwi?zki binarne; wiele do jeden.

Hierarchiczne bazy danych [ edytuj | edytuj kod ]

  Osobny artykuł: Hierarchiczna baza danych .

Przykładem hierarchicznej bazy danych jest opracowana przez IBM baza IMS (ang. Information Management System ).

Bazy relacyjne [ edytuj | edytuj kod ]

  Osobny artykuł: Model relacyjny .

W bazach relacyjnych wiele tabel danych mo?e wspoł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? ktorych tworzone s? zaawansowane funkcje obsługi danych. Relacyjne bazy danych (jak rownie? przeznaczony dla nich standard SQL) oparte s? na kilku prostych zasadach:

  1. Wszystkie warto?ci danych oparte s? na prostych typach danych.
  2. 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 (?atrybutow”). Na ka?dy wiersz składaj? si? jednakowo uło?one kolumny wypełnione warto?ciami, ktore z kolei w ka?dym wierszu mog? by? inne.
  3. Po wprowadzeniu danych do bazy, mo?liwe jest porownywanie warto?ci z ro?nych kolumn, zazwyczaj rownie? z ro?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.
  4. 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.
  5. 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.

Bazy obiektowe [ edytuj | edytuj kod ]

  Osobny artykuł: Obiektowa baza danych .

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. Wspoł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 [ edytuj | edytuj kod ]

Bazy relacyjno-obiektowe pozwalaj? na manipulowanie danymi jako zestawem obiektow, posiadaj? jednak baz? relacyjn? jako wewn?trzny mechanizm przechowywania danych.

Strumieniowa baza danych [ edytuj | edytuj kod ]

  Osobny artykuł: Strumieniowa baza danych .

Baza danych serii czasowych [ edytuj | edytuj kod ]

  Osobny artykuł: Baza danych szeregow czasowych .

Nierelacyjne bazy danych [ edytuj | edytuj kod ]

  Osobny artykuł: NoSQL .

Pod poj?ciem bazy nierelacyjnej (NoSQL database) najcz??ciej rozumie si? przechowywanie danych w formie listy par obiektow klucz-warto??, w ktorych 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 ktorych nie wyst?puj? tabele i relacje.

Temporalne bazy danych [ edytuj | edytuj kod ]

  Osobny artykuł: Temporalna baza danych .

Jest odmian? bazy relacyjnej, w ktorej ka?dy rekord posiada stempel czasowy, okre?laj?cy czas w jakim warto?? jest prawdziwa. Posiada tak?e operatory algebry relacyjnej, ktore pozwalaj? operowa? na danych temporalnych (wyci?ga? histori?).

Zobacz te? [ edytuj | edytuj kod ]

Przypisy [ edytuj | edytuj kod ]

  1. Art. 2 ust. 1 ustawy z dnia 27 lipca 2001 r. o ochronie baz danych ( Dz.U. z 2021 r. poz. 386 ).
  2. Swanson, Kenneth: Development and Management of a Computer-Centered Database . [w:] dtic.mil [on-line]. 1963-11-08. [dost?p 2013-12-20]. [zarchiwizowane z tego adresu (2013-12-20)].

Linki zewn?trzne [ edytuj | edytuj kod ]

  • Bazy danych (materiały dydaktyczne MIMUW na studia informatyczne I stopnia)
  • Zaawansowane systemy baz danych (materiały dydaktyczne MIMUW na studia informatyczne II stopnia)
  • Artur   Margielewski , Zbigniew   Odrow??-Sypniewsk , Dok?d zmierzaj? systemy bazodanowe? , ?Biuletyn PTI” (2), Polskie Towarzystwo Informatyczne, 2021, s. 18?21 [dost?p 2021-09-21] ( pol. ) , Pobie?ny zarys historii baz danych od tabulatora (1800) do ok. 2016; o NoSQL.