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