Do czego stosować bazy danych ?

Engine bazodanowy to zespół funkcji pozwalających na przetwarzanie i wyszukiwanie danych. Podstawowymi założeniami bazy danych są:

  • Spójność danych - baza powinna tak zarządzać danymi aby każda operacja przekształcała bazę ze stanu spójnego w stan spójny.
  • Optymalnie wykonują powierzone im zadania
  • pozwalają na jednoczesny dostęp do danych

Dane w bazie nie są tylko wierszami informacji. Dane uzyskują strukturę logiczną i uzyskują dodatkowe cechy. Ponadto baza danych posiada informacje jak te dane interpretować i jak zapewniać ich spójność.

Nazwa	cena	kod-kreskowy	opis	producent	adres-email-producenta	adres-www-producenta
Aaaa	123	123124124	okfpw	prod1		adrwdwdwd		adrfefefefef
Bbbb	234	323532355	fefefe	prod1		adrwdwdwd		adrfefefefef

Gdybyśmy chcieli przechowywać dane w plikach tekstowych lub arkuszach kalkulacyjnych natrafimy na kolejne problemy. Jak widać polowa informacji została zdublowana. Przy takim przechowywaniu informacji powstaje szereg trudności:

  • Jeśli zmieni się adres jak zmieniać adres we wszystkich wierszach ?
  • Jeśli dwuch pracowników zechce zmienić jakąś wartość i przez przypadek ich zmiany zbiegną się w czasie będziemy musieli sami obsłużyć ich wykonanie.
  • Spójność może być zachwiana w wielu sytuacjach np. jden pracownik dodaje nowy produkt a inny zmienia nazwę producenta. Przez co nowy produkt posiada starą nazwę baza jest niespójna
  • Jeśli produktów danego producenta jest dużo to przechowujemy ogromną ilość zbędnych danych
  • Dodając kolejny produkt możemy się pomylić wpisując dane producenta
  • Możemy wpisać przez przypadek dwa identyczne produkty
  • Może się zdarzyć że firmy będą miały takie same nazwy co może prowadzić do błędów w bazie (jeśli spójność będziemy zapewniać wedle nazwy firmy)

Dlatego w bazach danych tworzy się osobne struktury do przechowywania oddzielnych informacji połączonych relacjami. Nasz przykład można by zastąpić dwiema tabelami

Tabela produktów
Id	nazwa	cena	kod-kreskowy	opis	id_producenta
1	Aaaa	123	123124124	okfpw	1
2	Bbbb	234	323532355	fefefe	1

Tabela Producentów
id	producent	adres-email-producenta	adres-www-producenta
1	prod1		adrwdwdwd		adrfefefefef

W taki sposób przechowujemy tylko jeden wpis z danymi producenta a jego dane można skojarzyć z produktami poprzez kolumnę id_producenta. W takim schemacie kolumny id nazywamy kluczami głównymi tabel. Klucze te zawsze jednoznacznie identyfikują jeden wiersz (rekord). Kolumna id_producenta jest kluczem zewnętrznym czyli kolumną wskazującą na klucz innej tabeli.

Teraz dopisanie 1000 produktów tego producenta będzie się wiązało tylko z dodatkowymi 4 (lub 6 -8 bajtami w zależności od ustawień) które muszą być przeznaczone na numer identyfikacyjny producenta.

Dla zapewnienia spójności danych możemy też wymusić by nie dało się usunąć producenta jeśli są produkty z nim skojarzone i odwrotnie by nie możan wpisać numeru id producenta jeśli taki nie istnieje. W tej sytuacji baza danych sama wymusza spełnianie takich "więzów integralności".

Comments

Post new comment

Image CAPTCHA