7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

Podobné dokumenty
13/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza (bez duplikátov a null hodnôt): capuje(krcma, Alkohol), lubi(pijan,

5/1/2012 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza: capuje(krcma, Alkohol, Cena), lubi(pijan, Alkohol) navstivil(idn, P

s sol

s sol

Microsoft Word - skripta3b.doc

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Relačné a logické bázy dát

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Microsoft Word - Argumentation_presentation.doc

Algoritmizácia a programovanie - Príkazy

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

1

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Slide 1

Microsoft Word - 8.cvicenie.doc

Paralelné algoritmy, cast c. 2

Predchádzame vzniku odpadov Vyhodnotenie dotazníka 1. Pohlavie respondentov muži ženy neuvedené Vek respondentov

gis5 prifuk

0022-vub-mobilne-tokeny-200x200-v03.indd

Teória pravdepodobnosti Zákony velkých císel

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Axióma výberu

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

Priebeh funkcie

Kolmogorovská zložitost

Microsoft Word - ESMA CSDR Guidelines on relevant currencies_SK

Testy z CSS_2015_16

ECDL Syllabus V50 SK-V01

Microsoft Word - Príloha P2 - zadania pracovných listov pre 6. ročník

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

Microsoft Word - 6 Výrazy a vzorce.doc

Programové a informačné systémy 2-INF-144 Kompilátory Štruktúra a použitie kompilátorov, nástroje pre tvorbu kompilátorov. Základné pojmy a štruktúra

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt FR SR Strana 1 z 11 Dátové rozhranie

Snímka 1

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Microsoft Word - Transparencies03.doc

NSK Karta PDF

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

A 1

PowerPoint Presentation

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Microsoft Word - mnohouholnik.doc

KOMPENZAČNÝ PLÁN TIENS

Microsoft Word - Final_test_2008.doc

Microsoft Word - Diskusia11.doc

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

História

Manažment v Tvorbe Softvéru 2018/2019

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

Informačné technológie

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

1

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 Jednotkový koreň(unit roo

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

Metódy násobenie v stredoveku

Novinky v OpcDbGateway 5.0

Pokrocilé programovanie XI - Diagonalizácia matíc

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

Písomný test k predmetu Tvorba informačných systémov, pondelok, 16.januára 2012, čas: 120 minút. Odpovede píšte priamo k otázkam, ak potrebujete viac

Pokrocilé programovanie II - Nelineárne iteracné schémy, chaos, fraktály

TEORETICKÉ ÚLOHY

Rozdeľovanie IT zákaziek UX Peter Kulich

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

NSK Karta PDF

Zdravé sebavedomie odzrkadľuje spôsob, akým vidíme sami seba. Ak sa chceme stať sebavedomejšími ľuďmi, musíme zmeniť to, čo si myslíme sami o sebe, ak

sprievodca_exp.pdf

Stravné - přecenění

Microsoft Word TEÓRIA-F-A4

Funkcie viac premenných

Kybernetické operácie na pozadí ozbrojených konfliktov

Prenosový kanál a jeho kapacita

bod_6_9_odpredaj_moravska

53. ročník CHO, krajské kolo - odpoveďový hárok, kategória B

prijimacky 2014 MAT 4rocne ver A.doc

30440_Enek_szlovak_2016._ofi.indd

NSK Karta PDF

Komunikácia deklarantských SW s IS CEP Bratislava OPIS je spolufinancovaný z ERDF

Algoritmizácia a programovanie - Štruktúrované údajové typy

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Úlohy o veľkých číslach 6. Deliteľnosť In: Ivan Korec (author): Úlohy o veľkých číslach. (Slovak). Praha: Mladá fronta, pp Persistent UR

Microsoft Word - 11_Distribuované spracovanie dát nad MapReduce architektúrou _Hadoop a Hive_

Elmasri, Fundamentals of DBSs

006343_Zbornik_SQL.indd

Dôležité informácie - Nevyhadzujte! Agomelatine G.L. Pharma 25 mg na liečbu epizód veľkej depresie u dospelých Príručka pre pacienta Verzia 1.0 Schvál

Oceňovanie amerických opcií p. 1/17 Oceňovanie amerických opcií Beáta Stehlíková Finančné deriváty, FMFI UK Bratislava

Siete vytvorené z korelácií casových radov

Poznámky k cvičeniu č. 2

DediĊnosť

NSK Karta PDF

Čísla Nájdite všetky dvojice prirodzených čísiel, ktoré vyhovujú rovnici: 2 ( a+ b) ( a b) + 2b ( a+ 2b) 2b = 49 RIEŠENIE ( ) ( ) ( ) 2 a+ b a

ČASOVÝ HARMONOGRAM LABORATÓRNYCH CVIČENÍ Z PREDMETU ELEKTRICKÉ STROJE STRIEDAVÉ

Úvodná prednáška z RaL

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

(Microsoft Word - Tuzemsk\341 a zahrani\350n\341 jazda \232tandardn\341 jazda.docx)

Prepis:

19/1/2017 Úvod do databáz, skúškový test, max 60 bodov 1. Uvažujte databázu bez duplikátov a null hodnôt: lubipijan, Alkohol, navstivilidn, Pijan, Krcma, vypilidn, Alkohol, Mnozstvo. Platí: Idn Pijan, Krcma; Idn, Alkohol Mnozstvo; Mnozstvo > 0. a Sformulujte v relačnom kalkule 6 a SQL 6 bezpečný dotaz na dvojice [P, A] také, že pijan P ľúbi alkohol A; a zároveň P aspoň raz vypil A v každej krčme, ktorú navštívil. Relačný kalkul: [P, A]: lubip, A /* navstivil_nevypilp, A */ I K navstivili, P, K /* niekedy_vypilp, K, A */ I M navstivili, P, K vypili, A, M SQL: with navstivil_nevypil as select n.pijan, l.alkohol from navstivil n, lubi l where n.pijan = l.pijan and not exists select * from navstivil nv, vypil v where n.pijan = nv.pijan and n.krcma = nv.krcma and nv.idn = v.idn and l.alkohol = v.alkohol select l.pijan, l.alkohol from lubi l where not exists select * from navstivil_nevypil nn where l.pijan = nn.pijan and l.alkohol = nn.alkohol

b Sformulujte dotaz v Datalogu 6 a SQL 6 na pijanov, ktorí držia rekord v miešaní alkoholov počas jednej návštevy, t.j. spomedzi všetkých pijanov vypili maximálny počet druhov alkoholu počas niektorej svojej návštevy. Rekord môže držať niekoľko pijanov. Datalog: answerp pocetp, C, not iny_viacp, C. vpni, P, A navstivili, P, _, vypili, A, _. pocetp, C subtotalvpni, P, A, [I, P], [C = counta]. iny_viacp, C pocetp, C, pocetp2, C2, not P2 = P, C2 > C. Keď chceme byť veľmi pedantní, môžeme sa špeciálne venovať prípadu, keď žiaden pijan nič nevypil. V takom prípade je každý pijan rekordérom. To robia nasledujúce pravidlá. answerp lubip, _, not niekto_nieco_vypil. answerp navstivil_, P, _, not niekto_nieco_vypil. niekto_nieco_vypil vypil_, _, _. SQL nebudeme riešiť prípad, keď nikto nič nevypil: with pocet as select n.pijan, countdistinct v.alkohol as C from navstivil n, vypil v where n.idn = v.idn group by n.idn, n.pijan select p.pijan from pocet p where not exists select * from pocet p2 where p.pijan <> p2.pijan and p.c < p2.c

2. Uvažujte nasledujúci SQL dotaz nad reláciou ra, B, C: select r1.c, sumdistinct r1.b as S from r r1, r r2 where not exists select * from r r3 where r1.b = r3.c group by r1.c having r1.c < 6; a Zapíšte dotaz v relačnom kalkule. 6 [C1, S]: S = sumb1 A1 A2 B2 C2 ra1, B1, C1 ra2, B2, C2 A3 B3 ra3, B3, B1 C < 6 Alebo, ekvivalentne od premenných A2, B2, C2 sa vyžaduje len splnenie ra2, B2, C2, stačí dosadiť A2 = A1, B2 = B1, C2 = C1: [C1, S]: S = sumb1 A1 ra1, B1, C1 A3 B3 ra3, B3, B1 C < 6

b Vypočítajte výsledok dotazu pre reláciu ra, B, C = [2, 1, 2], [2, 1, 3], [2, 2, 2], [3, 4, 3], [3, 2, 5], [3, 4, 5], [4, 4, 5], [5, 4, 3], [5, 6, 3], [5, 1, 6], [5, 3, 6]. Vysvetlite priebeh výpočtu. 6 V SQL dotaze sa najskôr spracujú klauzy FROM a WHERE. Relácia r2 je irelevantná pre zvyšok výpočtu. Vypočíta sa t1 := r1r r1.b=r3.c r3r = A B C 2 1 2 2 1 3 3 4 3 3 4 5 4 4 5 5 4 3 5 1 6 Potom sa spracuje klauza GROUP BY a vypočíta sa agregácia v klauze SELECT: t2 := C, sumdistinct B t1 = C sumdistinct B 2 1 3 5 5 4 6 1 Potom sa urobí selekcia v klauze HAVING: t3 := sumdistinct B < 6 t2 = C sumdistinct B 2 1 3 5 5 4 Nakoniec sa urobí premenovanie v klauze SELECT: S = sumdistinct B t3 C S 2 1 3 5 5 4 Výsledok dotazu je relácia C, S = [2, 1], [3, 5], [5, 4].

3. a Napíšte algoritmus pseudokód, ktorý bezstratovo dekomponuje ľubovoľnú relačnú schému [r, F] do Boyce-Coddovej normálnej formy BCNF; a zároveň nedekomponuje [r, F], ktorá je v BCNF. Zdôvodnite prečo je výsledná dekompozícia bezstratová prečo sa spája bezstratovo. 6 Nasledujúca rekurzívna procedúra dekomponuje relačnú schému len ak nie je v BCNF. V podmienke if sa hľadá konkrétny kontrapríklad, ktorý priamo porušuje definíciu BCNF. Podľa definície [r, F] je v BCNF, ak v nej neexistuje platná netriviálna funkčná závislosť v F +, ktorej ľavá strana nie je nadkľúč r. decomposer, F if F + obsahuje funkčnú závislosť X Y, kde X Y = a X + r decomposer Y, F; decompose X Y, F; else outputr; /* r je v BCNF */ Relácie r Y a X Y, ktoré vznikajú dekompozíciou v procedúre decompose, sa spájajú bezstratovo do relácie r, lebo obe obsahujú všetky atribúty X a zároveň X je nadkľúč v X Y. b Dekomponujte relačnú schému [ra, B, C, D, E, F, G, ABCD EF, ABE FG, ABDG CF, G BD] do BCNF, bezstratovo. Snažte sa o zachovanie funkčných závislostí, vyhnite sa zbytočnej dekompozícii. 6 Použijeme algoritmus z úlohy a. A, B, C, D, E, F, G nie je v BCNF kvôli platnej funkčnej závislosti G BD G nie je nadkľúč. Dekomponujeme ju do relácií A, C, E, F, G a BDG. B, D, G je v BCNF, lebo okrem G B a G D v nej neplatia žiadne iné netriviálne funkčné závislosti z F + s 1 atribútom na ľavej aj pravej strane. G je nadkľúč v B, D, G. A, C, E, F, G nie je v BCNF, lebo v nej neplatia žiadne netriviálne funkčné závislosti z F +. Dekompozícia B, D, G, A, C, E, F, G je v BCNF. Všetky funkčné závislosti sa v žiadnej BCNF dekompozícii nepodarí zachovať.

4. Rozvrh je podľa definície konflikt-sériovateľný, ak jeho projekcia na commitované transakcie je konfliktekvivalentná niektorému sériovému rozvrhu tých commitovaných transakcií. a Uveďte definíciu konflikt-ekvivalencie dvoch rozvrhov. 6 Nech i, j sú identifikátory transakcií v rozvrhu H1 aj H2. Rozvrhy H1 a H2 sú konflikt-ekvivalentné, ak obsahujú operácie od tých istých transakcií a zároveň pre každú dvojicu konfliktných operácií Oi, Oj z H1, kde Oi <H1 Oj t.j. Oi je v H1 pred Oj sú tieto dve operácie v rozvrhu H2 v rovnakom poradí, t.j. OiX <H2 OjX. Dve read/write operácie sú konfliktné, ak sú od rôznych transakcií, týkajú sa rovnakého dátového objektu a aspoň jedna z nich je write teda pre i j a ľubovoľný objekt X, konfliktné dvojice sú [rix, wjx], [wix, rjx], [wix, wjx]. b Rozhodnite či platí: ak rozvrh H je konflikt-sériovateľný, tak projekcia každého jeho prefixu na commitované transakcie je konflikt-ekvivalentná niektorému sériovému rozvrhu tých commitovaných transakcií. Ak áno, dokážte. Ak nie, uveďte konkrétny kontrapríklad. 6 Toto tvrdenie sa dá interpretovať dvomi spôsobmi ten druhý je asi prirodzenejší: 1. Existuje sériový rozvrh, ktorému je konflikt-ekvivalentná commitovaná projekcia každého prefixu. 2. Pre každý prefix existuje sériový rozvrh, ktorému je konflikt-ekvivalentná commitovaná projekcia daného prefixu. Tvrdenie platí pre obe interpretácie. Nech H je konflikt-sériovateľný rozvrh. To znamená, že jeho commitovaná projekcia je konflikt-ekvivalentná niektorému sériovému rozvrhu S tých commitovaných transakcií. Vynechajme z H poslednú operáciu. Ak tá posledná operácia nie je commit, tak skrátený H je naďalej konflikt-ekvivalentný S. Opakujme postupné vynechávanie operácií z konca H až kým nevynecháme prvú operáciu commiti. Pre tento prefix sa commitovaná projekcia H zmení na commitovanú projekciu H Ti, v ktorej sú odstránené všetky operácie transakcie Ti. Odstránenie operácií Ti však nezmení konflikty medzi dvojicami operácií od ostatných transakcií ich relatívne poradie ostane naďalej rovnaké. Teda commitovaná projekcia H Ti bude konflikt-ekvivalentná sériovému rozvrhu S Ti. V odstraňovaní operácií z konca rozvrhu budeme pokračovať a opakovať predošlú argumentáciu až kým neprídeme po prázdny rozvrh. Postupným skracovaním H prejdeme cez všetky prefixy H. QED