Informatyka

Temat: Projektowanie relacyjnej bazy danych

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 do gromadzenia i przetwarzania tych danych.

Przykładem prostej bazy danych może być tabela jaką przygotowuje sobie nauczyciel do zbierania informacji o uczniach (ich ocenach).

Nr

Imię

Nazwisko

Odp.ust.

Spr.1.

Spr.2.

Akt.1.

Akt.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Każdy wiersz tabeli jest jej rekordem (krotką), składa się on z pól liczbowych: Nr, Odp.ust. , Spr.1. , Spr.2. , Akt.1. , Akt.2. i tekstowych: Imię, Nazwisko. Niepowtarzalnym identyfikatorem rekordu jest numer z dziennika – Nr. Nr jest tzw. Kluczem głównym tabeli.

Relacyjna baza danych

Rozważmy problem przechowywania informacji o mieszkańcach danego miasta i ich samochodach.

Sposób I – 1 tabela

baza
Zalety:
- tylko prostota;
- łatwo przechowywać dodatkowe informacje o mieszkańcach;
Wady:
- jeśli ktoś ma 1 samochód lub nie ma go wcale – mnóstwo miejsca (rezerwowanej pamięci) się marnuje;
- jeśli ktoś ma np. 6 samochodów to baza nie jest w stanie przechować tej informacji;
- trudno robić podsumowania i zestawiania informacji;
- trudno przechowywać dodatkowe informacje o samochodach np. numer rejestracyjny, rocznik.

Sposób II – 1 tabela

baza danych
Zalety:
- prostota;
- łatwo przechowywać dodatkowe informacje o samochodach;
Wady:
- wielokrotne powtarzanie nazwisk „marnuje” miejsce w pamięci;
- trudno robić podsumowania i zestawiania informacji (łatwo pomylić się np. wpisując imię i nazwisko);
- trudno przechowywać dodatkowe informacje o mieszkańcach.

Sposób III – relacyjna baza danych

Informacje zbierane są w dwóch tabelach połączonych tzw. relacją. 1 tabela to informacje o mieszkańcach. 2 tabela zawiera informacje o samochodach posiadanych przez poszczególnych ludzi.

baza

Zalety:
- łatwo przechowywać dodatkowe informacje o samochodach (np.: marka, typ, rocznik, numer rejestracyjny) i ludziach (np.: adres, PESEL, itp.);
- łatwo robić zestawienia tak ze względu na samochody jak i na mieszkańców;

Wady:
- złożona konstrukcja wymaga stosowania relacyjnego systemu baz danych, który odpowiedzialny jest np. za „wirtualne” łączenie dwóch tabel w jedną.

Pole id, które łączy obie tabele jest niepowtarzalnym identyfikatorem człowieka (kluczem głównym) w tabeli ludzie. W tabeli samochody pole id jest kluczem obcym. Kluczem głównym – wartością niepowtarzalną jest pole ids. Kluczem głównym są najczęściej liczby całkowite. Generowane są one przeważnie automatycznie przez system baz danych w trakcie dodawania nowego rekordu. Przeważnie jest to pole typu autonumer.

Relacja łącząca tabele nazywa się relacją jeden do wielu. Jeden mieszkaniec może mieć bowiem wiele samochodów.


Słownik podstawowych pojęć:

Dane – wartości przechowywane w bazie danych Np. 1801, 22, WK
Informacje – przetworzone dane – zrozumiałe dla odbiorcy. Np. powiat bieszczadzki, 22% VAT, wspomaganie kierownicy
Null (wartość zerowa) – jeśli dana wartość nie jest znana lub nie ma jej w ogóle mówimy, że jest Null (to nie to samo co 0 lub znak spacji). Wartość Null może być przyczyną trudnych do wykrycia błędów w wyrażeniach matematycznych i funkcjach.
Tabela – zbiór rekordów, które składają się z pól, wskazane jest by zawierały informacje na jeden wspólny temat.
Tabela danych – przechowuje dane najczęściej ciągle modyfikowane.
Pole (atrybut) – przechowuje jednostkowe dane. Rozróżnia się pola: segmentowe, wielowartościowe, wyliczeniowe.
Rekord (krotka) – rekord to pełny zestaw pól dane tabeli – pojedyńcza kompletna informacja na dany temat.
Klucze – pola pełniące specjalne funkcje.
Klucz podstawowy – jednoznacznie identyfikuje dany rekord.
Indeksy – najczęściej pozwalają na sprawne przeszukiwanie danych.
Relacje – powiązania między dwoma tabelami za pomocą klucza lub specjalnej tabeli (tabela łącząca), każda relacja opisana jest przez typ relacji.


Ćwiczenie
Podaj przykłady programów działających jako bazy danych i omów relacje w tych programach.


Powinieneś umieć:

  • omówić budowę relacyjnej bazy danych

  • wyjaśnić pojęcia rekordu, pola i atrybutu

  • wyjaśnić zasady tworzenia powiązań między tabelami

  • zadbać o wyeliminowanie redundancji w bazie