Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00307 006833 13594193 na godz. na dobę w sumie
Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Część 2 - książka
Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Część 2 - książka
Autor: Liczba stron: 336
Wydawca: Helion Edukacja Język publikacji: polski
ISBN: 978-83-246-2158-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> podręczniki szkolne >> informatyka europejczyka
Porównaj ceny (książka, ebook (-15%), audiobook).

Numer dopuszczenia MEN 60/2/2010

Z komputerami stykamy się dziś niemal każdego dnia. Wykorzystujemy je w pracy, dostarczają nam rozrywki, wyszukujemy za ich pomocą informacje w sieci i komunikujemy się ze znajomymi.

Jednak komputer to nie tylko gry, edytory tekstu, poczta elektroniczna, portale społecznościowe i komunikatory - to także wiele przydatnych narzędzi, niezbędnych do codziennego funkcjonowania we współczesnym świecie.

'Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Część II' przedstawia zasady korzystania z narzędzi i aplikacji komputerowych. Studiując tę książkę, wykonując przykładowe ćwiczenia i rozwiązując zawarte w niej zadania, nauczysz się korzystać z zaawansowanych funkcji bazodanowych arkusza kalkulacyjnego, poznasz relacyjną bazę danych, dowiesz się, jak zbudowany jest komputer i jaką rolę pełni w nim system operacyjny. Dzięki maszynie wirtualnej wykonasz podstawowe operacje na plikach i folderach w różnych systemach operacyjnych.

Z dalszej, bogato ilustrowanej części podręcznika dowiesz się, w jaki sposób w komputerze przechowywane są obrazy i dźwięki oraz jakimi prawami rządzą się algorytmy kompresujące dane. Poznasz również architekturę sieci komputerowych i podstawowe usługi sieciowe. Będziesz mieć także szansę na stworzenie i opublikowanie w internecie swojej strony WWW oraz opanujesz podstawy języka PHP.

Do książki dołączona została płyta CD. Znajdziesz tam materiały niezbędne do wykonania ćwiczeń z podręcznika, kody źródłowe programów opisanych w przykładach i ćwiczeniach, dodatkowe materiały oraz oprogramowanie, które możesz legalnie zainstalować na swoim komputerze.

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

Darmowy fragment publikacji:

Informatyka Europejczyka. Informatyka. Podrêcznik dla szkó³ ponadgimnazjalnych. Czêœæ II Autor: Danuta Korman ISBN: 978-83-246-2158-3 Format: 168×237, stron: 336 Z komputerami stykamy siê dziœ niemal ka¿dego dnia. Wykorzystujemy je w pracy, dostarczaj¹ nam rozrywki, wyszukujemy za ich pomoc¹ informacje w sieci i komunikujemy siê ze znajomymi. Jednak komputer to nie tylko gry, edytory tekstu, poczta elektroniczna, portale spo³ecznoœciowe i komunikatory – to tak¿e wiele przydatnych narzêdzi, niezbêdnych do codziennego funkcjonowania we wspó³czesnym œwiecie. „Informatyka Europejczyka. Informatyka. Podrêcznik dla szkó³ ponadgimnazjalnych. Czêœæ II” przedstawia zasady korzystania z narzêdzi i aplikacji komputerowych. Studiuj¹c tê ksi¹¿kê, wykonuj¹c przyk³adowe æwiczenia i rozwi¹zuj¹c zawarte w niej zadania, nauczysz siê korzystaæ z zaawansowanych funkcji bazodanowych arkusza kalkulacyjnego, poznasz relacyjn¹ bazê danych, dowiesz siê, jak zbudowany jest komputer i jak¹ rolê pe³ni w nim system operacyjny. Dziêki maszynie wirtualnej wykonasz podstawowe operacje na plikach i folderach w ró¿nych systemach operacyjnych. Z dalszej, bogato ilustrowanej czêœci podrêcznika dowiesz siê, w jaki sposób w komputerze przechowywane s¹ obrazy i dŸwiêki oraz jakimi prawami rz¹dz¹ siê algorytmy kompresuj¹ce dane. Poznasz równie¿ architekturê sieci komputerowych i podstawowe us³ugi sieciowe. Bêdziesz mieæ tak¿e szansê na stworzenie i opublikowanie w internecie swojej strony WWW oraz opanujesz podstawy jêzyka PHP. Do ksi¹¿ki do³¹czona zosta³a p³yta CD. Znajdziesz tam materia³y niezbêdne do wykonania æwiczeñ z podrêcznika, kody Ÿród³owe programów opisanych w przyk³adach i æwiczeniach, dodatkowe materia³y oraz oprogramowanie, które mo¿esz legalnie zainstalowaæ na swoim komputerze. (cid:129) Bazodanowe operacje arkusza kalkulacyjnego (cid:129) Wprowadzanie i wyszukiwanie danych w bazach danych (cid:129) Formularze, raporty, makropolecenia i jêzyk zapytañ SQL (cid:129) Budowa komputera (cid:129) Architektura sieci komputerowych (cid:129) Protoko³y sieciowe (cid:129) Rola systemu operacyjnego (cid:129) Maszyna wirtualna i ró¿ne systemy operacyjne (cid:129) Us³ugi sieciowe (cid:129) Grafika komputerowa i multimedia (cid:129) Algorytmy kompresji danych (cid:129) Strona WWW i elementy PHP (cid:129) System zarz¹dzania treœci¹ (cid:129) Publikacja opracowañ multimedialnych w sieci Spis treści Rozdział 1. Bazodanowe operacje arkusza kalkulacyjnego Wstęp 1.1. Jednotabelowa baza danych — kartoteka 1.2. Podstawowe pojęcia 1.3. Tworzenie nowej bazy i import danych Spis treści 7 8 8 10 11 13 1.4. Wyszukiwanie i organizowanie danych 13 1.4.1. Wyszukiwanie z wykorzystaniem formularza 1.4.2. Wyszukiwanie informacji za pomocą autofiltru 14 1.4.3. Wyszukiwanie informacji za pomocą filtru zaawansowanego 19 1.4.4. Sortowanie danych 22 24 1.4.5. Sumy pośrednie (częściowe) 1.4.6. Statystyki oparte na raporcie tabeli przestawnej 28 1.5. Zadania 1.6. Pytania kontrolne Rozdział 2. Relacyjna baza danych Wstęp 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 MS Access 2.3. Tabele 2.3.1. Tworzenie tabeli w MS Access 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. Definiowanie relacji 2.3.6. Operacje na tabelach bazy danych 2.3.7. Zmiana sposobu prezentowania danych 2.3.8. Import, eksport, załączanie tabeli 31 33 37 38 38 41 41 46 48 49 53 57 62 64 71 73 77 3 2.4. Kwerendy — zapytania 2.4.1. Kwerendy wybierające 2.4.2. Kwerendy funkcjonalne — modyfikujące 2.4.3. Język zapytań SQL 2.5. Formularze 2.6. Raporty 2.7. Makropolecenia 2.8. Ochrona i bezpieczeństwo danych 2.9. Pytania kontrolne Rozdział 3. Systemy operacyjne i sieci komputerowe Wstęp 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. Pytania kontrolne 3.4. Sieci komputerowe Wstęp 3.4.1. Podział sieci komputerowych 3.4.2. Model OSI 3.4.3. Podstawowe rodziny protokołów 3.4.4. Obsługa i konfiguracja sieci w Windows 3.4.5. Bezpieczeństwo sieci 3.4.6. 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ą 82 83 97 105 114 118 120 121 128 131 132 132 139 140 141 142 148 163 164 164 164 182 204 207 207 217 219 219 220 220 223 230 233 235 4 3.5.8. Czym jest PHP? 3.5.9. Zadania Spis treści 237 250 Rozdział 4. Multimedia i grafika komputerowa 253 Wstęp 4.1. Grafika komputerowa 4.1.1. Grafika rastrowa 4.1.2. Rozdzielczość a wielkość obrazu 4.1.3. Reprezentacja obrazu w komputerze 4.1.4. Istota obrazu cyfrowego 4.1.5. Cyfrowy obraz ze skanera i cyfrowego aparatu fotograficznego 4.1.6. Kompresja stratna i bezstratna 4.1.7. Formaty plików bitmapowych 4.1.8. Grafika na stronach WWW 4.1.9. Grafika wektorowa 4.1.10. Grafika bitmapowa a wektorowa 4.1.11. Grafika trójwymiarowa — 3D 4.2. Dźwięk 4.2.1. Teoria dźwięku 4.2.2. Zapis dźwięku 4.2.3. Zadania sprawdzające do rozdziału 4. Rozdział 5. Tendencje w rozwoju informatyki i jej zastosowań oraz aspekty etyczne, prawne i społeczne w zastosowaniach informatyki Wstęp 5.1. Tendencje w 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. Zadania 254 254 255 256 258 268 268 271 279 281 287 291 292 302 302 304 316 321 322 322 322 324 331 332 332 333 334 5 Rozdział 2. Relacyjna baza danych 2.4. Kwerendy — zapytania Istotą baz danych jest stworzenie możliwości efektywnego wyszukiwania in- formacji. Do tego celu służą kwerendy. Są one, obok tabel zawierających dane, podstawowymi obiektami definiującymi schematy wyszukiwania potrzebnej informacji. W MS Access istnieją dwa języki definiowania kwerend: język SQL (ang. Structured Query Language — strukturalizowany język zapytań) oraz język QBE (ang. Query By Example). Jeśli więc chcesz znaleźć i pobrać dane, które spełniają pewne warunki, utwórz kwerendę, czasem nazywaną zapytaniem. Kwerenda może obejmować dane pochodzące z różnych tabel lub wcześniej utworzonych kwerend (bądź jednych i drugich), może wyszukiwać dane, aktualizować lub usuwać wiele rekordów jednocześnie, tworzyć nowe tabele. Kwerenda pozwala także na wykonywanie obliczeń na danych oraz podsumowań danych. W naszej bazie danych znajduje się już jedna kwerenda, utworzona z za- awansowanego filtrowania danych, wybierająca studentów urodzonych przed 12 marca 1989 roku z Olsztyna. Przejdźmy więc do zakładki z kwerendami. Po dwukrotnym kliknięciu myszą nazwy kwerendy następuje uruchomienie kwerendy. W wypadku kwerendy Studenci_z_Olsztyna 1989-03-12 nastąpi otwarcie kwerendy w postaci arkusza (tabelki) z danymi wyszukanymi zgod- nie z kryteriami. Jest to zestaw danych dynamicznych, tworzony na czas uru- chomienia 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 ta- beli Studenci_dane i sprawdź, czy zmiana została zapisana w tej tabeli. Kwerendę można również otworzyć w widoku jej projektu. Po takim otwarciu zobaczymy znane już okno zaawansowanego filtrowania danych, gdzie wybie- raliśmy wcześniej pola i kryteria do filtrowania. Aby w widoku projektu uruchomić kwerendę, należy z menu Rekordy wy- brać polecenie Uruchom lub na pasku narzędzi kliknąć przycisk . Możliwe jest również wybranie polecenia Uruchom przy użyciu sekwencji następują- cych klawiszy: lewy Alt+K, a następnie H. Kwerendy można oglądać jeszcze w innych widokach, pokazanych na rysunku 2.35. Rysunek 2.35. Dostępne widoki kwerend 82 2.4.1. 2.4. Kwerendy — zapytania My będziemy oglądać i projektować je w trzech widokach, wybieranych rów- nież z menu Widok: X Widok projektu — wyświetla definicję zapytania w widoku siatki pro- jektowej. X Widok arkusza danych — wyświetla wynik wykonania zapytania w formie tabelki. X Widok SQL — podaje definicję zapytania zapisaną w języku SQL. Przeanalizujmy na podstawie przykładów podstawowe typy kwerend. Kwerendy wybierające Najczęściej spotykanym rodzajem kwerendy jest kwerenda wybierająca. Po- biera ona dane z jednej lub większej liczby tabel lub wcześniej zdefiniowanych i zapisanych 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 korzystając z wi- doku projektu. W widoku projektu, przez dodanie do siatki projektowej pól zawierających dane z jednej lub kilku tabel, określamy poszczególne parametry wyszukiwania danych. Wypełnianie siatki projektowej przypomina zaawansowane filtrowa- nie danych. Podstawowa różnica polega na tym, że możemy korzystać z więk- szej liczby tabel. Widok projektu kwerendy wybierającej ilustruje rysunek 2.36. Pomoże on nam w wykonaniu ćwiczenia 2.12. Rysunek 2.36. Kwerenda z kryteriami wyboru wybierająca dane z dwóch tabel. Z lewej widok projektu, z prawej - arkusza danych 83 Rozdział 2. Relacyjna baza danych Ćwiczenie 2.12. Zaprojektuj kwerendę wybierającą studentów, którzy otrzymują stypendium. 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ż istnie- jących kwerend 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 Kwe- rendy i wybierz polecenie Utwórz kwerendę w widoku projektu. W oknie projektu kwerendy pojawi się, jak na rysunku 2.37, okno Pokazywanie tabeli. Dodaj niezbędne dwie tabele i zamknij okno. Następnie wybierz pola zawiera- jące potrzebne informacje. Dodaj pola ID_albumu, KOD_kierunku oraz Sty- pendium_Soc do siatki projektowej, przeciągając je lub dwukrotnie klikając. Możesz też wybrać pole i tabelę z rozwijanej listy bezpośrednio w siatce pro- jektu. Zapisz utworzoną kwerendę pod nazwą Stypendium_i_kierunek. Uru- chom kwerendę, klikając przycisk . W dynamicznym zestawie danych po- jawiły się wybrane pola tabeli. Zwróć uwagę, że w zestawie wybranych danych znaleźli się wszyscy studenci, również ci, którzy nie pobierają stypendium. Po- wróć do widoku projektu . Rysunek 2.37. Okno wyboru tabel do projektu kwerendy Gdyby wszyscy studenci pobierali stypendium w jednakowej wysokości, w kry- teriach wyboru pola Stypendium_Soc można by podać tę wartość, np. 150. Jednak po uruchomieniu kwerendy zniknęliby z zestawu nie tylko studenci bez stypendium, ale również ci, którzy pobierają stypendium różne niż 150 złotych. Ponieważ jest wiele różnych kwot, korzystnym w tym wypadku kry- terium wyboru jest odrzucenie wszystkich rekordów z pustym polem Stypen- dium_Soc. Kryterium Is Null spowoduje wypisanie wszystkich studentów, którzy nie pobierają stypendium (mają puste pole Stypendium_Soc), dlate- go użyj zaprzeczenia i wpisz w kryterium wyboru Is Not Null. Zapisz zmiany i uruchom kwerendę. Powinien zostać wyświetlony wybrany zestaw danych, jak na rysunku 2.38. 84 2.4. Kwerendy — zapytania Ćwiczenie 2.13. Zmodyfikuj utworzoną w ćwiczeniu 2.12 kwerendę wybierającą, aby zamiast kodu kierunku wypisywała pełną nazwę kierunków studiów każdego studenta pobierającego stypendium socjalne. Zmodyfikowaną kwerendę zapisz jako nową kwerendę. Do wykonania tego ćwiczenia użyjemy utworzonej wcześniej kwerendy Stypen- dium_i_kierunek. Otwórz ją w widoku projektu. Aby wyświetlić pełne nazwy kierunków, zamiast ich kodów potrzebna jest nam tabela Kierunki. Do łóż ją do tabel. W tym celu z menu Kwerenda wybierz Pokaż tabelę… (polecenie dostępne również w menu kontekstowym przy tabelach oraz na pasku narzę- ). Dodaj tabelę Kierunki i pole Kierunek do siatki projektowej. Zapisz dzi utworzoną kwerendę (Plik/Zapisz jako…) pod nazwą Stypendium_i_kieru- nek_pełna_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 ponownie uruchom kwerendę. Teraz efekt jest taki jak na rysunku 2.38. Rysunek 2.38. Okno projektowe korygowanej kwerendy Przyjrzyj się uważnie utworzonej siatce projektowej oraz relacjom między uży- tymi w kwerendzie tabelami danych źródłowych. Zauważ, że tabela Kierun- ki jest sprzężona z tabelą Studenci_uczniowie przez pole KOD_kierunku. Nie ma więc potrzeby zamieszczenia pola KOD_kierunku w siatce projek- towej. Jeśli usuniemy to pole, efekt wyboru rekordów będzie dokładnie taki sam. W widoku projektu zaznacz więc w siatce projektowej pole KOD_kie- runku i usuń je przyciskiem Delete z klawiatury lub używając menu podręcz- nego. Ponownie uruchom kwerendę. Nic się nie zmieniło. Zapisz zmiany i za- mknij okno kwerendy. Ćwiczenie 2.14. Zbierz dane z kilku tabel, jak na rysunku 2.39. Wybranych studentów posortuj w kolejności od najmłodszego do najstarszego. Utworzoną kwerendę wybiera- jącą zapisz pod nazwą Data_ur_rok_studiow_i_telefon. 85 Rozdział 2. Relacyjna baza danych Rysunek 2.39. Kwerenda wybierająca dane z trzech tabel do ćwiczenia 2.14 Przyjrzyj się zawartościom dwóch tabel: Akademiki i Wykladowcy. Zawiera- ją one, odpowiednio: 3 i 20 rekordów. Między nimi nie ma ustanowionej rela- cji. Co się stanie, jeśli utworzymy kwerendę, której wybranymi polami będą: Akademik i ID_wykladowcy? Zaprojektuj taką kwerendę, zapisz ją pod nazwą Akademiki_i_wykladowcy. Nie stosuj żadnych kryteriów wyboru. Uruchom kwerendę i zobacz, ile powstało par danych. Stało się tak właśnie ze wzglę- du na brak relacji między tymi dwiema tabelami. Powstały wszystkie możli- we kombinacje 3 akademików i 20 wykładowców, czyli 60 zestawów danych, co ilustruje rysunek 2.40. Rysunek 2.40. Kwerenda wybierająca rekordy z tabel niepowiązanych relacjami Ćwiczenie 2.15. Zaprojektuj kwerendę, która będzie wybierała imiona i nazwiska studentó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 siedem pól z ocenami. Ustal kryterium wyboru. W tej kwerendzie będzie to kryterium tekstowe, które sprowadza się do podania w komórce Kryteria pola KOD_kie- runku odpowiedniego ciągu znaków, czyli IN. Zapisz utworzoną kwerendę jako Oceny_informatykow. Uruchom kwerendę i sprawdź jej działanie. Wyłącz po- kazywanie kodu kierunku. Zobacz efekt działania kwerendy. 86 2.4. Kwerendy — zapytania Czy tak utworzona kwerenda pozwoli na sprawdzenie ocen Anny Jaworskiej? Czego zabrakło w kwerendzie? Dodaj więc brakujące, niezbędne pole ID_al- bumu. Dobrze byłoby również ująć w tym wykazie rok studiów danego stu- denta, co wiąże się z dodaniem trzeciej tabeli, Studenci_uczelnia, w której jest ta informacja. Uzupełnij to w widoku projektu kwerendy. Zapisz wprowa- dzone zmiany. Fragment projektu tej kwerendy znajduje się na rysunku 2.41. Rysunek 2.41. Fragment projektu kwerendy wybierającej oceny informatyków Po uruchomieniu kwerendy możesz poddać dane działaniu filtrów, ustawiając kursor w polu tabeli na trzecim roku studiów. Po uruchomieniu filtrowania według wyboru zobaczysz wszystkich studentów trzeciego roku i ich oceny. Definiowanie złożonych kryteriów wyboru W przypadku wszystkich typów pól najprostszym kryterium jest podanie kon- kretnej 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 odpowiada 0). Ćwiczenie 2.16. Zaprojektuj kwerendę, która wybierze wszystkich ubezpieczonych studentów. Jako wynik wyszukiwania podaj ID_albumu oraz kierunek i rok studiów. W widoku projektu wybierz odpowiednie tabele i cztery pola. W polu Ubez- pieczenie 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 Ubezpieczenie, ponieważ nie ma potrzeby wy- świetlania całej kolumny z napisem tak. Zapisz kwerendę jako Ubezpieczeni. 87 Rozdział 2. Relacyjna baza danych W kryteriach tekstowych można stosować znaki wieloznaczne (zastępcze), które zastępują wiele znaków lub jeden znak. Należą do nich *, ? i #. * 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 Kryte- ria wpisać J* lub Like J* . Wystarczy wpisać J* , a MS Access sam auto- matycznie uzupełni to kryterium do pełnej postaci, co zauważysz po ponow- nym otwarciu kwerendy w widoku projektu. Natomiast zapis Like *a spo- woduje wybór tych rekordów, które w danym polu tekstowym na ostatniej po- zycji ciągu znaków mają literę a . Tego zapisu często używa się jako kryterium dla pola Imie do wyboru płci żeńskiej, gdyż imiona kobiet kończą się na literę a (choć w ostatnich czasach nie jest to już regułą, np. imię Inez). Oprócz *, w kryteriach można użyć znaku ?, zastępującego pojedynczy znak, oraz znaku # wpisywanego na miejscu cyfry. Przykładowo kryterium ????? wymusza poszukiwanie wszystkich osób, których nazwisko składa się z 5 zna- ków, KO?KIEWICZ wyszuka takie nazwiska jak: KOLKIEWICZ, KORKIE- WICZ, KOTKIEWICZ, ale nie wybierze nazwiska 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 urodzonych w dniu 1 stycznia przed 2000 rokiem. Aby wziąć pod uwagę również osoby z młod- szych roczników, należałoby wpisać kryterium ####-01-01 lub ????-01-01 . Natomiast kryterium dla daty 1989-??-?? lub 1989-##-## pozwala wybrać wszystkich urodzonych w 1989 roku. Można tych dwóch znaków, ? i #, używać tutaj wymiennie, ponieważ dowolnymi znakami w polu typu Data na miejscu zastąpionym znakami ? lub # są zawsze cyfry, więc nie popełnimy błędu i na- stąpi poprawne wybranie rekordów zgodnie z kryteriami. Jednak jeśli wybór miałby dotyczyć cyfry w polu typu Tekst, to bezwzględnie użyjemy znaku #, dla odróżnienia jej od dowolnego znaku. Na przykład wpis *# w polu Mia- sto oznacza kryterium wyboru miast, które mają cyfrę na końcu nazwy, np. LUBICZ1. W kryteriach wyboru można również podać zakres [], w jakim musi się zna- leźć poszukiwany rekord. Wpis Like [A-D]* oznacza, że wszystkie wybrane nazwy będą rozpoczynały się na jedną z liter z podanego zakresu, więc na A, B, C lub D. Wpis Like *[krs] oznacza, że wszystkie wybrane nazwy będą kończyły się na jedną z liter podanych w zakresie, czyli na k, r lub s. Korzysta- nie 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; 88 2.4. Kwerendy — zapytania [] — zakres, do jakiego musi należeć dany znak; [!] — zakres, do jakiego nie może należeć dany znak. Wykrzyknik oznacza negację (np. [!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 operatorów relacji: większe, = większe lub równe, mniejsze, = mniejsze lub równe, = równe, różne. Obok nieskomplikowanych warunków wyboru można tworzyć rozbudowane kryteria, łączące co najmniej dwa warunki. Są to koniunkcja kryteriów, czy- li wymóg spełnienia wszystkich warunków, oraz alternatywa kryteriów, czyli wymóg spełnienia co najmniej jednego warunku. Kryteria można łączyć ope- ratorami logicznymi: And — koniunkcja, X And Y zwraca prawdę, gdy X i Y są prawdziwe; Or — alternatywa, X Or Y zwraca prawdę, gdy przynajmniej jedno z nich (X lub Y) jest prawdziwe; Not — zaprzeczenie, Not X zwraca prawdę, gdy X jest fałszywe. In ( tekst1 ; tekst2 ; tekst3 ; tekst4 ) — wyświetlenie rekordów, które w danym polu mają wartości należące do listy. To kryterium dotyczy danych tekstowych i zastępuje złożoną alternatywę; Between wartość_początkowa And wartość_końcowa — wyświetlenie wszyst- kich rekordó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 ozna- cza wybór rekordów mających we wskazanym polu wartość z przedziału 10;100 . Wielkość liter występujących w kryteriach nie ma znaczenia. Ćwiczenie 2.17. W naszej przykładowej bazie danych utwórz kwerendę wybierającą studentów urodzonych w pierwszym kwartale 1989 roku. Datę w kryterium można wpi- 89 Rozdział 2. Relacyjna baza danych sać w sposób następujący: =1989-01-01 And =1989-03-31. Po uruchomie- niu kwerendy data automatycznie zostanie ujęta w znacznik #data# i kryterium przyjmie następującą postać: =#1989-01-01# And =#1989-03-31#. Utworzoną kwerendę zapisz jako Urodzeni_w_pierwszym_kwartale_1989_roku. W następnej kwerendzie wybierz studentów mieszkających w akademiku DS1 lub DS2. To zadanie można zrealizować na dwa sposoby. Jeden to podanie al- ternatywy 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.42. Rysunek 2.42. Dwa warianty kryteriów wyboru Przy definiowaniu kryteriów należy pamiętać o następujących regułach: X kryteria wprowadzone w polach wiersza Kryteria połączone są opera- torem logicznym And, czyli koniunkcją, której przykład obrazuje ry- sunek 2.43; Rysunek 2.43. Koniunkcja wyboru studentów urodzonych w pierwszym kwartale 1989 roku X 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ą operatorem logicznym Or, czyli alternatywą. Wszystkie wymienione powyżej kryteria mogą być stosowane jako reguły popraw- ności w definicjach pól (ich właściwości) tabeli i formularzy. 90 2.4. Kwerendy — zapytania 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 mogą przeprowadzać obliczenia, operować znakami lub te- stować dane. Kwerendy mogą wyświetlać pola tabel lub innych utworzonych wcześniej kwe- rend wybierają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, rozdziela- jąc dwukropkiem. Na formułę może składać się kombinacja pól tabeli źródło- wej, funkcji Accessa, operatoró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 Nazwisko i Imie oddzielone pojedynczą spacją. Powstałą kwerendę zapisz jako 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: [Nazwisko] [Imie] i uruchom powsta- łą kwerendę. Zauważ, jak jest nazwane pole, które połączyło dwa pola teksto- we. Powróć do projektu. Aby lepiej widzieć powstałe wyrażenie, wybierz po- lecenie Powiększenie… i w otwartym okienku edycji wyrażenia zmień nazwę Wyr1 na Nazwisko i Imie (nie usuwaj dwukropka). Wyłącz pokazywanie na- zwiska i imienia w osobnych polach. Ponownie uruchom kwerendę. Poszerz kolumnę, aby można było przeczytać połączone w jednym polu dane. Zapisz kwerendę jako Dane_osobowe_studentow. Aby widzieć całe wyrażenie, wybierz polecenie Powiększenie… (Shift+F2). W tworzeniu wyrażeń dużą pomoc oferuje Konstruktor wyrażeń, uruchamia- ny poleceniem Konstruuj… (można go również uruchomić, wybierając z menu kontekstowego opcję ) w pustym polu lub w polu z już ist- 91 Rozdział 2. Relacyjna baza danych niejącym wyrażeniem w projekcie kwerendy. Polecenie otwiera okno Kon- struktora wyrażeń, pokazane na rysunku 2.44. Rysunek 2.44. Okno Konstruktora wyrażeń. Konstruowanie wyrażenia z wykorzystaniem wbudowanej 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 na- zwach pól lub błędu w składni funkcji. Pola użyte w kwerendzie będą widziane w oknie Konstruktora wyrażeń dopiero po zapisaniu kwerendy. Ćwiczenie 2.19. Zmodyfikuj 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 za- wierającego datę. Kwerendę zapisz jako Rok_urodzenia_studentow. Otwórz w widoku Projektu kwerendę Ubezpieczeni. Do siatki projektowej dodaj pole Data_ur. Zapisz kwerendę jako Rok_urodzenia_studentów. Za- pis jest konieczny, aby było widać dodane przed chwilą pole. W następnym, pustym polu wybierz polecenie Konstruuj… i wstaw funkcję Year, zgod- nie z rysunkiem 2.44. 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 Konstruktora wyrażeń, z bieżącej kwerendy, poleceniem Wstaw lub dwukrotnie klikając nazwę pola. W wyrażeniu pojawi się nazwa pola w kwadratowym nawiasie, a całe wyraże- 92 2.4. Kwerendy — zapytania nie powinno wyglądać następująco: Year([Data_ur]). Oczywiście, można wpi- sywać nazwy samodzielnie, bez wybierania z listy, jednak niesie to ze sobą nie- bezpieczeństwo niedokładnego podania nazwy pól lub funkcji, co w konse- kwencji 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 wyglądać następu- ją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ł odpowied- niej nazwy funkcji. Tabela 2.7. Przydatne wbudowane funkcje MS Access Date (), Now() DateAdd (...), DateDiff (...) Day (...), Year (...), Month (...), Minute (...) IsDate (...), IsNull (...) Left (...), Right(...), Mid (...) LTrim (...) Nz (...) Choose (...) IIf (...) Format (...) Podanie bieżącej daty lub daty i czasu Obliczanie różnic, sum dat w dniach, latach itp. Wyodrębnienie z daty jej części 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 wa- runku logicznego Przekształcenie podanej wartości w napis według zadanego formatu Wśród funkcji, których parametrem są data i czas, znajduje się funkcja Data(), zwracająca aktualną datę. Zaprojektuj kwerendę, która obliczy wiek studenta według działania: wiek=rok(dzisiejsza data)–rok(data urodzenia). Odpowiednie wyrażenie utwórz w Konstruktorze wyrażeń. Oprócz wieku wyświetl ID_studenta oraz kierunek studiów. Utworzoną kwerendę zapisz jako Wiek_studentow. W tym przykładzie parametrem funkcji Year jest funkcja Data(). 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 studentów in- formatyki. Otrzymany zestaw danych wyświetl w kolejności malejącej śred- niej. Kwerendę zapisz jako Srednia_ocen_informatykow. Do utworzenia wy- rażenia użyj Konstruktora wyrażeń, który ułatwi i przyspieszy podanie nazw 93 Rozdział 2. Relacyjna baza danych wszystkich pól zawierających oceny z poszczególnych przedmiotów. Oprócz średniej wyświetl rok studiów, kod kierunku oraz imię i nazwisko studenta zdefiniowane w kwerendzie Dane_osobowe_studentow. Aby obliczyć wartość średnią z danych zawartych w kilku polach, napisz wyra- żenie zawierające sumę tych pól podzieloną przez liczbę przedmiotów sumo- wanych. W widoku projektu nowej kwerendy dodaj tabele Studenci_uczelnia i Studenci_oceny oraz kwerendę Dane_osobowe_studentow. Dodaj niezbęd- ne pola do siatki projektowej. W nowym polu poleceniem Konstruuj… uru- chom Konstruktor wyrażeń. Utwórz wyrażenie Srednia_ocen:([Matematyka]+ [Informatyka]+[Jezyk_angielski]+[Jezyk_niemiecki]+[Przedsiebiorczosc]+ [Filozofia]+[WF])/7, ustal sposób sortowania i wyłącz widok pól z ocenami. Zapisz kwerendę. Ćwiczenie 2.21. Oblicz średnie ocen wszystkich studentów, biorąc pod uwagę siedem przed- miotów, z których wszyscy studenci mają oceny. Wykonaj obliczenia na gru- pach rekordów i wyświetl tylko niezbędne dane, jak na rysunku 2.45. Utwo- rzoną kwerendę zapisz jako Srednia_ocen. Rysunek 2.45. Kwerenda wybierająca dane z polem obliczeniowym (ćwiczenie 2.21) Ćwiczenie 2.22. Zaprojektuj kwerendę, która na podstawie średnich ocen obliczonych w ćwi- czeniu 2.21 wypisze obok ID studenta i kierunku studiów średnią ocen wraz z informacją, czy student otrzyma stypendium naukowe, czy też nie. Kryterium przyznania stypendium to średnia ocen, która wynosi minimum 4,0. Jeśli stu- dentowi przysługuje stypendium, w polu wpisz słowo Stypendium, w przeciw- nym wypadku w polu pojawi się napis Brak. Utworzoną kwerendę zapisz jako Stypendium_naukowe. W widoku projektu nowej kwerendy tym razem zamiast tabeli użyj utworzo- nej wcześniej kwerendy Srednia_ocen. Wybierz z niej trzy niezbędne pola: ID_albumu, KOD_kierunku oraz Srednia_ocen. W nowym polu utwórz wyrażenie, wykorzystując okno Konstruktora wyrażeń. Wśród funkcji wbu- dowanych, zgrupowanych w bloku funkcji przepływu sterowania programu, 94 2.4. Kwerendy — zapytania znajduje się funkcja wyboru IIf, która w oknie Konstruktora wyrażeń po- jawi się jako: IIf («expr»; «truepart»; «falsepart»). Należy ją rozumieć jako: IIf(warunek;wartość_gdy_prawda,wartość_gdy_fałsz). W oknie wyraże- nia wpisz brakującą nazwę pola oraz parametry funkcji: Stypendium_naukowe: IIf([Srednia_ocen] =4; Stypendium ; Brak ). Sprawdź poprawność działania kwerendy. Zapisz ją. W kolejnym polu, które nazwij Stypendium_naukowe2, ponownie wykorzy- staj funkcję 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 war- tości liczbowe odpowiadają wartościom Tak/Nie. Ustal sposób sortowania we- dług średniej ocen. Wynik działania tej kwerendy ilustruje rysunek 2.46. Rysunek 2.46. Wynik działania kwerendy z wyrażeniem zawierającym funkcję warunkową Kwerendy parametryczne Zapytania mogą być tak konstruowane, aby wartości określające kryterium wyboru podawane były dopiero w momencie uruchamiania kwerendy, bez każdorazowej zmiany kryteriów w siatce projektowej. Takie rozwiązanie wy- maga, aby w polu z kryteriami lub w wyrażeniu użyć parametru, podając jego nazwę w nawiasach kwadratowych []. Parametrów może być kilka. Ćwiczenie 2.23. Zaprojektuj kwerendę, która będzie wyświetlała ID i miasto zamieszkania wszystkich studentów z danego kierunku studiów. Przy każdym uruchomie- niu kwerendy będzie można podać kod tego kierunku, którego dane studentów mają być wyświetlone. Utworzoną kwerendę zapisz jako Studenci_wg_kierun- ku_z_parametrem. W widoku projektu dodaj tabele z danymi adresowymi i uczelnianymi stu- dentów. Wybierz niezbędne pola. W kryterium wyboru pola KOD_kierunku podaj kryterium zawierające parametr. Wystarczy wpisać w nawiasach kwa- 95 Rozdział 2. Relacyjna baza danych dratowych treść komunikatu [podaj KOD kierunku], który pojawi się na ekra- nie w oknie wprowadzania parametru. Zapisz kwerendę i sprawdź jej działa- nie. Można ułatwić sobie wypełnienie pola przez podanie podpowiedzi z wy- pisanymi kodami kierunków, jak na rysunku 2.47. Kryterium przyjmie wów- czas postać: [podaj KOD kierunku (BI,CH,FI,IN,MA)]. Nie ma konieczności po- dania parametrów dużymi literami, Access radzi sobie zarówno z małymi, jak i dużymi literami. Rysunek 2.47. Okno podawania parametrów kwerendy parametrycznej Ć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 mieście (określonym parametrem). Zauważ, że kolejność podawania parametrów jest zgodna z kolejnością pól w siatce projektowej. Do- daj drugie miasto do kryterium wyboru, jak na górze rysunku 2.48. Uruchom zapytanie i wybierz studentów informatyki mieszkających w Olsztynie i Toru- niu. Utworzoną kwerendę zapisz pod nazwą Studenci_wg_kierunku_z_wie- loma_parametrami. Rysunek 2.48. Kwerenda z wieloma parametrami Zwróć uwagę, że na rysunku 2.48 użyta została alternatywa dwóch warunków parametrycznych. Zastanów się, dlaczego dolne rozwiązanie jest niepoprawne dla tego przykładu. Jakie rekordy otrzymamy w wyniku jej działania? 96 2.4. Kwerendy — zapytania Ćwiczenie 2.25. Na podstawie kwerendy Srednia_ocen utwórz nową kwerendę parametryczną, która będzie wybierała studentów ze średnią ocen między dwiema wartościa- mi podawanymi przy uruchamianiu zapytania w oknie z komunikatem Podaj minimalną średnią oraz Podaj maksymalną średnią. Utworzoną kwerendę zapisz jako Srednie ocen z parametrem. 2.4.2. Kwerendy funkcjonalne — modyfikujące Oprócz kwerend wybierających, możemy tworzyć kwerendy funkcjonalne. Li- sta kwerend jest dostępna w widoku projektu kwerendy, po kliknięciu myszą strzałki obok przycisku typów kwerend, co ilustruje rysunek 2.49. Typy kwe- rend są dostępne również w menu kontekstowym obszaru tabel. Rysunek 2.49. Typy kwerend Przy ikonach czterech typów kwerend widoczny jest wykrzyknik, co ozna- cza, że wykonanie tych kwerend skutkuje trwałymi zmianami w bazie danych. Każdorazowe ich uruchomienie może powodować przeliczanie wartości lub usuwanie danych, jeśli spełnione zostaną określone kryteria. Trzeba więc być szczególnie ostrożnym. Należy również czytać komunikaty pojawiające się na ekranie przy próbie uruchomienia kwerend funkcjonalnych. Warto też wy- konać kopię bazy lub przynajmniej tabel, aby nie stracić cennych danych. Kwerenda aktualizująca Utwórz kwerendę opartą na tabelach lub kwerendach zawierających rekordy, które mają zostać zaktualizowane. Zadanie zrealizujemy, korzystając z tabeli Studenci_dane. Wykonaj jej kopię i nazwij ją Studenci_dane_aktualizacja (z menu kontekstowego wybierz za- pisz jako…). Ponieważ każde uruchomienie takiej kwerendy oznacza przeli- czenie wartości, trzeba być bardzo ostrożnym przy jej uruchamianiu. To wła- śnie dlatego kwerendy tego typu mają ikonę opatrzoną wykrzyknikiem, sym- 97 Rozdział 2. Relacyjna baza danych bolizującym niebezpieczeństwo. Zaktualizujemy dane w kopii tabeli, zwiększa- jąc stawki obecnych stypendió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_ aktualizacja. Kliknij strzałkę obok przycisku Typ kwerendy i wybierz Kweren- da aktualizująca, zmieniając w ten sposób typ kwerendy. Typ kwerendy mo- żesz również wybrać z menu kontekstowego. Przeciągnij z listy pól do siatki projektu pole Stypendium_Soc, które będziesz aktualizować lub dla którego chcesz ustawić kryteria. Wpisz 200 w komór- ce Kryteria. W komórce Aktualizacja do: wpisz wyrażenie lub wartość, któ- ra ma być wykorzystana do zmiany pól, tak jak to pokazano na rysunku 2.50. Rysunek 2.50. Kwerenda aktualizująca dane Zapisz kwerendę pod nazwą Aktualizujaca_stypendium_w_kopii Studen- ci_dane_aktualizacja. UWAGA! Każdorazowe uruchomienie tej kwerendy spowoduje kolejne prze- liczenie kwoty stypendiów spełniających kryterium. Dlatego uruchomie- nie kwerendy aktualizującej jest poprzedzone ostrzeżeniem i zapytaniem, czy na pewno chcesz zaktualizować dane. Po wykonaniu kwerendy sprawdź wartości stypendiów w kopii tabeli. Zwróć uwagę na ikonę tej aktualizującej kwerendy. Wykrzyknik w ikonie ma nie tylko odróżniać tę kwerendę od kwerend wybierających, ale i ostrzegać przed przypadkowym lub nieprzemyślanym użyciem. Użycie kwerendy aktualizującej jest niezmiernie wygodne i pomocne w przeliczaniu istniejących lub podawaniu nowych wartości. Jednak jeśli nie zamierzamy w przy- szłości użyć takiej kwerendy, po jej zastosowaniu można ją po prostu usunąć. 98 2.4. Kwerendy — zapytania 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 takiego typu przebiega w dwóch etapach. Etap pierwszy to utworzenie kwerendy wybierającej, a następnie przekształcenie jej w kwe- rendę tworzącą nową tabelę. Po podaniu nazwy powstałej tabeli w zakładce z tabelami pojawi się nowy zestaw danych — nowa tabela. Do ćwiczenia uży- jemy więc już zdefiniowanej wcześniej kwerendy. Ćwiczenie 2.26. Kwerendy Oceny informatykow użyj 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. Otwórz ją w widoku projektu. Zmień jej typ na kwerendę tworzącą nową tabelę, wybierając ten typ z listy typów kwerend, jak na rysunku 2.49. Podaj nazwę nowej tabeli, która powstanie po uruchomieniu kwerendy: Oceny_informatykow_tabela_z_kwerendy. Uruchom przekształconą kwe- rendę. Przeczytaj komunikat i potwierdź chęć utworzenia tabeli z 14 rekorda- mi. Zamknij okno kwerendy, zapisując zmiany, i sprawdź w zakładce z tabela- mi, czy powstała nowa tabela i jakie zawiera rekordy. Kwerenda dołączająca W bazie danych Uczelnia_filia.mdb znajduje się tabela wykladowcy-FILIA. Zamieszczono tam dane wykładowców, którzy uczą języków obcych. Utwo- rzymy kwerendę, która dołączy dane tych wykładowców do tabeli Wykladow- cy. W tym celu należy zaimportować tabelę wykladowcy-FILIA. Po zaimpor- towaniu obejrzyj jej zawartość. Zwróć uwagę, że utworzona została zgodnie z projektem tabeli Wykladowcy. Aby dołączyć tabelę do tabeli, użyjemy kwe- rendy dołączającej. Kwerenda dołączająca dodaje na koniec tabeli rekordy pochodzące z innej ta- beli (lub kilku tabel). Jest to kwerenda z grupy kwerend funkcjonalnych. Jej iko- na 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 li- sty pól tabeli, która symbolizuje dołączanie wszystkich pól. Teraz zmień typ kwerendy z wybierającej na dołączającą. Wybierz z listy lub wpisz nazwę tabe- li, do której mają być dołączone rekordy po uruchomieniu kwerendy, czyli Wy- kladowcy, jak na rysunku 2.51. Utworzoną kwerendę zapisz jako Dolaczaja- ca_tabele_Wykladowcy-FILIA. Zanim uruchomisz tę kwerendę, utwórz ko- 99 Rozdział 2. Relacyjna baza danych pię tabeli Wykladowcy. Będzie potrzebna do dalszej analizy. Teraz uruchom kwerendę dołączającą, która wyświetla komunikat o próbie dodania rekordów do tabeli. Potwierdź chęć ich dodania. Rysunek 2.51. Projektowanie kwerendy dołączającej dane z innej tabeli Na kopii tabeli Wykladowcy sprawdź, jak będzie się zachowywała kwerenda przy kilku uruchomieniach. W widoku projektu zmień tabelę Wykladowcy na kopia Wy- kladowcy przez ponowne wybranie typu kwerendy dołączającej. 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? Innymi słowy, czy następuje jakaś analiza danych, czy tylko mechaniczne dopisanie 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_filia.mdb znajduje się tabela Konsultacje_FILIA, w której zamieszczone zostały terminy konsulta- cji dołączonych wykładowców. Utwórz kwerendę dołączającą te dane do tabe- li Konsultacje. Kwerendę zapisz jako Dolaczajaca_konsultacje_FILII. Dodaj konsultacje pracowników z filii. Jeśli wcześniej nie zostały dodane dane wykła- dowców, nastąpi odmowa dodania konsultacji tych pracowników. Dlaczego? Wyjaśnienie ma związek z projektowaniem relacji między tabelami. W przy- padku tabel połączonych relacją jeden-do-jednego najpierw należy wpisać dane do tabeli nadrzędnej (Wykladowcy), dopiero później możemy 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 lub kilku tabel wiersze spełniające określone kryteria, czynności tej nie można cofnąć. Dlatego też przed uruchomieniem kwerendy należy obej- 100 2.4. Kwerendy — zapytania rzeć dane, które zostały przeznaczone do usunięcia. Aby to uczynić, należy kliknąć przycisk Widok na pasku narzędzi i obejrzeć kwerendę w widoku ar- kusza danych. Zawsze należy sporządzać zapasowe kopie danych. Jeśli zostaną usunięte niewła- ściwe rekordy, można je odzyskać z kopii zapasowej. Ćwiczenie 2.27. Z utworzonej w ćwiczeniu 2.26 tabeli usuń dane tych studentów, którzy nie mają żadnej poprawki, czyli otrzymali ze wszystkich przedmiotów naucza- nia ocenę różną od niedostatecznej (2). W tym celu utwórz nową kwerendę w widoku projektu. Wybierz tabelę Oce- ny_informatykow_tabela_z_kwerendy. Dodaj nazwy przedmiotów do wier- sza Pole w siatce projektu i określ kryteria usuwania, wpisując 2 dla każde- go przedmiotu. Uruchom kwerendę wybierającą wszystkie te rekordy, które za chwilę zostaną usunięte (trwale) z tabeli. Powinny pokazać się tylko oceny pozytywne studentów, którzy za chwile zostaną usunięci. W widoku projektu na pasku narzędzi kliknij strzałkę obok przycisku Typ kwerendy, a następnie wybierz typ Kwerenda usuwająca. W wierszu Usuwa- nie pojawi się słowo Gdzie, jak to zostało pokazane na rysunku 2.52. Rysunek 2.52. Kwerenda usuwająca dane z tabeli Przeciągnij gwiazdkę (*) z listy pól tabeli do siatki projektu kwerendy. W ko- mórce Usuwanie pojawi się słowo Skąd. Na pasku narzędzi kliknij przycisk Uruchom, aby usunąć wybrane rekordy. Potwierdź jeszcze w oknie komunikatu chęć usunięcia 4 rekordów z tabeli, jak na rysunku 2.53. Po usunięciu danych sprawdź zawartość tabeli Oceny_infor- matykow_tabela_z_kwerendy. Wszyscy studenci mają oceny niedostateczne. Zmień nazwę tabeli na Poprawki_informatykow. 101 Rozdział 2. Relacyjna baza danych Rysunek 2.53. Komunikat o usunięciu danych z tabeli kwerendą usuwającą W niektórych przypadkach uruchomienie kwerendy usuwającej może spowo- dować 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ą „jeden” relacji jeden-do-wielu i dla tej relacji została włączona opcja usuwania kaskadowego. 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.54, two- rząc krzyżowe zestawienie podsumowanych lub zliczonych danych. Rysunek 2.54. Kwerenda krzyżowa W przykładzie tym utworzona została kwerenda zliczająca studentów z danych kierunków mieszkających w poszczególnych akademikach — domach studentów. Aby utworzyć kwerendę krzyżową, posłużymy się Kreatorem kwerend krzy- żowych, który wybierzemy z zestawu kreatorów, po wybraniu przycisku Nowy w zakładce z kwerendami, jak na rysunku 2.55. X W pierwszym kroku kreatora wybierz tabelę, na podstawie której wy- konasz zestawienie krzyżowe danych. W naszym przykładzie jest to ta- bela Studenci_uczelnia. X W drugim kroku kreatora wskaż, które wartości mają być nagłówkami wierszy. W naszym przykładzie będą to symbole akademików. X W trzecim kroku kreatora ustal, jakie liczby mają być obliczane dla każ- dego przecięcia kolumny i wiersza. Dokonaj wyboru pola oraz funk- cji. Tu możesz zaznaczyć opcję zliczania wszystkich wartości w każdym wierszu. Dla naszego przykładu ustal opcje zgodnie z rysunkiem 2.56. 102 2.4. Kwerendy — zapytania Rysunek 2.55. Wybór Kreatora kwerend krzyżowych Rysunek 2.56. Krok trzeci kreatora kwerend krzyżowych: wybór pola i funkcji X W ostatnim kroku zatwierdź lub podaj nazwę utworzonej kwerendy i zakończ pracę kreatora. Jak wygląda utworzona kwerenda w widoku projektu? Oba widoki, zarówno arkusza danych, jak i projektu, pokazano na rysunku 2.57, gdzie zamieszczo- ne zostały wyjaśnienia. Rysunek 2.57. Kwerenda krzyżowa w widoku arkusza danych i projektu 103 Rozdział 2. Relacyjna baza danych Z kwerendy krzyżowej korzysta się między innymi przy obliczaniu podsumo- wań, wartości średnich, zliczaniu wystąpień danych, wybieraniu wartości naj- mniejszych, największych, pierwszych lub ostatnich. Tak tworzone kombinacje danych, w których jedne dane stanowią nagłówki wierszy, a inne stanowią na- główki kolumn, nie są możliwe w macierzystej tabeli. Wykonaj ten projekt ponownie, zamieniając miejscami kolumny z wierszami. Zapisz ją jako Studenci_uczelnia_krzyżowa_odwrotnie. Ćwiczenie 2.28. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, któ- ra na podstawie tabeli Srednia_ocen utworzy zestawienie średnich ocen na wszystkich kierunkach i rocznikach studiów. Zwróci też najwyższą śred- nią w każdym roczniku, tak jak to pokazano na rysunku 2.58. Kwerendę zapisz jako Srednia_ocen_Krzyzowa. Rysunek 2.58. Wynik działania kwerendy z ćwiczenia 2.28 Ćwiczenie 2.29. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, która na podstawie tabeli Studenci_uczelnia utworzy zestawienie liczby studen- tów studiujących na danym kierunku, z rozbiciem na poszczególne roczni- ki. Pokaże też sumę studentów na każdym kierunku, tak jak to zaprezentowa- no na rysunku 2.59. Kwerendę zapisz pod nazwą Studenci_uczelnia_kieru- nek_rok_Krzyzowa. Rysunek 2.59. Wynik działania kwerendy z ćwiczenia 2.29 104 2.4. Kwerendy — zapytania Ćwiczenie 2.30. Korzystając z kreatora kwerend krzyżowych, zaprojektuj kwerendę, która na podstawie kwerendy Stypendium_i_kierunek utworzy zestawienie ilo- ściowe studentów każdego kierunku, rozróżniając wszystkie możliwe kwoty wypłacanego stypendium. Zlicz liczbę studentów z wszystkich kierunków ra- zem dla każdej kwoty, tak jak to pokazano na rysunku 2.60. Rysunek 2.60. 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 dialektów). Jednak w MS Access dominującą metodą, ułatwiającą tworzenie kwerend, jest korzystanie z szablonu graficznego, w którym zapytanie two- rzone jest za pomocą graficznych elementów przy użyciu myszki, jak to robi- liśmy we wszystkich dotychczasowych ćwiczeniach. Należy jednak pamiętać, że jest to tylko forma prezentacji. Zapytanie istnieje w postaci kodu SQL, a nie- które zapytania można stworzyć tylko przy użyciu języka SQL — szablon gra- ficzny jest wtedy nieprzydatny. Każde zapytanie można zapisać bezpośrednio przy użyciu tego języka. Kwerenda oparta na jednej tabeli Ponieważ każda kwerenda utworzona przy użyciu graficznego szablonu ma swój zapis w kodzie SQL, zobaczmy, jak wygląda taki kod dla kwerendy wy- bierającej dane z tabeli Wykladowcy. W widoku projektu wybierzmy z niej pola z ID oraz imieniem i nazwiskiem wszystkich wykładowców. Teraz zo- bacz jej kod w języku zapytań. W tym celu kliknij prawym przyciskiem my- szy w wolnym obszarze tabel kwerendy. W oknie dialogowym wybierz opcję Widok SQL. Ten sam efekt otrzymasz, wybierając Widok SQL z przycisku Wi- dok na pasku narzędzi, co ilustruje rysunek 2.61. 105 Rozdział 2. Relacyjna baza danych Rysunek 2.61. Sposoby przejścia z widoku projektu kwerendy do widoku SQL Po wywołaniu widoku SQL pojawi się okno z zapisem kwerendy w języku SQL. Treść kodu w tym oknie możesz czytać i modyfikować. Wszystkie trzy widoki tej wybierającej kwerendy zgromadzone zostały na rysunku 2.62. Rysunek 2.62. Kwerenda wybierająca w trzech widokach: projektu, arkusza danych i kodu SQL SQL to język deklaratywny, bardzo wysokiego poziomu, jednak zrozumie- nie podstaw składni SQL nie będzie stanowić dla Ciebie wielkiego problemu. Omawiana prosta kwerenda wybierająca ma następującą postać: SELECT Studenci_dane.ID_albumu, Studenci_dane.Nazwisko, Studenci_ dane.Imie FROM Studenci_dane; Język SQL jest językiem strukturalnym. Przeanalizujmy treść powyższego kodu. 106 2.4. Kwerendy — zapytania 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 wygląda następująco: SELECT pola FROM tabela; Nazwę pola poprzedzamy nazwą tabeli i kropką. Listę pól oddzielamy prze- cinkami. 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 oznacza 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 kierun- ku. Kwerenda będzie więc miała postać: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Nazwisko_wyk, Wykladow cy.Imie_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy; Równoważny powyższemu jest zapis: SELECT Wykladowcy.* FROM Wykladowcy; Zamiast wymieniania wszystkich pól z tabeli Wykladowcy, użyty został znak *. Kwerenda wybierająca dane z kilku tabel Zobaczmy, jak wygląda kod SQL dla kwerendy wybierającej dane z dwóch ta- bel, np. Studenci_dane i Studenci_uczelnia. W widoku wybierzmy z nich pola z ID, imieniem i nazwiskiem oraz kierunkiem studiów. Interesu- je 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 dla nas już czytelna i jasna. W klauzuli FROM zastosowano operator złączenia w celu pobrania danych z dwóch tabel. Do najczęściej sto- sowanych operatoró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. UNION JOIN — złączenie przeciwne do INNER JOIN; w wyniku otrzymujemy te rekordy, które do siebie nie pasują. CROSS JOIN — złączenie krzyżowe; wynik stanowi zestawienie kombinacji wszystkich rekordów z obu tabel (tak jak to miało miejsce w przypadku wybo- ru danych z tabel, między którymi nie ustanowiono relacji). Klauzulę FROM z naszego przykładu można zatem tłumaczyć następująco: wy- bierz rekordy występujące w obu tabelach (Studenci_dane INNER JOIN Stu- 107 Rozdział 2. Relacyjna baza danych denci_uczelnia), których ID_albumu są sobie równe (te pola są bowiem po- łączone relacją). Sortowanie Powróćmy do widoku projektu i dodajmy opcję sortowania danych według na- zwiska. Kod SQL jest teraz następujący: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Nazwisko_wyk, Wykladowcy. Imie_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy ORDER BY Wykladowcy.ID_wykladowcy; Gdy za klauzulą ORDER BY (sortuj według) umieścimy zapis DESC (ang. descen- ding — malejąco), posortujemy nazwiska malejąco: ORDER BY Wykladowcy.ID_wykladowcy DESC; Analogicznie ASC (ang. ascending — rosnąco) posortuje dane w porządku ro- snącym. Brak na końcu klauzuli ORDER BY jednej z opcji ASC/DESC spowoduje domyślne posortowanie 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 kryterium wyboru Like IN . Kod SQL ma teraz postać: SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Nazwisko_wyk, Wykladowcy. Imie_wyk, Wykladowcy.KOD_kierunku FROM Wykladowcy WHERE (((Wykladowcy.KOD_kierunku) Like IN )) ORDER BY Wykladowcy.ID_wykladowcy DESC; W celu wprowadzenia ograniczeń kryteriów dla wyświetlanych rekordów za- stosowana została klauzula WHERE. Za pomocą klauzuli WHERE można filtrować rekordy, czyli decydować 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 zapytania (został wybrany). Istotne jest zachowa- nie kolejności, ponieważ klauzula WHERE wybiera 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 ko- nieczna, gdy chcemy wprowadzić kryteria wyboru. Składnia kwerendy z kry- terium 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 ko- 108 2.4. Kwerendy — zapytania niunkcją kilku kryteriów wyboru. Najczęściej predykatem jest po prostu kry- terium 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; Oto kilka przykładów zastosowania kryteriów w widoku SQL: Alternatywa kryteriów: wypisz wykładowców, którzy w polu KOD_kierunku mają wpis równy IN lub MA. WHERE (((Wykladowcy.KOD_kierunku) Like IN Or (Wykladowcy.KOD_ kierunku) Like MA )); Koniunkcja kryteriów: wypisz ID studentów trzeciego roku informatyki. SELECT Studenci_uczelnia.ID_albumu FROM Studenci_uczelnia WHERE (((Studenci_uczelnia.Rok_studiow)=3) AND ((Studenci_uczelnia. KOD_kierunku) Like IN )); Alternatywa i koniunkcja: wypisz ID studentów trzeciego roku informatyki i matematyki. WHERE (((Studenci_uczelnia.Rok_studiow)=3) AND ((Studenci_uczelnia. KOD_kierunku) Like IN Or (Studenci_uczelnia.KOD_kierunku) Like  MA )); Kryterium ograniczone podanymi wartościami: WHERE (((Studenci_uczelnia.Srednia_ocen) =3 And (Studenci_uczelnia. Srednia_ocen) =4)); Krótszy zapis powyższej koniunkcji z podaniem zakresów: WHERE (((Studenci_uczelnia.Srednia_ocen) Between 3 And 4)); Pola obliczeniowe Na przykładzie kwerendy obliczającej nową stawkę stypendium socjalnego przeanalizujmy zasadę tworzenia nowego pola, którego wartości są wynikiem obliczeń. Do kwoty stypendium dodajemy każdemu 10 złotych. Oczywiście do- dajemy tylko wtedy, gdy student stypendium otrzymuje. Oto zapis kwerendy: SELECT Studenci_dane.ID_albumu, Studenci_dane.Stypendium_Soc, [Sty pendium_Soc]+10 AS Nowa_stawka FROM Studenci_dane WHERE (((Studenci_dane.Stypendium_Soc) Is Not Null)); W wykazie pól pojawiło się nowe pole, powstałe z wyrażenia, które do pola Stypendium_stawka dodaje wartość 10. AS oznacza, że w widoku arkusza da- nych wyświetlona zostanie kolumna (pole) o podanej nazwie Nowa_stawka. Zwróć również uwagę na wprowadzone kryterium WHERE … Is Not Null. 109 Rozdział 2. Relacyjna baza danych Kwerendy parametryczne Parametry podajemy w kryteriach, więc nie będzie dla nikogo zaskoczeniem, że w kodzie SQL parametr z treścią komunikatu podaj kod kierunku pojawi się w nawiasach kwadratowych w klauzuli WHERE. SELECT Wykladowcy.ID_wykladowcy, Wykladowcy.Nazwisko_wyk, Wykladowcy. KOD_kierunku FROM Wykladowcy WHERE (((Wykladowcy.KOD_kierunku)=[podaj kod kierunku])); Jednak jeśli chcesz użyć kilku parametrów, do każdego z nich, nawet jeśli do- tyczy tego samego pola, musisz podać nazwę tabeli, nazwę pola i — opcjonal- nie — treść komunikatu. Rozbudowując więc poprzedni przykład, tak aby po- dać dwie wartości parametrów przy uruchamianiu kwerendy, musisz napisać: WHERE (((Wykladowcy.KOD_kierunku)=[podaj kod kierunku] Or (Wykladowcy. KOD_kierunku)=[podaj kod drugiego kierunku])); Kwerenda ta wypisze dane wykładowców z dwóch kierunków, przy czym kon- kretne kierunki podaje użytkownik (przy uruchomieniu kwerendy). Kwerenda tworząca nową tabelę Kod SQL kwerendy tworzącej tabelę różni się od kodu kwerendy wybierają- cej obecnością klauzuli INTO informującej, jak ma się nazywać nowa, powsta- ła po uruchomieniu kwerendy tabela. Zapis kodu kwerendy tworzącej z tabeli Studenci_uczelnia nową tabelę, zawierającą dwie wybrane kolumny danych, wygląda zatem następująco: SELECT Studenci_uczelnia.ID_albumu, Studenci_uczelnia.KOD_kierunku INTO [Studenci ID+KOD] FROM Studenci_uczelnia; Kwerenda krzyżowa Jako przykład do analizy niech nam posłuży utworzona wcześniej kwerenda krzyżowa Studenci_uczelnia_Krzyzowa. Kwerendę tę tworzyliśmy w oknie kreatora kwerend krzyżowych i samo przełączenie do widoku projektu może wywołać lekkie zaskoczenie. Na rysunku 2.63 zestawiono wszystkie trzy widoki tej skomplikowanej kwerendy: widok projektu, arkusza danych i SQL. Każdą linię kodu połączono z odpowiednim miejscem w projekcie i w tabeli wynikowych danych. Powstała w ten sposób kolorowa pajęczyna, której przyj- rzymy się uważniej. TRANSFORM Count(Studenci_uczelnia.ID_albumu) AS PoliczOfID_albumu Operacje zliczenia (policzOf) będą wykonywane na podstawie pola ID_albu- mu z tabeli Studenci_uczelnia. SELECT Studenci_uczelnia.Akademik, Count(Studenci_uczelnia.ID_albu mu) AS [Suma ID_albumu] 110 2.4. Kwerendy — zapytania Rysunek 2.63. Kwerenda krzyżowa w trzech widokach: projektu, arkusza danych i SQL W kolumnie, która pojawi się jako Suma ID_albumu, nastąpi zliczenie wszyst- kich wartości dla każdego wiersza Akademik. Dla każdego wystąpienia w polu Akademik nastąpi zliczenie identyfikatorów w polu ID_albumu. FROM Studenci_uczelnia To jest chyba jasne. GROUP BY Studenci_uczelnia.Akademik Grupuj według wystąpień w polu Akademik. Każde wystąpienie będzie no- wym wierszem (DS1, DS2, DS3). PIVOT Studenci_uczelnia.KOD_kierunku; Grupuj według wystąpień w polu KOD_kierunku. Każde wystąpienie będzie nową kolumną (BI, CH, FI, IN, MA). Tworzenie kwerend za pomocą instrukcji języka SQL Przejdźmy do tworzenia kwerend za pomocą instrukcji języka SQL. W celu utworzenia od podstaw kwerendy za pomocą instrukcji języka SQL na- leży w widoku projektu nowej kwerendy zamknąć pojawiające się standardowo okno Pokazywanie tabel, a następnie przejść do widoku SQL kwerendy. Zosta- nie otwarte okno, jak na rysunku 2.64, w którym zdefiniujemy kwerendę za po- mocą instrukcji języka SQL. W oknie wpisane jest tylko słowo SELECT i średnik. 111 Rozdział 2. Relacyjna baza danych Rysunek 2.64. Okno tworzenia kwerendy w widoku kodu SQL Po napisaniu kwerendy możesz ją uruchomić lub otworzyć w widoku projek- tu. Zmienimy więc kolejność tworzenia zapytania. Najpierw będziemy pisać kwerendy w języku SQL, a potem obserwować efekty w widoku projektu kwe- rendy. Ćwiczenie 2.31. Utwórz zapytanie prezentujące na podstawie tabeli Plan_zajec wykaz studen- tów (ich ID) wybranego wykładowcy. Efekt działania kwerendy powinien być taki jak na rysunku 2.65, na którym wyświetlona jest lista studentów wykła- dowcy B102. Rysunek 2.65. Lista studentów wykładowcy B102 W pierwszej linii wpisz nazwy pól, oddzielone przecinkiem. Pamiętaj o składni: SELECT tabela.pole1, tabela.pole2 Określ, skąd mają być pobierane dane: FROM tabela Ustal kryterium wyboru. W miejscu kryterium wpisz parametr: WHERE (((tabela.pole)=[komunikat dla parametru])); Oto gotowa treść kwerendy zapisana w języku SQL. Porównaj ją ze swoim rozwiązaniem: SELECT Plan_zajec.ID_wykladowcy, Plan_zajec.ID_albumu FROM Plan_zajec WHERE (((Plan_zajec.ID_wykladowcy)=[podaj ID wykladowcy])); 112 2.4. Kwerendy — zapytania Ćwiczenie 2.32. Utwórz zapytanie wybierające studentów (z podaniem ich imienia i nazwiska), którzy uzyskali z matematyki ocenę większą od 3. Wynik działania kwerendy ilustruje rysunek 2.66. Rysunek 2.66. 46 rekordów spełniających kryterium z ćwiczenia 2.32 Jakie pola musisz wybrać do działania tej kwerendy? Podaj nazwy pól poprze- dzone kropką i nazwą tabeli. Określ, skąd mają być pobierane dane. Pamiętaj, że te dwie tabele są połączone relacją. Ogólna składnia jest następująca: FROM tabela1 INNER JOIN tabela2 ON tabela1.pole = tabela2.pole Ustal kryterium wyboru. W miejscu kryterium wpisz parametr: WHERE (((tabela.pole)kryterium)); Oto gotowa treść kwerendy zapisana w języku SQL. Porównaj ją ze swoim rozwiązaniem: SELECT Studenci_dane.Imie, Studenci_dane.Nazwisko, Studenci_oceny. Matematyka FROM Studenci_dane INNER JOIN Studenci_oceny ON Studenci_dane. ID_albumu = Studenci_oceny.ID_albumu WHERE (((Studenci_oceny.Matematyka) 3)); Warunki zapisywane w podwójnych nawiasach (()) nie są warunkami języka SQL, lecz warunkami języka wyrażeń Office Access (ściślej — języka Visual Basic for Applications). Może to mieć znac
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Informatyka Europejczyka. Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Część 2
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ą: