background image

opracowanie: mgr inż. Adam Czarnecki, mgr inż. Tomasz Sitek, mgr inż. Artur Ziółkowski 

 

lab03 (A2007) 

1

   

RELACYJNE BAZY DANYCH 

laboratorium 3 – relacje, normalizacja 

 

Wstęp 

Znajomość reguł projektowania tabel nie jest wystarczająca, by zbudować z nich 
poprawną  i wydajną  bazę  danych.  Konieczna  jest  umiejętność  projektowania 

relacji  między  tabelami.  Relacje  pozwalają  powiązać  w  taki  sposób  tabele,  by  móc  łatwo 
uzyskiwać dane na konkretny temat, nawet jeśli te dane „rozrzucone” są w większej ilości tabel. 
Istotne  jest  także,  aby  tak  projektować  dane,  by  unikać  ich  niepotrzebnego  powtarzania.  Taki 
nadmiar  danych  nazywa  się  redundancją  i  prowadzi  w  pewnej  perspektywie  czasowej  do 
trudności  z  zarządzaniem  nimi.  Ma  to  także  mierzalny  skutek  –  baza  danych  zawierająca 
zdublowane wpisy zajmuje więcej miejsca i jest wolniejsza. Stąd jeszcze przed wprowadzeniem 
jakichkolwiek  danych  tabele  muszą  zostać  poddane  takiemu  procesowi.  Nazywa  się  to 
normalizacją tabel. 
 
We  wstępie do poprzedniego ćwiczenia określone zostały kroki prowadzące do zaprojektowania 
zestawu tabel w bazie danych. Na tym etapie można dopisać kolejne punkty: 
- ustalenie relacji między tabelami, 
- analiza tabel pod kątem powtarzalności (redundancji) danych, 
- wyodrębnienie powtarzających się danych i stworzenie osobnych tabel (tzw. słownikowych), 
- stworzenie relacji między tabelą główną a tabelami słownikowymi. 
 

Ćwiczenie 1 

 
1.

  Otwórz tabelę CZYTELNIK w swojej bazie danych w widoku arkusza danych 

2.

  Przeanalizuj  ja  pod  kątem  powtarzanych  danych.  Przykładowe  dane,  które  się  powtarzają, 

pokazano poniżej 

 

  

 

 
Co  by  się  stało  gdyby  Wydział  Zarządzania  Ekonomii  zmienił  nazwę,  a  co  za  tym  idzie,  skrót 
ZIE? Co trzeba by zrobić, chcąc zachować poprawność danych? 
  
3.

  Stwórz tabelę o nazwie WYDZIAL według wytycznych jak niżej: 

 

Klucz

 

Nazwa

 

Typ danych

 

Rozmiar

 

Atrybuty

 

ID

 

Autonumer

 

 

 

 

Akronim 

Tekst 

3

 

wymagane: tak

 

 

Wydzial

 

Tekst

 

50

 

wymagane: tak

 

 
Wprowadź w widoku arkusza danych tej tabeli znane Ci wydziały Politechniki Gdańskiej. W polu 
Akronim  użyj  takich  trzyliterowych  skrótów,  jakie  występują  w  tabeli  CZYTELNIK.  Zauważ,  że 
każdy wydział otrzymał w polu ID swój unikatowy numer. Jest pole-klucz. 

background image

opracowanie: mgr inż. Adam Czarnecki, mgr inż. Tomasz Sitek, mgr inż. Artur Ziółkowski 

 

lab03 (A2007) 

2

Czy można było użyć pola Akronim do tego celu? Kiedy można by było tak zrobić, a kiedy nie? 
 
4.

  Otwórz  tabelę  CZYTELNIK  i  zamień  wartości  w  polu  Wydzial  na  odpowiednią  dla  danego 

wydziału  wartość  ID  nadaną  w  nowo  stworzonej  tabeli.  W  kroku  drugim  zmień  typ  danych 
ustawiony na tym polu z Tekst na Liczba (całkowita). 
Jeśli  taka  zamiana  danych  nie  jest  możliwa  w  sposób  ręczny  (edytując  kolejne  rekordy), 
można użyć opcji Znajdowania i Zamieniania (skrót klawiaturowy: CTRL-H).  
Uwaga!  Cofnięcie  takiej  operacji  zamiany  nie  będzie  możliwe,  więc  zalecane  jest  w  takich 
przypadkach stworzenie kopii bazy danych. 

 

 

 
Co  by  się  stało,  gdyby  te  operacje  zostały  przeprowadzone  w  odwrotnej  kolejności  –  tzn. 
najpierw konwersja danych tekst->liczba, a potem edycja danych w arkuszu? 
 
5.

  Stwórz tabelę o nazwie OSOBA_STATUS według wytycznych jak niżej: 

 

Klucz

 

Nazwa

 

Typ danych

 

Rozmiar

 

Atrybuty

 

ID

 

Autonumer

 

 

 

 

Status 

Tekst 

10

 

wymagane: tak

 

 
Wprowadź w widoku arkusza danych tej tabeli dwa rekordy – jeden dotyczący studenta, drugi – 
pracownika. 
Analogicznie jak w punkcie poprzednim, zamień w tabeli CZYTELNIK wartości tekstowe na Liczby 
odpowiadające ID z tabeli OSOBA_STATUS. 
 
Czy widzisz w tej tabeli inne dane, które można by poddać procesowi normalizacji? 
 
6.

  Otwórz  tabelę  FILIA.  Przeanalizuj  jej  zawartość  pod  kątem  normalizacji i  zrób  odpowiednie 

poprawki. Wskazówka: jest jedno pole, które musi zostać poddane zmianom.  

 
7.

  Ustal wszystkie możliwe relacje między tabelami w swojej bazie danych. W tym celu kliknij 

ikonę na pasku narzędzi:  

 

- Dodaj swoje wszystkie tabele 
 

 

 

background image

opracowanie: mgr inż. Adam Czarnecki, mgr inż. Tomasz Sitek, mgr inż. Artur Ziółkowski 

 

lab03 (A2007) 

3

-  Ustal  wszystkie  możliwe  relacje  między  odpowiednimi  polami.  W  tym  celu  przeciągnij 
kursor  od  jednego  pola  do  drugiego,  trzymając  wciśnięty  lewy  klawisz  myszy.  Access 
wyświetli następujące okno: 
 

 

 
- Włącz opcję Wymuszaj więzy integralności.  
- W przypadku powiązania tabel CZYTELNIK i OSOBA_STATUS Access utworzył  relację typu 
jeden-do-wielu. Dlaczego? Jak to zinterpretować? 
 

 

 

-  Utwórz  wszystkie  pozostałe  relacje  (Jakiego  są  typu?).  Możesz  też,  zamiast  okna  relacji, 
skorzystać  z  kreatora  odnośników  dostępnego  na  liście  typów  danych  w  widoku 
projektowania tabeli: 
 

 

 

background image

opracowanie: mgr inż. Adam Czarnecki, mgr inż. Tomasz Sitek, mgr inż. Artur Ziółkowski 

 

lab03 (A2007) 

4

8.

  Stwórz nową tabelę o nazwie WYPOZYCZENIA według wytycznych jak niżej: 

 

Klucz

 

Nazwa

 

Typ danych

 

Rozmiar

 

Atrybuty

 

Ksiazka_Sygnatura  Liczba 

całkowita długa 

 

Czytelnik_ID 

Liczba 

całkowita długa 

 

Data_wypozyczenia Data/godzina 

data krótka 

wartość domyślna: Date()  

 

Data_oddania 

Data/godzina 

data krótka 

 

 
Zauważ,  że  zgodnie  z  powyższą  specyfikacją  żadne  pole  w  tabeli  nie  będzie  mieć  ustalonego 
atrybutu Wymagane=TAK. Dlaczego?  
 
9.

  Otwórz  ponownie  widok  relacji,  dodaj  tabelę  WYPOZYCZENIA  i  ustal  odpowiednie  relacje. 

Wskazówka: dla tej tabeli trzeba ustalić relacje z dwiema tabelami. 

 
 

Ćwiczenie 2 

Na  poprzednim  laboratorium  ćwiczenie  drugie  dotyczyło  samodzielnego  stworzenia  tabeli 
MULTIMEDIA.  Przyjrzyj  się  tej  tabeli  –  czy  jest  ona  zgodna  z  zasadami  normalizacji?  Jeśli  nie 
jest  –  określ  potrzebne  zmiany.  Czy  wystarczy  do  tego  jedna  tabela?  Jeśli  nie  –  stwórz 
odpowiednią liczbę niezbędnych tabel (słownikowych) i ustal odpowiednie relacje. 
 

Literatura 

[1]

 Cary  N.  Prague,  Michael  R.  Irvin,  Jennifer  Reardon.  Access  2003  PL.  Biblia.  Helion. 

Gliwice, 2004, s. 165-190. 

[2]

 Kopertowska  M.  Europejski  Certyfikat  Umiejętności  Komputerowych.  Bazy  Danych. 

Wydawnictwo Naukowe PWN. Wydanie III zmienione. Warszawa, 2007. s. 20-21, 32, 46-50. 

[3]

 Kopertowska  M.,  Sikorski  W.  Europejski  Certyfikat  Umiejętności  Komputerowych. 

Poziom  zaawansowany.  Bazy  Danych.  Wydawnictwo  Naukowe  PWN.  Warszawa,  2006. 
s. 36-44. 

[4]

 

http://office.microsoft.com/pl-pl/access/HP051884441045.aspx

 

[5]

 

http://office.microsoft.com/pl-pl/access/HP051875301045.aspx

 

[6]

 

http://office.microsoft.com/pl-pl/access/HP051875241045.aspx