divne zadani

Základní kurs podávající průřez problematikou. Jsou popsány tři úrovně pohledu na data. Konceptuální modelování je založeno na ER modelu, databázové modelování se zabývá podrobně teorií relačního modelu dat (algebra, kalkul, základy SQL, algoritmy návrhu relační databáze, normální formy) a principy objektově-relačního modelu. Transakční zpracování a paralelní přístup, algoritmy implementace relačních operací.
Kajinek
Matfyz(ák|ačka) level I
Příspěvky: 13
Registrován: 20. 12. 2007 22:24
Typ studia: Informatika Mgr.

divne zadani

Příspěvek od Kajinek »

13. 6. 2006, verze C
Zadání: Definujte 3 transakce na datových entitách A, B, C a sestavte maximálne paralelní rozvrh (tj. ne sériový) podle SQL úrovne izolace READ COMMITTED (S2PL na X() + 2PL na S()). K rozvrhu sestrojte graf pro detekci uváznutí (deadlock).

Jak slozita transakce se po nas chce? :) Pze zadani by melo IMHO splnit:

Kód: Vybrat vše

T1____T2____T3
S(A)__________
_____S(B)_____
__________S(C)
R(A)__________
 _____R(B)_____
__________R(C)
U(A)__________
 _____U(B)_____
__________U(C)
COM__________
_____COM_____
__________COM
Transakce jsou 3, vic paralelneji to uz asi udelat nejde a splnuje to READ COMMITTED. Uznava tohle Skopal nebo strhava body?
A graf pro detekci uvaznuti...v jakem okamziku? Je to preci jen trochu dymamicka struktura. :) (teda, zde by to bylo jedno, ale pokud bych se pustil do neceho slozitejsiho...)
Osiris
Supermatfyz(ák|ačka)
Příspěvky: 403
Registrován: 11. 11. 2006 14:10
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Re: divne zadani

Příspěvek od Osiris »

Kajinek píše: ...
Zde je graf uváznutí 3 vrcholy a žádné hrany, protože nikdo na nic nečeká :wink:
Osiris
Kajinek
Matfyz(ák|ačka) level I
Příspěvky: 13
Registrován: 20. 12. 2007 22:24
Typ studia: Informatika Mgr.

Re: divne zadani

Příspěvek od Kajinek »

Osiris píše:
Kajinek píše: ...
Zde je graf uváznutí 3 vrcholy a žádné hrany, protože nikdo na nic nečeká :wink:
Jasne, ja chapu co ten graj je, jak se dela a pisu, ze tady by to bylo jedno. :) Ale predstavme si nejaky jiny rozvrh s jinymi transakcemi, kde se skutecne ceka. Co tam? Ten graf bude na zacatku rozvrhu a uprostred vypadat uplne jinak...takze v kterem kroku ho "vypsat"? Pokud by nastal deadlock, tak predpokladam, ze pri nem, ale pokud nenastane?
Medved_

Re: divne zadani

Příspěvek od Medved_ »

Ja si se Skopalem psal maily. Ona totiz cela ta pisemka je dost volne zadana a proste divna, ale to uz bohuzel musime prezit a doufat, ze ostatni predmety/zkousky budou v tomhle smeru normalnejsi.

Co jsem se dozvedel
1) 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
2) Precedencni graf - abort transakce. 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.
3) 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...

K te tvoji otazce...IMHO nejlepsi je tam proste vymyslet neco smysluplneho...ne nic tezkeho, abys mel jistotu, ze to mas dobre, ale zase ne tak, abys vypadal jako uplnej ignorant, co to chce za kazdou cenu ochcat. Taky bys tam mohl napsat klidne
T1 T2 T3
COMMIT COMMIT COMMIT
a pak se hadat, ze jsi zadani splnil, ale Skopal dle meho neni v tomhle prilis matfyzacky a definice a protipriklady mu nic nerikaji ::D
Bizon

Re: divne zadani

Příspěvek od Bizon »

Jo, takže to, že ty aborty tam jsou jenom kvůli zotavitelnosti, znamená, že zotavitelnost zkoumám jen tak, že sleduju, jestli nějaká transakce, co čte data, který změní ta abortovaná, necommituje před tím, než se ta abortovaná abortne? Už se to tady řešilo stokrát, ale jak tak koukám, tak v polovině případů takhle a v polovině tak, že se zkoumaj navzájem i transakce který obě commitujou... Tušíte někdo, jak by to mělo být?
Medved
Admin(ka) level I
Příspěvky: 168
Registrován: 30. 5. 2006 21:18

Re: divne zadani

Příspěvek od Medved »

Kdyz vsechno komituje, tak nezkoumas nic. Na to jsem se neptal, ale melo by to byt jasny.

Kdyz neco abortuje, tak te zajima, jestli neco s cim pracujes driv necommitlo, pak je pruser a musis ten commit posunout.
Odpovědět

Zpět na „DBI025 Databázové systémy“