Rühmatöö
Üldinfo
- Rühmatööna valminud andmebaasi projekti eesmärk on demonstreerida, et olete omandanud andmebaaside aine põhilised oskused ja mõisted;
- rühmatöö koosneb etappidest, mis kõik tuleb sooritada samas rühmas:
- ühes rühmas võib olla 2-3 liiget. Erandjuhul, kes väga tahab tööd teha üksinda, see võib ka üksinda teha, kuid eelistatud on siiski rühmas esitatud projektid;
- rühmatöö koosneb kolmest etapist:
- kolme etapiga on võimalik koguda 14 punkti (vt. etappide kirjeldused);
- tähtajast hiljem esitatud etapi eest võetakse punkte maha;
- kõikide etappide tulemused peavad olema fikseeritud Google Docs'i dokumendis;
- esitage link failile 10. märtsiks Moodle keskkonna foorumisse;
- lubage kommenteerida;
- tehtud parandused märkige teise värviga;
- teiste rühmade I etapi kommenteerimise eest on võimalik saada maksimaalselt 1 punkt (individuaalne töö; tähtaeg: 17. märts);
- seminaris, mis toimub 5. aprillil, on võimalik saada maksimaalselt 2 punkti oma relatsioonilise mudeli esitlemise eest (iga rühmaliige, kes soovib saada selle eest punkte peab osalema esitlemisel);
- kokku rühmatöö eest on võimalik saada 17 punkti, eksamile pääsemise lävend on 9 punkti. Kui lävend saavutatakse juba teise etapi ja seminari ning kommenteerimisega, siis ikka on vajalik kolmanda etapi esitamine!
- kolme etapiga on võimalik koguda 14 punkti (vt. etappide kirjeldused);
I etapp sooritada 10. märtsiks
I etapi õpijuhis
- Valige valdkond, mille jaoks te koostate oma andmebaasi projekti:
- valdkonna valimisel arvestage, et vähemalt üks rühma liige tunneb seda valdkonda hästi;
- valdkond võib olla seotud teie hobidega (spordivõistluste korraldamine, laulukooride esinemiskavade koostamine, fotonäituste korraldamine, millegi kollektsioneerimine jne.), huvidega (arvutivõrkude ehitamine, tarkvara haldamine, mõne lauamängu mängimine jne.) või tööga (ajutise või alalisega). Palun ärge valige valdkonnaks loengute-praktikumide näidetes toodud andmebaaside valdkondi ega nende analooge (näiteks male asemel kabet);
- valdkonda valides arvestage ka, et kolmeliikmelise rühma puhul oleks võimalik sealt leida ca kümmekond tabelit/relatsiooni, kaheliikmelisel – 5-8, ja üksinda tehes 4-6 tabelit/relatsiooni, mis on ka omavahel seotud. Relatsioonilise mudeli loengus näete, kuidas n:m seosed lisavad tabeleid/relatsioone, seega olemitüüpe võib olla vähem nõutust kui nende vahel on n:m seoseid. Tabelite/relatsioonide arvu võite arvutada järgmisel viisil: olemitüüpide arv + n:m seoste arv.
- Google Docs'i dokumenti pange kirja:
- valdkonna kirjeldus ja selle mõisted – teie valitud valdkond ei pruugi igale teie projekti lugejale olla tuntud;
- milles on valitud valdkonna probleem? Milliseid kitsaskohti see andmebaas likvideerib?
- kes on selle andmebaasi kasutajad? Kirjeldage kõiki olulisi kasutajagruppe ja millistele küsimustele need kasutajad andmebaasi abil vastuseid soovivad saada? Pange konkreetsed küsimused kirja;
- millised on ärireeglid ning nendest tulenevad seoste aarsused selle andmebaasi korral?
- lisage pildina olem-seose diagramm oma projekti jaoks:
- selle loomiseks kasutage mõnda veebipõhist vahendit (näiteks https://gitmind.com/er-diagram-tool.html) või joonistage käsitsi ja pildistage;
- pange olemitüüpidele, atribuutidele ja seostele tähenduslikud nimed;
- üldiselt üks olemitüüp on vastavuses mingi ühe päris-elu objekti või nähtusega;
- üldiselt atribuudid on nende päris-elu objektide või nähtuste omadused;
- andmetüübid atribuutide juures võivad olla, aga ei pea;
- atribuutide hulgas ei tohi olla id-sid (id-d ehk kunstlikud võtmed tulevad hiljem);
- tähistage primaarvõtmed (kirjutage vastava tunnuse juurde PK, tõmmake joon alla, või tehke see tunnus paksuks)
- kontrollige üle, et olemitüüpide vahel oleksid seosed ja seoste aarsused (1:1, 1:n, n:m) oleksid nähtavad;
- olem-seose diagrammiga koos esitage selgitus, kus kirjeldate olemitüüpe ja nende atribuute;
- postitage link dokumendile Moodle keskkonna foorumisse.
Punktide jagunemine (täpsem hindamismaatriks on Moodle keskkonnas):
- valdkonna ja selle mõistete kirjeldus ning probleemi väljatoomine - 0.5 punkt;
- kasutajate ja nende vajaduste kirjeldamine - 0.5 punkt;
- ärireeglitest tulenevate seoste ja seoste aarsuse põhjendamine - 1 punkt;
- olem-seose diagrammi esitamine - 1 punkt.
Kokku I etapi eest saab maksimaalselt 3 punkti.
II etapp sooritada 14. aprilliks
II etapi õpijuhis
- Parandage ja täiendage oma kirjeldust ja mudelit saadud kommentaaride põhjal;
- teisendage olem-seose diagramm relatsioonilise mudeli kujule ja esitage see mõne graafilise mudeli koostamise vahendi abil (näiteks https://www.dbdesigner.net/). Esitlege oma mudel seminaril, mis toimub 5. aprillil;
- pange mudel kirja ka relatsioonidena R(a1, a2, a3,..., an), loobudes kunstlikest võtmetest (id);
- kontrollige, et kõik teie andmebaasi relatsioonid oleksid vähemalt kolmandal normaalkujul. Selleks kirjutage välja iga relatsiooni korral selle relatsiooni olulised funktsionaalsed sõltuvused ja kontrollige, mitmendal normaalkujul on relatsioon. Kui relatsioon ei ole 3. normaalkujul, tehke sellele dekompositsioon või põhjendage argumenteeritult, miks teie mudeli korral on efektiivsem kasutada madalamat normaalkuju;
- kui andmebaasi relatsioonid on normaliseeritud lisage kunstlikud võtmed (id).
Punktide jagunemine (täpsem hindamismaatriks on Moodle keskkonnas):
- I etapi paranduste ja täienduste sisseviimine - 1 punkt;
- relatsioonilisele kujule teisendamine - 2 punkti;
- normaalkuju kontrollimine ja vajadusel kolmandale normaalkujule viimine - 1 punkt.
Kokku II etapi eest saab maksimaalselt 4 punkti.
III etapp sooritada 5. maiks
III etapi õpijuhis
- Parandage ja täiendage oma töö saadud kommentaaride põhjal;
- kasutades graafilise mudeli koostamise vahendit, eksportige SQL-skript. Lisage saadud SQL-laused oma töö dokumenti. Tehke vajadusel käsitsi (teksti redaktori abil) parandused eksporditud CREATE lausetesse. Dokumenteerige parandused;
- realiseerige (looge) saadud andmebaas andmebaasijuhtimissüsteemis PostgreSQL. Kui olete ühes arvutis andmebaasi loonud, saate backup'i abil seda jagada oma rühmakaaslastele;
- sisestage igasse relatsiooni 4-5 kirjet fiktiivsete andmetega;
- formuleerige 4 mõttekat päringut ja 2 tegevust oma andmebaasi kohta (näiteks andmete lisamine või muutmine). Pidage silmas selle projekti põhieesmärki: demonstreerida oma teadmisi ja oskusi:
- vaadake oma esimeses etapis toodud kasutajate vajadusi (küsimusi) ja püüdke neile leida lahendusi;
- 2 päringut võivad hõlmata ühte-kahte relatsiooni, aga näidake oma oskused väljastavate andmete töötlemisest (nt. kasutades LIMIT, erinevaid tingimusi);
- vähemalt 2 päringut peavad hõlmama enam kui kahte relatsiooni;
- kõik päringud vormistage vaadetena või parametriseeritud vaadete ehk funktsioonidena;
- kõik tegevused vormistage protseduuridena;
- kõigi koostatud SQL lausete kohta lisage dokumenti:
- sõnaline sisuline lühikirjeldus, mida vastav vaade, funktsioon või tegevus peaks tegema;
- süntaktiliselt korrektne vaade, protseduur või funktsioon SQL või protseduurilise SQL keeles;
- tulemuste kuvapildid - kui andmebaasis on palju andmeid ja vastus on mahukas, siis esitage ainult osa tulemusest; aga nii, et oleks aru saada, et osa vastusest on välja jäetud.
Punktide jagunemine (täpsem hindamismaatriks on Moodle keskkonnas):
- II etapi (ja vajadusel ka I etapi) paranduste ja täienduste sisseviimine - 1 punkt;
- oma mudelile vastava andmebaasi loomine - 1 punkt;
- päringute esitamine vaadete või funktsioonidena koos tulemuste kuvapiltidega - 3 punkti;
- tegevuste kohta protseduuride koostamine koos selgituste ja tulemuste kuvapiltidega - 2 punkti.
Kokku III etapi eest saab maksimaalselt 7 punkti.