Deprecated: Function set_magic_quotes_runtime() is deprecated in /DISK2/WWW/lokiware.info/mff/wakka.php on line 35
Databázové systémy – zkouška LS 2008
- Novinka (5. 6.): Tomáš Skopal: vy, kteri jste uspesne napsali zkouskovy test 30.5. se dostavte v pondeli dopoledne ke mne pro zapis do indexu..., Pozn.: Skopal je v 202, jde o pondělí 9. 6.
- Mail od Skopala o zkoušce (28. 5.):
- zkouska = test, vsechna lonska zadani najdete na me strance, pozaduji min. pocet bodu na kazdou cast (jinak automaticky nevyhovel)
- hodnoceni testu = <60 bodu nevyhovel, 60–74 dobre, 75–89 velmi dobre, 90–100 vyborne
- 90 minut, vysledky do tydne v SISu
- terminy vsechny v SISu (zadne nebudou v zari!)
Zprávy z bojiště
( Protoze me vzdy pobavi kdyz Adam napise zpravy z bojiste, vite co take muze znamenat bojiste?
Bojiste je misto mezi ritnim otvorem a vaginou, protoze tam pri soulozi dopadaji kulky. Jestli se vam to zda moc vulgarni a nevhodne na matfyzacke stranky tak to klidne nekdo smazte, zlobit se nebudu, sam to casem smazu. To jen tak pro odreagovani a pro zasmani. )
Dík, mě to docela odreagovalo. Takže minimálně do konce zkouškovýho bych to nemazal:). — Adam
Zadání má na chlup stejný formát jako minulé roky a zkouška má skutečně 90 min, možná ani ne, Skopal žádný čas nepřidá, i když snad všichni evidentně něco psali až do konce. První část (schémata a dotazy, konkrétní zadání viz níže) může v závislosti na zadání zabrat překvapivě mnoho času, neúměrně tomu, že je za ní jen polovina celkového počtu bodů, mně trvala třeba déle než hodinu a druhý dotaz jsem pak nějak zmotal. Takže pozor: pokud plníte části po řadě, může se vám stát, že čtvrt hodiny před koncem budete muset transakce odpovídající jednotlivým částem písemky uspořádat do neserializovatelného rozvrhu a všichni víme, jak to pak dopadá (aspoň, že jsem neschytal žádnej deadlock). Takže doporučuju první dvě části nechat na konec. Jinak na zkoušce je plno, neustále se někdo na něco ptá (mohou mít podvýbory další podvýbory, může být v kanceláři jen jeden poslanec apod. — zajímavé byly dotazy na nějaké zadání se «společnicemi» — kolik jich u zákazníka může být naráz, zda může být jedna u více atd.) a Skopal prakticky konstantně odpovídá, že záleží na nás, jak si to uděláme složité, a že to je jako nějaké zadání od firmy a my si s tím máme poradit.
Zadání prvních dvou částí B 30. května
Popis: V poslanecká sněmovně jsou poslanci a další zaměstnanci. Poslanci se sdružují do klubů tak, že každý je nejvýše v jednom, klub má předsedu a jednoho až tři místopředsedy. Dále se sdružují do výborů, výbor má jednoho předsedu a jedoho místopředsedu. K výborům mohou příslušet podvýbory s předsedou a bez místopředsedů. Poslanec může být členem podvýboru jen, je-li také členem příslušného výboru. Dále jsou ve sněmovně dva typy místností: kanceláře, v nichž poslanci sídlí po dvou, a zasedací místnosti, ve kterých mají zasedání kluby, výbory a podvýbory (vždy nejvýše jedna takový skupina naráz). Zasedání se konají tedy v určité místnosti v určitý den a čas (od, do).
SQL dotazy: 1. Najděte jména schizofrenních poslanců, kteří by podle své příslušnosti v klubech, výborech a podvýborech měli být na dvou zasedáních naráz (alespoň po část doby jejich konání). 2. Najděte v každém klubu poslance s nejvyšším počtem členství ve výborech a podvýborech.
Poznámka: Členství ve třech různých uskupeních (výbor/podvýbor/klub a v návaznosti na případné ztrojení relací a entit zasedání/předseda/...) v tom evidentně dělají bordel. Všichni, kdo měli tohle zadání, si stěžovali. Buď šílený ER model, nebo šílené dotazy, nebo obojí, a různá míra vyhovění zadání. Já jsem například zavedl pro každý výbor jeho «vlastní podvýbor» (analogicky k vlastní podmnožině) a poslanci tím pádem žádné členství ve výboru vlastně neměli (místo toho v jeho vlastním podvýboru). Jiní zavedli obecnou skupinu (výbor/podvýbor/klub), což je možná zbytečně brutální (mj. protože členství v klubu je jen 1:N a ne M:N). Obdobné to je s různými druhy (místo)předsednictví (zvláštní tabulky nebo třeba spláchnout spolu se členstvím?). Jsem opravdu zvědavý, jak to bude Skopal hodnotit, a jestli zadání ostatních skupin vedla k podobně kreativním výsledkům. — Adam
no jsem rad ze se ten parlament nezdal silenej jenom me :) vlastne nejsem rad stihnul jsem kvuli nemu jenom 1 SQL dotaz...a to jsem jako prvni delal cely transakce — Petr
tak ja jsem ve svem rozvrhu psani parlamenu zvladl vytvorit nejen deadlock, ale i fantoma a kdovico jeste.. bohuzel v tom rozvrhu, co byl v zadani trojky se mi to moc nepovedlo, takze to vypada, ze si to zopakuju :( tk
Schválně dej vědět, jak jsi nakonec dopadl. Mně přišlo, že to známkovali dost mírně, viz níže, takže bys to klidně mohl dát na 3. —
Adam
Nakonec mám dvojku :)
tk
Známkování
Zdá se, že známkování je poměrně benevolentní: ER model jsem měl snad v zásadě dobře (viz zadání
B 30. května výše), i když vhodnost konkrétního řešení některých požadavků zadání je hodně diskutabilní. Jeden z SQL dotazů jsem tam namastil na poslední chvíli a určitě nebyl úplně dobře (aspoň idea ale snad byla zřejmá). K poslední otázce (implementace DB za 10 bodů) jsem napsal jen, že B+ stromy jsou «dobré na dotazy na rozsahy» (je to vůbec pravda?). A hádajte co mám: jedničku. Kdyby to bylo opravdu přísně hodnocené, mohl jsem přijít klidně o 25 bodů a mít trojku. —
Adam
coze? :-D ja mam 2 a to jsem si byl skoro jistej ze letim (byl jsem B a opravoval to nejaky Lansky), preste tohle jsem u B+ stromu napsal taky, skoro mi prijde ze kvuli tomu parlamentu byl nejaky hodnejsi, ostatni skupiny dopadly hur co jsem slysel —
Petr
Tak ja jsem mel take skupinu B jako Adam, jeste nez jsem to odevzdal jsem pocital s tim ze pujdu znova, v ER modelu jsem se zamotal,
myslenka tam byla jasna ale tezko rict jestli spravna, nicmene jsem s tim zabral tolik casu ze SQL dotaz jsem jeden napsal velmi v rychlosti, v podstate na nem byla dobre asi jen myslenka a druhy jsem mel tak nacmarany ze bych cekal ze ho ani necetli. Transakce jsem napsal tak jak jsem si pamatoval z uceni, vubec jsem nestihl nic promyslet a ani jsem to poradne nestih vse co chteli. K B+stromum jsem napsal v podstate neco jako Adam. Myslim ze u skupiny B snizili latku kvuli tomu silenemu modelu. Nakonec jsem z toho totiz vysel s dvojkou (coz fakt nechapu) ale co :) proc by mi to melo vadit Karl
Obecné info
Písemná zkouška má 4 části:
konceptuální modelování + dotazování v SQL (dvě části)
- každá 25 bodů, min. 10
- vyjádření Skopala: ER modelovani – zadne spravne reseni neexistuje, jde o to, abychom dokazali, ze umime pracovat se zadanim a aby z nas vylezlo neco smysluplneho a syntakticky spravneho. Hodnoceni je hodne mirne a vetsinou s timhle problemy nebyvaji
- řešené otázky z roku 2006
To vypadá fakt užitečně, je tam ER model, schémata i SQL dotazy —
Adam
- errata & poznámky:
- hypermarket: u dodává má být kardinalita (0,3)
- čerpací stanice: dotazy – AVG a SUM zde nepotrebuje nutne GROUP BY protoze podminky jsou uz ve WHERE, ANY taky nutny ptotoze je to jenom 1 hodnota, ale chyba to neni (obe veci tam MUZOU byt)
- zoologická zahrada: zajímavé oba dotazy, u druhého je AVG(délka života) coz vrati «délka života» ktera je ale stejna pro kazdy jeden druh...AVG je mozne tedy vynechat?
- české dráhy – poměrně složitý kousek, doporučuju prohlidnout
- reseni ER modelu 2007
Skutečně jen ER model, navíc obě řešení mi přijdou trochu diskutabilní, z části dáno i nejednoznačností zadání. —
Adam
transakce
- 40 bodů, min. 20
- vyjádření Skopala: Precedencni graf – otázka kreslení abort transakcí. Skopalovi se nechcou vymyslet dve zadani a protoze tam musi kvuli zotavitelnosti dat nejake aborty, a nechce, aby obtiznost kresleni precedencniho grafu klesala, tak mame kreslit i abortovane transakce. Nicmene — protoze to je vlastne blbost, tak spravne reseni je oboji – jak s abortovanyma, tak neabortovanyma transakcema. Sipky mezi WW,WR,RW se kresli bez ohledu na to, jestli nekde predtim nastal COMMIT nebo ABORT, ty proste v tehle fazi uplne ignorujeme, i kdyby v tom rozvrhu byly ty transakce totalne seriove. Ve slajdech ma trochu neco jineho, ale k tomu mi napsal, ze to je neco jako spatna terminologie autoru, ze nas zajimaji potencionalni konflikty...
- Já si myslím, že z principu (vlastně z definice) tam u precedenčního grafu musí být vše bez ohledu na ABORTy, pže precedenční graf prostě ukazuje konfliktní dvojice, ne konflikty. To, že Skopal to zdůvodnil takhle hloupě, mě jen utvrzuje, že v téhle přednášce je pěknej bordel a vůbec nemá smysl ji brát vážně. (Ne, že bych ji během semestru bral nějak vážně, ale před zkouškou jsem trochu znejistěl, jestli to nebyla chyba.) — Adam
- řešené otázky z roku 2006
- errata & poznámky:
- 6.6.2006 A: 1. mezi T1 a T3 chybi WW(C)
- 13.6.2006 B: 2. chybi fantom!
implementace DB
Různé diskuse a správná/špatná řešení najdete na forum.matfyz.info – Databázové systémy. Zatím (27. května) jsou tam hlavně věci z let minulých.