Domů > Odborné články > Gymnaziální vzdělávání > Několik podnětů k výuce databází
Odborný článek

Několik podnětů k výuce databází

8. 11. 2011 Gymnaziální vzdělávání
Autor
Jana Vaňková
Spoluautor
RNDr. Michal Černý Ph.D.

Anotace

Podle RVP pro gymnázia by měla být součástí výuky také práce s databázemi. Jde jistě o téma značně obsáhlé, ale také praktické a zajímavé. Pokud je na středních školách probíráno, obvykle skončí u aplikací jako je MS Access, což je škoda – nedává totiž žákům vhled do toho, kde všude se v informatice databáze využívají.

Zřejmě každému, kdo se pohybuje v oblasti informatického vzdělávání na středních školách, je jasné, že výuka je determinována řadou faktorů – na jedné straně stojí poměrně hodně obecné RVP, na straně druhé tradice výuky kancelářských aplikací a jistá neochota žáků jít směrem k teoretické informatice, neboť v ní nevidí dostatečnou užitečnost. Učitel, který se rozhodne jít do partií, které se mohou jevit jako méně praktické, se musí připravit na otázky „k čemu je to dobré“ nebo nabídnout dostatečně dobrou motivaci.

Následující článek není kompletním souborem toho, jak databáze učit nebo jak žáky globálně motivovat, ale souborem několika málo podnětů k výuce databázových systémů na středních školách. Jde o téma poměrně zásadní z hlediska fungování většiny služeb a základní seznámení se bude hodit jak těm žákům, kteří se chtějí profilovat informaticky, tak také budoucím sociologům, psychologům či téměř každému, kdo se pustí do podnikání.

Myslím, že právě na tom by se mělo stavět. Aby žáci získali elementární představu o tom, co databáze umí, jaké jsou jejich možnosti, jakým způsobem fungují, a věděli tak, co od nich mohou očekávat.

Jistě bude konkrétní výuka záležet na tom, jaký prostor může pedagog problematice věnovat – pokud jednu či dvě hodiny, tak jistě půjde jen o zcela povšechné seznámení a ukázání Access či Base. Zcela jiný postup si může dovolit pedagog mající k dispozici hodin dvacet nebo celý seminář. Jistě bude výuka tvorby internetových stránek nabízet prostor pro práci s databázemi větší než základní středoškolský kurz. Pedagog tedy bude muset velmi pečlivě zvažovat, co je pro jeho žáky nejpřínosnější a co je možné naopak výrazně zjednodušit či zcela pominout. 

Entity-relationship model

Asi není možné na střední škole začít výuku s relační algebrou a myslím, že není třeba se jí ani nějak zvláště věnovat, neboť ji reálně použijí jen odborníci na databázové systémy, což středoškoláci (obvykle) nejsou. Naopak poměrně přehledným a pěkným přístupem k tomu, aby žáci pochopili, jak se databáze tvoří a jak pracují, může být grafické modelování. Pokud se navíc žáci vedou k přesné a systematické práci s nimi, je následný přepis (například do relační databáze či nějaké aplikace) poměrně jednoduchý a přehledný.

Žáci se na něm mohou naučit základním vlastnostem relačních databází a uvažovat nad jejich strukturou, což je významná část výuky. K tomuto grafickému modelování se používá nejčastěji Entity-relationship model. O konkrétním grafickém výsledku se pak hovoří jako o ER diagramu.

ER diagram je složen z několika jednoduchých komponent, které se následně skládají dohromady. Počet symbolů není velký, ale i tak si myslím, že na gymnáziu si vystačíme s poměrně omezenou množinou prvků.

  • Obdélníkem značíme entitu, tedy abstrakci nějakého jsoucna.
  • Oválem je definován atribut, tedy nějaká vlastnost entity. Pokud jde o složený atribut, značím jej dvojitým oválem.
  • Kosočtverec znační vztah či relaci mezi entitami.
  • Slabou entitu či slabou relaci značíme pomocí dvojité čáry.
  • Primární klíč značíme pomocí podtržení.
  • Sekundární klíč pomocí přerušovaného podtržení.
  • Trojúhelníkem s nápisem IS-A ošetřujme generalizaci či specializaci.
  • Jednotlivé prvky spojujeme úsečkami. Chceme-li naznačit vztah jedinečný, napíšeme k dané entitě šipku. 

Pokud se žáci naučí tato základní pravidla, jistě nebudou mít s jednoduchým návrhem databáze zásadní problém. Je samozřejmé, že je dobré přecházet od jednodušších návrhů k těm složitějším. Vzhledem k dalšímu zpracování návrhu je dobré, aby si žáci rozmýšleli jednak typy atributů (číslo, řetězec, pravdivostní hodnota) a také co bude klíčem. Myslím, že je vhodné vedení k tomu, aby hned od začátku rozeznávali primární klíč, podle kterého se jednoznačně identifikuje prvek a sekundární klíče. To je věc velmi důležitá.

Autor díla: Jana Vaňková

ER diagramů je pak poměrně jednoduchý přechod k reálným aplikacím. Pro jejich záznam je možné používat například MS Visio, Dia či ERwin a mnohé další. Může být také zajímavé propojit výuku návrhu databáze s myšlenkovými či konceptuálními mapami. 

Proč databáze?

Zřejmě základní věc, která by měla být žákům zřejmá, je, proč se databázemi vlastně zabývat, k čemu jsou dobré. Zde by měl pedagog umět dobře žáky motivovat a ukázat jim, kde všude se databáze využívají a že jsou všude kolem nás. Jistě je dobré začít od příkladů, které nejsou žákům vzdálené. Třeba telefonním seznamem v mobilním telefonu a hned to propojit s tím, že příjmení nemůže být primárním (za určitých okolností) klíčem a že podstatně lepším primárním klíčem by bylo třeba telefonní číslo, protože podle něj mohu vyhledávat. Dále je možné mluvit o domácí filmotéce nebo seznamu hudby. Tak může vzniknout celé panorama toho, kde se běžně databáze vyskytují.

Může být zajímavé jít i cestou hlubší a ukázat žákům, jak jsou používané databáze například v redakčních systémech nebo diskusních fórech. Jde o relativně průhlednou část, kterou není problém žákům přímo ukázat.

Pokud již máme zmapovaný terén a žáci vědí, co to databáze je a k čemu je dobrá, je možné přistoupit k diskusi o tom, jak by měla databáze vypadat, jakým způsobem se v ní bude vyhledávat a případně které funkce by měla mít. Obvykle se poměrně rychle přijde s konceptem tabulky a funkcemi, které má Excel. Zde je pak dobré žákům vysvětlit, proč i přes poměrně velkou podobnost není databáze v tabulkovém procesoru příliš dobrý nápad.

Osobně si myslím, že je-li čas, je na tomto místě možné žákům představit některé specializované aplikace pro různé databázové účely – správce, hudby, knih, filmů, DVD. Na internetu je možné jich najít desítky. Mohou posloužit jako poměrně dobrý odrazový můstek v hlubším formování pochopení toho, jakým způsobem pracují databáze. 

Access, Base, Google Fusion Tables

Myslím, že jako třetí krok v cestě k osvojení si databází budou stát jednoduché aplikační nástroje. Jednoduché nikoli ve svých možnostech, které žák základního středoškolského kurzu zřejmě nikdy neocení a nepojme, ale ve smyslu možnosti ovládání a základní manipulaci s databázemi. Naskýtá se tak otázka jak s podobnými nástroji naložit. Přistoupit k nim má cenu až ve chvíli, kdy žák zvládne návrh databáze, rozumí relacím, entitám a atributům a je schopen uvažovat o operacích v rámci databází, jako jsou vyhledávání, filtrování, přidávání položek atp. Pak se nabízí tyto programy jako jednoduchou (zatím nikoli programátorskou) cestou k databázím.

Zde je dobré respektovat to, že Access i Base jsou především kancelářské nástroje a nemá tedy valného významu se s nimi pouštět například do tvorby nějakých webových struktur. Zde by se mělo spíše ukázat, k čemu prakticky lze databáze využít.

Je možné začít naprostou trivialitou, jako je adresář s kontakty, a přejít pak třeba k zajímavějším projektům. Žáci by třeba mohli vytvořit databázi s knihami ve školní knihovně (jistě jen s malou modelovou ukázkou nebo jim nějak nachystat možnost importu dat, což je ještě lepší varianta) a databázi studentů, kteří si půjčují knihy. Možností, co by takový systém mohl umět, je celá řada – od kontroly výpůjček, hlídání limitů až třeba po hlídání poplatků. Samozřejmě je možné ukázat jim, jak lze pomocí databáze snadno evidovat zboží, pracovat se zaměstnanci, atp. Další možnou aplikací může být databáze třídního učitele, která bude mít ve své výbavě seznam žáků s patřičnými informacemi a seznamem známek ze všech předmětů.

Je samozřejmě dobré naučit žáky s databází vhodně manipulovat nebo jim ukázat možnosti exportu dat.

Pěknou ilustrací toho, jak může vypadat databáze velmi netradiční, která leží těsně před zavedením SQL, je Google Fusion Table. Ta umožňuje vytvořit si tabulku nebo ji importovat  a pracovat s ní vizuálně jako s databází. Data je pak možné modifikovat, třídit, všemožně analyzovat a třeba také zobrazovat na mapě (pokud je přítomen sloupec s položkou místo). Od formulářového pojetí Accessu se tak žák dostává k tabulce, se kterou je možné poměrně efektivně manipulovat. S tabulkou je možné provádět téměř všechny operace relační algebry a to poměrně nenásilně – stačí zadat žákům dvě tabulky a říci, aby je spojili a na mapu vykreslili jen ty uživatele, kteří mají na kontě více než milión dolarů či cokoli jiného v závislosti na předložených tabulkách. 

SQL?

Určitou třešničkou na dortu, ke které se dostanou zřejmě jen žáci vybraných seminářů, je výuka SQL. Na prvním místě je třeba říci, že jde o jazyk poměrně hodně jednoduchý a velice praktický, který použijí tvůrci webových stránek i další programátoři. Osobně si myslím, že pokud žáci mají dobře zvládnuté ER diagramy a Google Fusion Table, pak již jde jen o poměrně jednoduché zavedení jazyka a do reálné „profesionální“ tvorby databází lze vstoupit.

Po základním exkurzu se přidají různé pohledy, hlídače a další drobnosti, ale základní práci s databázemi je možné rozvinout během několika minut. Pokud k výuce SQL přistoupíme, pak osobně doporučuji využívat MySQL – je jedním z nejrozšířenějších databázových systémů, dobře odpovídá referenčnímu jazyku a je bezplatný, takže jej může používat každý doma.

Pokud jde o praktickou výuku, pak je možné jít cestou zcela konkrétních aplikací – aby žáci zvládli nainstalovat na web Drupal či WordPress, poradili si s provázaností s PHP, atp. Zde již záleží na zaměření školních projektů.

Závěrem

Co by si měl žák z výuky databází odnést? Předně představu o tom, že databáze stojí v pozadí řady aplikací a webů, které běžně používá. Za druhé by měl získat povědomí o různých možných databázových systémech a paradigmatech, měl by být schopen jednodušších databázových návrhů s ER diagramy a měl by mít představu o tom, k čemu je možné databáze efektivně používat. Pokud se k tomu připojí alespoň základní znalost Base či Accessu, bude možné výuku považovat za úspěšnou. Ti nejlepší pak budou schopni použít základy SQL a nástrojů jako je  Google Fusion Table. To je ale spíše již zajímavost nežli bazální učivo. 

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Hodnocení od recenzenta

Tým RVP.CZ
8. 11. 2011
Článek ukazuje možnosti, jak seznámit studenty s databázemi a uvádí i několik příkladů z praxe, které mouhou studentům posloužit k vytvoření představy a přehledu o využití databází v praxi. Vyučujícím by mohl článek pomoci při rozhodování, které databáze patří mezi ty, o nichž by měl mít student povědomí.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Článek pro obor:

Informatika a informační a komunikační technologie