BazyDanychTeoria.doc

(159 KB) Pobierz

Bazy danych - teoria[1]

Tabele

Są podstawowymi obiektami w każdej bazie danych. Są nośnikiem i dostarczycielem informacji dla wszystkich pozostałych obiektów bazy (formularzy, raportów). Składają się z wierszy (rekordów).

 

Tabela 1

Nazwisko

Imię

Miejscowość

Telefon

Abacki

Adolf

Amsterdam

111-11-11

Babacki

Boguś

Bratysława

222-22-22

Cabacki

Cyryl

Ciechocinek

333-33-33

 

Wszystkie rekordy wchodzące w skład tabeli posiadają taką samą liczbę pól.

 

Jedna baza - wiele tabel (relacje w bazie)

Zwykle w bazie danych wykorzystuje się wiele tabel. Poniższy przykład bazy jednotabelowej ilustruje niedogodności związane z wykorzystaniem tylko jednej tabeli:

 

Tabela 2

Nazwisko

Imię

Miejscowość

Telefon

Wypożyczona książka

Data Wypożyczenia

Abacki

Adolf

Amsterdam

111-11-11

Potop

01.02.2002

Babacki

Boguś

Bratysława

222-22-22

Krzyżacy

15.01.2002

Babacki

Boguś

Bratysława

222-22-22

Lalka

21.04.2002

Cabacki

Cyryl

Ciechocinek

333-33-33

Chłopi

05.03.2002

Cabacki

Cyryl

Ciechocinek

333-33-33

Nana

03.03.2002

 

W przykładzie pokazano prostą bazę danych "Wypożyczalnia książek". Użycie jednej tabeli powoduje:

1. Zjawisko redundancji - pewne informacje w bazie muszą się powtarzać (dane i adres - jeśli jedna osoba wypożyczy kilka pozycji).

2. Anomalie aktualizacji bazy danych - przykładowo, jeśli Cabacki zmieni adres, będziemy musieli wklepywać ten nowy adres w dwóch (lub więcej) miejscach.

3. Anomalie przy usuwaniu - jeśli Abacki odda książkę - wykreślimy jego rekord z bazy, pozbywając się przy okazji jego adresu. Przy ponownej wizycie w bibliotece Abacki będzie się musiał zapisać jeszcze raz.

 

Jak więc widać, lepiej byłoby utworzyć kilka tabel. Trzeba jednak pamiętać o konieczności zachowania kontaktu między informacjami w poszczególnych tabelach. Taki kontakt (powiązanie) nosi nazwę relacji a baza oparta o taką filozofię to relacyjna baza danych. Utworzenie relacji między dwoma tabelami jest możliwe tylko wtedy, gdy tabele te zawierają identyczne pole, jest to najczęściej tzw. identyfikator.

 

Poniżej znajduje się przykład, w którym Tabelę 2 (bazę jednotabelową) przerobiono na bazę relacyjną (strzałki symbolizują relacje między tabelami):


Tabela Wypożyczenia

ID Czytelnika

ID Książki

Data Wypożyczenia

1

2

01.02.2002

3

5

05.03.2002

2

1

15.01.2002

2

3

21.04.2002

3

4

03.03.2002









 

Tabela Książki

...
Zgłoś jeśli naruszono regulamin