Datum a cas: 4-DEC-1998 14:19 Vec: nejake DB 97/98 ---------- Subject: Databazy, 14.1 Priklad 1 Mame databazu pijanov piva: navstivil(datum, pijan, krcma) capuju(krcma, pivo) pije(pijan, pivo) vypilo_sa(datum, krcma, pivo, mnozstvo) Sformulujte nasledovne dotazy v algebre, kalkule a SQL na: 1.) Pijanov, ktori navstivili len krcmy, kde capuju aspon jeden druh piva, ktory piju. 2.) Pijanov, ktori navstivili len krcmy, kde capuju iba piva, ktore nepiju. 3.) Pre kazdu znacku piva vypiste krcmu, kde sa tejto znacky piva vypilo najviac (za celu dobu existencie bazy dat). 4.) Definujte v datalogu predikaty uspesny(pijan) pre dotaz(1) a sklamany(pijan) pre dotaz(2). Priklad 2 Dana je relacna schema R={A,B,C,D,E} a mnozina funkcnych zavislosti F={AB->C, A->D, BD->C}. Upravte R do 3NF nelamajucej zavislosti a do BCNF! Priklad 3 Dane su transakcie T1={lock A,..., lock B,..., unlock A,..., unlock B} a T2={lock B,..., unlock B,..., lock A,..., unlock A}. Kolkymi sposobmi mozu prebehnut legalne a kolko z nich je seriovatelnych? Priklad 4 Zakodujte slovo aad! v abecede {a 1/2,b 1/4,c 1/8,d 1/12,! 1/24} (zlomky udavaju pravdepodobnost vyskytu symbolov) pomocou Huffmanovho kodu a aritmetickym kodovanim. Porovnajte dlzku kodu a vysvetlite vysledok. Priklad 5 Porovnajte ulozenie viet s klucmi {1,4,9,16,...,15^2} pomocou hasovania modulo 7 a pomocou 2-3 stromov (B* stromov m=3). Zdovodnite vysledok. Drzim vam palce. Martin ---------- Subject: Databazy 19.12. priklad 1 Mame databazu kniznice pozical_si (datum, citatel, kniha) precital (citatel, kniha, datum) paci_sa (kniha, citatel) Sformulujte nasledovne dotazy v algebre, kalkule a v SQL na: 1. citatelov, ktori neprecitali ziadnu knihu 2. citatelov, ktori si pozicali iba knihy, ktore sa im nepacili, alebo ktore neprecitali 3. pre kazdu knihu vypiste citatela, ktory ju mal najviac krat pozicanu priklad 2 Upravte nasledujucu schemu do 3NF nelamajucej zavislosti a BCNF: udaje o studentoch: meno, priezvisko, rodne cislo, datum narodenia, miesto narodenia, adresa, mesto, PSC udaje o vyucujucich: to iste ako o studentoch + titul, dlzka praxe, plat udaje o prednaskach: predmet, miestnost, vyucujuci, den, hodina, zoznam studentov navstevujucich prednasku a znamka studenta z daneho predmetu zavislosti: miestnost, den, hodina -> predmet, vyucujuci student, predmet -> znamka, vyucujuci rodne cislo je kluc v relaciach vyucujuci a student adresa, mesto -> PSC PSC -> mesto titul, dlzka praxe -> plat student, hodina -> miestnost meno, prizvisko, datum_narodenia <-> rodne_cislo priklad 3 Zistite, ci nasledujuci rozvrh je seriovatelny. Ak ano, najdite ekvivalentny seriovy rozvrh. | T1 | T2 | T3 | T4 | T5 | ______________________________________________________ | lock C | lock A | | lock D | lock B | | unlock C | unlock A | | unlock D | unlock B | | lock A | | lock C | | lock D | | lock B | | | lock E | unlock D | | unlock B | | unlock C | unlock E | | | unlock A | lock D | lock B | | lock E | | | unlock D | | | unlock E | | lock D | lock E | | | | | unlock D | unlock E | unlock A | | | priklad 4 Navrhnite datovu strukturu pre ulozenie 10^8 viet 4 atributovej tabulky, v ktoorej chceme mat rychle vyhladavanie podla vsetkych styroch atributov. Prediskutujte viac moznosti. PS: ze vraj Sturc bol meky, nechal prejst aj takych co nic nevedeli za 3 ;-))) ---------- Subject: Add: Databazy 19.12. > ...ze vraj Sturc bol meky, nechal prejst aj takych co nic nevedeli za 3... Bol z toho ale coraz viac nasraty (nieco o tom viem, bol som posledny) a usudzujem, ze nabuduce uz az taky meky nebude. Navyse uz nepouzije zadania z minuleho roku. Treba jednoznacne vediet: -normalne formy - def./upravy na (zaklada si na tom) -budovat SQL dotazy podla slovneho popisu (min. - lepsie aj algebru/kalkulus) -seriovatelnost transakcii -LZW Ak je clovek v tomto v pohode, ma to s velkou pravdepodobnostou bez dalsich prietahov za 1. S pozdravom, C.H.