Bazy danych, DQL. SQL Joins.
Autor/autorka
Tomasz Pytlak
1. Etap edukacyjny i klasa
szkoła ponadpodstawowa - liceum- klasa IV
2. Przedmiot
informatyka
3. Temat zajęć
Bazy danych, DQL. SQL Joins.
4. Czas trwania zajęć
90 minut
5. Uzasadnienie wyboru tematu
Bazy danych stanowią fundament każdego podmiotu w kontekście systemów IT. Jest jednym z elementów systemu informatycznego, bez którego żadna firma, instytucja, uczelnia czy szkoła nie może istnieć. Oprócz baz danych niezbędne jest łącze internetowe i oprogramowanie zapewniające transmisję danych miedzy różnymi podmiotami. Zgromadzone i przetworzone dane stanowią podstawę do dalszych analiz. Stanowią źródło dla arkuszy kalkulacyjnych, których możliwości pozwalają pozyskać dane przetworzone i agregowane na potrzeby wizualizacji w formie końcowych tabel i wykresów.
6. Uzasadnienie zastosowania technologii
Projektowanie baz danych musi odbywać się w środowisku najbardziej zbliżonym do realiów. Absolwenci szkół średnich w klasach matematyczno‑informatycznych powinni być przygotowani na wyzwania wynikające z wyboru kierunku studiów. Coraz częściej absolwenci poszukują dodatkowej pracy lub możliwości podjęcia praktyk, by jak najszybciej weryfikować swoje umiejętności i wiedze nabytą w szkole średniej. Na nauczycielu informatyki spoczywa ogromna odpowiedzialność, gdyż w niedalekiej przyszłości może się okazać, że czas spędzony w szkole został bezpowrotnie stracony. XAMPP to darmowy, zintegrowany pakiet, składający się z serwera Apache, bazy danych MySQL i interpreterów dla skryptów napisanych w PHP i Perlu. Nazwa XAMPP jest akronimem od X (ang. cross‑platform), Apache, MySQL, PHP, Perl. Spełnia najbardziej subtelne wymagania od strony DDL, DML i DAL w kontekście Podstawy programowej z przedmiotu Informatyka w zakresie tworzenia aplikacji bazodanowej, w tym sieciowej, wykorzystującej język zapytań, kwerendy, raporty; zapewnienia integralności danych na poziomie pól, tabel, relacji (IV - II.2:a,b,c).
7. Cel ogólny zajęć
Swobodne poruszanie się po obiektach bazy danych. Budowanie kwerend o podwyższonym stopniu trudności z wykorzystaniem złączeń.
Poprzednie zajęcia: Kwerendy proste Następne zajęcia: Kwerendy o podwyższonym stopniu trudności wykorzystujących dane z wielu tabel tworzących relacyjny model bazy danych.
8. Cele szczegółowe zajęć
Wzajemne powiązania między danymi, opis z wykorzystaniem pojęć teorii mnogości. Postać formuł w rachunku predykatów.
Matematyczny opis kwerend SQL Joins z wykorzystaniem diagramów Venna i kół Eulera. Definicja przypadków relacji dla dwóch zbiorów.
Przykład relacji: Inner Join, Left Join, Right Join, Left Join Exluding Inner Join, Right Join Exluding Inner Join.
9. Metody i formy pracy
Przygotowanie się do zajęć od strony teoretycznej:
Przeczytanie materiału z książki, Pytlak Tomasz, Informatyka, Podręcznik szkoły ponadpodstawowej, program rozszerzony, Bazy danych, ISBN: 978‑83‑955339‑1-4;
Przeczytanie wskazanych artykułów z Internetu: epodreczniki.pl, members.upcpoczta.pl/t.pytlak.
Omówienie problemu, dyskusja.
XAMPP:
praca z własną bazą danych;
projekt kwerend na podstawie zadanych założeń;
uruchomienie kwerend;
uzupełnienie zbioru kwerend o zrealizowane na zajęciach.
Umieszczenie wyników pracy w Notesie zajęć Teams, w miejscu wskazanym przez nauczyciela.
10. Środki dydaktyczne
Komputer;
Internet;
Oprogramowanie XAMPP;
Teams, karta pracy z ćwiczeniami;
Teams, karta pracy przeznaczona na wyniki;
Nauczyciel jako tutor;
Rzutnik do wspomagania przekazu;
Książka, Pytlak Tomasz, Informatyka, Podręcznik szkoły ponadpodstawowej, program rozszerzony, Bazy danych, ISBN: 978‑83‑955339‑1-4;
Artykuły autorskie: epodreczniki.pl;
Sekcja Przetwarzanie danych na stronie members.upcpoczta.pl/t.pytlak.
11. Wymagania w zakresie technologii
Wymagania wynikają z zastosowanych środków dydaktycznych:
Komputer z zainstalowanym oprogramowaniem XAMPP;
Dostęp do Internetu;
Konto w Teams;
Konto na epodreczniki.pl.
12. Przebieg zajęć
Aktywność 1
Temat: Wprowadzenie do tematyki zajęć. Teoretyczne omównienie oczekiwań. Zarysowanie związku z poprzednimi zajęciami, uogólnienia.
Czas trwania: 15 minut
Opis aktywności:
Wstęp teoretyczny, wzajemne powiązania między danymi.
Dyskusja na temat przeczytanych treści, stanowiących warunek konieczny do pełnego przyswojenia zagadnień poruszanych na zajęciach.
Omówienie schematów graficznych prezentujących wzajemne relacje między zbiorami.
Ogólna postać kwerend SQL Join w kontekście opisu teoretycznego.
Kręgi Eulera składają się z okręgów w dwuwymiarowej płaszczyźnie, z których każdy przedstawia zbiór danych. Wzajemne położenie okręgów pokazuje relacje między zbiorami. Każdy okrąg dzieli płaszczyznę na dwa podzbiory. Wewnętrzny symbolicznie reprezentuje dane należące do zbioru. Zewnętrzny reprezentuje dane, które nie należą do zbioru. Reprezentacja diagramowa pozwala przedstawiać rozumowania sylogistyczne, zwane kręgami lub kołami Eulera. Wyniknęła ona z postępującej zmiany interpretacji pojęć logicznych. Oprócz pierwotnej interpretacji - intensjonalnej (w terminach pojęć i ich cech) pojawiła się interpretacja ekstensjonalna (w terminach zbiorów obiektów wyznaczanych przez dane pojęcie lub posiadających daną cechę). Przy tej interpretacji zbiory obiektów występujące w sylogizmie można było reprezentować kołami, a relacje rachunku zbiorów (zawieranie się i przecinanie tych kół) okazały się dobrze odpowiadać czterem relacjom między pojęciami, które mogą występować w zdaniach sylogizmu.
W teorii relacji w bazach danych rozpatrywane są przypadki szczególne kół Eulera. Należą one do kwerend SQL Joins.
Każdą relację można opisać korzystając z symboliki teorii zbiorów.
Aktywność 2
Temat: Projekt kwerend SQL Join na podstawie indywidualnych kart pracy. Uruchomienie projektów.
Czas trwania: 30 minut
Opis aktywności:
Włączenie komputera;
Uruchomienie oprogramowania XAMPP;
Włączenie indywidualnej bazy danych;
Projekt kwerend na podstawie struktury danych;
Uruchomienie i weryfikacja błędów;
W przypadku trudności zgłaszanie problemów nauczycielowi;
Rozwiązywanie problemów po udzielonych indywidualnie wskazówkach;
Interpretacja wyników.
create database szukampracy;
create table pracownicy(
ID char(5),
Nazwisko char(20),
Imie char(20),
Zarobki decimal(8,2),
IdSt char(2),
IdPl char(1),
Adresemail char(20),
primary key (ID));
create table firmy(
NIP char(13),
Nazwa char(50),
Miasto char(20),
IDP char(5),
primary key(NIP));
LOAD DATA INFILE 'pracownicy.csv'
INTO TABLE pracownicy
FIELDS TERMINATED BY ';'
ENCLOSED BY '”'
LINES TERMINATED BY '\r\n';
LOAD DATA INFILE 'firmy.csv'
INTO TABLE firmy
FIELDS TERMINATED BY ';'
ENCLOSED BY '”'
LINES TERMINATED BY '\r\n';
Aktywność 3
Temat: Uzupełnienie karty pracy. Projekty kwerend.
Czas trwania: 30 minut
Opis aktywności:
Zaprojektowanie kwerend SQL Joins:
Wszystkie S są P
Żadne S nie są P
Niektóre S są P
Niektóre S nie są P
Oczekiwane realizacje (przykłady):
SELECT pracownicy.ID, firmy.NIP
FROM pracownicy
INNER JOIN firmy
ON pracownicy.ID = firmy.IDP;
SELECT pracownicy.ID, firmy.NIP
FROM pracownicy
LEFT JOIN firmy
ON pracownicy.ID = firmy.IDP;
SELECT firmy.NIP, pracownicy.ID
FROM pracownicy
RIGHT JOIN firmy
ON pracownicy.ID = firmy.IDP;
OUTER [Brak wsparcia] (CROSS)
SELECT pracownicy.ID, firmy.NIP
FROM pracownicy
LEFT JOIN firmy
ON pracownicy.ID = firmy.IDP
WHERE firmy.IDP Is Null;
SELECT firmy.NIP, pracownicy.ID
FROM pracownicy
RIGHT JOIN firmy
ON pracownicy.ID = firmy.IDP
WHERE pracownicy.ID Is Null;
SELECT pracownicy.ID, firmy.NIP
FROM pracownicy
LEFT JOIN firmy
ON pracownicy.ID = firmy.IDP
WHERE firmy.IDP Is not Null
union
SELECT firmy.NIP, pracownicy.ID
FROM pracownicy
RIGHT JOIN firmy
ON pracownicy.ID = firmy.IDP
WHERE pracownicy.ID Is not Null;
Aktywność 4
Temat: Omówienie wyników. Wymiana doświadczeń między uczniami. Praca domowa.
Czas trwania: 15 minut
Opis aktywności:
Prezentacja projektów indywidualnie przez uczniów.
Wypracowanie schematów.
Wstawienie wyników wraz z opisem do Notesu zajęć (Teams) do obszaru współpracy.
Zadanie domowe:
Zaprojektować kwerendy ze zbioru zadań, wskazane przez nauczyciela;
Przeczytać materiały pod kątem kwerend wykorzystujących dane z trzech tabel.
13. Sposób ewaluacji zajęć
Nauczyciel - tutor, indywidualna praca z każdym uczniem;
Bieżąca weryfikacja postępów, wskazywanie błędów;
Częściowe zaliczenia, po każdej uruchomionej kwerendzie;
Wskazywanie związku przyczynowo‑skutkowego z poprzednimi zajęciami;
Omówienie wyników i wskazanie kierunków dalszej pracy w kontekście kolejnych zajęć.
14. Licencja
CC BY‑NC 4.0 - Uznanie autorstwa‑Użycie niekomercyjne 4.0 Międzynarodowe. Przejdź do opisu licencji
15. Wskazówki dla innych nauczycieli korzystających z tego scenariusza
Pliki csv znajdują się na stronie autora:
http://members.upcpoczta.pl/t.pytlak/access/index.htm
Książki:
Tomasz Pytlak, Informatyka
Tomasz Pytlak, Bazy danych
Tomasz Pytlak, Arkusze kalkulacyjne
Tomasz Pytlak, Programowanie i algorytmy
16. Materiały pomocnicze
17. Scenariusz dotyczy Zintegrowanej Platformy Edukacyjnej
Tak
18. Forma prowadzenia zajęć
dowolna