zadanie maturalne - Access

0

Witam.
http://www.cke.edu.pl/images/stories/00000000000000002012_matura2012/infor/a2_pr.pdf
Chodzi mi o ostatnie zadanie, dotyczące bazy danych.
Jestem ciekaw jakie są Wasze propozycje, jako fachowców.
Jak tworzyć relacje?
i Wasze sugestie co do poszczególnych podpunktów zadania.
Z góry dzięki :-)

0

Nie ma w tym zadaniu nic skomplikowanego. Relacje widać na pierwszy rzut oka - połącz tak samo nazywające się kolumny. Masz problem z utworzeniem konkretnej kwerendy w Accessie?

0

Dzięki, że zainteresowałes się tematem.
Tzn. Relacje jak relacje.
Mam jakoś je prorobione.
do a) mam dwa zapytania - osobno dla Leasingu i wynajmu.
Wyniki są niby prawidłowe, ale czy to zagwarantuje mi na pewno punkty za ten podpunkt?
Może należało to zrobić jednym zapytaniem, a nie dwoma?
Do b) mam jedno zapytanie.
c) Kwerenda, która potem posortowałem malejąco - niby wyniik OK, ale czy metoda na pewno dobra?
d)Tutaj zapytanie, potem zapytanie dla zapytania, któro poliyczyło powtórzenia, przez co uzyskałem zestawienie. Nie wiem tez czy metoda OK.
e) Tutaj, też zapytanie, potem zapytanie na zapytaniu, które liczy duplikaty, a następnie zostały trzy firmy, dla każdej z tych trzech firm zapytanie liczące ratę.
Niby wyniki OK, ale nie jestem pewien co do metod, czy wszystkie punkty etc.

Mam głupi problem. Na co tworzyłem te realacje, skoro ich nie zastosowałem, uzyskując dobre wyniki.
Kwerendy tworze w oparciu o kilka tabel i tyle.
A jakie sa Wasze propozycje, opowiedzcie jak robić kwerendy na zapytaniach? Prawidłowe mam metody?

0

do a) mam dwa zapytania - osobno dla Leasingu i wynajmu.
Wyniki są niby prawidłowe, ale czy to zagwarantuje mi na pewno punkty za ten podpunkt?
Może należało to zrobić jednym zapytaniem, a nie dwoma?

Mogą być dwa, a także możesz korzystać z kwerend / widoków pomocniczych. Natomiast ten podpunkt można łatwo wykonać jednym zapytaniem: zsumować raty i pogrupować według rodzaju usługi. W wyniku otrzymasz dwa wiersze.

c) Kwerenda, która potem posortowałem malejąco - niby wyniik OK, ale czy metoda na pewno dobra?

Można wszystko załatwić jedną kwerendą: rodzaj_usługi musi wynosić "l", grupujesz po nazwie firmy i zliczasz (count) rekordy z usług. Sortujesz to ostatnie pole malejąco, ograniczasz ilość wyników do jednego oraz pokazujesz tylko nazwę firmy. Tadam, dostajesz jeden rekord z odpowiedzią.

d)Tutaj zapytanie, potem zapytanie dla zapytania, któro poliyczyło powtórzenia, przez co uzyskałem zestawienie. Nie wiem tez czy metoda OK.

Wybierasz rekordy z usług, rodzaj ograniczasz do "z", grupujesz według powiatu.

e) Tutaj, też zapytanie, potem zapytanie na zapytaniu, które liczy duplikaty, a następnie zostały trzy firmy, dla każdej z tych trzech firm zapytanie liczące ratę.

Wybierasz firmy, powiat zawężasz do Konina, bierzesz średnią ratę (avg) i we właściwościach ograniczasz do dwóch liczb po przecinku.

WSZYSTKIE te podpunkty da się zrobić jedną kwerendą i to nie pisząc nawet jednego znaku w SQL. Po to ustawiasz relacje, żeby designer przy tworzeniu kwerendy sam dodał połączenia pomiędzy tabelami.
W załączniku masz moją realizację zadania (Office >= 2007).

0

Ogromne dzięki:
Możesz powiedzieć jak wykonujesz ten podpunkt c) ?

0

I po co w kwerendzie d) dodajesz pole ozn?

0

Ad c) wybieram firmę (bo trzeba ją zwrócić), dowolne pole z tabeli usług oraz rodzaj usługi (który ma wynosić "l"); na tym dowolnym polu daję funkcję agregującą count, by policzyć wszystkie wiersze z tej tabeli spełniające ten wcześniej ustalony warunek (w Access nie można zrobić COUNT(*), stąd potrzebujemy jakiejś faktycznej kolumny). Sortuję według tej ilości oraz na górze w pasku ustawiam return na 1, by do tylu ograniczyć ilość zwróconych rekordów.
Ad d) chciałem podpowiedzieć Accessowi w łączeniu tabel, ale przy tak zdefiniowanych relacjach faktycznie nie jest potrzebne wybranie tego pola.

0

Aha, czyli tam byle jakie pole dać trzeba, pytanie tylko czy musi to być konkretna tabelka?
Ponadto w jaki sposób próbowałeś pomóc Accessowi - na czym taka pomoc polega?

P.S Dzięki za zaangażowanie :-)

0
  1. Musi być pole z tej tabeli, z której chcesz zliczyć rekordy. W tym przypadku ze względu na relację i grupowanie w obu tabelach będzie tyle samo wyników.
  2. Chciałem właśnie "wybrać" tą właściwą tabelę, ale nie było takiej potrzeby, bo wystarczyło, że wybraliśmy pole "powiat". Moje przeoczenie.
0

http://www.cke.edu.pl/images/stories/00002011_matura/R/inf_pr_ii.pdf
Podpunkt a) banalny już.
Ale zobacz na podpunkt b)
wiadomo, że muszę mieć Kwerendę SUMA
i grupować po Imię, nazwisko, sortować rosnąco po nazwisku, Ale jak policzyc kto ile ma psów?

0

Funkcja agregująca count z kryterium >8.

0

czy funkcja policz, jest jakaś wyróżniając się?
Bo np. Suma działa bez jakiegoś wolnego pola.

0

Zapewne count to policz w polskiej wersji. Reszty nie zrozumiałem, napisz to innymi słowami.

0

Czy działa jakos specyficznie w stosunku do innych np. Sumy.
Bo wcześniej musieliśmy dodać sobie wolne pole. Nie rozumiem o co tu chodzi.

0

Tak, działają inaczej. Suma liczy konkretne wartości liczbowe w konkretnej kolumnie, a Policz zwraca ilość wierszy w całej tabeli, niezależnie od podanego pola. W innych RDBMS Policz (count) można wykonać na całej takiej tabeli podając gwiazdkę.

0

Niby mi wyszło
b)
Grupuję nazwisko i imie.
Teraz po uruchomieniu kwerendy mam wszystkie imiona i nazwiska dodaję pole rasa, daje policz a w krytreiach wpisuje > 8.
Ale jak to możliwe, że to działa?
To bardzo dziwne. Czyżby to po prostu dla każdej osoby liczy np. Ile ma ras? Czy jakos tak? Boję się w takim razie że rasa się powtórzy, i wyniki nie będą Ok.

0

Mogę prosić jeszcze o pomoc?
Jak wykonać podpunkt d)

1 użytkowników online, w tym zalogowanych: 0, gości: 1