Projektowanie i tworzenie struktury bazy danych mamy już za sobą. Nadszedł czas pracy z danymi. Na początek wykonamy kilka prostych operacji w bazie danych, którą wykorzystują rodzice Tomka w swoim sklepie z produktami pszczelimi. W ciągu niedługiego czasu udało się zgromadzić całkiem pokaźną liczbę rekordów w każdej z tabel. Teraz po każdym dniu, tygodniu, miesiącu lub „na życzenie” można z takiej bazy uzyskiwać rozmaite zestawienia: podsumowania sprzedaży, informacje o produktach oraz klientach, które mogą być przydatne w opracowywaniu strategii marketingowej na kolejny sezon działalności produkcyjno‑handlowej.
Przypomnijmy sobie strukturę bazy danych:
RwYVPWhTIUiG9
Zapytania do bazy danych
Skąd pochodzą nasi klienci?
Po kilku miesiącach funkcjonowania bazy danych właściciele sklepu są zainteresowani, skąd pochodzą ich klienci. Informacje na ten temat można uzyskać, tworząc zapytanie, zwane kwerendąkwerendakwerendą, a dokładniej – kwerendą wybierającąkwerenda wybierającakwerendą wybierającą.
W programie Microsoft Access zapytanie (kwerendę) możemy utworzyć za pomocą tzw. Kreatora kwerend, poprzez tzw. Projekt kwerendy lub zapytanie w języku SQL. Dwie pierwsze metody są dostępne w zakładce Tworzenie:
RD1kANfAMguj1
Trzeci sposób – język SQL – jest dostępny, gdy tworzymy kwerendę za pomocą metody Projekt kwerendy po wyborze opcji Widok, a następnie Widok SQL:
R1KzlHon90mga
Więcej o tworzeniu zapytań w języku SQL przeczytasz w dalszej części tego materiału.
Utwórzmy kwerendę wybierającą, korzystając z opcji Kreator kwerend.
W pierwszym okienku dialogowym wybieramy opcję Kreator prostych kwerend:
R1BTHsOyu4UN4
W następnym okienku:
wskazujemy tabelę, z której chcemy wyświetlać dane,
spośród dostępnych pól tabeli wybieramy wszystkie lub tylko te, które nas interesują,
wyboru pól oraz rezygnacji dokonujemy za pomocą dostępnych pośrodku czterech przycisków,
upewniamy się, czy wybór jest odpowiedni,
przechodzimy dalej.
RE2D2gak6LuJz
W kolejnym kroku możemy nadać nazwę tworzonej kwerendzie:
RD16MABES24aj
W rezultacie otrzymujemy następujący arkusz danych:
R1LGRCqpAVEdO
Zapisana kwerenda jest dostępna w lewej części widoku okna programu po rozwinięciu listy Kwerendy:
Rqp6pJWv9roOh
Podsumowując, dzięki utworzonej kwerendzie wybierającej uzyskaliśmy fragment zawartości określonej tabeli bazy danych z pominięciem tych kolumn, których akurat nie potrzebowaliśmy.
Dla zainteresowanych
Operacja, którą właśnie wykonaliśmy, polegająca na wyselekcjonowaniu tylko niektórych kolumn, nazywana jest rzutowaniemrzutowanierzutowaniem (lub projekcją). To zagadnienie pochodzi z tzw. algebry relacji.
W programie LibreOffice Base kwerendę możemy utworzyć również na trzy sposoby:
za pomocą kreatora,
w widoku projektu,
w języku SQL.
RO6wFsor5L3oW
Tworzenie opisanej wyżej kwerendy rozpoczniemy od sposobu z kreatorem. Z tabeli klienci wybieramy pole Imie, pole Nazwisko oraz pole Miejscowosc:
RItZwNRjMPsX5
W kolejnym kroku określamy porządek sortowania:
R1HiONTrB6bG0
Następny krok Warunki przeszukiwania możemy w tej kwerendzie pominąć, ponieważ nie określamy żadnych warunków:
R1Hf2gkN1Ptof
Ponieważ kroki 4, 5 i 6 są nieaktywne, w kroku 7. możemy poszczególnym polom nadać tzw. aliasy, czyli alternatywne nazwy, które zostaną wyświetlone zamiast pierwotnych nazw pól po uruchomieniu projektowanej kwerendy. Np. dla pola klienci.Imie możemy ustalić alias Imie:
RcXrG68u9DwBB
W kroku 8. kończymy procedurę z zaznaczoną opcją Wyświetl kwerendę:
R1cSK3pCITmg9
W rezultacie otrzymujemy następujący arkusz danych:
R19LDKe24uV4Q
Rozszerzamy kwerendę o numer telefonu
Gotową kwerendę możemy zmodyfikować. Rozszerzmy więc zapytanie dotyczące miejscowości pochodzenia naszych klientów o numer telefonu. W tym celu, w programie Microsoft Access, klikając prawym przyciskiem myszy nad utworzoną wcześniej kwerendą, wskazujemy opcję Widok projektu:
R1IO68ViEcndO
Otrzymujemy widok, w którego górnej części pokazana jest tabela służąca do uzyskania kwerendy, zaś w dolnej – projekt kwerendy z możliwością dokonania wyboru konkretnych pól, zastosowaniem sortowania oraz wskazania kryteriów filtrowania danych. Dołóżmy więc potrzebne pole Telefon, wybierając je z rozwijanej listy dostępnych pól w pierwszej wolnej kolumnie na wysokości etykiety Pole:
R1ZVnO6GYeCZw
REPOIPAdgLFEP
Uruchamiamy zmodyfikowaną kwerendę za pomocą przycisku Uruchom:
RpTKcQaKQCyf9
W rezultacie otrzymujemy następujący, poszerzony o kolumnę Telefon, arkusz danych:
RXVJ6rqLOliql
Podczas próby zamknięcia widoku arkusza danych możemy zdecydować o zapisie zmodyfikowanej kwerendy:
RjIc5T3900wU4
Analogicznie postępujemy w programie LibreOffice Base. Spod prawego przycisku myszy wybieramy opcję Edycja… nad zapisaną wcześniej kwerendą:
R1CtzcKdDod3M
W widoku projektu kwerendy dodajemy potrzebne pole, korzystając z listy rozwijanej w pierwszym rekordzie pomocniczej siatki:
R1Q7lAX4mtFAU
Po uruchomieniu kwerendy otrzymujemy następujący arkusz danych poszerzony o zadaną kolumnę Telefon:
R1UueMfpBCoiA
Oprócz rzutowania polegającego na wyborze wszystkich rekordów zawierających wskazane pola o wiele ciekawszą możliwością wydaje się być tzw. filtrowaniefiltrowaniefiltrowanie, czyli wybór rekordów spełniających określone kryteria. Oto dwa przykłady dotyczące właśnie filtrowania:
Klienci z Poznania
Spróbujmy teraz wyłuskać z naszej bazy wszystkie informacje o naszych klientach, ale tylko tych, którzy pochodzą z określonej miejscowości. Korzystając z Kreatora kwerend w programie Microsoft Access, wybierzmy więc wszystkie pola z wyjątkiem pola IdKlienta:
R1JSKU7g7XlH7
W widoku projektu określamy kryterium Poznań, zapisując je w odpowiedniej kolumnie:
R1H06WQk5SYRn
Po uruchomieniu kwerendy otrzymujemy następujący arkusz danych prezentujący wybrane kolumny tabeli klienci dla tych spośród klientów, którzy pochodzą z Poznania:
R1KBz2SN7ybg1
Korzystając z kreatora w programie LibreOffice Base, z tabeli klienci wybieramy wszystkie pola z wyjątkiem pola IdKlienta:
R1OA1EQ1wP3N8
W kroku 3. (Warunki przeszukiwania) ustalamy, że wartość w polu Miejscowosc ma być równa Poznań:
R1DITMqq2shIa
W rezultacie otrzymujemy następujący arkusz danych:
R1mzmlgCHW8kG
Dzień Kobiet
W związku ze zbliżającym się Dniem Kobiet rodzice Tomka postanowili wszystkim paniom – klientkom sklepu – przesłać specjalny kod rabatowy na zakupy. Aby to zrobić, potrzebne są takie dane jak imię, nazwisko oraz adres e‑mail:
RPJy6zJkIxT2p
Wykorzystując pewną własność imion żeńskich w języku polskim (kończą się na literę „a”), w widoku projektu określamy kryterium dla pola Imie jako: Like „*a”:
RzpnJRrjoPbHJ
W zapisie tym symbol gwiazdki (*) oznacza dowolny ciąg znaków (w tym również pusty ciąg znaków), zaś litera „a” sygnalizuje, że tą literą kończy się poszukiwany ciąg znaków, a po niej nie następuje już żaden inny znak.
Po uruchomieniu kwerendy otrzymujemy następujący arkusz danych:
RNOrDlkbQZYvD
Jeśli w kryteriach zapytań zaszłaby potrzeba znajdowania określonej długości tekstów, można posłużyć się znakiem „?”, który zastępuje dokładnie jeden dowolny znak alfanumeryczny.
W programie LibreOffice Base zaczęlibyśmy podobnie tzn. od zaprojektowania tabeli wynikowej składającej się z: pola Imie, pola Nazwisko oraz pola Email:
R1L93cdtZ7guO
W kroku 3. (Warunki przeszukiwania) ustalamy, że wartość w polu Imie ma być jak *a:
R8T5dw97BiaWc
W rezultacie otrzymujemy następujący arkusz z wynikami:
RsXPS9W7CBg6G
Zapytania do bazy danych w języku SQL
Po otworzeniu kwerendy w widoku projektu lub arkusza danych dostępny jest jeszcze jeden widok: Widok SQL. W programie Microsoft Access uzyskujemy ten widok po wyborze opcji Widok SQL z opcji Widok, po otwarciu konkretnej kwerendy:
RVvml4m1lVckJ
Kwerenda pochodzenie klientów, która wybierała z tabeli klienci kolumny Imie, Nazwisko oraz Miejscowosc, w języku SQL przybiera następującą postać:
W programie LibreOffice Base widok SQL uzyskujemy, wybierając spod prawego przycisku myszy – po najechaniu na wybraną kwerendę – opcji Edycja w widoku SQL…:
R1S0G3L6nOnkF
Polecenie SELECT pozwala wybrać pola wymienione po tym słowie (np. pole Imie – zwróć uwagę na zapis: klienci.Imie), które pochodzą z tabeli wskazanej po słowie FROM.
Słownik
filtrowanie
filtrowanie
operacja polegająca na wyselekcjonowaniu z relacji (tabeli) rekordów spełniających określone kryteria
kwerenda
kwerenda
rodzaj operacji wykonywanej w bazie danych, która umożliwia wyświetlanie, dodawanie, usuwanie lub zmienianie danych
kwerenda wybierająca
kwerenda wybierająca
zapytanie do bazy danych umożliwiające pobranie danych z jednej lub więcej tabel z zastosowaniem filtrowania według określonych kryteriów (warunków)
rzutowanie
rzutowanie
operacja polegająca na wyselekcjonowaniu z relacji (tabeli) niektórych kolumn
SQL
SQL
język zapytań baz danych wykorzystywany do definiowania struktury bazy danych, nadawania uprawnień do zarządzania bazą, aktualizacji danych w bazie oraz uzyskiwania danych spełniających określone kryteria