Řešené příklady ze zkoušek

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í.
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Řešené příklady ze zkoušek

Příspěvek od stnicolaus »

Udělal jsem zatím 3 pokusné řešení ER modelů z loňských písemek. Přivítám případnou kritiku a upozornění na chyby :D

Jinak pokud někdo máte vyřešené nějaké jiné loňské příklady (hlavně transakce), tak šup sem s nimi :)

ER modely
Veslar
Matfyz(ák|ačka) level I
Příspěvky: 19
Registrován: 20. 6. 2006 19:39

Příspěvek od Veslar »

Dekuju, perfektni prace!

Koukam na to a nasel jsem [nejspis] chybu v prvnim dotazu u cerpacich stanic:

vybiras tam kraj z tabulky, kde kraj neni, musis to nejdriv natural joinout :] Navic si nejsem jisty, jestli je nutne tam mit v tom dotazu ANY ? [nekdo mi odpovezte, at vim :]

BTW: jak se da efektivne vybrat ctvrtleti, kdyz si ho ttam nebudu mit explicitne jako argument?

slo by neco jako: 1.ctvrtleni roku 2006:
..... WHERE year(datum) = 2006 and month(datum) >=1 and month(datum) <= 3

nejsem si jisty jestli funkce year, month jsou v SQL 92, ale toto v MS SQL faka :] Jak byste to delali vy?
Trouble? I call it sport.
Uživatelský avatar
Lukas Mach
Matfyz(ák|ačka) level III
Příspěvky: 261
Registrován: 28. 3. 2006 17:08
Typ studia: Informatika Bc.
Bydliště: Praha a Kladno
Kontaktovat uživatele:

Příspěvek od Lukas Mach »

Vazne pekny. Ja jsem si trochu hral s transakcema, zatim je to takova beta (jenom naskenovany psani, zdaleka ne vsechno), ale dnesek jeste neskoncil, takze jeste budou nejake updaty:

TRANSAKCE

[Updaty:
* pridal jsem tam transakce ze vsech terminu krome 21. 6.,
* po zkousce jsem opravil precedencni grafy (kdyz ted maji obsahovat i abortovane transakce),
* trochu vic jsem okecal zotavitelnost, takze ted uz snad neni takovej problem s tim, jak to kdo chape,
* plus je to ted barevnejsi :-)]
Naposledy upravil(a) Lukas Mach dne 2. 6. 2007 18:14, celkem upraveno 2 x.
For every epsilon, there is delta.
Where is my delta?
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

Veslar píše:Koukam na to a nasel jsem [nejspis] chybu v prvnim dotazu u cerpacich stanic:

vybiras tam kraj z tabulky, kde kraj neni, musis to nejdriv natural joinout :] Navic si nejsem jisty, jestli je nutne tam mit v tom dotazu ANY ? [nekdo mi odpovezte, at vim :] Navic si nejsem jisty, jestli je nutne tam mit v tom dotazu ANY ? [nekdo mi odpovezte, at vim :]
samozřejmě máš pravdu. už jsem to opravil.

podle SQL validatoru tam ANY bít nemusí, ale jistota je jistota
Veslar píše:BTW: jak se da efektivne vybrat ctvrtleti, kdyz si ho ttam nebudu mit explicitne jako argument?

slo by neco jako: 1.ctvrtleni roku 2006:
..... WHERE year(datum) = 2006 and month(datum) >=1 and month(datum) <3
já bych použil něco jako datum >= '2006-01-01' AND datum < '2006-04-01' - jinak pokud vím, tak norma zná typ DATE, takže nějak s těmi daty pracovat určitě umí, ale jestli umí konkrétně i funkci month je otázka

jinak díky za transakce - dneska nestíhám, ale zítra zkontroluju, jestli je máme stejně :D
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

Lukas Mach píše:Vazne pekny. Ja jsem si trochu hral s transakcema, zatim je to takova beta (jenom naskenovany psani, zdaleka ne vsechno), ale dnesek jeste neskoncil, takze jeste budou nejake updaty:

TRANSAKCE
myslím, že transakce máš všechny dobře.

jenom by mě zajímalo, co znamená to Skopalovo: "upravte rozvrh tak, aby byl zotavitelný a přitom se nezměnilo pořadí čtení/zápisu". Znamená to, že můžu hýbat jenom s COMMITy a ABORTy nebo mohu hýbat i se zbytkem, ale musím zachovat pořadí v rámci každé transakce?
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

Příspěvek od peva »

Teoreticky mozes hybat aj so zbytkom, pokial je to usporiadatelny rozvrh, tak mu to vadit asi nebude,aspon ak som spravne pochopila tu podivnu definiciu usp., ale co sa zotavitelnosti tyka... - nestaci iba posunut abort tak, aby boli tie take nebezpecne commity posledne (commity tych transakcii, ktore citaju po abortovanej transakcii)?
melda
Matfyz(ák|ačka) level I
Příspěvky: 13
Registrován: 29. 5. 2006 17:56

Příspěvek od melda »

Jeste k tem ER modelum, myslite ze Skopalovi bude stacit tak jak to mate vyresene, nebo se tam jeste bude muset overovat 3NF, minimalni pokryti a kdovi co jeste?

Kazdopadne dik za ty priklady, moc se mi hodi :)
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

Příspěvek od peva »

Jaj, nestras, nic take nespominal, jujky! :))
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

peva píše:Teoreticky mozes hybat aj so zbytkom, pokial je to usporiadatelny rozvrh, tak mu to vadit asi nebude,aspon ak som spravne pochopila tu podivnu definiciu usp., ale co sa zotavitelnosti tyka... - nestaci iba posunut abort tak, aby boli tie take nebezpecne commity posledne (commity tych transakcii, ktore citaju po abortovanej transakcii)?
při hodnocení zotavitelnosti je jedno, jestli se jedná o transakci zakončenou ABORTem nebo COMMITem - ke všem přistupuješ stejně - a mohou se ti zacyklit (např. T1 čeká na T2 a zároveň T2 čeká na T1)
melda píše:Jeste k tem ER modelum, myslite ze Skopalovi bude stacit tak jak to mate vyresene, nebo se tam jeste bude muset overovat 3NF, minimalni pokryti a kdovi co jeste?
normální formy řešit asi nemusíme
dargor
Matfyz(ák|ačka) level I
Příspěvky: 31
Registrován: 15. 12. 2006 15:00

druha cast tretich prikladu

Příspěvek od dargor »

Nepochopil jste prosim nekdo co znamena maximalni parelni rozvrch u zadani tretich prikladu v jejich druhe casti
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Re: druha cast tretich prikladu

Příspěvek od stnicolaus »

dargor píše:Nepochopil jste prosim nekdo co znamena maximalni parelni rozvrch u zadani tretich prikladu v jejich druhe casti
Tím je podle mne myšleno jenom to, aby nebyl sériový, ale aspoň trochu paralelní. aspoň doufám :D :D
Uživatelský avatar
Lukas Mach
Matfyz(ák|ačka) level III
Příspěvky: 261
Registrován: 28. 3. 2006 17:08
Typ studia: Informatika Bc.
Bydliště: Praha a Kladno
Kontaktovat uživatele:

Příspěvek od Lukas Mach »

Nevi nekdo, jak udelat rozvrh s fantomem ze zadani 13. 6. skupina A? Ma to byt naplanovane pomoci konzervativniho 2PL (cili vsechno se lockuje uz na zacatku). Nejak to nemuzu doplacat dohromady...
For every epsilon, there is delta.
Where is my delta?
dargor
Matfyz(ák|ačka) level I
Příspěvky: 31
Registrován: 15. 12. 2006 15:00

Příspěvek od dargor »

To Lukas:

Nejsem si jist, ale zkusil bych pouzit ten priklad na fantoma, ktery ma Skopal pouzit na svych slidech o transakcich na 18 slidu.
S tim rozdilem ze S(Dasa) v T1 by se uvedlo hned na zacatek te T1 a ve druhe transakci T2 bych umazal X(Dasa) a X(Eva) by samozrejme sla pred ten insert v T2
vysledek by mel zustat stejny a nyni by to mel splnovat podminky konzervativniho 2PL

a jelikoz Skopal uvadi na slidech konzervativni 2PL jako priklad prevence uvaznuti tak by uvaznuti nemelo pri K2PL nikdy nastat

Kdyz tak me nekdo opravte.
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

dargor píše:To Lukas:

Nejsem si jist, ale zkusil bych pouzit ten priklad na fantoma, ktery ma Skopal pouzit na svych slidech o transakcich na 18 slidu.
S tim rozdilem ze S(Dasa) v T1 by se uvedlo hned na zacatek te T1 a ve druhe transakci T2 bych umazal X(Dasa) a X(Eva) by samozrejme sla pred ten insert v T2
vysledek by mel zustat stejny a nyni by to mel splnovat podminky konzervativniho 2PL

a jelikoz Skopal uvadi na slidech konzervativni 2PL jako priklad prevence uvaznuti tak by uvaznuti nemelo pri K2PL nikdy nastat

Kdyz tak me nekdo opravte.
Tohle ti nebude fungovat, protože v T1 musíš hned na začátku zamknout všechny muže i ženy, takže tam bude i S(Eva)
dargor
Matfyz(ák|ačka) level I
Příspěvky: 31
Registrován: 15. 12. 2006 15:00

Příspěvek od dargor »

proc by si na zacatku v T1 musel uzavirat entitu Eva, kdyz s Evou v teto transakci T1 nepracujes ,K2PL vyzaduje na zacatku pouze takove zamky ktere bude potrebovat v ramci sveho prubehu?
Odpovědět

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