Uvod u baze podataka, MS Access je pogrešan odabir
Posljednji set predavanja video materijala me nije oduševio kao prvi. Dapače. Razlog nije loš kvalitet video materijala nego odabir teme: "Database GUI". U komentarima članka "UBP hello world" sam naveo linkove na te video materijale.
Naime, kolege sa UBP-a su, posmatrajući kontekst predmeta i glavne obrazovne ciljeve, imale pogrešan pristup. Naglasiću da pod "glavni obrazovni ciljevi" mislim na ono što ja smatram glavnim ciljevima ovakvog predmeta, ne ono što piše u Syllabus-u predmeta. Objasniću moj stav.
Access RAD okruženje
U prvom setu video materijala, jedna od stvari koju sam pohvalio je činjenica da u tim materijalima odabrani alat (MS access) ne dominira.U posljednjem setu koji se odnosi na GUI, takvo što je bilo nemoguće postići. Naime, Access jeste dobar alat i intuitivan RAD alat za NEPROFESIONALCE.Ovakav pristup predmetu "Uvodu u baze podataka" bi možda bio prihvatljiv za ekonomski fakultet ili fakultet poslovne informatike. Međutim za Fakultet informacijskih tehnologija prvi koraci se ne bi trebali raditi sa RAD alatima.
RAD pristup se zasniva na većem nivou apstrakcije i skrivanju nepotrebnih detalja. Međutim, bitno je uočiti koja je ciljna grupa određene aplikacije.
MS Access se pozicionira kao alat koji omogućava da i korisnici koji nisu upućeni u relacijske baze podataka dođu do rješenja baza podataka za lične potrebe. Nardoski rečeno, MS Access je alat sa kojim i neinformatičari mogu napraviti bazu podataka(*)
I to Access radi odično. U tom domenu Access je sigurno bez ozbiljne konkurencije(**). Međutim, niko, ama baš niko ne radi složenije projekte baza podataka sa access-om. Zašto ? Zato što to nije svrha Access-a.
Zato ove dobra osobina Accessa u jednom kontekstu, taj isti alat u drugom kontekstu - kontekstu edukacije čine lošim alatom.Razlog tome su odluke dizajnera aplikacije: Što više detalja sakriti od korisnika aplikacije. Pogledajmo recimo način kreiranja sheme tabele. Ulazimo u dizajn view baze podataka:- definišemo vrstu polja
- definišemo dodatne parametre kao što je input maska tog polje ...
Korisnik će logično pretpostaviti da su svi ovi atributi definicije baze podataka. A NIJE. Vrsta polja definiše bazu, dok je input maska parametar koji access koristi u svom aplikacijskom modelu. Access-ov aplikacijski model je stvar njegovih implementatora, kao i svake druge aplikacije.
Činjenica je da svaka aplikacija koja rukuje bazom podataka takođe uvodi pojam input maske na ovaj ili onaj način. Međutim, to je aplikativni dio. Za razliku od ekonomiste kome je dobro da mu se ovo sve stavi na jedno mjesto, informatičaru u procesu učenja nije.
Access čak i kod vrste polja stvara stanovitu "maglu". U njemu se definiše pojam "text" što je u relacijskim bazama (pretpostavljam) "varchar" tip.
Kreatori access-a su to radili sa razlogom: Došli su do saznanja da njihova primarna ciljna grupa - neinformatičari bolje usvajaju pojam termin "text", nego "varchar". Takve stvari međutim nisu poželjne u procesu učenja.
Uvod u (relacijske) baze podataka bez SQL-a
SQL je standard. Kolege na FIT-u su odlučili da "Uvod u baze podataka" ne sadrži SQL, nego da se napravi "laganiji" uvod uz pomoć Access-a i access-ovih apstrakcija.Takav odabir je na studiju informatike potpuno pogrešan. Na studiju ekonomije vjerovatno nije.Kako drugi obrađuju "Uvod u baze podataka" ?Zainteresovalo me je kako to drugi rade.Na Sarajevskom ETF-u kurs se naziva "Osnove baza podataka"(***). Pohađa se u četvrtom semestru.
Što se tiče alata, koristi se mysql. Nigdje nisam našao ništa što se tiče GUI-a. To je definitivno uljez predmeta na FIT-u.SQL se obrađuje bez odlaganja. Na početnom kursu se ne obrađuju nikakvi RAD alati na način kako se to čini na FIT-u.
Rezime
Nakon svega što sam iščitao, još više sam ubijeđen da praktični "hello world" relacijskih baza podatka na svakom fakultetu informacionih tehnologija mora biti ovo(****):
https://gist.github.com/786251
Nikakav "design view", "form view" ili "report view". To pripada nekom sasvim drugom kursu(*****). Predmetu "Uvod u (relacione) baze podataka" to ne pripada.
Naravno, meni ništa ne preostaje nego da prihvatim zadatke koji su predmetni nastavnici postavili.Sa žaljenjem konstatujem da postoje konceptualne sličnosti sa predmetom "Statistika i vjerovatnoća". Na "Statistici" se dešava, slobodno se može reći, zloupotreba MS Excel-a. Kod UBP-a je termin "zloupotreba" preijak. Međutim, kvalifikacije "pogrešan odabir", "pogrešna metodologija" stoje.
Korištenje RAD alata na ovom kursu je metodološka greška.
----
(*) Precizno: aplikaciju za upravljanje bazom podataka
(**) Recimo "Openoffice base" je pokušao konkurirati Access-u ali je taj projekat totalni promašaj. Pun bugova, spor, neintuitivan.
(***) login as "guest"
(****) Korisnik te korake treba napraviti uprav na sql konzoli. Takvo što radi sa neznatnim varijacijama na bilo kojoj relacijskoj bazi: mysql, postgresql, sqlite, oracle, mssql ... odaberite koju god želite
(*****) Microsoft ima sjajan sistem edukacije. Siguran sam da su njegovi MS Access kursevi odlični za one kojima takvo znanje treba.