Školstvo - výučba Access - váš názor

Abstrakciu na strednej, to má ďaleko od reality. To je ako učiť z opačného konca. Abstrahovať sa dá až z nejakého základu. Najskôr možno v 3. - 4. ročníku, ak prvé dva roky získajú vhodné základy. Matematikov z nich všetkých neurobíme. špeciálne ak je reč hlavne o SPŠkách…

Ja som vyučoval databázu a SQL v mojej firme úplných začiatočníkov (v podstate sekretárky), a veľmi dobre mi poslúžil OpenOffice Base: https://www.openoffice.org/product/base.html

Je to v podstate OpenSource (zdarma) alternatíva MS Access, ale optori MS Access má aj veľa ďalších výhod:

  • keďže je opensource, môže si ho ktokoľvek nainštalovať na svojom počítači v plnej verzii, bez nutnosti licencie
  • ako databázu používa HSQL, čo je pomerne plnohodnotná SQL databáza oproti tej, ktorá je v Accesse
  • dajú sa tam jednoducho naklikať tabuľky ako v Accesse, ale takisto jednoducho sa tam dá pracovať priamo s SQL
  • dajú sa napojiť aj iné databázy ako MySQL, takže sa potom dá ľahko vysvetliť čo je to databáza a čo iba klikacie rozhranie k databáze (frontend), dajú sa ukázať aj iné klikacie rozhrania s tou istou databázou (napr. MySQL Workbench)
  • a v neposlednom rade funguje na Windows, Linux, Mac

Už v princípe som zástanca toho, aby sa v štátnych inštitúciách používali skôr opensource produkty ak sú dostatočne dobré, a komerčné alternatívy ako MS Office a ďalšie len ako doplnok. A OpenOffice Base je určite aspoň tak dobre použiteľný na výuku ako MS Access, pričom poskytuje veľa ďalších výhod ako som spomenul vyššie.

Otázka ale znie, či sa má učiť 1,5 roka Access či akákoľvek podobná alternatíva ako OpenOffice Base. Či si Access zaslúži 1,5 roka a MySQL či iná alternatíva pol roka (ledva). Či je OK, ak potom kvôli 1,5 roka Access/OpenOffice Base zostáva čas na ostatné učené technológie ako PHP, MySQL len veľmi krátky. A či sa to niekde reálne používa natoľko, aby to zabralo toľko času. A tiež, či je správne učiť modelovať SQL vo vizuálnych editoroch Accesuu/OpenOffice Base. Aby sme ich neučili nesprávne postupy. Nejde o to, či sa to v tých aplikáciách dá, ale či je to správne.

Modelovanie vo vizualnych editoroch nepovazujem za zle, obrazok je predsa len lespi ako slova. Ale treba k tomu vysvetlit a ukazat to pozadie. Co znamena napriklad relacia 1:n a ako sa to prejavi v databaze. A taktiez ked sa potom vysvetluje objektovy model, tak ukazat, ze ta relacia v objektovom modeli je uplne opacne robena ako v SQL databaze (rodic ma zoznam svojich deti vs. deti vedia kto je ich rodic).

Ako priklad zleho vyucovania uvediem, ako sa vyucuje WORD. Skoro nikto nevie o tom, ze su tam styly a ze ich pouzivanie realne ulahcuje udrzbu dokumentov. Kazdy formatuje ako besny a potom ucesat taky dokument je utrpenie.
Teda chyba im vysvetlenie principu - strukturu dokumentu, vysvetlia im len ikonky v ribbon, teda je z nich cvicena opica.

1 Like

Reagoval som na použitie MS Access pri vyučovaní databáz a tam je Openoffice Base vhodnejší, lebo umožňuje nahliadnuť pod povrch a veľmi ľahko prejsť od klikania k SQL. Navyše tam je plnohodnotná SQL databáza narozdiel od MS Access.

Ak skôr rozmýšlaľ o tom, či vôbec učiť databázy alebo radšej programovací jazyk, tak to je iná otázka. Ja si myslím, že na priemernej škole je dosť hardcore učiť čisto PHP a MySQL. To sa môže každý naučiť sám ak chce, alebo to môžu robiť matematické triedy. Vhodnejšie je začať práve niečím klikacím, či je to u databázy alebo programovania, preto sa na začiatku používa MS Access, Word, alebo z programovacích jazyk Logo či Baltazár (teraz už sú modernejšie alternatívy). Najlepšie je al použiť nástroj, kde je možný prechod na zložitejšie veci po povrchom, a v tom je napr. OpenOffice Base veľmi vhodný. Z programovacích jazykov neviem, ktorý je najvhodnejší, ale PHP učite nie. Možno ešte Javascript, ktorý sa dá ľahšie pochopiť cez prehliadač, ale syntax má otrasnú.

@Sveto @OndrejM … riešite veci, ktoré som nemal v úmysle riešiť. Neriešim, či niekto považuje modelovanie vo vizuálnych editoroch za zlé, ak by som riešil to, tak otázka znie (a aj trochu znela), či je správne učiť modelovanie štandardnej databázy v Accesse či OO Base a nie v editoroch tomu určených pre každú databázu, lebo pre nich to je väčšinou neprenosná skúsenosť - väčšina si neprenesie spôsoby naučené v Accesse na modelovanie v MS SQL, MySQL a pod. A to aj z toho dôvodu, že ja neviem, koľkí ste učili, ale pre väčšinu ľudí, deciek, čo prídu zo ZŠ na SŠ je to rovnaké, ako keby prišiel aj najlepší ajťák na medicínu - španielska dedina. Neprenášať svoje skúsenosti na ne. A ani ma nezaujíma, čo všetko sa dá v Accesse či OO Base, robil som v ňom roky. Tiež neriešim, či učiť databázy alebo programovací jazyk, navyše, opäť asi neskúsenosť z učenia, ale to už majú dané v osnovách odboru, zjavne to je odbor, kde sa toto učí. A nejdem ani rozoberať, či je hardcore učiť na strednej PHP, ja som ho učil na ZŠ a zvládali to a učiť ho až na VŠ, to je hardcore. Neriešme teda zbytočnosti. Celé je to takto:

  1. škola má svoje zameranie, resp. daný študijný odbor a tam patrí databázy aj programovanie
  2. škola vo 4. ročníku v prvom polroku robí praktickú maturitu, veľká časť práci je HTML/PHP/MySQL
  3. Access tvorí 1,5 roka (žiadne dotazy, len formuláre a pohľady s mixom VBA, napr. uppercase nad stĺpcom), MySQL ledva polroka, PHP začínajú často neskôr, než je čas na odovzdanie komplexnej práce, v Accesse, ktorý sa učia najviac, neodovzdávajú žiadne práce
  4. škola tvrdí, že Access učí nepomerne ostatným preto, lebo je “super” a každý ho používa

Moja otázka teda bola - používate tu profíci Access?? Tak výrazne, že je správne venovať mu najviac času?

Nezaujíma ma, čo všetko sa v ňom dá, ja viem, čo sa v jednom aj druhom dá, robil som s ním roky, mal som cezeň mapované aj MS SQL, keď bolo v projekte treba, ale to nie je podstata otázky. Podstata je - používate Access/OO Base tak výrazne, že mu je vhodne venovať toľko hodín? Nie je lepšie učiť ich rovno modelovať v niečom inom? Kedy sa majú naučiť čisté SQL potrebné do programovania, keď v tom Accesse nepíšu ani riadok SQL dotazov?

Ale riesime to iste, akurat z opacneho konca. Pre mna je access tool a vyberam ho vtedy ked viem co chcem a ci splna potreby. Skola zda sa navrhla tooly (access, php, mysql, html) a k tomu definuje co naucia. Preco nezacat opacne?

  • chceme naucit spravit aplikaciu ktora vizualizuje data
  • chceme rozsirit aplikaciu o zber dat formularom
  • chceme rozsirit aplikaciu aby ukladala data do databazy
  • chceme naucit spravne navrhnut model dat v databaze
  • chceme naucit spravit nad ulozenymi / zozbieranymi datami v databaze report

A zacal by som to v tomto poradi ucit, na zaciatok co najviac vizualizacie (napr. aj to php+html), potom pridal ukladnie dat do predpripravenej velkej tabulky atd.
Proste zozlozitovat aplikaciu. Tutorialy tohoto typu (inkrementalny vyvoj) su najlepsie pochopitelne.
A kludne moze cast studentov robit aplikaciu v accesse a cast v php+mysql a porovnaju sa. Jedni spravia desktopovu a druhi webovu.

A narychlo som nasiel ako prepojit PHP do MSACESS: https://www.sitepoint.com/using-an-access-database-with-php/ ked uz by sme chceli synergiu

Trochu sa približujeme, ale ja nie som ani riaditeľ ani minister, ja nič v duchu, ktorý popisuješ, zmeniť nemôžem. Aktuálne je mojim cieľom len dotlačiť školu zmeniť v rámci existujúcich možností priority - ubrať neumerného času Accessu a pridať zvyšku, aby to bolo v prospech tých detí (od učiteľov z iných SPŠ mám info, že Accessu venujú 15 - 20 hodín, nie cez 80). Preto len zisťujem, či sa škola opiera o nejaké relevantné argumenty, že je Access hojne používaný (ja som ho naposledy aktívne využil pred viac ako 15 rokmi), alebo len varia z vody, lebo tam majú jedného Accessára a nechce sa im robiť nijaké zmeny z pohodlnosti. Ak by som len v tomto dosiahol zmenu, že zmenia priority (ak je to opodstatnené), tak už to považujem za veľkú zmenu.

V podstate to môžem uzavrieť z mojej strany takto - Access nikto nepoužívate, ale niektorí viete, že aj v ňom sa dá kdečo robiť.

Suhlasim so Svetom, a tak som to aj myslel, len som asi zašiel moc do detailov s OO Base.

Ja som programátor, nie sekretárka, takže neviem, ako veľmi sa Access použiva v administratíve. Ale ja osobne som sa s Access v praxi nestretol a nepoznám nikoho, kto s tým pracuje. Pre mňa je to skôr výukový nástroj, takže by som výuku smeroval na všeobecné veci, ako naklikanie dát do databáze a spúšťanie SQL nad týmito dátami, ako vyučoval Access ako taký. Aj s OO Base by som to robil tak - naučiť niečo vizuálne na začiatku, ale veľmi skoro prejsť do SQL a učiť databázové vzťahy.

Podobne ako to tu už padlo s MS Word - neučiť študentov, ako si naklikač tučné písmo, vybrať font a pod. ale učit ich ako pracovať so štýlmi efektívne a pritom používať MS Word, ale aby boli schopní to isté uplatniť aj keď budú používať OpenOffice, či v pokročilom prípade Tex - princíp je vždy rovnaký, iba nástroje sú iné. Nemá podľa mňa zmysel učiť používať nástroje - na to stačia manuály k MS Office a je to zbytočné, keď budú v praxi používať napr. Google Docs.

Veľmi som bol nedávno prekvapený, keď som otvoril klasickú učebnicu databáz “Database Processing: Fundamentals, Design, and Implementation” v českom preklade a vyskočil na mňa okrem iného Access.
Verím tomu, že sa vo výučbe dá využiť, akurát je nutné vedieť ako. Najväčší problém na tej škole je vo vynechaní SQL a ďalší v Microsoft Access ANSI-89 SQL. Inak fakt je ten, že celý ten Access silno zaváňa minulosťou, keď ešte Microsoft nemal napr. SQL Management Studio a ten Access mal nejaké silné stránky v GUI. Pokiaľ sa nevyužívajú formuláre a reporty, tak existuje množstvo ďalších nástrojov, ktoré Access nahradia.

SQL management studio som sem uz nechcel tahat ale suhlasim s vyssie uvedenym. Ja napriek tomu ze by som dal SQL skoro z hlavy tak rad si necham vygenerovat skeletony v studiu a potom uz len doupravovat. Podobne som to robil v access tych 15-20 rokov dozadu.

Yep, to je presne jeden z dôvodov, prečo chcem zatlačiť na zmenu - nezostáva čas naučiť sa samotný jazyk SQL a tým sa v podstate nepohnú žiaci nikde, maximálne sa za 1,5 roka naučia naklikať stĺpce (o indexoch a optimalizácii môžu aj tak snívať). Keď potom majú robiť praktické maturitné práce, kde je všetko, len nie Access, sú úplne mimo, bolo z toho veľké halo na rodičovských stretnutiach, niektorí si dávali deti “doučiť” inde. 80+ vyučovacích hodín na Access (cca 3/4 času určeného výučbe programovania v 3. a 4. ročníku) je z môjho pohľadu absolútne neproporcionálne a až škodlivé, ale škola presviedča, že naopak, firmy bežia na Accesse a preto mu dávajú tak veľa času. Utrpenie. Moja 14 ročná dcéra vie z SQL, PHP, HTML viac, ako ukončení študenti danej školy.

1 Like

Pouzivali sme ho v byvalej firme, produkt na mieru pre zakaznika (cca 100 zamestnancov), jeden z “dolezitejsich” systemov na podporu biznis procesov. Vypichol by som, ze na rozdiel od PosgreSQL, MS SQL a podobnych produktov je Access sam o sebe Rapid Application Development tool (RAD).

Pouzivat RAD na vyucbu sa mne osobne zda byt dobra volba. Studentom to dava moznost osvojit si zaklady prace s DB, ktore vedia uplatnit aj pri inych produktoch. Co konkretne sa v nom ucia a v akom rozsahu (napr. SQL), to je samostatny problem. To sa da riesit aj bez vymeny produktu. Ak ziaci robia prakticke maturitne prace z niecoho, comu sa poriadne nevenovali, to je tiez problem sam o sebe. Neviem, ako skola k tomu dospela.

Ano, v praxi skor narazim na MS SQL, PosgreSQL, Oracle, MySQL, ale o to nejde. Ked ziak pochopi zakladne principy (a na SŠ podľa mňa hlbšie nepojde) , tak to zuzitkuje aj v inom produkte.

@softpae
Access som nikde v praxi (5 rokov) nevidel. Ale ani PHP :slight_smile: (dobre, môj homepage je wordpress ale ja som nič neprogramoval).

Kolegovia celkom správne poukázali na výučbu princípov, asi každý dobrý programátor/analytik povie že princípy a rozmýšľanie sú dôležité, a technológie sú len nástroje.

Na princípy sa na mojej strednej škole používali:

  • lego
  • korytnačka
  • turbo pascal
  • nakoniec aj delphi
    Dokonca aj na VŠ sme robili v Pascale (Delphi).
    Dnes nie je Pascal dostupný, tak na VŠ používajú Python. Ale učia sa stále dátové štruktúry a algoritmy, nie fintičky v Pythone a “ako sa to robí Pythonic way”.

@softpae máte tu odo mňa +1 za zmenu.

1 Like

Ja to všetko chápem, ale musím sa držať reality. Ak väčšina triedy nevie urobiť maturitnú prácu, ak mi chodia na prax či krúžok ľudia, čo majú na to, ale nemajú ako, zjavne je niekde obrovská chyba (napr. veľa času bavenia sa v Access, len pár hodín čisté SQL). A tiež nemôžeme projektovať naše myslenie do iných, predsa len si myslím, že tu na SD sú pokročilí ľudia.

Rovnako tak, trochu mi to pripomína “spomienkový optimizmus” - nahovárame si, ako sme sa všetko naučili z princípov, ale skutočnosť je taká, že väčšinu sme sa naučili študovaním hotových vecí na vybraných technológiách (a skôr doma než v škole a skôr reverzne - od celku k detailom) a až neskôr, keď sme vedeli základy z jednej technológie, sme boli schopní abstrahovať. Podobnú šancu potrebujú aj oni a nie “spomienkové optimizmy”. Aj keď sa učia v Pythone, k tomu písaniu SQL sa musia dostať, inak je jedno, či Python alebo Access :slight_smile: A tiež, hovoríme o výučbe na SPŠ, nepleťme do toho, čo kto robil potom na VŠ :slight_smile:

Inak pekný pohľad do reality je aj súťaž Zenit, okolo ktorej sa trochu obšmietam. Tak prvé dva, max. tri tímy dokážu odovzdať akú takú prácu, zvyšok je pomerne žalostný. :sunglasses:

Nerobím si ilúzie, že sa to naučia všetci, ale nemalo by sa stávať, že ani šikovní žiaci sa nič nenaučia, lebo 3/4 vyučovacieho času na programovanie im zaberie jediná látka :sunglasses:

Ale o tomto tu vsetci tocime, je jedno aky tool sa pouzije, ale musi to smerovat k tym principom (detailom). Ak sa rok chodi po povrchu access tak je prekvapive ak niekto dokaze vobec nieco poriesit na maturite v nicom inom ako spustit acess a pripadne spravit formular nad nejakou tabulkou namapovany 1:1.
Nejde o to co sa pouzije ale AKO sa pouzije na vyucbu.

Na slovencine je viacmenej jedno ktoru knihu knihu zoberiem, ked ucim citanie a gramatiku, vybrane slova su v kazdej, ale ked ziakom neukazem, ze su tam tak ich nebudu vediet pouzivat napr. pri pisani.

1 Like

Áno, v podstate točíme všetci o tom istom, rozchádzame sa prevažne v slovnej prezentácii (a trochu v realite výučby). Ja za “AKO” považujem “zrozumiteľne, pútavo” a niekto do toho zahŕňa aj “ako = rozumne = niečo z tvorby databázy, aj trochu formulárov a aj dotazovanie”, čo je pre mňa “ČO”, nie ako. Ale to sú slovné detaily.

Zhrniem to, že asi všetci vidíme problém v tom, ak sa učí 3/4 času určeného výučbe programovania len tvorba formulárov v Access, špeciálne, ak potom maturujú z toho, na čo majú 1/4 času. (A ja osobne považujem dať 3/4 len jednej látke za celkové mrhanie nezávisle na tom, ako sa to učí, lebo odbor nie je databázové inžinierstvo).

Idem sa teraz pustiť do toho, ako presadiť na škole, ČO a AKO upraviť vo výučbe, aby sa to zlepšilo :thumbsup: Díky všetkým za zaujímavú debatu a aj podnetné postrehy!

Tiež mi to príde ako mrhanie časom. Začal som chodiť na univerzitu do Ostravy a bol som prekvapený že databázové systémy sa tam vyučujú tiež v Access.

Vidím viacero problémov:

  1. naučíš sa niečo neprenositeľné a použiteľné iba v komerčnom produkte (čo by bolo OK ak by to bola iba krátka zachádzka a nezaberalo to väčšinu roka)
  2. z reakcií kolegov, známych a aj tu - Access sa v praxi používa veľmi málo, a tak by sa malo sústrediť na niečo čo sa naozaj používa (SQL)
  3. Access je veľmi veľmi neintuitívny, má zlé GUI, má zle chybové hlášky - nájsť chybu trvá dlho.

Nie som proti výučbe closed-source technológií pokiaľ to má význam. Napríklad výučba C++ / C# cez Visual Studio + TFS podľa mňa má význam, používa sa to v mnohých firmách (zatiaľ takmer vo všetkých kde som pracoval). A už existuje napríklad Visual Studio Code ktoré je multi-platform.