Kolokwium II – przykładowe zadania
Utworzyć nową bazę danych i zapamiętać ją pod nazwą, będącą połączeniem własnego nazwiska, imienia, nazwy grupy i numeru komputera np.: Kowalski_Jan_IZ202_17
OPIS PROBLEMU:
Wymienione powyżej tabele przechowują informacje o sprzedaży książek o tematyce komputerowej. W tabeli Asortyment
przechowana jest informacja o dostępnych w sprzedaży książkach (tj. tytuł książki i cena). Fakt zakupu książki lub książek
rejestrowany jest jako jeden wiersz w tabeli Zamówienie (tj. kto kupił i kiedy) i jeden lub więcej wierszy w tabeli
przejściowej Pozycje zamówienia (tj. umieszczany jest w niej odpowiedni kod zamówienia, odpowiedni kod towaru
(książki) i ilość zakupionych przez klienta książek). W tabeli (taka tabela jest już nieco historyczna - nie
używamy obecnie pojęcia rachunek uproszczony) Rachunek, w której przechowywane będą informacje o
wystawieniu rachunku uproszczonego do zamówienia lub rachunku korygującego.
Relacje w tej bazie pokazuje poniższy rysunek:
Odpowiedź 3:
W projekcie tej kwerendzy należało na siatce projektu umieścić wszystkie pola tabeli Zamówienie; posortować rosnąco wg wartości z pola Kod zamówienia; ustawić właściwość tabeli "Najwyższe wartości" na 50%.
Rozwiązanie pokazuje poniższy rysunek:
Odpowiedź 4:
Odpowiedzieć na to pytanie to wyciągnąć z tabeli Asortyment informacje takie, które nie są zapisane w tabeli
Pozycje zamówienia. Jednak informacja w kwerendzie wielotabelowej (ogólnie: o wielu źródłach) wybierana jest, gdy wartości w polach połączonych
ze sobą (accessowymi) relacjami są sobie RÓWNE (są to sprzężenia wewnętrzne - INNER JOIN).
Dla sprzężenia wewnętrznego (INNER JOIN) rekord jest wybierany, gdy wartości występujące w polach połączonych (accessową) relacją są sobie równe! |
Odpowiedź 5:
Żeby wybrać informację o zamówieniach, do których wystawiono rachunki wystarczyło w projekcie kwerendy umieścić opórcz
tabeli Zamówienie jeszcze tabelę Rachunek, ponieważ wtedy wybiorą się informacje tylko o tych
zamówieniach, do których są wystawione rachunki (isnieje odpowiedni kod zamówienia w tabeli Rachunek). Jednak relacja
pomiędzy tymi tabelami jest jeden do wielu i może się okazać, że pewne rekordy powtarzają się. Dzieje się tak dlatego, że
rekord w tej kwerendzie wybierany jest wtedy, gdy wartości w polach połączonych ze sobą relacją są sobie równe.
Żeby nie prezentować powtarzających się informacji o zamówieniach (każde zamówienie, do którego wystawiono dwa rachunki:
uproszczony i korygujący, wybierze się dwa razy), należy ustawić właściwość kwerendy "Rekordy unikatowe" na Tak.
Odpowiedź 6:
Żeby dobrze wybrać informację o wartości zamówienia, należało najpierw uzmysłowić sobie jak informacja o zamówieniu jest zapisywana. Przyjmimy takie zamówienie:
w dniu 10.12.1999r. Jan Kowalski kupił dwie książki "SQL Server 7.0" po 70 zł każda i
jeszcze jedną książkę "MS Access 2000" w cenie 60 zł.
Ta informacja zostanie zapisana następująco:
Do wykonania kwerandy wybierającej informację o wartości zamówień należy użyć trzech tabel: Zamówienie, Pozycje zamówienia i Asortyment. W celu wyznaczenia wartości zamówienia należy przemnożyć wartości z pól Ilość i Wartość brutto, a następnie wyniki (pokazujące wartość pozycji zamówienia) zsumować, co pokazuje poniższy rysunek:
Odpowiedź 7:
Należy określić wartość zamówienia; posortować malejąco wybierane rekordy wg wyznaczonej wartości;
wyregulować właściwość kwerendy: "Najwyższe wartości" na wartość 10, co pokazuje poniższy rysunek: