Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00050 003552 12433292 na godz. na dobę w sumie
Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Zakres rozszerzony. Część 2 (Wydanie II) - książka
Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Zakres rozszerzony. Część 2 (Wydanie II) - książka
Autor: Liczba stron: 312
Wydawca: Helion Edukacja Język publikacji: polski
ISBN: 978-83-246-2824-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> podręczniki szkolne >> informatyka europejczyka
Porównaj ceny (książka, ebook, audiobook).
Komputer włącza nasz mózg.
Steve Jobs,
jedna z ikon rewolucji informatycznej, współzałożyciel i prezes firmy Apple Inc

Na świecie po epoce kamienia, brązu i żelaza bez wątpienia przyszedł czas na epokę informatyczną. Komputery nadają tempo rozwojowi gospodarki, są niezbędne w obszarze nauki, ale służą także rozrywce i komunikacji. Zestaw Informatyka Europejczyka jest całkowicie kompatybilny z wymaganiami, jakie stawia przed każdym uczniem współczesna informatyka. Został stworzony do nauczania informatyki w zakresie rozszerzonym w szkołach ponadgimnazjalnych, a jego treści, struktura, duża liczba przykładów i zadań pozwalają na doskonałe przygotowanie do egzaminu maturalnego.

Z drugą częścią podręcznika zgłębisz budowę komputera, zrozumiesz rolę i zadania systemu operacyjnego oraz usług sieciowych. Nauczysz się korzystać z zaawansowanych funkcji bazodanowych arkusza kalkulacyjnego, poznasz relacyjną bazę danych i język zapytań SQL. Przyswoisz sobie zagadnienia multimediów oraz odkryjesz sposób działania algorytmów kompresji danych. Opanujesz podstawy języka PHP, dzięki któremu stworzysz i opublikujesz w internecie swoją stronę WWW, a nawet zostaniesz administratorem własnego systemu zarządzania treścią.

Na płycie CD znajdziesz materiały niezbędne do wykonania ćwiczeń z podręcznika, kody źródłowe programów opisanych w przykładach oraz oprogramowanie, które możesz legalnie zainstalować na swoim komputerze. Wybrane zadania z egzaminów dojrzałości umożliwią Ci nie tylko zapoznanie się z formą zadań pojawiających się na maturze, ale także pomogą w rozwijaniu Twojej pasji.

Komplet podręczników oraz płyty z serii Informatyka Europejczyka pozwolą uczniom zdobywać wiedzę poprzez praktykę, a nauczycielom ułatwią przekazywanie nowego materiału w interesujący i niebanalny sposób. Helion, największe wydawnictwo informatyczne w Polsce, teraz pomaga zgłębić tajemnice świata komputerów także pokoleniu przyszłych specjalistów.

Wciśnij Enter i do dzieła!

Numer dopuszczenia: 410/2/2012


Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Podręcznik dopuszczony do użytku szkolnego przez ministra właściwego do spraw oświaty i wychowania i wpisany do wykazu podręczników przeznaczonych do kształcenia ogólnego do nauczania informatyki, na podstawie opinii rzeczoznawców: mgr. inż. Włodzimierza Kruszwickiego, dr. Leszka Rudaka, dr Iwony Wandy Grygiel. Zakres kształcenia: rozszerzony. Etap edukacyjny: IV. Typ szkoły: szkoły ponadgimnazjalne. Rok dopuszczenia 2012. Numer ewidencyjny w wykazie: 410/2/2012 Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Joanna Zaręba Projekt okładki: ULABUKA Skład: Ewa Galczak Ilustracja na okładce została wykorzystana za zgodą Shutterstock. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie?iepp22 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. ISBN: 978-83-246-2824-7 Copyright © Helion 2013 Wydanie II Printed in Poland. (cid:127) Kup książkę (cid:127) Poleć książkę (cid:127) Oceń książkę (cid:127) Księgarnia internetowa (cid:127) Lubię to! » Nasza społeczność Spis treści Wstęp Rozdział 1. Bazodanowe operacje arkusza kalkulacyjnego 1.1. Jednotabelowa baza danych — kartoteka 1.2. Podstawowe pojęcia 1.3. Tworzenie nowej bazy i import danych 1.4. Wyszukiwanie i organizowanie danych 1.4.1. Wyszukiwanie z wykorzystaniem formularza 1.4.2. Wyszukiwanie informacji za pomocą autofi ltrowania 1.4.3. Wyszukiwanie informacji za pomocą fi ltru zaawansowanego 1.4.4. Sortowanie danych 1.4.5. Sumy częściowe (pośrednie) 1.4.6. Statystyki oparte na raporcie tabeli przestawnej 1.4.7. Zadania Rozdział 2. Relacyjna baza danych 2.1. Bazy danych i systemy nimi zarządzające 2.2. Projektowanie 2.2.1. Zasady projektowania bazy danych 2.2.2. Projektowanie bazy danych w programie Microsoft Offi ce Access 2007 2.3. Tabele 2.3.1. Tworzenie tabeli w programie Access 2007 2.3.2. Typy danych w tabelach 2.3.3. Podstawowe właściwości pól tabeli 2.3.4. Pole kluczowe tabeli 2.3.5. Defi niowanie relacji 2.3.6. Operacje na tabelach bazy danych 2.3.7. Zmiana sposobu prezentowania danych 2.3.8. Import, eksport, załączanie tabeli 2.4. Kwerendy — zapytania 2.4.1. Kwerendy wybierające 2.4.2. Kwerendy funkcjonalne — modyfi kujące 2.4.3. Język zapytań SQL 2.5. Formularze 2.5.1. Autoformularze 2.5.2. Projektowanie formularzy 6 9 9 11 12 14 14 14 20 23 25 27 30 35 35 38 38 43 44 44 47 50 55 57 63 65 70 74 75 88 95 103 103 104 Spis treści 3 2.6. Raporty 2.7. Makropolecenia 2.8. Ochrona i bezpieczeństwo danych 2.8.1. Ochrona bazy danych hasłem 2.8.2. Kodowanie i dekodowanie bazy danych 2.9. Zadania Rozdział 3. Systemy operacyjne i sieci komputerowe 3.1. Budowa komputera 3.2. BIOS i rozruch komputera 3.3. System operacyjny 3.3.1. Budowa systemu operacyjnego 3.3.2. Rola systemu operacyjnego 3.3.3. Maszyna wirtualna 3.3.4. Zadania 3.4. Sieci komputerowe 3.4.1. Podział sieci komputerowych 3.4.2. Model OSI 3.4.3. Model protokołu TCP/IP 3.4.4. Adres IP (ang. Internet Protocol address) 3.4.5. Podstawowe rodziny protokołów 3.4.6. Obsługa i konfiguracja sieci w Windows 3.4.7. Ogólne zasady administrowania siecią komputerową w architekturze klient-serwer 3.4.8. Bezpieczeństwo sieci 3.4.9. Zadania 3.5. Podstawy tworzenia stron WWW 3.5.1. Podstawowe elementy usługi WWW 3.5.2. Projektowanie witryny WWW 3.5.3. Popularne formaty hipertekstowe w sieci WWW 3.5.4. Struktura dokumentu 3.5.5. Kaskadowe arkusze stylów 3.5.6. Publikowanie witryny w sieci WWW 3.5.7. Systemy zarządzania treścią 3.5.8. Czym jest PHP? 3.5.9. Zadania 108 110 112 113 114 114 117 117 122 124 124 126 131 142 143 144 157 162 164 177 182 182 183 191 192 193 193 193 196 202 206 207 210 221 4 Spis treści Rozdział 4. Multimedia i grafi ka komputerowa 4.1. Grafi ka komputerowa 4.1.1. Grafi ka rastrowa 4.1.2. Rozdzielczość a wymiary obrazka 4.1.3. Reprezentacja obrazu w komputerze 4.1.4. Istota obrazu cyfrowego 4.1.5. Cyfrowy obraz ze skanera i cyfrowego aparatu fotografi cznego 4.1.6. Kompresja stratna i bezstratna 4.1.7. Formaty plików bitmapowych 4.1.8. Grafi ka na stronach WWW 4.1.9. Grafi ka wektorowa 4.1.10. Grafi ka bitmapowa a wektorowa 4.1.11. Grafi ka trójwymiarowa — 3D 4.1.12. Zadania 4.2. Dźwięk 4.2.1. Teoria dźwięku 4.2.2. Zapis dźwięku 4.2.3. Formaty plików dźwiękowych 4.2.4. Zadania 4.3. Wideo 4.3.1. Cyfrowy zapis fi lmu 4.3.2. Montaż fi lmu i jego publikacja 4.4. Zadania sprawdzające do rozdziału 4. Rozdział 5. Kierunki rozwoju technologii informatycznych oraz aspekty etyczne, prawne i społeczne w zastosowaniach informatyki 5.1. Kierunki rozwoju informatyki i jej zastosowań 5.1.1. Krótkie kalendarium wydarzeń ważnych dla rozwoju komputeryzacji 5.1.2. Co przyniesie najbliższa przyszłość? 5.1.3. Zadania 5.2. Aspekty etyczne, prawne i społeczne w zastosowaniach informatyki 5.2.1. Prawo autorskie 5.2.2. Rodzaje licencji programów komputerowych 5.2.3. Wolne licencje 5.2.4. Ustawa o prawie autorskim a szkolny referat 5.2.5. Zadania Skorowidz 225 225 226 226 230 239 240 240 247 249 253 257 258 266 269 269 271 274 281 281 282 284 285 291 291 292 293 299 300 300 300 301 302 303 305 Spis treści 5 porcie z pliku tekstowego, a mianowicie: czy dane będą ograniczone i jakiego znaku użyć do ograniczenia, czy w pierwszym wierszu dodać wiersz nagłówków pól i jak nazwać powstały plik z wyeksportowanymi danymi. Przy próbie zapisu danych do istniejącego pliku pojawi się pytanie o to, czy zastąpić istniejący plik. Nie można zatem drogą eks- portu danych dopisać ich do danych istniejącego pliku tekstowego. Ćwiczenie 2.11. Wyeksportuj dane z tabeli Studenci_oceny_z_bazy do bazy danych MS Access, arkusza kalkulacyjnego Excel oraz do pliku tekstowego. Pamiętaj o koniecz- ności utworzenia pliku bazy danych MS Access przed eksportem tabeli. Sprawdź dwie możliwości eksportu do arkusza kalkulacyjnego istniejącego pliku Excela oraz do no- wego skoroszytu. W dalszej części podręcznika będziemy korzystać z tabeli z ocenami pobranej z bazy. Zmień nazwę tabeli Studenci_oceny_z_bazy na krótszą Studenci_oceny. Jeżeli nie udało Ci się wykonać wszystkich poleceń w bazie uczelnia.accdb, to na płycie dołączonej do podręcznika zamieszczono plik uczelnia_OLE.accdb z wszystkimi wykonanymi dotychczas ćwiczeniami. Skopiuj ten plik na dysk lokalny i zmień jego nazwę na uczelnia.accdb. 2.4. Kwerendy — zapytania Istotą baz danych jest stworzenie możliwości efektywnego wyszukiwania informacji. Do tego celu służą kwerendy. Są one, obok tabel zawierających dane, podstawowymi obiek- tami definiującymi schematy wyszukiwania potrzebnych informacji. Program Access udostępnia dwa języki definiowania kwerend: język SQL (ang. Structured Query Lan- guage) oraz język QBE (ang. Query By Example). Jeśli więc chcemy znaleźć i pobrać dane, które spełniają pewne warunki, tworzymy kwe- rendę, czasem nazywaną zapytaniem. Kwerenda może obejmować dane pochodzące z różnych tabel lub z wcześniej utworzonych kwerend (bądź jednych i drugich), wyszu- kiwać dane, aktualizować lub usuwać wiele rekordów jednocześnie, tworzyć nowe tabele. Pozwala także na wykonywanie obliczeń na danych oraz podsumowań danych. W naszej bazie danych znajduje się już jedna kwerenda, utworzona z zaawansowanego filtrowania danych, wybierająca studentów pochodzących z Olsztyna, urodzonych przed 12 marca 1989 roku. Przejdźmy więc do zakładki z kwerendami. Po dwukrotnym kliknięciu myszą nazwy kwerendy następuje jej uruchomienie. Klawisz Enter lub polecenie Otwórz z menu kontekstowego tabeli również uruchamia kwerendy. W przypadku kwerendy Studenci_z_Olsztyna 1989-03-12 nastąpi otwarcie kwerendy w postaci arkusza (tabelki) z danymi wyszukanymi zgodnie z kryteriami. Jest to zestaw danych dynamicznych, tworzony na czas uruchomienia kwerendy. Każda zmiana w tabeli, wyświetlonej po uruchomieniu kwerendy, oznacza zmianę w macierzystej tabeli. Sprawdź to, zmieniając datę urodzenia jednego ze studentów. Następnie zamknij kwerendę, przejdź do tabeli Studenci_dane i sprawdź, czy zmiana została zapisana w tej tabeli. Kwerendę można również otworzyć w widoku jej projektu, wybierając polecenie Widok projektu… z menu kontekstowego kwerendy. Po takim otwarciu zobaczymy na Wstążce 74 Rozdział 2. Relacyjna baza danych znany zestaw poleceń zaawansowanego fi ltrowania danych — wybieraliśmy tu wcześniej pola i kryteria do fi ltrowania. Ta zakładka, Projektowanie, jest narzędziem kwerend. Aby w widoku projektu uruchomić kwerendę, należy kliknąć przycisk . Możliwe jest również wybranie polecenia Uruchom przy użyciu sekwencji następujących klawiszy: lewy Alt (który uaktywnia skróty klawiaturowe), następnie litera R (pozwala przejść do zakładki Projektowanie) i na ko- niec litera H. Kwerendy można oglądać jeszcze w innych widokach, poka- zanych na rysunku 2.32. My będziemy oglądać i projektować je w trzech widokach, wybieranych również z menu Widok: • — wyświetla defi nicję zapytania w widoku Rysunek 2.32. Dostępne widoki kwerend Widok projektu siatki projektowej. Widok arkusza danych pytania w formie tabelki. Widok SQL zyku SQL. • • — wyświetla wynik wykonania za- — podaje defi nicję zapytania zapisaną w ję- Przeanalizujmy podstawowe typy kwerend na przykładach. 2.4.1. Kwerendy wybierające Najczęściej spotykanym rodzajem kwerendy jest kwerenda wybierająca. Pobiera ona dane z jednej tabeli lub z większej liczby tabel bądź z wcześniej zdefi niowanych i zapi- sanych kwerend, używając podanych kryteriów, a następnie wyświetla wybrane dane w żądanym porządku. Kwerendę można utworzyć, używając kreatora kwerend lub samodzielnie zaprojekto- wać ją w widoku projektu kwerendy. Oba narzędzia zamieszczono na zakładce Tworze- nie, w grupie Inne. W widoku projektu kwerendy przez dodanie do siatki projektowej pól zawierających dane z jednej tabeli lub z kilku tabel określamy poszczególne parametry wyszukiwania danych. Wypełnianie siatki projektowej przypomina zaawansowane fi ltrowanie danych. Podstawowa różnica polega na tym, że możemy korzystać z większej liczby tabel. Widok projektu kwerendy wybierającej zilustrowano na rysunku 2.33. Pomoże on nam w wy- konaniu ćwiczenia 2.12. Ćwiczenie 2.12. Zaprojektuj kwerendę wybierającą studentów, którzy otrzymują sty- pendium. Obok numeru albumu wyświetl kierunek studiów oraz kwotę pobieranych świadczeń. Wybrane dane posortuj rosnąco według numeru indeksu. Aby zaprojektować kwerendę, najpierw zdecyduj, które z tabel lub już istniejących kwe- rend będą dla niej źródłem danych. W naszym przykładzie będą to dwie tabele: Studenci_ dane i Studenci_uczelnia. Przejdź do zakładki Kwerendy i z grupy Inne na karcie Tworzenie 2.4. Kwerendy — zapytania 75 Możesz dodać pole, przeciągając je z listy pól do siatki projektowej lub dwukrotnie klikając jego nazwę Wybrane tabele Lista pól tabeli Linia symbolizująca relację między tabelami Wybrane pola Tabela źródłowa pola Opcje sortowania Widoczne/niewidoczne Kryteria wyboru Rysunek 2.33. Kwerenda z kryteriami wyboru wybierająca dane z dwóch tabel. Z lewej widok projektu, z pra- wej — arkusza danych wybierz polecenie Projekt kwerendy. W oknie projektu kwerendy pojawi się, jak na ry- sunku 2.34, okno Pokazywanie tabeli. Dodaj niezbędne dwie tabele i zamknij okno. Następ- nie wybierz pola zawierające potrzebne informacje. Dodaj pola ID_albumu, KOD_kierunku oraz Stypendium_Soc do siatki projektowej, przeciągając je lub dwukrotnie klikając każde z nich. Możesz też wybrać pole i tabelę z rozwijanej listy bezpośrednio w siatce projektu. Zapisz utworzoną kwerendę pod nazwą Stypendium_i_kierunek. Uruchom kwerendę, klikając przycisk Uruchom. W dynamicznym zestawie danych pojawiły się wybrane pola tabeli. Zwróć uwagę, że w zestawie wybranych danych znaleźli się wszyscy studenci, rów- nież ci, którzy nie pobierają stypendium. Powróć do widoku projektu. Rysunek 2.34. Okno wyboru tabel do projektu kwerendy Gdyby wszyscy studenci pobierali stypendium w jednakowej wysokości, w kryteriach wyboru pola Stypendium_Soc można by podać tę wartość, na przykład 150. Jednak po uruchomieniu kwerendy zniknęliby z zestawu nie tylko studenci bez stypendium, ale również ci, którzy pobierają stypendium inne niż 150 złotych. Ponieważ jest wiele róż- 76 Rozdział 2. Relacyjna baza danych nych kwot, korzystnym w tym przypadku kryterium wyboru jest odrzucenie wszyst- kich rekordów z pustym polem Stypendium_Soc. Kryterium Is Null spowoduje wypisanie wszystkich studentów, którzy nie pobierają stypendium (mają puste pole Stypendium_ Soc), dlatego użyj zaprzeczenia i wpisz w kryterium wyboru Is Not Null. Zapisz kwerendę jako Stypendium_i_kierunek i uruchom ją. Powinien zostać wyświetlony wybrany zestaw danych tylko tych studentów, którzy pobierają stypendium. Ćwiczenie 2.13. Zmodyfi kuj utworzoną w ćwiczeniu 2.12 kwerendę wybierającą tak, aby zamiast kodu kierunku wypisywała pełną nazwę kierunków studiów każdego stu- denta pobierającego stypendium socjalne. Zmodyfi kowaną kwerendę zapisz jako nową kwerendę i nadaj jej nazwę Stypendium_i_kierunek_pelna_nazwa. Do wykonania tego ćwiczenia użyj utworzonej wcześniej kwerendy Stypendium_i_kie- runek. Otwórz ją w widoku projektu. Aby wyświetlić pełne nazwy kierunków zamiast ich kodów, potrzebna jest tabela Kierunki. Dołóż ją do tabel. W tym celu przyciskiem Pokaż tabelę (polecenie dostępne również w menu kontekstowym) otwórz listę dostęp- nych tabel i dodaj do projektu kwerendy tabelę Kierunki. Następnie pole Kierunek dodaj do siatki projektowej. Zapisz utworzoną kwerendę (Przycisk pakietu Offi ce/Zapisz jako…) pod nazwą Stypendium_i_kierunek_pelna_nazwa. Uruchom ją. Zauważ, że niepotrzebnie wyświetlane są teraz dwie informacje o kierunku studiów: w postaci kodu i w postaci pełnej nazwy. W widoku projektu usuń zaznaczenie Pokaż dla pola KOD_kierunku i po- nownie uruchom kwerendę. Teraz efekt jest taki jak na rysunku 2.35. Rysunek 2.35. Okno projektowe korygowanej kwerendy i dynamiczny zestaw danych bez ukrytego pola KOD_kierunku Przyjrzyj się uważnie utworzonej siatce projektowej oraz relacjom między tabelami da- nych źródłowych użytymi w kwerendzie. Zauważ, że tabela Kierunki jest sprzężona z ta- belą Studenci_uczelnia przez pole KOD_kierunku. Nie ma więc potrzeby zamieszczania pola KOD_kierunku w siatce projektowej. Jeśli usuniemy to pole, efekt wyboru rekor- dów będzie dokładnie taki sam. W widoku projektu zaznacz więc w siatce projektowej pole KOD_kierunku i usuń je przyciskiem Delete z klawiatury lub używając menu pod- ręcznego. Ponownie uruchom kwerendę. Nic się nie zmieniło. Zapisz zmiany i zamknij okno kwerendy. 2.4. Kwerendy — zapytania 77 Ćwiczenie 2.14. Zbierz dane o studentach posiadających telefon. Dane wybierz z trzech tabel, jak na rysunku 2.36. Wybranych studentów posortuj w kolejności od najmłod- szego do najstarszego. Utworzoną kwerendę wybierającą zapisz pod nazwą Data_ur_ rok_studiow_i_telefon. Który student jest ostatni na liście? Ilu studentów podało swoje numery telefonów? Rysunek 2.36. Kwerenda wybierająca dane z trzech tabel do ćwiczenia 2.14 Przyjrzyj się zawartości dwóch tabel: Akademiki i Wykladowcy. Zawierają one, odpowied- nio: 3 rekordy i 20 rekordów. Między nimi nie ma ustanowionej relacji. Co się stanie, je- śli utworzysz kwerendę, której wybranymi polami będą: Akademik i ID_wykladowcy? Zaprojektuj taką kwerendę, zapisz ją pod nazwą Akademiki_i_wykladowcy. Nie sto- suj żadnych kryteriów wyboru. Uruchom kwerendę i zobacz, ile powstało par da- nych. Stało się tak właśnie ze względu na brak relacji między tymi dwiema tabelami. Powstały wszystkie możliwe kombinacje 3 akademików i 20 wykładowców, czyli 60 ze- stawów danych, co ilustruje rysunek 2.37. Ćwiczenie 2.15. Zaprojektuj kwerendę, która będzie wybierała imiona i nazwiska stu- dentów informatyki oraz ich oceny. Wybrane dane posortuj według nazwisk. Do wykonania tego ćwiczenia użyj dwóch tabel: Studenci_dane i Studenci_oceny. Dodaj pola z nazwiskiem i imieniem, kierunkiem studiów oraz pola z ocenami. Ustal kryterium wyboru. W tej kwerendzie będzie to kryterium tekstowe, które sprowadza się do poda- nia w komórce Kryteria pola KOD_kierunku odpowiedniego ciągu znaków, czyli IN . Posortuj wybrane dane według nazwisk. Zapisz utworzoną kwerendę jako Oceny_informa- tykow. Uruchom kwerendę i sprawdź jej działanie. Wyłącz pokazywanie kodu kierunku. Zobacz efekt działania kwerendy. Zauważ, że informatycy nie mają ocen ze wszystkich przedmiotów. Usuń z projektu te przedmioty nauczania. Aby zaznaczyć kolumnę (pole), ustaw wskaźnik myszy nad nazwą pola — przybierze on kształt czarnej strzałki. Zaznacz pole i usuń je z projektu kwerendy (Delete). Rysunek 2.37. Kwerenda wybierająca rekordy z tabel niepowiązanych relacjami 78 Rozdział 2. Relacyjna baza danych Dobrze byłoby również ująć w tym wykazie numer ID oraz rok studiów danego studenta, co wiąże się z dodaniem trzeciej tabeli, Studenci_uczelnia, w której znajduje się informacja o roku studiów. Uzupełnij to w widoku projektu kwerendy. Zapisz wprowadzone zmiany. Po uruchomieniu kwerendy możesz na wyświetlonym, dynamicznym zestawie danych zastosować fi ltry. Którzy studenci trzeciego roku otrzymali najniższą ocenę z matema- tyki? Ustaw kursor w polu, w którym jest ocena 3 z matematyki, i zastosuj fi ltr dla za- znaczenia Równa się 3. Następnie zastosuj fi ltr dla pola Rok_studiow. Fragment zestawu przefi ltrowanych w ten sposób danych tej kwerendy znajduje się na rysunku 2.38. Rysunek 2.38. Fragment zestawu przefi ltrowanych danych kwerendy wybierającej oceny studentów informatyki Defi niowanie złożonych kryteriów wyboru W przypadku wszystkich typów pól najprostszym kryterium jest podanie konkretnej wartości: WARSZAWA — dla pola typu Tekst, 50 — dla pola liczbowego (Autonumerowanie, Liczba, Walutowy), #1995-12-25# lub #1995/12/25# — dla pola typu Data/Godzina, 1 lub 0 (albo tak lub nie) — dla pola logicznego Tak/Nie (Tak odpowiada 1, Nie odpo- wiada 0). Ćwiczenie 2.16. Zaprojektuj kwerendę, która wybierze wszystkich ubezpieczonych studentów. Jako wynik wyszukiwania podaj ID studenta oraz kierunek i rok studiów. W widoku projektu wybierz odpowiednie tabele i cztery pola. W polu Ubezpieczenie wpisz kryterium, które pozwoli wybrać wszystkich ubezpieczonych studentów. Sprawdź dzia- łanie kwerendy. Jeśli wybór jest prawidłowy, wyłącz wyświetlanie wartości pola Ubez- pieczenie, ponieważ nie ma potrzeby wyświetlania całej kolumny z napisem tak. Zapisz kwerendę pod nazwą Ubezpieczeni. W kryteriach tekstowych można stosować znaki wieloznaczne (zastępcze), które zastę- pują wiele znaków lub jeden znak. Należą do nich *, ? i #. Znak * zastępuje ciąg znaków dowolnej długości. Aby zrealizować kryterium wyboru wszystkich studentów, których nazwisko rozpoczyna się na literę J, należy w polu Kryteria wpisać J* lub Like J* . Wystarczy wpisać J* , a Access automatycznie uzupełni to kryterium do pełnej po- staci, co zauważysz po ponownym otwarciu kwerendy w widoku projektu. Natomiast zapis Like *a spowoduje wybór tych rekordów, które w danym polu tekstowym na ostatniej pozycji ciągu znaków mają literę a . Tego zapisu często używa się jako kryte- 2.4. Kwerendy — zapytania 79 rium dla pola Imie do wyboru płci żeńskiej, zakładając, że zwykle w Polsce imiona ko- biet kończą się na literę a (choć nie jest to regułą — coraz częściej nadawane są imiona obcego pochodzenia, na przykład imię żeńskie Inez nie spełnia tego warunku, a imię męskie Bonawentura jest błędnie traktowane jako imię żeńskie). Oprócz * w kryteriach można użyć znaku ?, zastępującego pojedynczy znak, oraz znaku # wpisywanego na miejscu cyfry. Przykładowo kryterium ????? wymusza poszuki- wanie wszystkich osób, których nazwisko składa się z 5 znaków, KO?KIEWICZ wyszuka takie nazwiska jak: KOLKIEWICZ, KORKIEWICZ, KOTKIEWICZ, ale nie wybierze na- zwiska KOKIEWICZ. W roli kryterium dla pola liczbowego można używać zarówno 19##-01-01 , jak i 19??-01-01 , w obu przypadkach otrzymamy wszystkich urodzo- nych 1 stycznia w latach 1900-1999. Aby wziąć pod uwagę również osoby z młodszych roczników, należałoby wpisać kryterium ####-01-01 lub ????-01-01 . Natomiast kryterium dla daty 1989-??-?? lub 1989-##-## pozwala wybrać wszystkich uro- dzonych w 1989 roku. Można tych dwóch znaków, ? i #, używać tutaj wymiennie, ponie- waż dowolnymi znakami w polu typu Data na miejscu zastąpionym znakami ? lub # są zawsze cyfry, więc nie popełnimy błędu i nastąpi poprawne wybranie rekordów zgod- nie z kryteriami. Jednak jeśli wybór miałby dotyczyć cyfry w polu typu Tekst, to bez- względnie użyjemy znaku #, dla odróżnienia jej od dowolnego znaku. Na przykład wpis *# w polu Miasto oznacza kryterium wyboru miast, które mają cyfrę na końcu nazwy, na przykład LUBICZ1. W kryteriach wyboru można również podać zakres [], w jakim musi znaleźć się po- szukiwany rekord. Wpis Like [A-D]* oznacza, że wszystkie wybrane nazwy będą roz- poczynały się jedną z liter z podanego zakresu, więc A, B, C lub D. Wpis Like *[krs] oznacza, że wszystkie wybrane nazwy będą kończyły się jedną z liter podanych w zakre- sie, czyli k, r lub s. Korzystanie z zakresów znacznie przyspiesza definiowanie złożonych kryteriów, które można zastąpić złożoną alternatywą. Oto znaczenie poszczególnych znaków: * — zastępuje dowolny ciąg znaków (również ciąg pusty); ? — zastępuje jeden znak, który musi wystąpić w polu; # — zastępuje cyfrę, która musi wystąpić w polu; [] — zakres, do jakiego musi należeć dany znak; [!] — zakres, do jakiego nie może należeć dany znak. Wykrzyknik oznacza negację (na przykład [!act]* oznacza, że ciąg może zaczynać się na dowolną literę oprócz a, c lub t). Określenie złożonego kryterium liczbowego wymaga użycia jednego z sześciu operato- rów relacji: , =, , =, =, (różne). Obok nieskomplikowanych warunków wyboru można tworzyć rozbudowane kryteria, łączące co najmniej dwa warunki. Są to: koniunkcja kryteriów, czyli wymóg spełnienia wszystkich warunków, oraz alternatywa kryteriów, czyli wymóg spełnienia co najmniej jednego warunku. Kryteria można łączyć operatorami logicznymi: 80 Rozdział 2. Relacyjna baza danych • And Or• — koniunkcja, X And Y zwraca prawdę, gdy X i Y są prawdziwe; — alternatywa, X Or Y zwraca prawdę, gdy przynajmniej jedno z nich (X lub Y) • • • — zaprzeczenie, Not X zwraca prawdę, gdy X jest fałszywe; jest prawdziwe; Not tekst1 ; tekst2 ; tekst3 ; tekst4 ) — wyświetlenie rekordów, które In ( w danym polu mają wartości należące do listy. To kryterium dotyczy danych teksto- wych i zastępuje złożoną alternatywę; wartość_początkowa And wartość_końcowa — wyświetlenie wszystkich re- Between kordów, które mają wartości z przedziału od wartości początkowej do wartości koń- cowej włącznie. Na przykład Between 10 And 100 oznacza wybór rekordów mających we wskazanym polu wartość z przedziału 10,100 . W s k a z ó w k a Wielkość liter występujących w kryte- riach nie ma znaczenia. Ćwiczenie 2.17. W naszej przykłado- wej bazie danych utwórz dwie kwerendy wybierające. Pierwsza ma wybierać z ta- beli Studenci_dane studentów urodzonych w pierwszym kwartale 1989 roku. Wykaz ma zawierać ID, imiona i nazwiska stu- dentów. Na początku listy zamieść najstarszego studenta (Zakrzewska), a na końcu naj- młodszego (Olek). Datę w kryterium można wpisać w sposób następujący: =1989-01-01 And =1989-03-31. Po uruchomieniu kwerendy data automatycznie zostanie ujęta w znacznik #data# i kry- terium przyjmie następującą postać: =#1989-01-01# And =#1989-03-31#. Utworzoną kwerendę zapisz pod nazwą Urodzeni_w_pierwszym_kwartale_1989_roku. W następnej kwerendzie wybierz z tabeli Studenci_uczelnia studentów mieszkających w akademiku DS1 lub DS2. To zadanie można zrealizować na dwa sposoby. Jeden to po- danie alternatywy kryterium wyboru DS1 Or DS2 , drugi to wpisanie dwóch warun- ków do kolejnych pól kryteriów wyboru w siatce projektowej. Obie możliwości pokazano na rysunku 2.39. Kwerendę zapisz pod nazwą Studenci_z_DS1_i_DS2. Rysunek 2.39. Alternatywne warianty kryteriów wyboru Przy defi niowaniu kryteriów należy pamiętać o następujących regułach: • kryteria wprowadzone w polach wiersza And, czyli koniunkcją, której przykład zobrazowano na rysunku 2.40; Kryteria połączone są operatorem logicznym 2.4. Kwerendy — zapytania 81 W s k a z ó w k a D e fi n i c j a Rysunek 2.40. Koniunkcja wyboru studentów trzeciego roku urodzonych w pierwszym kwartale 1989 roku Wszystkie wymienione powyżej kry- teria mogą być stosowane jako reguły poprawności w definicjach pól (ich właściwości) tabeli i formularzy. • kryteria dla jednego pola, wprowadzone w wierszach Kryteria i lub oraz w każdym następnym wierszu (kryteriów może być więcej niż dwa), połączone są operato- rem logicznym Or, czyli alternatywą. Definiowanie wyrażeń Wyrażenie to dowolna kombinacja operatorów matematycznych i logicznych, sta- łych, funkcji, nazw pól, formantów i właściwości, której wynikiem jest pojedyncza wartość. Wyrażenia służą do przeprowadzania obliczeń, operowania znakami lub testowania danych. Kwerendy mogą wyświetlać pola tabel lub innych utworzonych wcześniej kwerend wy- bierających oraz wyrażenia arytmetyczne, tekstowe i inne. Wyrażenia takie definiowane są w siatce projektowej, w wierszu Pole. Wyrażenie składa się z dwóch części: tytułu (nazwa pola) i formuły (reguła, według któ- rej obliczana jest wartość w tym polu), które zapisujemy, rozdzielając je dwukropkiem. Na formułę może składać się kombinacja pól tabeli źródłowej, funkcji Accessa, operato- rów arytmetycznych (+, –, /, *) i innych. Ogólna postać wyrażenia jest następująca: tytuł_wyrażenia: formuła W wyrażeniach nazwy pól z tabeli źródłowej podajemy w nawiasach kwadratowych. Ćwiczenie 2.18. Zaprojektuj kwerendę, która połączy zawartości pól tekstowych Imie i Nazwisko oddzielone pojedynczą spacją. Powstałą kwerendę zapisz pod nazwą Dane_ osobowe_studentow. W oknie projektu nowej kwerendy dodaj tabelę Studenci_dane. Wybierz z niej trzy pola: ID_albumu, Nazwisko i Imie. W nowym polu siatki projektowej wpisz następujące wyra- żenie: [Imie] [Nazwisko] i uruchom powstałą kwerendę. Zauważ, jak jest na- zwane pole, które połączyło dwa pola tekstowe. Powróć do projektu. Aby lepiej widzieć powstałe wyrażenie, wybierz polecenie Powiększenie… i w otwartym okienku edycji wy- rażenia zmień nazwę Wyr1 na Imie_i_nazwisko (nie usuwaj dwukropka). Teraz wyrażenie 82 Rozdział 2. Relacyjna baza danych ma następującą postać: Imie_i_nazwisko: [Imie] [Nazwisko]. Posortuj listę według nazwisk i wyłącz pokazywanie nazwiska i imienia w osobnych polach. Ponow- nie uruchom kwerendę. Poszerz kolumnę, aby można było przeczytać dane połączone w jednym polu. Zapisz kwerendę pod nazwą Dane_osobowe_studentow. W s k a z ó w k a Aby widzieć całe wyrażenie, ustaw kur- sor w polu wyrażenia i wybierz polece- nie Powiększenie… (Shift +F2). W tworzeniu wyrażeń dużą pomoc ofe- ruje Konstruktor wyrażeń, uruchamiany poleceniem Konstruktor znajdującym się w grupie narzędzi Konfi guracja kwerendy. Można go również uruchomić, wybierając opcję Konstruuj… z menu kontekstowego pustego pola lub pola z już istniejącym wyrażeniem. Polecenie otwiera okno Konstruk- tor wyrażeń, pokazane na rysunku 2.41. Rysunek 2.41. Okno Kon- struktor wyrażeń. Kon- struowanie wyrażenia z wykorzystaniem wbu- dowanej funkcji Konstruktor wyrażeń jest narzędziem, dzięki któremu można generować skomplikowane wyrażenia bez ryzyka popełnienia pomyłki literowej w nazwach pól lub błędu w składni funkcji. Uwaga! Pola użyte w kwerendzie będą widziane w oknie Konstruktor wyrażeń dopiero po zapisaniu kwerendy. Ćwiczenie 2.19. Zmodyfi kuj utworzoną wcześniej kwerendę Ubezpieczeni tak, aby wyświetlić rok urodzenia każdego ubezpieczonego studenta. Wykorzystaj do tego Kon- struktor wyrażeń oraz funkcję wbudowaną Year — zwracającą rok z pola zawierającego datę. Kwerendę zapisz pod nazwą Rok_urodzenia_studentow. Otwórz w widoku projektu kwerendę Ubezpieczeni. Do siatki projektowej dodaj pole Data_ur. Zapisz kwerendę pod nazwą Rok_urodzenia_studentow. Zapis jest konieczny, aby było widać dodane przed chwilą pole. W następnym, pustym polu wybierz polecenie Konstruuj… i wstaw funkcję Year, zgodnie z rysunkiem 2.41. W oknie generowania wyrażenia pojawi się treść: Year («number»). Teraz zamiast «number», czyli w miejscu parametru funkcji, wstaw pole Data_ur, wybierając je w dolnej części okna Konstruktor wyrażeń, z bieżącej kwerendy, poleceniem Wklej lub dwukrotnie klikając nazwę pola. 2.4. Kwerendy — zapytania 83 W wyrażeniu pojawi się nazwa pola w kwadratowym nawiasie, a całe wyrażenie po- winno wyglądać następująco: Year([Data_ur]). Oczywiście można wpisywać nazwy samodzielnie, bez wybierania z listy, jednak niesie to ze sobą niebezpieczeństwo nie- dokładnego podania nazwy pól lub funkcji, co w konsekwencji doprowadzi do błędu w obliczeniach. Uruchom utworzoną kwerendę i sprawdź jej działanie. Kwerenda działa prawidłowo, jednak utworzone pole otrzymało nazwę Wyr1. Powróć do widoku projektu i zmień nazwę pola Wyr1 na Rok: (nie zapomnij o dwukropku). Wyrażenie powinno wy- glądać następująco: Rok: Year([Data_ur]). Zapisz zmiany. Kilka przydatnych funkcji zamieszczonych w tabeli 2.7 przyspieszy i ułatwi pracę. Pamię- taj, że pomoc otrzymasz po wpisaniu w indeksie haseł odpowiedniej nazwy funkcji. Tabela 2.7. Przydatne wbudowane funkcje MS Access Date(), Now() DateAdd(...), DateDiff(...) Obliczanie różnic i sum dat w dniach, latach itp. Day(...), Year(...), Month(...), Minute(...) Podanie bieżącej daty lub daty i czasu Wyodrębnienie z daty jej części IsDate(...), IsNull(...) Left(...), Right(...), Mid(...) LTrim(...) Nz(…) Choose(...) IIf(...) Format(...) Sprawdzenie, czy dany obiekt jest, odpowiednio, datą, wartością Null itp. Wybieranie fragmentu napisu z tekstu. (Left([ID_ albumu],2) zwróci WU Usuwanie spacji Konwersja wartości Null na 0 lub Wybieranie z listy wartości elementu o podanym numerze Wybranie spośród dwu wartości, zależnie od warunku logicznego Przekształcenie podanej wartości w napis według zada- nego formatu Wśród funkcji, których parametrem są data i czas, znajduje się funkcja Date(), zwra- cająca aktualną datę. Zaprojektuj kwerendę, która obliczy wiek studenta według działa- nia: Wiek = rok (dzisiejsza data) – rok (data urodzenia). Odpowiednie wyrażenie utwórz wykorzystując Konstruktor wyrażeń. Oprócz wieku wyświetl ID_studenta oraz kierunek studiów. Utworzoną kwerendę zapisz pod nazwą Wiek_studentow. W tym przykładzie parametrem funkcji Year jest funkcja Date(). Wyrażenie będzie więc miało następującą postać: Wiek: Year(Date())-Year([Data_ur]). Ćwiczenie 2.20. Zaprojektuj kwerendę, która obliczy i wyświetli średnią ocen studen- tów informatyki. Otrzymany zestaw danych wyświetl w kolejności malejącej średniej. Kwerendę zapisz pod nazwą Srednia_ocen_informatykow. Do utworzenia wyrażenia wy- korzystaj Konstruktor wyrażeń, który ułatwi i przyspieszy podanie nazw wszystkich pól zawierających oceny z poszczególnych przedmiotów. Oprócz średniej, obliczonej z dwoma miejscami dziesiętnymi, wyświetl rok studiów, kod kierunku oraz imię i nazwisko stu- denta zdefiniowane w kwerendzie Dane_osobowe_studentow. 84 Rozdział 2. Relacyjna baza danych Aby obliczyć średnią wartość danych zawartych w kilku polach, napisz wyrażenie za- wierające sumę tych pól podzieloną przez liczbę przedmiotów sumowanych. W widoku projektu kwerendy dodaj tabelę Studenci_uczelnia oraz kwerendy Dane_osobowe_stu- dentow i Oceny_informatykow. Dodaj niezbędne pola do siatki projektowej (ID_albumu, Imie_i_nazwisko, Rok_studiow, Kod_kierunku, Matematyka, Informatyka, Jezyk_angiel- ski, Jezyk_niemiecki, Przedsiebiorczosc, Filozofi a, WF). Zapisz kwerendę (ważne, aby pola były widoczne). W nowym polu poleceniem Konstruuj… uruchom Konstruktor wyrażeń. Utwórz wyrażenie obliczające średnią ocen: Srednia_ocen:([Matematyka]+[Informaty ka]+[Jezyk_angielski]+[Jezyk_niemiecki]+[Przedsiebiorczosc]+[Filozofi a]+[WF])/7, ustal sposób sortowania i wyłącz widok pól z ocenami. Kwerenda po uruchomieniu wy- świetla obliczone średnie. Jeżeli zamiast liczb wyświetliły się krzyżyki ######, oznacza to, że kolumna jest za wąska i należy ją poszerzyć. A co z tak dużą liczbą cyfr po przecinku? Sposób wyświetlania wyniku należy ustalić we właściwościach pola, dostępnych w menu kontekstowym pola, w siatce projektowej, w widoku projektu kwerendy. W widoku pro- jektu, w grupie Pokazywanie/ukrywanie, również jest dostępna opcja wyświetlenia Arkusz właściwości. Dopilnuj jednak, żeby aktywnym polem było to z wyrażeniem obliczającym średnią. W arkuszu właściwości ustal Format liczby na Standardowy i 2 miejsca dziesiętne. Zapisz kwerendę i uruchom ją. Po zamknięciu i ponownym otwarciu tej kwerendy w widoku projektu nie ma nazw przedmiotów, jest tylko wyrażenie obliczające średnią. Wyłączona została widoczność pól, a ponieważ tabele są połączone ze sobą relacjami, nie ma potrzeby zamieszczania nazw przedmiotów w projekcie tej kwerendy. Wstawiając pola do wyrażenia, można było pobierać je bezpośrednio z kwerendy Oceny_informatykow. Ćwiczenie 2.21. Oblicz średnie ocen wszystkich studentów, biorąc pod uwagę sześć przedmiotów, z których wszyscy studenci mają oceny (matematyka, język angielski i język niemiecki, przedsiębiorczość, fi lozofi a i wychowanie fi zyczne). Wykonaj ob- liczenia na grupach rekordów i wyświetl tylko niezbędne dane, jak na rysunku 2.42. Utworzoną kwerendę zapisz pod nazwą Srednia_ocen. Rysunek 2.42. Kwerenda wybierająca dane z polem obliczeniowym Ćwiczenie 2.22. Zaprojektuj kwerendę, która na podstawie średnich ocen obliczonych w ćwiczeniu 2.21 wypisze obok ID studenta i kierunku studiów średnią ocen wraz z in- formacją, czy student otrzyma stypendium naukowe, czy też nie. Kryterium przyznania stypendium to średnia ocen, która wynosi minimum 4,0. Jeśli studentowi przysługuje 2.4. Kwerendy — zapytania 85 stypendium, w polu wpisz słowo Stypendium, w przeciwnym razie w polu pojawi się na- pis Brak. Utworzoną kwerendę zapisz pod nazwą Stypendium_naukowe. W widoku projektu nowej kwerendy użyj — tym razem zamiast tabeli — utworzo- nej wcześniej kwerendy Srednia_ocen. Wybierz z niej trzy niezbędne pola: ID_albumu, KOD_kierunku oraz Srednia_ocen. Zapisz kwerendę. W nowym polu utwórz wyrażenie, wykorzystując okno Konstruktor wyrażeń. Wśród funkcji wbudowanych, zgrupowa- nych w bloku funkcji przepływu sterowania programu, znajduje się funkcja wyboru IIf, która w oknie Konstruktor wyrażeń pojawi się jako: IIf(«expr»; «truepart»; «falsepart»). Należy ją rozumieć następująco: IIf(warunek; wartość_gdy_ prawda,wartość_gdy_fałsz). W oknie wyrażenia wpisz brakującą nazwę pola oraz para- metry funkcji: Stypendium_naukowe: IIf([Srednia_ocen] =4; Stypendium ; Brak ). Sprawdź poprawność działania kwerendy. W kolejnym polu, które nazwij Stypendium_naukowe2, ponownie wykorzystaj funk- cję warunkową. Podaj w niej wartości liczbowe 1 i 0, odpowiednio: dla spełnionego i niespełnionego warunku przydzielenia stypendium. W oknie wyrażenia wpisz nazwę pola oraz parametry funkcji: Stypendium_naukowe2: IIf([Srednia_ocen] =4;1;0) i zobacz wynik działania kwerendy. Powróć do widoku projektu i zmień właściwości dla tego pola, ustalając format pola najpierw jako typ Prawda/Fałsz, później jako typ Tak/Nie. Zobacz, jakie wartości liczbowe odpowiadają wartościom Tak/Nie. Ustal spo- sób sortowania według średniej ocen. Wynik działania tej kwerendy został zilustro- wany na rysunku 2.43. Rysunek 2.43. Wynik działania kwerendy z wyrażeniem zawierającym funkcję warunkową IIf Kwerendy parametryczne Zapytania mogą być tak konstruowane, aby wartości określające kryterium wyboru po- dawane były dopiero w momencie uruchamiania kwerendy, bez każdorazowej zmiany kryteriów w siatce projektowej. Takie rozwiązanie wymaga, aby w polu z kryteriami lub w wyrażeniu użyć parametru, podając jego nazwę w nawiasach kwadratowych []. Pa- rametrów może być kilka. Ćwiczenie 2.23. Zaprojektuj kwerendę, która będzie wyświetlała ID i miejscowość za- mieszkania wszystkich studentów z danego kierunku studiów. Przy każdym uruchomie- niu kwerendy będzie można po podaniu kodu kierunku wyświetlić dane jego studentów. Utworzoną kwerendę zapisz pod nazwą Studenci_wg_kierunku_z_parametrem. 86 Rozdział 2. Relacyjna baza danych Rysunek 2.44. Okno wprowadzania parametrów kwerendy W widoku projektu dodaj tabele z danymi adresowymi i uczelnianymi studentów. Wy- bierz niezbędne pola. W kryterium wyboru pola KOD_kierunku podaj kryterium zawiera- jące parametr. Wystarczy wpisać w nawiasach kwadratowych treść komunikatu [podaj KOD kierunku], który pojawi się na ekranie w ok- nie wprowadzania parametru. Zapisz kwerendę i sprawdź jej działanie. Można ułatwić sobie wypełnienie pola przez podanie podpowiedzi z wypisanymi kodami kierunków, jak na rysunku 2.44. Kryterium przyjmie wówczas postać: [podaj KOD kierunku (BI,CH,FI,IN,MA)]. Nie ma konieczności wpisywania parametrów wielkimi literami — Access radzi sobie zarówno z małymi, jak i z wielkimi literami. Ćwiczenie 2.24. W kwerendach można stosować wiele parametrów. Przeprojektuj powstałą w ćwiczeniu 2.23 kwerendę tak, aby wybierała studentów z danego kierunku oraz mieszkających w danym mieście (określonym parametrem). Zauważ, że kolejność podawania parametrów jest zgodna z kolejnością pól w siatce projektowej. Dodaj drugie miasto do kryterium wyboru, jak na górze rysunku 2.45. Uruchom zapytanie i wybierz studentów informatyki mieszkających w Szczecinie lub Toruniu. Utworzoną kwerendę zapisz pod nazwą Studenci_wg_kierunku_z_wieloma_parametrami. Rysunek 2.45. Kwerenda z wieloma parametrami Zwróć uwagę, że na rysunku 2.45 użyta została alternatywa dwóch warunków parame- trycznych. Zastanów się, dlaczego dolne rozwiązanie jest niepoprawne dla tego przy- kładu. Jakie rekordy otrzymasz w wyniku działania tej kwerendy, jeśli jako parametry podasz kolejno: IN, Szczecin, Toruń? Ćwiczenie 2.25. Na podstawie kwerendy Srednia_ocen utwórz nową kwerendę pa- rametryczną, która będzie wybierała studentów ze średnią ocen między dwiema war- tościami podawanymi przy uruchamianiu zapytania w oknie z komunikatem Podaj minimalną średnią oraz Podaj maksymalną średnią. Utworzoną kwerendę zapisz pod na- zwą Srednia_ocen_z_parametrem. Wskazówką niech w tym miejscu będzie zapis kryte- riów. Podawane przy uruchomieniu oceny muszą zastąpić parametry, a zatem: =[Podaj minimalną średnią] And =[Podaj maksymalną średnią]. 2.4. Kwerendy — zapytania 87 2.4.2. Kwerendy funkcjonalne — modyfikujące Oprócz kwerend wybierających można tworzyć kwerendy funkcjonalne. Lista kwerend, pokazana na rysunku 2.46, jest dostępna w widoku projektu kwerendy, w grupie narzędzi Typ kwerendy. Typy kwerend są dostępne również w menu kontekstowym obszaru tabel. Rysunek 2.46. Typy kwerend Przy ikonach czterech typów kwerend widoczny jest wykrzyknik, co oznacza, że wyko- nanie tych kwerend skutkuje trwałymi zmianami w bazie danych. Każdorazowe ich uru- chomienie może powodować przeliczanie wartości lub usuwanie danych, jeśli spełnione zostaną określone kryteria. Trzeba więc zachować szczególną ostrożność. Należy rów- nież czytać komunikaty pojawiające się na ekranie przy próbie uruchomienia kwerend funkcjonalnych. Warto też wykonać kopię bazy lub przynajmniej tabel, aby nie stracić cennych danych. Dlatego przed przystąpieniem do dalszych ćwiczeń wykonaj kopię bazy Uczelnia i zapisz ją pod nazwą Uczelnia_kopia. Kwerenda aktualizująca Utwórz kwerendę opartą na tabelach lub kwerendach zawierających rekordy, które mają zostać zaktualizowane. Aby wykonać zadanie, skorzystaj z tabeli Studenci_dane. Wykonaj jej kopię i nazwij ją Stu- denci_dane_aktualizacja. Ponieważ każde uruchomienie kwerendy aktualizującej oznacza przeliczenie wartości, trzeba być bardzo ostrożnym przy jej uruchamianiu. To właśnie dlatego kwerendy tego typu mają ikonę opatrzoną wykrzyknikiem symbolizującym nie- bezpieczeństwo. Zaktualizujemy dane w kopii tabeli, zwiększając stawki obecnych sty- pendiów socjalnych o 20 . Podwyżka dotyczy jedynie tych osób, których stypendium jest mniejsze niż 200 złotych. Utwórz nową kwerendę w widoku projektu. Wybierz tabelę Studenci_dane_aktualiza- cja i przeciągnij z listy pól tabeli do siatki projektu pole Stypendium_Soc, które będziesz 88 Rozdział 2. Relacyjna baza danych aktualizować lub dla którego chcesz ustawić kryteria. Wpisz 200 w komórce Kryteria. Obecnie jest to kwerenda wybierająca, która wyświetli z tabeli Studenci_dane_aktuali- zacja wszystkie stypendia niższe niż 200 złotych. Aby możliwe było przeliczenie tych kwot, zmień typ kwerendy na aktualizującą. W gru- pie narzędzi Typ kwerendy wybierz przycisk Aktualizuj. Typ kwerendy możesz również wybrać z menu kontekstowego obszaru tabel w projekcie kwerendy. Po zmianie typu kwerendy w siatce projektowej została dodana komórka Aktualizacja do:. Można do niej wpisać wyrażenie lub wartość, która ma być wykorzystana do zmiany zawartości pola. Wpiszemy tu wyrażenie, które zwiększy wartość obecnego stypendium o 20 . Wpisz [Stypendium_Soc]*1,2. Zapisz kwerendę pod nazwą Aktualizujaca_stypen- dium. Zauważ, że kwerenda wyróżnia się inną ikoną: . Wykrzyknik w ikonie ma nie tylko odróżniać tę kwerendę od kwerend wybierających, ale i ostrzegać przed przypadkowym lub nieprzemyślanym jej użyciem. Uwaga! Każdorazowe uruchomienie tej kwerendy spowoduje kolejne przeliczenie kwoty stypendiów spełniających kryterium. Dlatego uruchomienie kwerendy aktualizującej jest poprzedzone ostrzeżeniem i zapytaniem, czy na pewno chcesz zaktualizować dane, co ilustruje rysunek 2.47. Po wykonaniu kwerendy sprawdź wartości stypendiów w zaktu- alizowanej tabeli. Rysunek 2.47. Kwerenda aktu- alizująca dane W s k a z ó w k a Użycie kwerendy aktualizującej jest niezmiernie wygodne i pomocne w przeli- czaniu istniejących lub podawaniu nowych wartości. Jeśli jednak nie zamierzamy w przyszłości użyć takiej kwerendy, po jej zastosowaniu można — a nawet należy — po prostu ją usunąć. Kwerenda tworząca tabelę Utwórz kwerendę, wybierając tabele lub kwerendy zawierające te rekordy, które mają się znaleźć w nowej tabeli. Rozwiązanie zadania tego typu przebiega w dwóch etapach. Etap pierwszy to utworzenie kwerendy wybierającej, a następnie przekształcenie jej w kwerendę tworzącą nową tabelę. 2.4. Kwerendy — zapytania 89 Po podaniu nazwy powstałej tabeli w zakładce z tabelami pojawi się nowy zestaw danych — nowa tabela. Do ćwiczenia użyjemy więc już zdefiniowanej wcześniej kwerendy. Ćwiczenie 2.26. Wykorzystaj kwerendę Oceny_informatykow do utworzenia nowej tabeli, która będzie zawierać dane z ocenami studentów informatyki. W zakładce zawierającej kwerendy odszukaj kwerendę Oceny_informatykow i wykonaj jej kopię, a następnie zmień nazwę kopii na Oceny_informatykow_tworzaca_tabele. Ot- wórz ją w widoku projektu. Zmień jej typ na kwerendę tworzącą nową tabelę, wybiera- jąc ten typ z listy typów kwerend, widocznej na rysunku 2.46. Podaj nazwę nowej tabeli, która powstanie po uruchomieniu kwerendy: Oceny_informatykow_tabela_z_kwerendy. Uruchom przekształconą kwerendę. Przeczytaj komunikat i potwierdź chęć utworzenia tabeli z 14 rekordami. Zamknij okno kwerendy, zapisując zmiany, i sprawdź w zakładce z tabelami, czy powstała nowa tabela i jakie zawiera rekordy. Kwerenda dołączająca W bazie danych uczelnia_filia.accdb znajduje się tabela Wykladowcy-filia. Zamieszczono tam dane wykładowców, którzy uczą języków obcych. Utworzymy kwerendę, która do- łączy dane tych wykładowców do tabeli Wykladowcy. W tym celu należy zaimportować tabelę Wykladowcy-filia. Po zaimportowaniu obejrzyj jej zawartość. Zwróć uwagę, że ta- bela ta została utworzona zgodnie z projektem tabeli Wykladowcy. Aby dołączyć tabelę do istniejącej tabeli, użyj kwerendy dołączającej. Zanim przystąpisz do tworzenia kwe- rendy dołączającej, utwórz kopię tabeli Wykladowcy (Wykladowcy_kopia). Będzie po- trzebna do dalszej analizy. Kwerenda dołączająca dodaje na koniec tabeli rekordy pochodzące z innej tabeli (lub kilku tabel). Jest to kwerenda z grupy kwerend funkcjonalnych. Jej ikona również jest wyróżniona znakiem wykrzyknika. Każdorazowe uruchomienie kwerendy dołączającej będzie próbą ponownego dodania rekordów do tabeli. Utwórz nową kwerendę w widoku projektu. Wybierz tabelę, którą chcesz dołączyć, czyli zaimportowaną tabelę Wykladowcy-filia. Wybierz gwiazdkę z listy pól tabeli, symbolizu- jącą dołączanie wszystkich pól. Teraz zmień typ kwerendy z wybierającej na dołączającą. Wybierz z listy lub wpisz nazwę tabeli, do której mają być dołączone rekordy po urucho- mieniu kwerendy, czyli Wykladowcy. Utworzoną kwerendę zapisz pod nazwą Dolacza- jaca_tabele_wykladowcy-filia. Teraz uruchom kwerendę dołączającą. W odpowiedzi na komunikat o próbie dodania rekordów do tabeli potwierdź chęć ich dodania. Na przygotowanej wcześniej tabeli Wykladowcy_kopia sprawdź, jak będzie się zachowy- wała kwerenda przy kilku uruchomieniach. Jednak wcześniej w widoku projektu kwe- rendy zmień tabelę Wykladowcy na Wykladowcy_kopia przez ponowne wybranie typu kwerendy dołączającej przyciskiem Dołącz. Uchroni to dane potrzebne do dalszych ćwiczeń. Czy istniejące już w tabeli dane będą nadpisywane, czy podjęta zostanie próba ponownego dodania tych samych wykładowców? Czy podczas wykonywania tego typu funkcjonalnej kwerendy następuje jakaś analiza danych, czy tylko mechaniczne dopi- 90 Rozdział 2. Relacyjna baza danych sanie danych na końcu tabeli? Czy reguła poprawności i właściwość indeksowania bez powtórzeń pozwolą na zdublowanie danych? Wyciągnij wnioski. Wykonaj drugą część tego ćwiczenia. W bazie uczelnia_fi lia.accdb znajduje się tabela Kon- sultacje-fi lia, w której zamieszczone zostały terminy konsultacji dołączonych wykładow- ców. Utwórz kwerendę dołączającą te dane do tabeli Konsultacje. Kwerendę zapisz pod nazwą Dolaczajaca_konsultacje_fi lia. Dodaj konsultacje pracowników z fi lii. Jeśli wcześ- niej nie zostały dodane dane wykładowców, nastąpi odmowa dodania konsultacji tych pracowników. Dlaczego? Wyjaśnienie ma związek z projektowaniem relacji między ta- belami. W przypadku tabel połączonych relacją jeden-do-jednego najpierw należy wpisać dane do tabeli nadrzędnej (Wykladowcy), dopiero później można wpisać dane do tabeli podrzędnej (Konsultacje). Kwerenda usuwająca Jeśli rekordy zostaną usunięte za pomocą kwerendy usuwającej, która usuwa z jednej tabeli lub z kilku tabel wiersze spełniające określone kryteria, czynności tej nie można cofnąć. Dlatego też przed uruchomieniem kwerendy należy obejrzeć dane, które zostały przeznaczone do usunięcia. Aby to uczynić, trzeba kliknąć przycisk Widok na pasku na- rzędzi i obejrzeć kwerendę w widoku arkusza danych. W s k a z ó w k a Zawsze należy sporządzać zapasowe ko- pie danych. Jeśli zostaną usunięte nie- właściwe rekordy, można je odzyskać z kopii zapasowej. Ćwiczenie 2.27. Z tabeli utworzonej w ćwiczeniu 2.26 usuń dane tych studen- tów, którzy nie mają żadnej poprawki, czyli otrzymali ze wszystkich przedmio- tów ocenę różną od niedostatecznej (2). Praca ponownie będzie dwuetapowa: najpierw utworzymy kwerendę wybierającą, a na- stępnie przekształcimy ją w funkcjonalną. Utwórz zatem nową kwerendę w widoku pro- jektu. Wybierz tabelę Oceny_informatykow_tabela_z_kwerendy. Dodaj nazwy wszystkich przedmiotów do wiersza Pole w siatce projektu i określ kryteria wyboru (usuwania), wpi- sując 2 dla każdego przedmiotu. Uruchom kwerendę wybierającą wszystkie te rekordy, które za chwilę zostaną usunięte (trwale) z tabeli. Powinny pokazać się tylko oceny po- zytywne czterech studentów, którzy za chwilę zostaną usunięci. Powróć do widoku projektu i w grupie Typ kwerendy wybierz przycisk Usuń. W siatce projektu kwerendy zostanie dodany wiersz Usuwanie i automatycznie pojawi się słowo Gdzie. Przeciągnij gwiazdkę (*) z listy pól tabeli do siatki projektu kwerendy. W komórce Usuwanie pojawi się słowo Skąd. Projekt kwerendy pokazano na rysunku 2.48. Kwerendę zapisz pod nazwą Usuwa_studentow_bez_poprawek. Kliknij przycisk Uruchom, aby usunąć wybrane rekordy. Potwierdź jeszcze w oknie ko- munikatu chęć usunięcia czterech rekordów z tabeli, jak na rysunku 2.48. Po usunięciu danych sprawdź zawartość tabeli Oceny_informatykow_tabela_z_kwerendy. Wszyscy stu- denci mają oceny niedostateczne. Zmień nazwę tabeli na Poprawki_informatykow. 2.4. Kwerendy — zapytania 91 Rysunek 2.48. Kwerenda usuwająca dane z tabeli W niektórych przypadkach uruchomienie kwerendy usuwającej może spowodować usunięcie rekordów z tabel związanych relacją, nawet jeśli nie zostały one uwzględnione w kwerendzie. Może się tak stać, jeśli tabela znajdująca się w kwerendzie jest stroną „je- den” relacji jeden-do-wielu i dla tej relacji została włączona opcja usuwania kaskado- wego. Wówczas, usuwając rekordy w tabeli po stronie „jeden” relacji, usuwa się również rekordy z tabeli po stronie „wiele”. Kwerenda krzyżowa Oblicz sumę, zlicz lub wykonaj inne działania, a następnie pogrupuj wyniki według dwóch typów informacji zawartych w tabeli (jak na rysunku 2.49), tworząc krzyżowe zestawienie podsumowanych lub zliczonych danych. Rysunek 2.49. Kwerenda krzyżowa W tym przykładzie utworzona została kwerenda zliczająca studentów z danych kierun- ków mieszkających w poszczególnych akademikach — domach studentów. Aby utworzyć kwerendę krzyżową, posłużymy się narzędziem Kreator kwerend krzyżo- wych, które wybierzemy z zestawu kreatorów po naciśnięciu przycisku Kreator kwerend z grupy Inne. • kreatora wybierz tabelę, na podstawie której wykonasz zestawienie W pierwszym kroku krzyżowe danych. W naszym przykładzie jest to tabela Studenci_uczelnia. W drugim kroku szym przykładzie będą to symbole akademików, wybierz więc pole Akademik. kreatora wskaż, które wartości mają być nagłówkami wierszy. W na- • 92 Rozdział 2. Relacyjna baza danych • • W trzecim kroku kreatora wskaż, które wartości mają być nagłówkami kolumn. W na- szym przykładzie będą to symbole kierunków studiów, wybierz więc pole KOD_kie- runku. W kolejnym kroku ustal, jakie liczby mają być obliczane dla każdego przecięcia ko- lumny i wiersza. Dokonaj wyboru pola oraz funkcji. Tu możesz zaznaczyć opcję zli- czania wszystkich wartości w każdym wierszu. Dla naszego przykładu ustal opcje zgodnie z rysunkiem 2.50. Rysunek 2.50. Kreator kwerend krzyżowych: wy- bór pola i funkcji • W ostatnim kroku zatwierdź lub podaj nazwę utworzonej kwerendy nia_krzyzowa i zakończ pracę kreatora. Studenci_uczel- Jak wygląda utworzona kwerenda w widoku projektu? Oba widoki, zarówno arkusza da- nych, jak i projektu, pokazano na rysunku 2.51, gdzie zostały zamieszczone wyjaśnienia. Każde wystąpienie wpolu nagłówkiem wiersza Akademik jest Każde wystąpienie wpolu KOD_kierunku nagłówkiem kolumny jest Zliczenie wystąpień na skrzyżowaniach kolumn iwierszy Zliczenie wartości wwierszach Rysunek 2.51. Kwerenda krzyżowa w widoku arkusza danych i projektu 2.4. Kwerendy — zapytania 93 Z kwerendy krzyżowej korzysta się między innymi przy obliczaniu podsumowań, wartości średnich, zliczaniu wystąpień danych, wybieraniu wartości najmniejszych, największych, pierwszych lub ostatnich. Tak tworzone kombinacje danych, w których jedne dane stano- wią nagłówki wierszy, a inne nagłówki kolumn, nie są możliwe w macierzystej tabeli. Wykonaj ten projekt ponownie, zamieniając miejscami kolumny z wierszami. Powstałą kwerendę zapisz pod nazwą Studenci_uczelnia_krzyzowa_odwrotnie. Ćwiczenie 2.28. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, która na podstawie kwerendy Srednia_ocen utworzy zestawienie średnich ocen na wszystkich kierunkach i rocznikach studiów. Zwróci też w kolumnie Suma Srednia_ocen najwyższą średnią w każdym roczniku, tak jak to pokazano na rysunku 2.52. Kwerendę zapisz pod nazwą Srednia_ocen_krzyzowa. Rysunek 2.52. Wynik działania kwerendy z ćwiczenia 2.28 Na rysunku przedstawiono wartości liczbowe (standardowe) z dwoma miejscami dzie- siętnymi. Właściwości należy ustawiać w widoku projektu zarówno dla zliczania wystą- pień na skrzyżowaniach wierszy i kolumn, jak i dla podsumowań wierszy. Zwróć uwagę, że pomimo wyboru funkcji Maksimum w tabeli wyświetlana jest kolumna Suma Sred- nia_ocen. Ćwiczenie 2.29. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, która na podstawie tabeli Studenci_uczelnia utworzy zestawienie liczby osób studiujących na danym kierunku, z rozbiciem na poszczególne roczniki. Pokaże też sumę studentów na każdym kierunku, tak jak to zaprezentowano na rysunku 2.53. Kwerendę zapisz pod nazwą Studenci_uczelnia_kierunek_rok_krzyzowa. Rysunek 2.53. Wynik działania kwe- rendy z ćwiczenia 2.29 94 Rozdział 2. Relacyjna baza danych Ćwiczenie 2.30. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, która na podstawie kwerendy Stypendium_i_kierunek utworzy zestawienie ilościowe stu- dentów każdego kierunku, rozróżniając wszystkie możliwe kwoty wypłacanego stypen- dium. Zlicz liczbę studentów z wszystkich kierunków razem dla każdej kwoty, tak jak to pokazano na rysunku 2.54. Powstałą kwerendę zapisz pod nazwą Stypendium_i_kie- runek_krzyzowa. Rysunek 2.54. Wynik działania kwerendy z ćwiczenia 2.30 2.4.3. Język zapytań SQL Zapytania w bazach danych zazwyczaj tworzy się za pomocą języka SQL (jego dialek- tów). Jednak w Accessie dominującą metodą ułatwiającą tworzenie kwerend jest korzy- stanie z szablonu grafi cznego, w którym zapytanie tworzone jest za pomocą grafi cznych elementów, przy użyciu myszki, jak to robiliśmy we wszystkich dotychczasowych ćwi- czeniach. Należy jednak pamiętać, że jest to tylko forma prezentacji. Zapytanie istnieje w postaci kodu SQL, a niektóre zapytania można stworzyć tylko przy użyciu języka SQL — szablon grafi czny jest wtedy nieprzydatny. Każde zapytanie można zapisać bezpośred- nio przy użyciu tego języka. Kwerenda oparta na jednej tabeli Ponieważ każda kwerenda utworzona przy użyciu grafi cznego szablonu ma swój zapis w kodzie SQL, zobaczmy, jak wygląda taki kod dla kwerendy wybierającej dane z tabeli Wykladowcy. W widoku projektu wybierz z niej pola z ID oraz imionami i nazwiskami wszystkich wykładowców. Teraz zobacz jej kod w języku zapytań. W tym celu kliknij prawym przyciskiem myszy w wolnym obszarze tabel kwerendy. W oknie dialogowym wybierz opcję Widok SQL. Ten sam efekt otrzymasz, wybierając Widok SQL z listy rozwi- janej przycisku Widok zamieszczonego w grupie Widoki, co ilustruje rysunek 2.55. Po wywołaniu widoku SQL pojawi się okno z zapisem kwerendy w języku SQL. Treść kodu w tym oknie możesz czytać i modyfi kować. Wszystkie trzy widoki tej kwerendy wybierającej zgromadzone zostały na rysunku 2.56. 2.4. Kwerendy — zapytania 95 Rysunek 2.55. Sposoby przejścia z widoku projektu kwerendy do widoku SQL Rysunek 2.56. Kwerenda wybierająca w trzech widokach: projektu, arkusza danych i kodu SQL SQL to język deklaratywny, bardzo wysokiego poziomu, jednak zrozumienie podstaw składni SQL nie będzie stanowić dla Ciebie wielkiego problemu. Omawiana prosta kwe- renda wybierająca ma następującą postać: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Imie_wyk, Wykladowcy.Nazwisko_wyk FROM Wykladowcy; Język SQL jest językiem strukturalnym. Przeanalizujmy treść powyższego kodu. SELECT jest instrukcją służącą do wybierania rekordów i pól z tabeli lub wielu tabel. Klauzula FROM wyznacza źródłowe tabele. Podstawowa składnia instrukcji SELECT wy- gląda następująco: SELECT pola FROM tabela; Nazwę pola poprzedzamy nazwą tabeli i kropką. Listę pól oddzielamy przecinkami. Pola zostaną wyświetlone w kwerendzie w takiej kolejności, w jakiej podamy je w zapisie SQL. Jeśli chcesz wyświetlić wszystkie pola, w miejscu pola wpisz *. Zapis tabela ozna- 96 Rozdział 2. Relacyjna baza danych cza nazwę pojedynczej tabeli lub określa zbiór połączonych tabel (traktowanych dzięki relacjom jak jedna tabela). W oknie widoku SQL dokonaj zmiany, dopisując jeszcze pole z kodem kierunku. Kwe- renda będzie więc miała postać: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Imie_wyk, Wykladowcy. Nazwisko_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy; Równoważny powyższemu jest zapis: SELECT Wykladowcy.* FROM Wykladowcy; Zamiast wymieniać wszystkie pola z tabeli Wykladowcy, użyto znaku *. Kwerenda wybierająca dane z kilku tabel Zobaczmy, jak wygląda kod SQL dla kwerendy wybierającej dane z dwóch tabel, na przy- kład Studenci_dane i Studenci_uczelnia. W widoku projektu wybierzmy z nich pola z ID, imieniem i nazwiskiem oraz kierunkiem studiów. Interesuje nas zapis połączenia tabel relacją. W języku SQL wygląda on następująco: SELECT Studenci_dane.ID_albumu, Studenci_dane.Nazwisko, Studenci_dane.Imie, Studenci_uczelnia.KOD_kierunku FROM Studenci_dane INNER JOIN Studenci_uczelnia ON Studenci_dane.ID_albumu = Studenci_uczelnia.ID_albumu; Instrukcja SELECT jest już dla nas czytelna i jasna. W klauzuli FROM zastosowano opera- tor złączenia w celu pobrania danych z dwóch tabel. Do najczęściej stosowanych ope- ratorów należą: INNER JOIN — złączenie wewnętrzne, wynikające z ustanowionych relacji; w wyniku znajdą się tylko odpowiadające sobie rekordy z obu tabel. CROSS JOIN — złączenie krzyżowe; wynikiem jest zestawienie kombinacji wszystkich re- kordów z obu tabel (tak jak to miało miejsce w przypadku wyboru danych z tabel, mię- dzy którymi nie ustanowiono relacji). Klauzulę FROM z naszego przykładu można zatem tłumaczyć następująco: wybierz rekordy występujące w obu tabelach (FROM_Studenci_dane INNER JOIN Studenci_uczelnia), których ID_albumu są sobie równe (te pola są bowiem połączone relacją). Jednak moż- liwe jest również następujące polecenie: wybierz wszystkie rekordy występujące w tabeli Studenci_dane i tylko te rekordy z tabeli Studenci_uczelnia (FROM Studenci_dane LEFT INNER JOIN Studenci_uczelnia), których ID_albumu są sobie równe. I analogiczne pole- cenie: wybierz wszystkie rekordy występujące w tabeli Studenci_uczelnia i tylko te rekordy z tabeli Studenci_dane (FROM Studenci_dane RIGHT INNER JOIN Studenci_uczelnia), któ- rych ID_albumu są sobie równe. Tego typu sprzężenia nazywamy sprzężeniem lewostron- nym lub prawostronnym. W widoku projektu kwerendy zmianę typu sprzężenia można wykonać w oknie Właściwości sprzężenia, które jest dostępne po dwukrotnym kliknięciu na linii symbolizującej sprzężenie tabel. 2.4. Kwerendy — zapytania 97 Sortowanie Powróćmy do widoku projektu i dodajmy opcję sortowania danych według identyfika- tora wykładowcy. Kod SQL jest teraz następujący: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Imie_wyk, Wykladowcy. Nazwisko_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy ORDER BY Wykladowcy.ID_wykladowcy; Gdy za klauzulą ORDER BY (sortuj według) umieścimy zapis DESC (ang. descending — ma- lejąco), posortujemy nazwiska malejąco: ORDER BY Wykladowcy.ID_wykladowcy DESC; Analogicznie ASC (ang. ascending — rosnąco) posortuje dane w porządku rosnącym. Brak na końcu klauzuli ORDER BY jednej z opcji ASC/DESC spowoduje domyślne posor- towanie w porządku rosnącym, jak to miało miejsce w naszym przykładzie. Kryterium wyboru Kolejnym etapem będzie wprowadzenie kryterium wyboru. Wybierzmy więc z naszej bazy tylko wykładowców informatyki. W oknie projektu dodamy do kwerendy kryte- rium wyboru = IN . Kod SQL ma teraz postać: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Imie_wyk, Wykladowcy. Nazwisko_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy WHERE (((Wykladowcy.KOD_kierunku)= IN )) ORDER BY Wykladowcy.ID_wykladowcy DESC; W celu wprowadzenia ograniczeń kryteriów dla wyświetlanych rekordów zastosowana została klauzula WHERE. Za pomocą klauzuli WHERE można filtrować rekordy, czyli decy- dować o tym, które rekordy zostaną włączone do wyniku zapytania. Po słowie WHERE podaje się wyrażenie, które musi być prawdziwe, aby rekord pojawił się w wyniku zapy- tania (został wybrany). Istotne jest zachowanie kolejności, ponieważ klauzula WHERE wy- biera rekordy z tabel wymienionych wcześniej w klauzuli FROM, które spełniają podane kryteria. Bez użycia klauzuli WHERE zwracane byłyby wszystkie rekordy tabeli (wszyscy wykładowcy, wszyscy studenci), tak jak w poprzednich przykładach. Klauzula WHERE jest więc konieczna, gdy chcemy wprowadzić kryteria wyboru. Składnia kwerendy z kryte- rium wyboru jest następująca: SELECT pola FROM tabela WHERE wyrażenie; Wyrażenie (predykat) zastosowane po słowie WHERE musi być wyrażeniem logicznym. Predykat może być pojedynczym kryterium, alternatywą lub koniunkcją kilku kryteriów wyboru. Najczęściej predykatem jest po prostu kryterium wyboru pól rekordów. Gdy jest ono prawdziwe (spełnione), powoduje wyświetlenie rekordów spełniających to kryterium. Można więc przedstawić składnię kwerendy z określonym kryterium w taki sposób: SELECT pola FROM tabela WHERE predykat; 98 Rozdział 2. Relacyjna baza danych Oto kilka przykładów zastosowania kryteriów w widoku SQL: • • • • • KOD_kierunku mają Alternatywa kryteriów: wypisz wykładowców, którzy w polu wpis równy IN lub MA. WHERE (((Wykladowcy.KOD_kierunku)= IN Or (Wykladowcy.KOD_
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Zakres rozszerzony. Część 2 (Wydanie II)
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: