bazy danych iv

advertisement
BAZY DANYCH VI
System Access - Wyszukiwanie informacji i modyfikacja bazy danych.
Kwerendy w języku SQL oraz realizacja operacji algebry relacji w SQL.
1. Uruchom system Microsoft Windows a następnie Microsoft Access i ew. włącz program
Asystenta jeżeli spodziewasz się, że będziesz potrzebował podpowiedzi przy pracy.
2. SQL – HELP: Przeczytaj w systemie pomocy o bazach danych, tematy dotyczące języka SQL,
zwłaszcza dotyczące definiowania kwerend oraz instrukcji SQL dostępnych w systemie Access
oraz „Praca z językiem SQL w kwerendach, formularzach, raportach, makrach i modułach”.
3. Bazy danych. Wykorzystaj istniejąca, wielotabelową bazę danych. Może to być Twoja baza lub
baza z podręcznika z ćwiczeniami, ew. przykłady zamieszczone w ACCESS-ie.
4. SQL: instrukcja SELECT. Podstawową instrukcją SQL dla wyszukiwania danych jest
instrukcja SELECT – podstawowych schemat tej instrukcji przedstawiono poniżej.
SELECT <lista_pól>
FROM <tabela>
[WHERE <kryteria_wyboru>]
[GROUP BY <lista_pól_grupowania>]
[HAVING <kryteria_grupowania>]
[ORDER BY <lista pól> [ASC|DESC]];
Instrukcja SELECT z klauzulą HAVING zawiera następujące elementy:
<lista_pól>
Nazwy pobieranych pól, którym mogą towarzyszyć aliasy nazw pól (po słowie AS), funkcje
agregacji SQL, predykaty wyboru (ALL, DISTINCT, DISTINCTROW lub TOP) albo inne opcje instrukcji
SELECT.
<tabela>
Nazwa tabeli, z której pobierane są rekordy. Więcej informacji można znaleźć w opisie
klauzuli FROM.
<kryteria wyboru>
Kryteria wyboru (selekcji). Jeśli instrukcja zawiera klauzulę WHERE, aparat bazy
danych Microsoft Jet dokonuje zgrupowania wartości dopiero po zastosowaniu do rekordów warunków
wymienionych w klauzuli WHERE.
<lista pól grupowania> Nazwy pól (maks. 10) użytych do zgrupowania rekordów. Kolejność nazw pól na
liście_pól_grupowania określa poziomy grupowania, od poziomu najwyższego (najbardziej znaczącego) do
najniższego (najmniej znaczącego).
<kryteria grupowania> Wyrażenie określające, które spośród zgrupowanych rekordów będą pokazane.
Zastosuj tą instrukcję do budowy kwerend wyszukujących dane, grupowania danych, etc.
Wypróbuj różne możliwości zastosowania. Sprawdź, czy i jak system Access buduje
odpowiadający kwerendzie szablon QBE.
5. Typy zapytań; zapytania wybierające. Przejdziemy teraz do konstrukcji różnych rodzajów
zapytań. Przy konstrukcji zapytań w okienku SQL będziemy programować zapytanie w postaci
SQL. Skonstruuj kilka przykładowych zapytań wybierających, opartych na jednej kilku tabelach;
zauważ, że w istocie odpowiedzi konstruowane są tak, jak w przypadku jednej tabeli (wirtualnej),
powstającej w wyniku odpowiedniego złączenia.
6. Zapytania modyfikujące (funkcjonalne). Zapytania te dokonują trwałych zmian w bazie
danych. Typowe zapytanie dokonuje selekcji i modyfikacja danych. Uwaga: uruchomienie
zapytania modyfikującego zmienia zawartość tabel bazy danych (w nieodwracalny sposób)!
Ponadto zapytania modyfikujące działające na tabelach połączonych wymagają przestrzegania
szeregu ograniczeń. Poniżej zapoznamy się z czterema typami zapytań modyfikujących.
7. Zapytania tworzące tabele. Ten rodzaj zapytań działając analogicznie do zapytania
wybierającego generuje nową tabelę zawierającą dane spełniające kryteria zapytania i
przetworzone zgodnie z zadanym algorytmem. Wygeneruj zapytanie tworzące tabelę w języku
SQL – w oparciu o dane z innej tabeli.
8. Zapytania aktualizujące. Ten rodzaj zapytań przetwarza dane spełniające kryteria zapytania
zgodnie z zadanym algorytmem; modyfikacja ma miejsce w odniesieniu do wybranych pól w
rekordach tabeli wyjściowej. Wygeneruj zapytanie modyfikujące dane w tabeli w języku SQL
9. Zapytania dołączające. Ten rodzaj zapytań uzupełnia tabelę o dane z innej tabeli spełniające
kryteria zapytania i przetworzone zgodnie z zadanym algorytmem. Wygeneruj zapytanie
dołączające dane z pewnej tabeli do innej w języku SQL.
10. Zapytania usuwające. Ten rodzaj zapytań usuwa rekordy zawierającą dane spełniające
kryteria zapytania. Wygeneruj zapytanie usuwające wybrane dane z tabeli w języku SQL.
11. Kreatory zapytań. Zapytania można tworzyć samodzielnie, "od zera", lub też poprzez
modyfikację istniejących zapytań. Można też, i w trakcie zapoznawania się z Accesem jest to
celowe, wykorzystać kreatory zapytań. Pozwalają one na stosunkowo szybkie i wygodne
utworzenie typowych zapytań w oparciu o przechowywane w pamięci wzorce (szablony). Kreatory
zapytań pozwalają na wygenerowanie m.in. zapytań wyszukujących duplikaty (rekordy o
powtarzających się danych w wybranych kolumnach) oraz nie pasujące dane (rekordy z tabeli
głównej nie posiadające odpowiedników w tabeli podrzędnej). Wypróbuj ich działanie.
Przeanalizuj generowany kod SQL.
12. Algebra relacji w języku SQL. Odtwórz w języku SQL następujące operacje algebry relacji
(dla dowolnie wybranych tabel) i sprawdź ich działanie:
 suma relacji (zgodnych),
 różnica relacji (zgodnych),
 iloczyn zwykły (przecięcie) relacji (zgodnych),
 iloczyn kartezjański relacji,
 złączenia: warunkowe (theta-złączenie), równozłączenie, złączenie naturalne; wypróbuj
złączenie wewnętrzne i wszystkie warianty złączenia zewnętrznego (left, right, full),
 dopełnienie prostej relacji.
Jak zrealizować operacje projekcji i selekcji? To proste...
13. Tworzenie tabel w SQL. Spróbuj samodzielnie utworzyć tabelę a następnie zapełnić ją danymi
używając wyłącznie SQL.
14. Zapytania z podzapytaniami w SQL. Nie wszystkie operacje można w SQL wykonać w
pojedynczym zapytaniu; typowy przykład to zapytania odwołujące się do wyników zapytań
grupujących opartych na tej samej tabeli, np. „znajdź wszystkich pracowników o płacach wyższych
niż średnia”, etc. Zrealizuj wybrane zapytania z podzapytaniami w SQL.
15. Ograniczenia SQL. Jakie zapytania trudno jest zrealizować w SQL? Jakie zapytania są
niemożliwe do realizacji w SQL? Spróbuj podać przykłady i charakterystykę, pomyśl...
Download