Kolokwium III z zeszłego roku 2016 Zad 1, Grupa A. Bank zakłada konta. Właścicielem konta może być osoba prywatna lub firma, ale każde konto musi mieć...
44 downloads
20 Views
604KB Size
Kolokwium III z zeszłego roku 2016 Zad 1, Grupa A. Bank zakłada konta. Właścicielem konta może być osoba prywatna lub firma, ale każde konto musi mieć właściciela.
/Kto wie jak to ma wyglądać? A to nie będzie coś podobnego, jak to z filmem? Czyli coś takiego: OS.PRYWATNA---||---OO---||---FIRMA ???? Pewności nie mam.
a) Aktorzy mogą być obsadzani w filmach. Filmy muszą mieć obsadę aktorską. Zaproponuj atrybuty identyfikujące encji.
// Mógłby ktoś to tak ładnie, łopatologicznie rozpisać skąd co się wzięło? Np. Aktor może być w kilku obsadach, każda obsada tylko dla jednego aktora itd.. <- To jest pewnie źle. Z góry dzięki! // Jeśli dobrze to rozumiem, to jest to połączenie wiele do wielu, czyli jeden aktor w wielu filmach i w jednym filmie wielu aktorów, a tabela obsada - to tabela skrzyżowań, która łączy klucze główne tabel aktor i film //a nie powinna byc obsada obowiazkowa do filmu? (w sensie film nie istnieje bez obsady? czyli kreska zamiast kolka od filmu do obsady) Mnie też się tak wydaje. Oprócz tego, zamiast znaku “do wielu” też powinna być kreska. W końcu dany film, ma tylko jedną obsadę. // No właśnie.. Więc ostatecznie zmieniamy? //Filmy przyrodnicze nie mają aktorów (zazwyczaj), co nie zmienia faktu, że są filmami. 1
//film ma “kilka” obsad w tym wypadku bo każda obsada tutaj zawiera jednego aktora, obsada służy tylko do powiązania aktorów i filmu. b) Klient może otrzymywać wiele rachunków. Rachunek musi być przypis/8ane do klienta. aproponuj atrybuty identyfikujące encji.
//jest różnica czy | czy || ? // Raczej tak, ona chyba mowila na wykladzie ze ma bład na slajdach. Jedna kreska oznacza zwiazek jeden, a druga ze obowiazkowy.
Coś takiego znalazłem http://images.slideplayer.pl/1/426400/slides/slide_12.jpg Z jedna kreską pewnie też jest poprawnie, ale nie jest to wtedy notacja Martina, a tokowej mamy używać
c) Rektor zarządza uczelnią. Uczelnia jest zarządzana przez Rektora. Zaproponuj atrybuty identyfikujące encji
Rektor musi zarządzać jedną uczelnią Uczelnia musi być zarządzana przez jednego rektora
Zad 2, Grupa A. Przekształć zależności z Zad 1 na schemat bazy danych (tabele, klucze główne, klucze obce): a)
2
//czy jeśli to relacja wiele:wiele to nie powinna być tabela pośrednia? // jak najbardziej powinna być tabela asocjacyjna // Czyli jak to powinno poprawnie wyglądać? // Tak, jak jest teraz (może z wyjątkiem tego, że raczej nie podaje się nigdzie PESELu aktora, zważywszy na to, że jest to polska numeracja). Obsada to faktycznie encja asocjacyjna, ale w schemacie tego nie pokazujesz rysując np. inną ramkę. To jest w diagramie… ERD(?) // Pesel to Number (11,0) → NUMBER(p,s) - wartość numeryczna o ilości cyfr p i dokładności s (p -
ilość wszystkich niezerowych cyfr, s - ilość cyfr po przecinku) //czy na pewno w filmie musi byc pole na pesel aktora? (jesli tak jest, to robi to spora nadmiarowosc, bo info i tak jest w tej asocjacyjnej) //czy u aktora powinno być pole id_filmu? a jeśli aktor gra w więcej niż jednym filmie to co wtedy? przecież w obsadzie można go zidentyfikować tylko po id_aktora (peselu, czy zwał jak chciał) (???) Mi sie wydaje ze aktor nie musi miec id_filmu.
b)
c)
3
Zad 1, Grupa B Przedstaw graficznie (notacja Martina, diagram ERD) następujące związki: a) W sali kinowej Multikina mogą być wyświetlane różne filmy. Ten sam film może być wyświetlany w różnych salach. Zaproponuj atrybuty identyfikujące encji
Ogarnia ktoś jak w tej notacji zaproponować atrybuty encji? Bo tutaj są podane ładnie zależności (encja słaba, asocjacyjna), ale nie ma jak podać atrybutów. Natomiast w diagramie ERD jak w zadaniu wyżej nie widać tych zależności, ale mamy atrybuty. //biorąc pod uwagę że zaraz obok i tak się rysuje tabele z atrybutami to w tej postaci pewnie najlepiej je pominąć O co chodzi z tymi słabymi encjami? //to taka jak w przykładzie poniżej - polisa może istnieć tylko jeśli jest związana z jakimś obiektem klient. Nie ma sensu wystawiać polisy( w drugiej grupie - paragonu) jeśli nie ma osoby. b) Klient może wykupić różne polisy. Polisa musi być przypisana do konkretnej osoby
4
c) Dziekan zarządza Wydziałem. Wydział jest zarządzany przez dziekana
Zad 2, Grupa B Przekształć zależności z Zad 1 na schemat bazy danych (tabele, klucze główne, klucze obce):
a)
5
b)
c)
//tutaj jest błąd z ta nazwa uczelni i nie lepiej zrobić id_wydziału i wtedy będzie tylko jedna zależność między tymi tabelami
Zad 3, Grupa A Dany jest schemat: R = (komputer, certyfikat, adres, właściciel, urządzenie) 6
Zachodzą nastpujące reguły: ● ● ● ● ●
Każdy komputer posiada certyfikat Każdy certyfikat dotyczy tylko jednego komputera Każdy komputer ma dokładnie jednego właściciela Właściciel mieszka pod określonym adresem Każde urządzenie (peryferyjne) podłączone jest do dokładnie jednego komputera
Zachodzą następujące zależności funkcyjne: Proszę o weryfikację :) 1.TAK, bo każdy komputer ma jeden certyfikat ( przynajmniej tak rozumiem pierwsze zdanie) Nigdzie nie jest napisane że komputer nie może mieć kilku certyfikatów. Jeden certyfikat to jeden komputer, ale nie ma nic że na odwrót też tak działa. W sumie, to powinno być chyba NIE.// i tu jest problem z tymi zadaniami - kwestia interpretacji czy to zdanie znaczy jeden certyfikat czy co najmniej jeden certfikat.//Nom tak. Może na kolowkium naszym będzie bardziej sprecyzowane. najbezpieczniej bedzie dla nas zaznaczac odpowiedz komentować to z boku. Ona sama może być nieświadoma tego niedomówienia.//albo sie po prostu zapytać na kolokwium INFO po kolokwium - pytałem sie Koszałki, traktuje to jako że komputer ma dokładnie jeden certyfikat, jakby było więcej to by było napisane “komputer ma certyfikaty” 2.NIE, bo jedna osoba może mieć więcej niż jeden komputer 3.TAK?, bo urządzenie jednoznacznie definiuje komputer (zdanie 5) A a jak jest 5 urządzeń podpiętych do jednego komputera? T nie ma znaczenia, każde z tych urządzeń nadal definuje ten sam komputer A co z adresem? pod jednym adresem może być przecież wiele komputerów, to w druga strone jest Tak - komputer może być pod danym adresem, a nie w pod trzema adresami naraz To nie ma znaczenia, ze jest jesezcze podany adres, nawet samo urządzeni jednoznacznie identyfikuje komputer. Może być wymyślony taki przykład, że dopiero kombinacja dwóch rzeczy jednoznacznie identyfikuje tą trzecią, np. hmmmmm…. Imię, Nazwisko -> Adres (tutaj samo imie ci nie zidentyfikuje adresu, a samo nazwisko też, pod warunkiem, że powiedzmy, w rodzinie imiona się nie powtarzają, a rodzina jest duża i mieszka w wielu miejscach:)) czyli w tej głupiej tabelce, a przynjamniej w tym konkretnym zadaniu chodzi o to zeby chociaz jedna z podanych rzeczy definiowala jednoznacznie druga? Tak, albo ewentualnie ich kombinacja, tak jak podałem w tym moim przykładzie wyżej, chociaż może to troche niefortunny przykład, ale to tak na szybko. a no dobra, dzieki:) : ))) (omujbosze, a w środę AK) 4.TAK, bo z komputera wynika właściciel a z właściciela adres 5.NIE, bo możemy określić komputer ( z certyfikatu) ale komputer może mieć np. 3 drukarki 7
Komputer → Certyfikat
TAK
Właściciel → Komputer
NIE
Adres, Urządzenie → Komputer
TAK
Komputer, Certyfikat → Adres
TAK
Adres, Certyfikat → Urządzenie
NIE
Zad 3, Grupa B Dany jest schemat: R = (książka, czytelnik, karta, wpis, adres) Zachodzą następujące reguły: ● ● ● ● ●
Każdy czytelnik ma swoją kartę Każda karta dotyczy tylko jednego czytelnika Każdy czytelnik ma jednoznacznie określony adres do korespondencji Na karcie znajdują się wpisy wypożyczonych książek Każdy wpis na karcie dotyczy tylko jednej książki
Ponownie proszę o weryfikację :) 1.TAK, bo czytelnik ma tylko jedną kartę ( przynajmniej tak zakładam) 2.NIE? chyba może być tak że np. brat i siostra (ten sam adres) wypożyczają tę samą książkę 3.NIE, na karcie jest wiele wpisów (wiele książek) 4.TAK? wpis definiuje kartę, z karty wynika czytelnik, z czytelnika wynika adres Obstawiam że nie, bo kilka osob moglo wypozyczyc ta sama ksiazke więc identyczny wpis będzie na wielu kartach. - co prawda znów jest to kwestia interpretacji, bo nie jest określone jednoznacznie co zawiera wpis, jednak ja z tekstu rozumiem że ma wpisana tylko książkę (jakieś id ksiązki).niby tak, ale gdyby tak było to możnaby na karcie bezpośrednio zapisywać książki a nie gbliżej nieokreślone ‘wpisy’. 5.NIE, czytelnik ma jedną kartę ale na niej jest wiele wpisów
8
Czytelnik → Karta
TAK
Adres, Książka → Czytelnik
NIE
Karta → Książka
NIE
Wpis → Adres
TAK
Czytelnik → Wpis
NIE
Zad 4, Grupa A Doprowadż podaną poniżej tabelę do 3NF. ludzie weźcie jakąś nie wiem, trudne słowo KSIĄŻKĘ choćby w pdf zamiast robić burdel w docu i zobaczcie co to jest normalizacja i 3NF. Nawet książka Koszałki na dropie sie nadaje. DYDAKTYKA
Rozwiązanie:
9
robiłem to sam i mi wyszło trochę inaczej, stąd pytanie - czemu ID_wykł jest w drugiej tabeli od prawej? a nie pierwszej od lewej? wydaje mi się że z id_kursu wynika id_wykładowcy moim zdaniem tak właśnie powinno być, ktoś pomylił chyba id_wykł to id wykładu, nie wykładowcy A jakie ma znaczenie gdzie jaka tabela, czy ona jest z prawej czy z lewej??? bo jezeli to ma znaczenie to id_kursu i id_stud powinny tez byc zamenione.. Zad 4, Grupa B Doprowadż podaną poniżej tabelę do 3NF. Określ klucz główne, zależności funkcjonalne i doprowadź podany schemat do postaci w pełni normalnej:
10
Rozwiązanie:
czy ma znaczenie w ktora strone rsujemy strzałki? w końcu jedno to klucz obcy a jedno to klucz głównyn // tak, ma znaczenie, w wielu rozwiązaniach jest to błędnie zrobione strzałka musi być skierowana w stronę klucza głównego, bo to klucz obcy się do niego odwołuje, a nie odwrotnie! n o to ma nawet sens:) Zad 4, Grupa C
11
Zrobiłem coś takiego:
// Ktoś potwierdzi? // Tak się wydaje, że to optymalne rozwiązanie // Super. :) //Również potwierdzam, sam tak zrobiłem - ale trzeba uważać na ten nr rejestracji, bo na początku go przypiąłem do pracownika, ale ten atrybut należy do tabeli i nspekcji.
12