access st2008z lab03 relacje normalizacja

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


Wyszukiwarka

Podobne podstrony:
access st2008z lab01 podstawy
access st2008z lab02 tabele
access st2008z lab01 podstawy
02b Rozkład normalnyid 4039 ppt
bd normalizacja
Relacje lekarz pacjent
Relacja lekarz pacjent w perspektywie socjologii medycyny popr
10 Relacja wspomagaj cy i wspomaganyid 11081 ppt
Relacja lekarz pacjent
04 QueryByExample Access
2a Normalizacja
ODCHYŁKI NORMALNE Tablice
4 Relacja człowiek środowisko

więcej podobnych podstron