Zapytania do bazy danych Tworzenie zapytań do bazy danych MS Access może być realizowane na dwa sposoby. Standard SQL (Stucture Query Language) lub QBE (Query by Example). Warto wiedzieć, że drugi ze sposobów jest jedynie formą graficznej nakładki na ogólnie przyjęty standard SQL - języka do zarządzania relacyjnymi bazami danych. Access posiada interfejs, który udostępnia zarówno jedną jak i druga formę zadawania zapytań. Bardziej przyjazną z uwagi na graficzny interfejs, stąd również częściej wykorzystywaną formą jest technologia QBE. Ten właśnie sposób zostanie omówiony jako podstawowe narzędzie ćwiczeń. Środowisko Zakres wyświetlania rekordów: pierwsze 10, 5% rekordów, itp. Funkcje podsumowujące: suma, średnia, Dodawanie tabeli do kwerendy (tylko niezbędne tabele!) Uruchomienie skonstruowanego zapytania Wybór typu zapytania: proste, krzyżowe, tworzące tabelę, Tabela w kwerendzie Tryb pracy z zapytaniem QBE tworzenie zapytania Tryb przeglądania danych z zapytania Tryb pracy z zapytaniem w języku SQL Nazwa pola w kwerendzie, może być to pole obliczone np. wiek Sortowanie wg danego pola Pole do określania kryteriów, np.: like K* Wybór pól do prezentacji danych w zapytaniu Podstawowym zadaniem podczas tworzenia zapytania jest wybór odpowiedniej tabeli bądź tabel, których dane składać się będą na zestawienie będące wynikiem zapytania. Podstawowa zasada to wybór do zapytania jedynie tych tabel, których dane są niezbędne do prezentacji bądź stanowią kryterium w zapytaniu. Wybór tabel na zaś zaburza wynik zapytania w wyniku czego zapytanie jest źle zrealizowane. Jeśli w projekcie kwerendy występuje więcej niż jedna tabela, wszystkie z nich powinny być połączone racjami. W innym przypadku dane w zestawieniu będą prezentowane błędnie ponieważ system utworzy zestawienie iloczynu kartezjańskiego
danych z każdej uczestniczącej tabeli (każdy z każdym). Dane w tabelach należy wpierw połączyć (relacje). Po utworzeniu zapytania należy je zapisać lub w przypadku gdy chcemy utworzyć nowe zapytanie na tym samym formularzu usunąć wszystkie pola danych z zestawienia. Pozostawienie pól w zestawianiu z poprzedniego zapytania komplikuje nowe zestawienie. Najlepszym rozwiązaniem jest tworzenie nowego zapytania w nowym oknie. Kryteria Tworzenie podstawowych kryteriów w zapytaniu polega na wykorzystaniu operatorów prostych jak znaki <,<=,>,>=,<>. Są to operatory, które można zastosować zarówno do wartości liczbowych jak i znakowych tekstów. o Nazwiska występujące po Kowalski : >=Kowalski o Nazwiska pomiędzy Kowalski a Nowak: >=Kowalski and <=Nowak o Nazwiska Kowalski lub Nowak (znak równości nie jest konieczny): Kowalski or Nowak Operatory tekstowe z wykorzystaniem maski. Operator Like stosowany jest gdy potrzeba określić kryterium wyboru z zastosowaniem tzw. maski, której znaki zastępują nieznane frazy w danych. Znak * oznacza ciąg znaków,? oznacza jeden dowolny znak: o Podaj Nazwiska zaczynające się na literę K: Like K* o Podaj Imiona kończące się na literę a: Like *a o Podaj klientów którzy mieszkają na alejach: Like Al.* o Podaj Imię, którego druga litera to n: Like?n* o Podaj Imiona sześcioliterowe: Like??????
Kryteria projektowane dla pól przechowujących dane czasu i daty. Pola przechowujące dane daty są polami liczbowymi specjalnego przeznaczenia. Można w ich przypadku stosować zarówno kryteria proste jak i złożone. Należy jednak pamiętać o tym ze konstrukcja daty: 2010-01-13 wymusza zastosowanie niektórych funkcji daty i czasu. Poniżej kilka przykładów: o Podaj zamówienia sprzed roku 2000: <#2000-01-01# o Podaj klientów zarejestrowanych w latach 1997-1999: >=#1997-01-01# and <=1999-12-31 o Podaj klientów, którzy urodzili się w maju: Month([data_ur])= 5 o Klienci, którzy mają dziś urodziny zastosowano tu funkcję date(), która zwraca wartość dzisiejszej daty (zawsze aktualnej): Day([data_ur])=Day(date()) and Month([data_ur])=Month(date()) Pola wyliczeniowe tzw. Aliasy. Pola takie nie są klasycznymi kryteriami a jedynie dodatkowymi polami prezentacji. Przykłady zatem umieszczamy nie w polu kryteriów a w Nazwie pola bez podawania nazwy tabeli. Zadawanie zapytań do bazy danych pozwala na tworzenie dynamicznych pól danych na podstawie wyliczeń realizowanych na polach danych. Mogą to być pola stanowiące połączenie danych tekstowych jak np. jedno pole, które łączy imię i nazwisko (w odrębnych polach) w jedno pole: o Imie_Nazwisko: [Imię]& &[Nazwisko] Pola mogą mieć także charakter typowo wyliczeniowy jak np. wiek klienta obliczony na zasadzie różnicy bieżącego roku i roku z pola przechowującego datę urodzin: o Wiek: Year(date()) Year([data_ur]) Podsumowania w kryteriach. W zestawieniach danych można zastosować podsumowania danych, które w postaci liczbowej prezentują szukane informacje.
Służy do tego narzędzie, które włączamy poprzez znaczek sumy (sigma) na pasku narzędzi. W formularzu kwerendy pojawia się dodatkowe pole ze standardową formułą grupuj według formułę tą można zamienić wybierając dostępne funkcje podsumowujące. Funkcje grupują dane według poszczególnych pól i stosują podane funkcje prezentując liczbowo dane. Podsumowania zwykle związane są z polami, które jednoznacznie identyfikują dane w tabeli jak np. ID. o Podaj ogólną liczbę użytkowników: jedno pole ID z tabeli klienci dla którego wybieramy funkcje Policz o Podaj liczbę klientów w poszczególnych miastach: Pole Miasto z Klienci jako grupuj według, pole ID z klienci z funkcją Policz Zawężanie prezentacji danych do określonej liczby rekordów. System zadawania zapytań pozawala na określenie kryteriów w taki sposób by uzyskać zestawienie prezentujące wybrany zakres liczbowy rekordów spełniających kryteria. o Podaj 10 najpopularniejszych imion: Najpierw należy wybrać pola Imię z klienci z funkcją grupuj według a następnie pole ID z Klienci z funkcją policz dla której ustawiamy sortowanie malejąco (te najbardziej popularne imiona na górze). Na pasku narzędzie w polu Wszystkie wpisujemy wartość 10.
Zastosowanie pól parametrycznych. Pola parametryczne pozwalają na stosowanie zmiennych kryteriów dla jednego zapytania. Za każdym uruchomieniem zapytania można zastosować nowe kryterium. o Podaj klientów, których imiona zaczynają się od litery podanej jako parametr: Like [Podaj literę, od której zaczyna się Imię]& * Ćwiczenia do samodzielnego wykonania (baza danych ZD4.mdb) 1. Wybierz klientów zamawiających towary w roku 1997. 2. Wybierz klientów z "Richmond", których imię zaczyna się na literę "B" 3. Wybierz klientów z "Meksyku" o nazwiskach zaczynających się od litery "M" i "N" 4. Wybierz klientów stanu wolnego posiadających dzieci 5. Wybierz klientów stanu wolnego posiadających wykształcenie "Średnie" 6. Wybierz klientów, u których drugą literą w nazwisku jest "b" 7. Wybierz klientów z wykształcenie innym niż podstawowe 8. Wybierz klientów, którzy założyli rachunek 10 lat temu 9. Wybierz klientów w wieku 20-30 lat 10. Wybierz klientów w wieku 25 lat posiadających wykształcenie podstawowe 11. Wybierz klientów, których dochód wacha się w przedziale $130K - $150K 12. Wybierz klientów stanu wolnego zarabiających najwięcej 13. Wybierz klientów z polskobrzmiącycmi nazwiskami 14. Wybierz liczbę osób w poszczególnych miejscowościach 15. Wybierz klientów, których nazwiska rozpoczynają się od litery "P" i od "S" 16. Wybierz 10 miejscowości o największej liczbie klientów 17. Wybierz klientów, którzy mieszkają w miastach rozpoczynających się na literę podaną jako parametr 18. Wybierz Klientów, których nazwiska rozpoczynają się na literę podaną jako parametr 19. Wybierz Klientów w poszczególnych miastach, których imiona rozpoczynających się na literę podaną jako parametr 20. Podaj wiek klientów 21. Podaj staż klientów 22. Ile lat ma najmłodszy klient 23. Ile lat ma najstarszy klient 24. Podaj 15 klientów o najkrótszym stażu 25. Wybierz klientów, którzy obchodzą dzisiaj urodziny 26. Wybierz klientów, których nazwiska mają po 6 liter 27. Wybierz 10 miejscowości o największej liczbie klientów mężczyzn
28. Wybierz 5% miejscowości o najmniejszej liczbie kobiet 29. Wybierz 5 najpopularniejszych imion 30. Wybierz imiona występujące tylko raz 31. Podaj liczbę klientów w poszczególnych miastach 32. Podaj liczbę klientów w podziale na regiony 33. Podaj średnią liczbę dzieci wśród klientów 34. Podaj średni staż klientów 35. Podaj średni wiek klientów 36. Jakie towary kupowane są przez ludzi w wieku 30 lat 37. Ile klientów nie zapłaciło jeszcze za swoje zamówienia 38. Skąd są klienci - "nie płacący" 39. Podaj jaką kwotę wydał już każdy z klientów 40. Podaj jaki % sprzedaży przypada na poszczególne kraje 41. Podaj jakie % sprzedaży przypada na poszczególne miasta 42. Kto więcej wydaje? kobiety czy mężczyźni 43. Kto więcej wydaje ludzie stanu wolnego czy "zajęci" 44. Podaj ilość wszystkich kobiet 45. Podaj liczbę wszystkich mężczyzn 46. Podaj zestawienie - dochód z wydatkami w poszczególnych krajach 47. Podaj zestawienie - dochód z wydatkami w poszczególnych miastach 48. Podaj zestawienie - ilość posiadanych dzieci na wydatki w poszczególnych regionach 49. Podaj zestawienie - stan cywilny a ilość zakupionych towarów dla płci klientów 50. Podaj zestawienie - ilości zamówień z na poszczególne towary