Implementacja techniki
Query-by-Example
w programie Microsoft
Access
Warszawa, 2010
© Witold Marowski, IMRC PW
Politechnika Warszawska, Wydział Samochodów
i Maszyn Roboczych
Studia Inżynierskie, semestr VII
Przegląd zagadnień
• Projektowanie kwerend wybierających
• Kwerendy zwracające dane z jednej tabeli
• Kwerendy zwracające dane z kilku powiązanych
tabel
• Kwerendy zwracające wartości unikatowe
• Kwerendy agregujące
• Kwerendy krzyżowe
• Projektowanie kwerend funkcjonalnych
• Kwerendy tworzące tabele
• Kwerendy aktualizujące dane w tabelach
• Kwerendy usuwające wiersze danych z tabel
• Projektowanie i uruchamianie kwerend
funkcjonalnych (rola widoków Projekt, SQL i
Arkusz danych,
przycisk Uruchom)
• Projektowanie i uruchamianie kwerendy
wybierającej
(widoki Projekt, SQL i Arkusz danych)
• Parametryzacja projektów
kwerend
Struktura bazy danych "Pociągi"
Narzędzia projektowania kwerend w MS
Access
Pasek narzędzi widoku
Projekt
Przycisk uruchamiający kwerendę
funkcjonalną
Przycisk i
menu wyboru
widoku
Przycisk i
menu wyboru
typu
kwerendy
Przycisk Sumy
(tworzenie kwerend
agregujących)
Przycisk Dodaj tabelę i
okno dodawania do
projektu tabel
i kwerend źródłowych
Okno widoku
Projekt
kwerendy
Siatka QBE
Pole
źródeł
danych
Widoki kwerendy wybierającej
Widok Projekt
Pasek narzędzi aktualnego widoku
kwerendy
Widok SQL
Widok Arkusz danych
Kwerenda zwracająca całą
zawartość tabeli
Sortowanie
Sortowanie
Kwerenda zwracająca wybrane
kolumny tabeli
Sortowanie
So
rt
ow
an
ie
Kryteria wyboru
Kwerenda z polem wyliczanym
Pole wyliczane
Kwerenda zwracająca dane z kilku
tabel
Muszą istnieć związki między wszystkimi tabelami, z których wybierane są dane!
Kolejność sortowania:
1. Zastosowanie,
2. Rodzaj trakcji,
3. Układ osi,
4. Oznaczenie.
Kwerenda zwracająca dane z kilku tabel -
złączenia
Sposób zdefiniowania złączeń tabel wpływa na wynik działania kwerendy!
Dwa okna
tabeli Stacje
Złączenie wewnętrzne
Kwerenda zwracająca dane z kilku tabel -
złączenia
Sposób zdefiniowania złączeń tabel wpływa na wynik działania kwerendy!
Złączenie zewnętrzne
Kwerenda zwracająca dane – kryteria
wyboru
Sposób rozmieszczenia kryteriów wyboru wpływa na ich interpretację!
And
Or
Kolumna użyta do sformułowania kryterium wyboru nie musi być zwracana.
Kwerenda zwracająca wartości unikatowe
Nieedytowalny
zbiór wyników
działania
kwerendy
Edytowalny zbiór
wyników działania
kwerendy
Kwerendy agregujące
• Przeznaczenie: wykonywanie obliczeń
statystycznych na danych spełniających
zadane kryteria wyboru
• opcjonalne pola kolumn grupujących wiersze
danych pobrane z bazy,
• opcjonalne grupowanie wyników wyszukiwania
według wartości kolumn grupujących (opcja
Grupuj
według
),
• wybór z bazy danych zbioru wierszy
spełniających kryteria wyszukiwania
(wprowadzanie kryteriów – opcja
Gdzie
,
kolumna
wprowadzająca kryteria nie musi być zwracana),
• obliczenia statystyczne dla całego zbioru wyników
wyszukiwania lub dla poszczególnych grup (zgodnie z
typami funkcji agregujących podanymi w wierszu
Podsumowania
),
• Zawartość wiersza wyników kwerendy:
• Prawidłowa kolejność działania kwerendy:
• pola zawierające wyniki obliczeń statystycznych.
• określenie warunków zwracania wyników obliczeń
agregujących dla poszczególnych grup (kryteria
wprowadzane dla kolumn zwracających wyniki
obliczeń).
WHERE
GROUP BY
HAVING
Kwerendy agregujące
1. Określenie liczby serii lokomotyw
wpisanych do bazy według
rodzaju trakcji i zastosowania
2. Określenie liczby serii lokomotyw
wpisanych do bazy według rodzaju
trakcji i zastosowania z wyłączeniem
parowozów
Projektowanie po wciśnięciu przycisku
Kwerendy agregujące
3. Określenie liczby serii lokomotyw wpisanych do bazy według rodzaju trakcji i
zastosowania z wyłączeniem parowozów oraz zwracanie tylko danych grup
liczących więcej niż dwie serie.
Kwerendy agregujące
4. Określenie liczby wagonów w pociągach o trakcji spalinowej lub elektrycznej z
uwzględnieniem wagonów silnikowych i autobusów szynowych (tj. składów bez
oddzielnej lokomotywy).
Kwerendy krzyżowe
• Specjalny rodzaj kwerend agregujących
prezentujących wyniki obliczeń w układzie
tabelarycznym
• wiersze
, których nagłówkami są kombinacje
wartości pól wszystkich kolumn grupujących z
wyjątkiem jednej,
• Sposób prezentacji zbioru wyników
kwerendy:
• kolumny
, których nagłówkami są wartości pól
ostatniej kolumny grupującej,
• komórki
leżące na przecięciu wiersza i kolumny,
zawierające wartość funkcji agregującej (tylko
jednej!) wyliczoną dla argumentów określonych
przez nagłówki wiersza i kolumny
n-ta kolumna
grupująca
Element n-tej kolumny
grupującej: nagłówek
kolumny
Nagłówki
wierszy
arkusza
danych
prezentująceg
o wyniki
działania
kwerendy
Wynik obliczeń
agregujących dla
grupy danych
Kolumny
grupujące
1 ... n-1
1.
Kwerenda bez warunków wyszukiwania:
wykorzystywanie poszczególnych typów
lokomotyw
do prowadzenia różnych kategorii pociągów
Kwerendy krzyżowe
Przy projektowaniu
kwerend krzyżowych
można posługiwać się
kreatorem.
Projektowanie
po wyborze
typu
Kwerendy krzyżowe
2. Kwerenda z warunkiem wyszukiwania: informacja o liczbach pociągów
różnych relacji i kategorii rozpoczynających bieg na stacji Poznań Główny
Kwerendy funkcjonalne
• należy wybrać odpowiedni rodzaj
kwerendy funkcjonalnej na pasku
narzędzi widoku Projekt kwerendy
(przycisk Typ kwerendy),
• Projektowanie kwerend funkcjonalnych w MS
Access:
• zbiór wierszy siatki QBE
zostanie zmodyfikowany
odpowiednio do wybranego
typu kwerendy funkcjonalnej,
• Wykonanie kwerendy funkcjonalnej
powoduje nieodwracalne zmiany
zawartości bazy danych
• przejście do widoku Arkusz danych nie
powoduje wykonania kwerendy
funkcjonalnej, a tylko wyświetlenie
wierszy, które będą podlegać
wykonywanym przez nią operacjom,
• kwerenda funkcjonalna
zostanie wykonana po
kliknięciu przycisku
Uruchom i potwierdzeniu
zamiaru dokonania zmian.
Kwerenda tworząca tabelę
• Tworzy w tej samej lub innej bazie danych
nową tabelę i wypełnia ją danymi pobranymi
z tabel źródłowych
• Sposób projektowania kwerendy:
Projekt kwerendy
określający
strukturę nowej
tabeli
Podgląd danych,
które znajdą się
w nowej tabeli
Brak klucza
podstawowego
Kwerenda aktualizująca
• Jeżeli w projekcie kwerendy aktualizującej nie
podano kryteriów wyszukiwania edytowanych
wierszy, zostaną zmodyfikowane wszystkie
wiersze tabeli źródłowej.
• Sposób projektowania kwerendy:
Konieczne są
nawiasy
kwadratowe
Kwerenda usuwająca
• Jeżeli w projekcie kwerendy usuwającej nie
podano kryteriów wyszukiwania usuwanych
wierszy, zostaną usunięte wszystkie wiersze
tabeli źródłowej.
• Sposób projektowania kwerendy:
Uruchamianie kwerend z okna bazy
danych
• uruchamia bezpośrednio kwerendy wybierające (zwykłe i
krzyżowe),
• Przycisk Otwórz lub podwójne kliknięcie w nazwę
albo ikonę:
• uruchamia kwerendy funkcjonalne po potwierdzeniu
zamiaru dokonania zmian zawartości bazy danych w oknach
komunikatów.
• Ikona kwerendy w oknie
bazy danych zależy od jej
typu:
• krzyżo
wa
• wybierająca (zwykła)
• tworząca tabelę
• usuwająca
• aktualizująca
Parametryzacja projektów kwerend
• Parametry mogą zastępować stałe wartości
argumentów wyrażeń logicznych tworzących
kryteria wyszukiwania.
• Przy uruchamianiu kwerendy parametrycznej są
wyświetlane okna dialogowe, w których podaje się
wartości parametrów (nad polem wartości
wyświetlana jest nazwa parametru).
• Parametry można stosować w projektach kwerend
wybierających (zwykłych i krzyżowych) oraz
funkcjonalnych.
• Schemat zastępowania argumentu stałego
parametrem:
Wyrażenie logiczne
Argument stały
Wyrażenie logiczne
[Nazwa parametru]
Parametryzacja projektów kwerend
• Parametry kwerendy krzyżowej trzeba dodatkowo
zdefiniować w oknie Parametry kwerendy
otwieranym poleceniem menu
Kwerenda|Parametry
.
Przykłady projektów kwerend
parametrycznych
• Kwerenda wybierająca
Przykłady projektów kwerend
parametrycznych
• Kwerenda
krzyżowa
Przykłady projektów kwerend
parametrycznych
• Kwerenda tworząca tabelę
Przykłady projektów kwerend
parametrycznych
• Kwerenda aktualizująca (użycie parametru w
kryterium wyszukiwania oraz jako wartości pola po
edycji)
Przykłady projektów kwerend
parametrycznych
• Kwerenda usuwająca
Implementacja techniki
Query-by-Example
w programie Microsoft
Access
Warszawa, 2010
© Witold Marowski, IMRC PW
Politechnika Warszawska, Wydział Samochodów
i Maszyn Roboczych
Studia Inżynierskie, semestr VII