Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Podobne dokumenty
Podstawy Informatyki Wykład X

Projektowanie Systemów Inf.

Bazy danych Access KWERENDY

Baza danych Uczniowie.mdb

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Bazy danych Access KWERENDY

Konspekt zajęć dotyczących kwerend

Zapytania do bazy danych

Kwerendy (zapytania) wybierające

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Systemy GIS Tworzenie zapytań w bazach danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe)

MS Access - bazy danych.

Język SQL, zajęcia nr 1

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

SQL - Structured Query Language. strukturalny język zapytań

Relacyjne bazy danych. Podstawy SQL

Przestrzenne bazy danych Podstawy języka SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

ACCESS ćwiczenia (zestaw 1)

Bazy danych SQL Server 2005

Technologia informacyjna. Bazy danych MS Access

Autor: Joanna Karwowska

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

ECDL/ICDL Zaawansowane użytkowanie baz danych Moduł A3 Sylabus, wersja 2.0

SQL (ang. Structured Query Language)

Komputerowe systemy zarządzania. Część I: relacyjna baza danych

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do baz danych

Obsługa pakietu biurowego OFFICE

8.9. Język SQL Kwerenda wybierająca w języku SQL

Bazy danych - wykład wstępny

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kwerendy, czyli zapytania. Opracowała: I. Długoń

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

TEST E.14 BAZY DANYCH

P o d s t a w y j ę z y k a S Q L

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Język Query-By-Example (QBE) w SZBD Microsoft Access

Autor: Joanna Karwowska

Wykład 5. SQL praca z tabelami 2

Bazy danych. Polecenia SQL

INFORMATYKA W SELEKCJI

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

WPROWADZENIE DO BAZ DANYCH

ACESS- zadania z wykorzystaniem poleceń SQL

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Podstawowe zapytania SELECT (na jednej tabeli)

MsAccess ćwiczenie nr 3 Kwerendy wybierające cd oraz kwerendy funkcjonalne

Microsoft Access 2003 tworzenie i praktyczne wykorzystanie baz danych

Projektowanie baz danych

Zadania z SQLa (MS SQL Server)

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Autor: Joanna Karwowska

Bazy danych. dr inż. Arkadiusz Mirakowski

Scenariusz lekcji. Scenariusz lekcji. podać definicję filtru w bazie danych; wymienić i opisać kwerendy funkcjonalne;

Paweł Rajba

WPROWADZENIE DO OBSŁUGI BAZ DANYCH MS ACCESS 2007(2010)

ACCESS 2007 Tworzymy bazę danych plik: filmoteka.accdb

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Pojęciowy model danych etap 1 (identyfikacja obiektów) Pojęciowy model danych etap 2A (powiązania obiektów)

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Wykład 05 Bazy danych

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Bazy Danych. Wykład VI Formularze. Copyright by Arkadiusz Rzucidło 1

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Spis treści. Lekcja 1: Podstawy baz danych 1. Lekcja 2: Tworzenie tabel bazy danych 31. Umiejętności do zdobycia w tej lekcji 31

5. Bazy danych Base Okno bazy danych

MATERIAŁY SZKOLENIOWE ACCESS PODSTAWOWY

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

ECDL Advanced Moduł AM5 Bazy danych Syllabus, wersja 2.0

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Przykładowa baza danych BIBLIOTEKA

MS Access - bazy danych. Ćwiczenia.

Baza danych kwerendy, formularze, raporty

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Struktura drzewa w MySQL. Michał Tyszczenko

Wykład 6. SQL praca z tabelami 3

BAZY DANYCH Formularze i raporty

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Kiedy i czy konieczne?

Ćwiczenia. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Bazy danych. Dr inż. Paweł Kasprowski

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Transkrypt:

Bazy danych Wykład V Kwerendy Copyrights by Arkadiusz Rzucidło 1

Wprowadzenie Istotą bazy danych jest możliwość efektywnego wyszukiwania informacji Realizację operacji wyszukiwania zapewniają kwerendy (ang. Query) Są obok tabel podstawowymi obiektami bazy danych Definiują schemat wyszukiwania informacji MS ACCESS udostępnia dwie formy definiowania kwerend SQL (Structured Query Language) QBE (Query By Example) Copyrights by Arkadiusz Rzucidło 2

Zadania kwerend Są źródłem danych dla interfejsu bazy danych (formularze, raporty, strony WWW) Służą jako źródło danych dla kwerend złożonych Pobierają dane spełniające określone kryteria Wykonują zaplanowane działania na pobranych danych Wiążą kilka tabel lub kwerend, aby w określony sposób przedstawić użytkownikowi z nich dane pobrane Wykonują grupowanie, porządkowanie i wyliczają dane znajdujące się w tabelach lub innych kwerendach Copyrights by Arkadiusz Rzucidło 3

Typy kwerend Widok kwerendy * Widok projekt QBE Widok arkusza danych Widok składni SQL Widok tabeli przestawnej Widok wykresu przestawnego Typy kwerend Wybierające Krzyżowe Tworzące tabele Aktualizująca Dołączająca Usuwająca */ widoki właściwe dla wersji Access 2002 Copyrights by Arkadiusz Rzucidło 4

Typy kwerend Kwerendy wybierające Najczęściej tworzone kwerendy Proste warunki logiczne definiujące sposób wybierania rekordów Łatwe w konstrukcji 90% kwerend to kwerendy wybierające Kwerendy krzyżowe wyświetla wartości sumowane (sumy, zliczenia i średnie) z jednego pola w tabeli i na podstawie jednego zestawu faktów grupuje je (po lewej stronie arkusza danych, a na podstawie drugiego zestawu faktów w górnej części arkusza) Copyrights by Arkadiusz Rzucidło 5

Typy kwerend Kwerendy funkcjonalne Pozwala na wprowadzenie zmian w wielu rekordach za pomocą jednej zadanej procedury Istnieją cztery rodzaje kwerend funkcjonalnych: Tworzące tabele Usuwające Dołączające Aktualizujące Copyrights by Arkadiusz Rzucidło 6

Typy kwerend Kwerenda tworząca tabelę. Tworzy nową tabelę z wszystkich lub części danych znajdujących się w jednej lub kilku tabelach. Kwerendy tworzące tabele są przydatne w następujących sytuacjach: Tworzenie tabel, które mają być eksportowane do innych baz danych programu Microsoft Access, Tworzenie raportów zawierających dane od określonego momentu, Tworzenie kopii zapasowej tabeli, Tworzenie tabeli archiwalnej, zawierającej nieaktualne rekordy, Poprawienie sprawności działania formularzy i raportów utworzonych na podstawie kwerend korzystających z danych z wielu tabel. Kwerenda usuwająca. Usuwa grupę rekordów z jednej lub kilku tabel. Na przykład można usunąć z bazy danych rekordy chorych przeniesionych na inny oddział. Użycie kwerendy usuwającej powoduje usunięcie całych rekordów, nie zaś wybranych pól w rekordach. Copyrights by Arkadiusz Rzucidło 7

Typy kwerend Kwerenda dołączająca. Dodaje grupę rekordów z tabeli lub tabel na końcu innej tabeli lub tabel. Kwerendy dołączające są również przydatne w następujących sytuacjach: Dołączanie pól wybranych na podstawie kryteriów. Na przykład można dołączyć tylko nazwiska i adresy pacjentów nie leczonych Dołączanie rekordów w sytuacji, gdy część pól jednej tabeli nie ma swoich odpowiedników w drugiej tabeli Kwerenda aktualizująca. Dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach. Na przykład można aktualizować wiek wszystkich pacjentów Za pomocą kwerend aktualizujących można zmieniać dane w istniejących tabelach Copyrights by Arkadiusz Rzucidło 8

Konstrukcja kwerendy Tabela (jedna) bądź Tabele (kilka) Kwerenda Określone warunki wyboru pól i rekordów z tabel(i) Tabela wirtualna tylko z określonymi Polami i rekordami Pole: Imię Nazwisko Adres Kryteria: warunek 1 warunek 2 i warunek 3 Lub: lub warunek 4 i warunek 5 Copyrights by Arkadiusz Rzucidło 9

Warunki oraz operatory operator porównywania tekstu LIKE ``maska`` np. dla pola nazwisko, Like ``W*`` operatory relacji <, >, >=, <=, =, <> np. dla pola ocena, >4 operatory logiczne AND (iloczyn logiczny, koniunkcja) OR (suma logiczna, alternatywa) NOT (negacja, występuje z operatorem And, Or) Copyrights by Arkadiusz Rzucidło 10

Warunki i operatory Operator przynależenia do listy IN IN (element 1; element2;...) np. dla pola imię, In(``Adaś``;``Kasia``;``Basia``) dla pola ocena, In(2;3;4) Operator zawierania się w przedziale Between... And... np. dla pola ocena, Between 2 And 5 inaczej >=2 And <=5 Warunek do pól z datami #data# np. > #98-01-01# Copyrights by Arkadiusz Rzucidło 11

Kolumny wirtualne Kolumną wirtualną jest pole którego wartości nie są danymi zawartymi w bazie danych Zwykle są to pola wyliczeniowe lub złączenia łańcuchów znakowych (pól typu text) Pełnią funkcję dodatkową przezentacyjną Pole: Tytuł Cena Nowa cena: [Cena]+20 Kryteria: Ta kolumna fizycznie nie istnieje Copyrights by Arkadiusz Rzucidło 12

Grupowanie danych ISBN Tytuł Wydawnictwo 123xc3 Analiza... PWN 234er54 Topologia NT 2qw34w Geometria PWN Ile książek jest wydanych przez PWN? 356ty72w Algebra NT 12563w Logika... PWN q12344 Algebra... NT Copyrights by Arkadiusz Rzucidło 13

Podsumowania Wydawnictwo Tytuł PWN 90 Tytuł jest zliczony NT 23 WSiP 45... Wartość powtarzająca się jest wyświetlana tylko raz Copyrights by Arkadiusz Rzucidło 14

Grupowanie i podsumowania Pole: Wydawnictwo Tytuł Podsumowania: Grupuj według Policz Kryteria: Tu można stosować różne funkcje Pole: Wydawnictwo Rok wydania Tytuł Podsumowania: Grupuj według Grupuj wg Policz Kryteria: Copyrights by Arkadiusz Rzucidło 15

Projektowanie Kwerendy Korzystając z pomocy kreatora Wykonując projekt kwerendy Wybieranie źródła Wybór pól dla kwerendy Opracowanie kryteriów Uruchomienie kwerendy Copyrights by Arkadiusz Rzucidło 16

Przygotowanie kwerendy Wybieranie źródła Umieszczanie w kwerendzie tylko niezbędnych tabel i kwerend Dołączanie nowych tabel do istniejącej kwerendy Konieczność ustanowienia relacji pomiędzy współpracującymi tabelami w kwerendzie Wybór pól kwerendy Technika Drag&Drop Wybór pola z pola kombi po uprzednim określeniu źródła * oznacza wszystkie pola z tabeli Usuwanie pola Sortowanie rekordów kwerendy Określenie czy pole ma być widoczne Copyrights by Arkadiusz Rzucidło 17

Tryby pracy kwerend Widok QBE Widok SQL Copyrights by Arkadiusz Rzucidło 18

Określenie kryteriów Za pomocą konstruktora wyrażeń Odręcznie Kryteria z operatorami AND i OR Kryterium Opis "Kraków" "Rzeszów" or "Sanok" wartość pola jest Kraków wartość pola jest Rzeszów lub Sanok =#2005-02-02# wartość pola jest 2 luty 2005 r. Between #2005-01-01# and #2005-12-31# wartość pola ma mieścić się w przedziale czasu od 2005-01-01 do 2005-12-31 In ("Kraków","Rzeszów") Not "Warszawa" wartością pola ma być Kraków lub Rzeszów wartość pola nie może zawierać wartości Warszawa < Date()-30 wartość pola musi zawierać daty późniejsze niż 30 dni sprzed dzisiejszejszego dnia Year ([Data_ur])=1985 wartość pola daty urodzenia ma zawierać wszystkie daty z roku 1985 Like "C*" Like "*a" Like "[L-N]*" Left ([Miast],1)="O" tekst zacznający się od litery C tekst kończący się literą a Tekst zaczynający się na literę od L do N Tekst, którego pierwszyma znakiem od lewej strony jest litera "O" Copyrights by Arkadiusz Rzucidło 19

Kwerendy parametryczne Umożliwiają interakcję z użytkownikiem podczas generowania zestawu rekordów Przykłady: Jeden parametr: > [ Podaj wartość dla pola:] Dwa parametry: Between [Podaj wartość początku:] and [Podaj wartość końca:] Parametry z symbolami wieloznacznymi: LIKE [Podaj pierwszy znak dla wartości: ] & "*" Copyrights by Arkadiusz Rzucidło 20

Kwerendy usuwające Automatyzują proces globalnego usuwania rekordów z bazy danych Wybranie odpowiednich tabel dla konstrukcji kryteriów usuwania rekordów Opracowanie kryteriów usuwania Kryteria proste Kryteria parametryczne Podczas konstrukcji kryteriów należy zwrócić uwagę na ich poprawność (kwerenda wybierająca) Usuwanie Gdzie kryterium Skąd jakiej tabeli dotyczy operacja usunięcia Kwerenda usuwająca działa na całych rekordach (nie jest istotna liczba pól w kryterium) Copyrights by Arkadiusz Rzucidło 21

Przykład: Biblioteka Copyrights by Arkadiusz Rzucidło 22

Defragmentacja bazy danych Wiele operacji usuwania wiele dziur w bazie danych Access rezerwuje rozmiar pliku dla danych ale nie zmniejsza go jeśli dane są usuwane Proces defragmentacji usuwa puste miejsca ze struktury bazy danych Uruchomienie: Menu>>Narzędzia>>Narzędzia bazy danych>>kompaktuj i napraw bazę danych Copyrights by Arkadiusz Rzucidło 23

Kwerenda dołączająca Pobiera dane z jednej tabeli lub kwerendy i dołącza je do innej tabeli Archiwizacja danych Copyrights by Arkadiusz Rzucidło 24

Kwerendy znajdujące krańcowe wartości Copyrights by Arkadiusz Rzucidło 25

Kwerendy aktualizujące Zmienia zawartość pól docelowej tabeli Działa na polach a nie na całych rekordach Usuwanie rekordów kwerenda usuwająca Usuwanie/zmiana wartości pól dla rekordów kwerenda aktualizująca Copyrights by Arkadiusz Rzucidło 26

Kwerenda krzyżowa Jest dwuwymiarową macierzą z operacją matematyczną wykonywaną na każdym przesunięciu Copyrights by Arkadiusz Rzucidło 27

Kwerenda tworząca tabelę (UNION) Składa zbiory rekordów pochodzących z różnych tabel w jeden element wynikowy - tabelę Copyrights by Arkadiusz Rzucidło 28

Składanie SQL Kwerenda parametryczna SELECT Czytelnik.* FROM Czytelnik WHERE (((Czytelnik.Data_ur)=[Podaj datę])); Kwerenda usuwająca DELETE Czytelnik.*, Czytelnik.Miejscowosc FROM Czytelnik WHERE (((Czytelnik.Miejscowosc)="rzeszów")); Copyrights by Arkadiusz Rzucidło 29

Składanie SQL Kwerenda dołączająca INSERT INTO [Kopia Czytelnik] SELECT Czytelnik.* FROM Czytelnik WHERE (((Czytelnik.Miejscowosc)="rzeszów")); Kwerenda aktualizująca UPDATE Ksiazki SET Ksiazki.www = "http://www.helion.pl" WHERE (((Ksiazki.wydawnictow)="Helion")); Copyrights by Arkadiusz Rzucidło 30

Składnia SQL Kwerenda znajdująca krańcowe wartości SELECT TOP 5 Count(Zdarznia.data_wypozyczenia) AS PoliczOfdata_wypozyczenia, Czytelnik.Imie, Czytelnik.Nazwisko FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Imie, Czytelnik.Nazwisko HAVING (((Count(Zdarznia.data_wypozyczenia)) Is Not Null)) ORDER BY Count(Zdarznia.data_wypozyczenia) DESC; Copyrights by Arkadiusz Rzucidło 31

Składnia SQL Kwerenda krzyżowa TRANSFORM Count(Zdarznia.ID_zdarzenia) AS PoliczOfID_zdarzenia SELECT Czytelnik.Nazwisko FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Nazwisko PIVOT Ksiazki.Klasa; Copyrights by Arkadiusz Rzucidło 32

Składnia SQL Kwerenda tworząca tabelę nowa_tabela SELECT Czytelnik.Nazwisko, Ksiazki.Klasa, Count(Zdarznia.ID_zdarzenia) AS Wypozyczenia INTO nowa_tabela FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Nazwisko, Ksiazki.Klasa; Copyrights by Arkadiusz Rzucidło 33

Koniec Źródła: L.Welling, L.Thomson; PHP i MySQL. Tworzenie stron WWW, Helion 2002. http://home.pl/support/ J.D.Ullman, J.Widom; Podstawowy Wykład z Systemów Baz Danych, WNT 2003. Copyrights by Arkadiusz Rzucidło 34