Poprawka_20120603_InstantCover_Rozwiazanie-1-1.pdf

(93 KB) Pobierz
ZADANIE 1 (80)
Brytyjska agencja pracy
InstantCover
dostarcza czasowych pracowników do hoteli w Szkocji.
W arkuszu danych firmy istnieje poniższa tabela:
NIN
- Numer Ubezpieczenia pracownika (National Insurance Number)
C
ontract
N
o - identyfikator kontraktu
H
ours
P
er
W
eek
- liczba godzin pracy w tygodniu
EN
ame
- Imię i nazwisko pracownika
H
otel
N
o
- Identyfikator hotelu
H
otel
L
ocation - lokalizacja hotelu
Zadanie A (20):
Stwórz relację w 0NF, następnie w1NF.
Przedstaw przykłady możliwych efektów ubocznych (anomalii), które mogą wystąpić podczas
przetwarzania danych w tej tabeli.
Zadanie B(60):
Przedstaw wszystkie zależności funkcjonalne i przeprowadź proces normalizacji (do BCNF).
Narysuj Logiczny Model Informacji ERD.
ROZWIĄZANIE:
1. 0NF: ZATRUDNIENIE = NIN + CN + HPW + EN + HN + HL.
2. Lista FD:
FD1 = {NIN
EN}
FD2 = {HN
HL}
FD3 = {CN
(HN, HL)}
FD4 = {(NIN, CN)
(HPW, EN, HN, HL)}
3. 1NF:
Brak dodatkowych danych o metodach przetwarzania wpisów w tabelce powoduje,
że
nie
dokonuję dekompozycji
żadnego
atrybutu i nominuję FD4 do roli PK, bowiem obejmuje
wszystkie atrybuty relacji:
R
ZATRUDNIENIE
= {(NIN, CN)
(HPW, EN, HN, HL)}
EFEKTY UBOCZNE:
a) WPROWADZANIA: nie można wprowadzić osobno informacji o nowym pracowniku,
hotelu lub kontrakcie.
b) MODYFIKACJI: zmiana atomowej informacji, np.: nazwiska jednego pracownika, będzie
wymagała modyfikowania wielu wierszy relacji.
c) USUWANIA: usunięcie wiersza zatrudnienia pracownika, który był zatrudniony tylko w
jednym kontrakcie, spowoduje utratę jego danych z bazy.
4. NORMALIZACJA:
4.1. FD1 łamie 2NF w relacji ZATRUDNIENIE – dokonuję dekompozycji relacji
ZATRUDNIENIE:
R
ZATRUDNIENIE
= {(NIN, CN)
(HPW, HN, HL)}
R
PRACOWNICY
= {NIN
EN}
5. 4.2. FD3 łamie 2NF w relacji ZATRUDNIENIE – dokonuję dekompozycji relacji
ZATRUDNIENIE:
R
ZATRUDNIENIE
= {(NIN, CN)
HPW}
R
PRACOWNICY
= {NIN
EN}
R
KONTRAKTY
= {CN
(HN,HL)}
6. 4.2. FD2 łamie 3NF w relacji KONTRAKTY – dokonuję dekompozycji relacji
KONTRAKTY:
R
ZATRUDNIENIE
= {(NIN, CN)
HPW}
R
PRACOWNICY
= {NIN
EN}
R
KONTRAKTY
= {CN
HN}
R
HOTELE
= {HN→ HL}
Model ERD
ZADANIE 2 (10)
Wymień dwa powody, dla których przedstawiona tabela nie może być relacją w relacyjnym modelu
danych (E.Codd)
A
1
4
6
9
1
B
2
7
9
2
A
3
5
8
?
3
ROZWIĄZANIE:
Powód 1
Powód 2
W prawidłowej relacji, każdy atrybut musi posiadać unikalną nazwę, tym czasem dwie
kolumny tabeli posiadają taki sam nagłówek (nazwa ‘A’).
Prawidłowa Relacja musi posiadać klucz główny. Na przedstawionej tabeli nie można
wypromować klucza głównego, bo wiersze: pierwszy i ostatni mają takie same
wartości.
ZADANIE 3 (10)
Załóżmy, że istnieje relacja R, która posiada cztery atrybuty A,B,C,D i klucz główny złożony z pary
atrybutów A i B, co można zapisać następująco:
1
, , ,
.
Zdefiniuj taką listę
dodatkowych zależności funkcjonalnych FD
n
relacji R(A,B,C,D), żeby relacja była w 1NF i 2NF, ale nie
spełnia 3NF.
ROZWIĄZANIE:
Przedstawiona relacja R spełnia 1NF, bowiem zawiera FD1, która łączy wszystkie atrybuty
relacji R i definiuje klucz główny.
Przedstawiona relacja R spełnia 2NF, bowiem nie posiada innych FD, w których atrybutem
dominującym byłaby część klucza głównego.
Złamanie 3NF będzie zachodziło, jeżeli w relacji R będzie istniała FD, zdominowana przez
atrybut, niebędący kluczem głównym relacji R.
Wystarczy zdefiniować następującą zależność:
2
, która doprowadzi do
złamania 3NF.
Zgłoś jeśli naruszono regulamin