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...