(#1248) 2010. február 09., kedd
Korán kezdõdött a nap: a tegnap megíratott adatbázis dolgozatokat javítottam ki. Ahogy nézem, ez valóban erõs feladat volt a srácoknak, de ez nem baj. A résztéma nehéz, a dolgozat feladat megfogalmazásával nem akarnék ettõl eltérõ üzenetet továbbítani nekik, igaz: a másik véglet sem lenne jó, a kedvüket elvenni ettõl azzal, hogy a lécet számukra átugorhatatlanul magasra tenném, na ez sem lenne helyes.
A feladat végül is az lett amit terveztem, igaz: péntekre. Egy veterán motorokkal foglalkozó könyvbõl olyan tizenhat rekordnyi adatot vettem ki: gyártók, modellek, hengerûrtartalom, teljesítmény, ország, évjárat... (A konkrét feladat végül is nem használja ténylegesen valamennyi mezõt fel a lekérdezések során.) A feladat alapszintû, egészen pontosan az eddig gyakoroltatott fogások számonkérése volt most csak („csak”... :)) a cél.
Mindenekelõtt az, hogy UTF-8 kódolású (BOM nélkül :)) forrásállományt helyesen tudnak-e egy adattáblába importálni. Na, a dolgozatot író tizenhárom srácból egy persze hogy ezt is elrontotta! A lekérdezéseket mindannyian SQL-ben fogalmazzák meg, ennek örülök, a QBE rácsra sok idõt pazarolni nem akarok! Az elemi lekérdezések, a klasszikus projekciók azon szerencsére mennek több mint a felének, azaz van mit csiszolgatni itt is. A rendezés már gondot okoz, a dolgozat eredménye szerint nem világos az ORDER BY szerepe és paraméterezése számukra. A feladatban alig volt szûrés, a WHERE használatát keveset gyakoroltuk (ez a kettõ mondjuk összevág), sajnos aki eljutott addig az sem jól csinálta meg. A legnehezebben megy a megszámlálás, a „... hány van ebbõl meg abból?” jellegû kérdésekre a válasz csak a legjobbaknak ment: a COUNT() és a GROUP BY használatával még kell küzdjünk ahogyan a szélsõ érték kiválasztásával is, ezt õk a TOP 1 és a rendezés együttes alkalmazásával tanultál.
Szóval: alakul a dolog, lesz ebbõl valami, de erre fokozottan kell figyelni. Ennek egyik megnyilvánulása hogy a hátfõi dolgozatot kedden értékelve kapják vissza és ma nem si csinálunk mást csak megoldjuk a dolgozatot órán, aztán lehet, még egy egytáblás lekérdezéssel gyúrunk az alapokra, a hét végén ebbõl megint nyomunk egy számonkérés és csak jövõ hétfõn váltunk a többtáblás lekérdezésre. (Esetleg egy nappal elõbbre csúszik mindez – kellene felfejlõdni, a többtáblás lekérdezés mellett még fontosak és érdekesek is az un. Akciólekérdezések [micsoda hülye kifejezés!], azaz a nem csak lekérdezõ SQL szkriptek...) Hja, az eredmények... Egy dolgozatra akár hogy akarom, elégtelentõl jobban nem lehet adni, annyira nem csinált semmit, egy pedig van annyira jó – nem 100%-os, de elég közel van hozzá – hogy ötös legyen, a többieket meg arányosan és persze úgy, hogy azt õk maguk is igazságosnak érezzék, e két véglet között széthúzva a csoportátlag 3,17 – mondjuk nem e és pí közötti, azaz az ökölszabálynak nem felel meg de nem sokkal lóg ki ebbõl az ideális tartományból és azt is felfelé teszi...