otázky (a odpovědi) k písemné zkoušce (PDF) - flashi

flashi.wz.cz

otázky (a odpovědi) k písemné zkoušce (PDF) - flashi

Otázka č. 1 (bodů za otázku: 4)Agendy - redundanceKterá z následujících tvrzení charakterizují redundanci dat v databázi?‣ Je to opakování stejných dat pouze v různých souborech.‣ Je zdrojem nekonzistence dat‣ Redundance může být zdrojem anomálií při vkládání‣ Vyznačuje se jí každé agendové zpracování dat‣ Redundance může být zdrojem anomálií při mazání dat z databáze.‣ Může se vyskytovat u agendové technologie.‣ Může se vyskytovat u databázové technologie.Agendy – konzistenceKterá z následujících tvrzení charakterizují konzistenci dat v databázi?‣ Redundance dat může být zdrojem nekonzistence dat.‣ Jsou-li data integritní, jsou také konzistentní.‣ Jsou-li data konzistentní, nemusí být také integritní.‣ Vzájemná shoda údajů‣ Je to vzájemný soulad údajů v databázi‣ Je to shoda stejných údajů zaznamenaná v různých souborech databázeAgendy – integritaKterá z následujících tvrzení charakterizují integritu dat v databázi?‣ Jsou-li data konzistentní, nemusí být také integritní.‣ Jsou-li data integritní, jsou také konzistentní.‣ Porušuje ji chybný zápis dat uživatele.‣ Je to soulad údajů v realitě a v databázi.


Otázka č. 2 (bodů za otázku: 5)DB – typ entityOznačte pojmy odpovídající pojmu typ entity v různých datový modelech.‣ Relační schéma‣ Množina reálných objektů‣ Množina řádků tabulky‣ Obdélníkový uzel ERD‣ Typ záznamu‣ Struktura tabulky‣ Výraz definující název schématu, množinu jeho atributů a k atributům obory hodnot‣ Lineární zápis typu entityDB – entitaOznačte pojmy odpovídající pojmu entita v různých datový modelech.‣ Prvek relace‣ Řádek tabulky‣ Prvek podmnožiny kartézského součinu domén atributů‣ Výskyt záznamuDB – relaceOznačte pojmy odpovídající pojmu relace v různých datových modelech‣ množina entit‣ množina reálných objektů‣ množina všech řádků tabulky‣ obsah tabulky‣ konečná podmnožina kartézského součinu domén atributůDB – relační schémaOznačte pojmy odpovídající pojmu relační schéma v různých dat.modelech‣ Výraz definující název schématu,možnosti jeho atributů a k atributům obory hodnot‣ Typ entity‣ Množiny entit(zobrazeno jako obsah tabulky + množina řádků)‣ Typ záznamu‣ Obdélníkový uzel ERD‣ Konečná množina relačních schémat‣ Struktura tabulkyDB – ERDKteré skutečnosti z reality a která integritní omezení je možno zobrazit v ERD?‣ typ vazby‣ povinnost členství ve vazbě‣ kardinalitu vazby‣ typ entity‣ množinu atributů


Otázka č. 3 (bodů za otázku: 5)Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím přímé adresování snejednoznačnou hašovací funkcí adresa=hash(login).Zaměstnaná Ilona Večeřová s loginem vec033 byla propuštěna.Z následujícího seznamu operací vyberte a uspořádejte do optimální správné posloupnosti ty, které realizují v tétofyzické organizaci databáze uvedenou operaci. Výsledek zapište jako posloupnost pořadových čísel vybranýchoperací, oddělených čárkou (např. 5,12,14,22).1. vyhledej v datovém souboru Zam sekvenčně záznam se jménem „Ilona Večeřová“, zapamatuj si jeho adresu v proměnnéDadresa2. vyhledej v datovém souboru Zam binárně záznam se jménem „Ilona Večeřová“, zapamatuj si jeho adresu v proměnnéDadresa3. vyhledej v indexovém souboru binárně záznam se jménem „Ilona Večeřová“, zapamatuj si jeho adresu v proměnnéAadresa4. pomocí hašovací funkce vypočti adresu záznamu s loginem „vec033“ v datovém souboru Zam a ulož do proměnnéHadresa5. přenes vyhledaný záznam z indexového souboru Ijmeno do paměti počítače do proměnných Ijmeno, Iadresa6. vyhledej v datovém souboru Zam přímo záznam s adresou Hadresa7. vymaž vyhledaný záznam v Zam8. je-li v Zam na adrese Hadresa jediný záznam, označ jej jako neplatný9. je-li v Zam na adrese Hadresa více záznamů, najdi ve zřetězeném seznamu těchto záznamů záznam s loginem „vec033“a označ jej jako neplatný10. vyhledej v indexovém souboru záznam s adresou Hadresa a označ jej jako neplatný11. vypočti pomocí hašovací funkce adresu posledního datového záznamu Nadresa a přenes jej na adresu Hadresa‣ 4, 6, 8, 9, 10, 11Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím přímé adresování snejednoznačnou hašovací funkcí adresa=hash(login).Do zaměstnání nastoupila nová osoba Ilona Večeřová s loginem vec033 na funkci sekretářka, s platem 12000 Kč.Z následujícího seznamu operací vyberte a uspořádejte do optimální správné posloupnosti ty, které realizují v tétofyzické organizaci databáze uvedenou operaci. Výsledek zapište jako posloupnost pořadových čísel vybranýchoperací, oddělených čárkou (např. 5,12,14,22).1. dosaď Plogin:=“vec033“2. dosaď Plogin:=“vec033“, Pjmeno:=“Ilona Večeřová“,Pfunkce:=“sekretářka“, Pplat:=120003. pomocí hašovací funkce vypočti adresu nového záznamu se jménem „Ilona Večeřová“ v datovém souboru Zam a ulož jido proměnné Aadresa4. pomocí hašovací funkce vypočti adresu nového záznamu s loginem „vec033“ v datovém souboru Zam a ulož ji doproměnné Nadresa5. vyhledej v datovém souboru Zam přímo záznam s adresou Nadresa6. vymaž v Zam záznam s vyhledanou adresou Aadresa7. není-li v Zam na adrese Nadresa žádný záznam, zapiš na tuto adresu záznam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce8. jsou-li v Zam na adrese Nadresa záznamy, najdi konec zřetězeného seznamu těchto záznamů a na konec seznamu zapišzáznam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce9. je-li v Zam na adrese Hadresa více záznamů, najdi ve zřetězeném seznamu těchto záznamů záznam s loginem „vec033“a zapamatuj si jeho adresu v proměnné Ladresa10. zapiš nový záznam na konec datového souboru Zam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce11. zapiš do datového souboru Zam na adresu Hadresa záznam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce‣ 2, 4, 5, 7, 8


Otázka č. 4 (bodů za otázku: 5)Konceptuální model databáze neobsahuje‣ Funkční závislosti mezi entitami‣ Popis funkcí nad databází‣ Seznam všech atributů databáze‣ Jen binární vazby‣ Entity‣ Integritní omezení pro fce nad databází‣ Množiny entit‣ Hierarchii entit‣ Množiny entit vstupujících do vztahu‣ Obsah databáze‣ Vazby typu M:N‣ Množiny entit vstupujících do vztahuKonceptuální model transformovaný pro relační databázi obsahuje (popř. může obsahovat)‣ Integritní omezení pro domény atributů‣ ERD‣ Domény atributů‣ Slovně popsaná pravidla definující obsah databáze‣ Integritní omezení týkající se vazeb‣ Lineární zápis typů vazeb‣ Vazební tabulkyKonceptuální model databáze odpovídající realitě obsahuje‣ Lineární zápis typů entit‣ Lineární zápis typů vazeb‣ ERD


Otázka č. 5 (bodů za otázku: 5)Je dána část databáze NEMOCNICE s relačními schématyLekar (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc)Hospital (rod_cis_pac, datum_od, datum_do, diagnoza, cis_pokoj)Operace (rod_cis_pac, rod_cis_lek, datum_oper, hodina_oper)V zadání bylo, že každý lékař má jeden hlavní obor - specializaci, pacient při jedné hospitalizaci - nemocničnímpobytu má jednu hlavní diagnózu.Které z následujících výrazů relační algebry odpovídají na dotaz:Nakreslete úplný E-R diagram této databáze, bez atributů, s úplným vyznačením vazeb a všech integritních omezenízobrazitelných v ERD


Otázka č. 6 (bodů za otázku: 8)Je dáno univerzální schéma relace části databáze OBCHOD. Eviduje zákazníky, objednávky a jejich jednotlivépoložky a seznam prodávaného zboží. Každý zákazník může mít libovolné množství objednávek, objednávané zboží jerozepsáno po položkách. Denně jeden zákazník může vystavit jedinou objednávku. Ceny zboží se v čase mohou měnit,způsob úhrady také.Je dáno, že všechny zadané atributy jsou atomické, nejsou multi-položky ani složené atributy.Obchod (id_zakaznika, jmeno, prijmeni, ulice, cislo_popis, mesto, psc, telefon, datum_objed, zpusob_uhrady, dodaci_adresa,cislo_zbozi, mnoz_objed, cena_za_kus, mnoz_skladem)Vyberte platné funkční závislosti mezi zadanými atributy.‣ id_zakaznika, datum_objed --> zpusob_uhrady, dodaci_adresa‣ id_zakaznika, datum_objed, dodaci_adresa --> zpusob_uhrady‣ id_zakaznika --> jmeno, prijmeni, ulice, cislo_popis, mesto, psc, telefon‣ id_zakaznika, datum_objed, zpusob_uhrady --> dodaci_adresa‣ id_zakaznika, datum_objed, cislo_zbozi --> mnozstvi_objed, cena_za_kus‣ cislo_zbozi --> cena_za_kus, mnozstvi_sklademKteré zadané a platné funkční závislosti obsahují redundantní atributy?‣ id_zakaznika, datum_objed, zpusob_uhrady --> dodaci_adresa‣ id_zakaznika, datum_objed, dodaci_adresa --> zpusob_uhradyJe dáno univerzální schéma relace části databáze NEMOCNICE s evidencí hospitalizací, časového plánu operací,evidencí pacientů a jejich umístění na pokojích a evidencí lékařů a jejich specializací (obor). Pacient může býtoperován několikrát, ale nikdy ve stejný den.NEMOCNICE (jmeno_lek, rod_cis_lek, obor, jmeno_pac, rod_cis_pac,obec_pac, ulice_pac, psc_pac, datum_od, datum_do, diagnoza,cis_pokoj, poc_luzek, datum_oper, hodina_oper)Datum_od a datum_do znamenají datum přijetí a propuštění pacienta z nemocnice.Která podmnožina zadaných platných funkčních závislostí tvoří neredundandní pokrytí?‣ rod_cis_pac --> obec_pac, ulice_pac, psc_pac, jmeno_pac‣ hodina_oper, datum_oper --> rod_cis_lek, rod_cis_pac‣ rod_cis_lek --> jmeno_lek, obor‣ cis_pokoj --> poc_luzek‣ rod_cis_pac, datum_od --> datum_do, diagnozaKteré zadané platné funkční závislosti obsahují redundantní atributy?‣ jmeno_lek, hodina_oper, datum_oper --> rod_cis_pac‣ hodina_oper, datum_oper, rod_cis_pac --> rod_cis_lek‣ rod_cis_pac, datum_od, datum_do --> diagnoza‣ rod_cis_pac, hodina_oper, datum_oper --> jmeno_lekKteré zadané platné funkční závislosti neobsahují redundantní atributy?‣ rod_cis_pac, datum_od --> datum_do, diagnoza‣ rod_cis_pac --> jmeno_pac, datum_oper, hodina_oper‣ rod_cis_lek --> jmeno_lek, obor‣ cis_pokoj --> poc_luzek‣ rod_cis_pac --> obec_pac, ulice_pac, psc_pac‣ rod_cisl_lek, rod_cisl_pac --> datum_oper,hodina_oper


Je dána část databáze NEMOCNICE s relačními schématyLékař (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc, diagnoza, cis_pokoj)Operace (rod_cis_lek, datum_oper, hodina_oper, jmeno_pac)V zadání bylo, že každý lékař má jedinou hlavní specializaci (obor), pacient při jednom nemocničním pobytu májednu hlavní diagnózu.Je schéma navrženo správně, s atomickými atributy a bez redundancí?‣ Ne, některé schéma obsahuje redundance.‣ Ne, některá schémata nejsou ve 3NF.‣ Ne, některé schéma obsahuje neatomické atributy.‣ Ne, některé schéma má chybně zvolený cizí klíč.Je dána část databáze NEMOCNICE s relačními schématyLekar (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc)Hospital (rod_cis_pac, datum_od, datum_do, diagnoza, cis_pokoj)Operace (rod_cis_lek, rod_cis_pac,datum_oper, hodina_oper)V zadání bylo, že každý lékař má jedinou hlavní specializaci (obor), pacient při jednom nemocničním pobytu májednu hlavní diagnózu.Datum_od a datum_do znamenají datum přijetí a propuštění pacienta z nemocnice.Je schéma navrženo správně, s atomickými atributy a bez redundancí?‣ Ano, všechna schémata jsou alespoň ve 3NF.Je dána část databáze DETSKY LEKAR s relačními schématyDite (rod_cis, jmeno, dat_nar, mesto, ulice, psc)Typ_ockovani (id_typ, mesic, typ, popis)Ockovani (rod_cis, mesic, datum, cas, id_typ)Je schéma databáze navrženo správně, s atomickými atributy a bez redundancí?‣ Ne, schéma Ockovani není ve 3NF.‣ Ne, schéma Typ_ockovani není ve 3NF.‣ Ne, schéma Typ_ockovani obsahuje redundance.‣ Ne, schéma Ockovani obsahuje závislost na podklíči.‣ Ne, schéma Ockovani obsahuje redundance.‣ Ne, schéma Typ_ockovani obsahuje závislost na podklíči.Je dána část databáze internetového obchodu s následujícími relačními:Zakaznik (id_zakaznika, jmeno, prijmeni, ulice, cislo_popisne, mesto, psc, telefon, email)Objednavka (cislo_zakazky, id_zakaznika, datum_objednani, zpusob_uhrady, dodaci_ulice, dodaci_cislo_popisne,dodaci_mesto, dodaci_psc)Obsah_objednavky (cislo_zakazky, cislo_zbozi, mnozstvi)Zbozi (cislo_zbozi, nazev_zbozi, cena_za_kus, dph)Atributy id_zakaznika, cislo_zakazky, cislo_zbozi jsou umělé klíče. Zbozi je číselník prodávaného zboží, ne evidenceskladu.Za předpokladu, že je schéma databáze navrženo správně, určete, které skutečnosti z reality a ze zadání toto schémazohledňuje:‣ Objednávka je jednoznačně určena pomocí cislo_zakazky.‣ Jedna objednávka může být pouze pro jednoho zákazníka.‣ Na jedné kartě zboží nelze evidovat množství zboží na skladě.‣ V rámci jedné objednávky lze objednat více druhů zboží.‣ V rámci jedné objednávky lze objednat více kusů stejného zboží.


Otázka č. 7 (bodů za otázku: 8)Je dána část databáze NEMOCNICE s relačními schématy:Lekar (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc)Hospital (rod_cis_pac, datum_od, datum_do, diagnoza, cis_pokoj)Operace (rod_cis_lek, rod_cis_pac,datum_oper, hodina_oper)V zadání bylo, že každý lékař má jedinou hlavní specializaci (obor), pacient přijednom nemocničním pobytu má jednu hlavní diagnózu.Určete, ve které normální formě je schéma Lekar:‣ BCNFUrčete, ve které normální formě je schéma Pacient:‣ BCNFUrčete, ve které normální formě je schéma Pokoj:‣ BCNFUrčete, ve které normální formě je schéma Operace:‣ BCNFJe dána část databáze DETSKY LEKAR, s relačními schématy:Dite (rod_cis, jmeno, dat_nar, mesto, ulice, psc)Typ_ockovani (id_typ, mesic, typ, popis)Ockovani (rod_cis, mesic, datum, cas, id_typ)Navsteva (rod_cis, datum, diagnoza, vykon)Určete, ve které normální formě je schéma Typ_ockovani:‣ 1NFUrčete, ve které normální formě je schéma Ockovani:‣ 1NFUrčete, ve které normální formě je schéma Navsteva:‣ v žádné


Otázka č. 8 (bodů za otázku: 8)Je dána část databáze NEMOCNICE s relačními schématyLekar (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc)Hospital (rod_cis_pac, datum_od, datum_do, diagnoza, cis_pokoj)Operace (rod_cis_pac, rod_cis_lek, datum_oper, hodina_oper)V zadání bylo, že každý lékař má jeden hlavní obor – specializaci, pacient při jedné hospitalizaci – nemocničnímpobytu má jednu hlavní diagnozu.Které z následujících výrazů relační algebry odpovídají na dotaz:Vypište seznam jmen, oborů a diagnoz lékařů, kteří byli operováni.‣ (Operace[rod_cis_pac][rod_cis_pac = rod_cis_lek] Lekar [*] Hospital[rod_cis_pac, diagnoza]) [jmeno_lek, obor,diagnoza]‣ Lekar[rod_cis_lek = rod_cis_pac] Operace [*] Hospital) [jmeno_lek, obor, diagnoza]Vypište jména a obory operovaných lékařů‣ (Lekar [rod_cis_lek = rod_cis_pac] Operace) [jmeno_pac, obor]‣ ((Operace [rod_cis_pac]) [rod_cis_pac = rod_cis_lek ] Lekar) [jmeno_lek, obor]Vypište jména a obory lékařů, kteří nebyli nikdy hospitalizováni v této nemocnici‣ ((Lekar[rod_cis_lek] - (Hospital[rod_cis_pac = rod_cis_lek] Lekar) [rod_cis_lek]) [*] Lekar) [jmeno_lek, obor]Vypište datum, rodné čísla a jména operovaných pacientů s diagnózou „slepé střevo“.‣ Pacient [*] Operace [*] Hospital (diagnoza=„slepé střevo“) [datum_oper, rod_cis_pac, jmeno_pac]Je dána část databáze internetového obchodu s následujícími relačními schématy:Zakaznik (id_zakaznika, jmeno, prijmeni, ulice, cislo_popisne, mesto, psc, telefon_doma, telefon_mobil, telefon_fax,email_doma, email_prace)Objednavka (cislo_zakazky, id_zakaznika, datum_objednani, zpusob_uhrady, dodaci_ulice, dodaci_cislo_popisne,dodaci_mesto, dodaci_psc)Obsah_objednavky (cislo_zakazky, cislo_zbozi, mnozství, prodejni_cena)Zbozi (cislo_zbozi, nazev_zbozi, cena_za_kus, mnozstvi_skladem, dph)Atributy id_zakaznika, cislo_zakazky, cislo_zbozi, jsou umělé klíče.Jde o akci, kde v rámci jedné zakázky lze objednat více kusů zboží stejného typu.Které z následujících výrazů relační algebry odpovídají na dotaz:Vypište seznam zákazníků (id_zakaznika, prijmeni, jmeno), kteří si nikdy neobjednali zboží s názvem „NOKIA6600“.‣ (Zakaznik[id_zakaznik] - (Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi=”NOKIA 6600”))[id_zakaznik]) [*] Zakaznik) [id_zakaznik, prijmeni, jmeno]‣ (Zakaznik - ((Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi=”NOKIA 6600”)) [id_zakaznik] [*]Zakaznik)) [id_zakaznik, prijmeni, jmeno]Vypište seznam zákazníků (id_zakaznika, prijmeni, jmeno), kteří si objednali pouze zboží s názvem „NOKIA 6600“.‣ ((Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi=”NOKIA 6600”)) [id_zakaznik] - (Objednavka [*]Obsah_objednavky [*] Zbozi(nazev_zbozi”NOKIA 6600”)) [id_zakaznik]) [*] Zakaznik[id_zakaznika,prijmeni, jmeno]‣ ((Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi=”NOKIA 6600”) [*] Zakaznik)[id_zakaznik,prijmeni, jmeno] - (Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi”NOKIA 6600”) [*]Zakaznik)[id_zakaznika, prijmeni, jmeno])‣ ((Zbozi(nazev_zbozi=”NOKIA 6600”) [*] Obsah_objednavky [*] Objednavka) [id_zakaznika] -(Zbozi(nazev_zbozi”NOKIA 6600”) [*] Objednavka [*] Obsah_objednavky) [id_zakaznika]) [*]Zakaznik[id_zakaznika, prijmeni, jmeno])


Otázka č. 9 (bodů za otázku: 6)Je dána část databáze NEMOCNICE s relačními schématyLekar (jmeno_lek, rod_cis_lek, obor)Pokoj (cis_pokoj, poc_luzek)Pacient (jmeno_pac, rod_cis_pac, obec, ulice, psc)Hospital (rod_cis_pac, datum_od, datum_do, diagnoza, cis_pokoj)Operace (rod_cis_pac, rod_cis_lek, datum_oper, hodina_oper)V zadání bylo, že každý lékař má jeden hlavní obor = specializaci, pacient při jedné hospitalizaci = nemocničnímpobytu má jednu hlavní diagnózu.Které z následujících dotazů SQL odpovídají na dotaz:Vypište čísla pokojů a počty pacientů na nich hospitalizovaných ke dni 1.1.2005.‣ SELECT cis_pokoj, COUNT(*) FROM Hospital WHERE datum_od = „1.1.2005“GROUP BY cis_pokojVypište čísla pokojů a počty pacientů na nich hospitalizovaných během prosince 2004 (včetně přijatých dříve apropuštěných později).‣ SELECT cis_pokoj, COUNT(*) FROM Hospital WHERE datum_od < „1.1.2005“ AND datum_do >= „1.12.2004“GROUP BY cis_pokojVypište za každý den prosince 2004 datum a počet operací realizovaných lékařem Karlem Zárubou‣ SELECT datum_oper, COUNT(*) FROM Operace O, Lekar L WHERE datum_oper BETWEEN „1.12.2004“AND „31.12.2004“ AND L.jmeno_lek = „Karel Záruba“ AND O.rod_cis_lek = L.rod_cis_lek GROUP BYdatum_operJe dána část databáze DETSKY LEKAR, evidující objednávání a očkování dětí. O dětech eviduje jméno, rodné číslo,datum narození, adresu, typ očkování, název nemoci, proti které je dítě očkováno a slovní popis očkování, o typechočkování dále, ve kterém měsíci života se očkování provádí. Pokud se totéž očkování opakuje v rúzném věku, jeevidováno znovu s jiným měsícem a stejným popisem. Pro objednávky je nutné evidovat kalendář dnů a časů proočkování, aby byl přehled o volných termínech. Jedno očkování trvá 10 minut.Databáze má relační schémata:Dite (rod_cis, jmeno, dat_nar, město, ulice, psc)Typ_ockovani (id_typ, mesic, typ, popis)Ockovani (rod_cis, mesic, datum, cas, id_typ)Které z následujících SQL dotazů odpovídají na otázku:Vypište počty očkovaných dětí podle názvů nemocí v roce 2005‣ SELECT typ, COUNT id_typ FROM Ockovani O, Typ_ockovani T WHERE O.id_typ=T.id_typ AND datum>=1.1.2005 GROUP BY id_typ ORDER BY id_typ


Je dána část databáze internetového obchodu s následujícími relačními schématy (pozor pro různé otázky mohou býttato schémata různá, byť popisují podobný problém):Zakaznik (id_zakaznika, jmeno, prijmeni, ulice, cislo_popisne, mesto, psc, telefon_doma, telefon_mobil, telefon_fax,email_doma, email_prace)Objednavka (cislo_zakazky, id_zakaznika, datum_objednani, zpusob_uhrady, dodaci_ulice, dodaci_cislo_popisne,dodaci_mesto, dodaci_psc)Obsah_objednavky (cislo_zakazky, cislo_zbozi, množství, prodejni_cena)Zbozi (cislo_zbozi, nazev_zbozi, cena_za_kus, mnozstvi_skladem, dph)Atributy id_zakaznika, cislo_zakazky, cislo_zbozi, jsou klíčové.V rámci jedné zakázky lze objednat více kusů zboží stejného typu nebo může být objednávka vystavena i na jinéslužby, než prodej zboží.Které z následujících dotazů SQL odpovídají na dotaz:Vypište seznam zákazníků (id_zakaznika, prijmeni, jmeno), kteří si nikdy neobjednali zboží s názvem „NOKIA6600“.‣ SELECT id_zakaznika, prijmeni, jmeno FROM Zakaznik WHERE id_zakaznika NOT IN (SELECTid_zakaznika FROM Objednavka WHERE cislo_zakazky IN (SELECT cislo_zakazky FROM Obsah_objednavkyWHERE cislo_zbozi IN (SELECT cislo_zbozi FROM Zbozi WHERE nazev_zbozi = “NOKIA 6600“)))‣ SELECT id_zakaznika, prijmeni, jmeno FROM Zakaznik WHERE id_zakaznika NOT IN (SELECTid_zakaznika FROM Objednavka O, Obsah_objednavky L, Zbozi Z WHERE O.cislo_zakazky = L.cislo_zakazkyAND L.cislo_zbozi = Z.cislo_zbozi AND Z.nazev_zbozi = “NOKIA 6600“)Vypište seznam zákazníků (id_zakaznika, prijmeni, jmeno), kteří si objednali pouze zboží s názvem „NOKIA 6600“.‣ SELECT UNIQUE Z.id_zakaznik, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavkyL, Zbozi K WHERE K.cislo_zbozi = L.cislo_zbozi AND K.nazev_zbozi = “NOKIA 6600“ AND L.cislo_zakazky =O.cislo_zakazky AND Z.id_zakaznika = O.id_zakaznika AND Z.id_zakaznik IN ( SELECT id_zakaznika FROMObjednavka O, Obsah_objednavky L WHERE O.cislo_zakazky = L.cislo_zakazky GROUP BY L.cislo_zboziHAVING COUNT(*) = 1)‣ SELECT UNIQUE Z.id_zakaznik, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavkyL, Zbozi K WHERE K.cislo_zbozi = L.cislo_zbozi AND K.nazev_zbozi = “NOKIA 6600“ AND L.cislo_zakazky =O.cislo_zakazky AND Z.id_zakaznika = O.id_zakaznika AND Z.id_zakaznik NOT IN (SELECT id_zakaznikaFROM Objednavka O, Obsah_objednavky L, Zbozi Z WHERE O.cislo_zakazky = L.cislo_zakazky ANDL.cislo_zbozi = K.cislo_zbozi AND K.nazev_zbozi “NOKIA 6600“)Pro jednotlivé zákazníky vypište za všechny jejich objednávky seznam obsahující id_zakaznika, počet druhůobjednaného zboží, celkovou cenu za všechny objednávky. Do výpisu zahrňte pouze zákazníky, jejichž součet ceny zavšechny objednávky přesáhl 10.000,- Kč.‣ SELECT id_zakaznika, COUNT( UNIQUE cislo_zbozi), SUM(prodejni_cena) FROM Obsah_objednavky L,Objednavka O WHERE O.cislo_zakazky = L.cislo_zakazky GROUP BY id_zakaznika HAVINGSUM(prodejni_cena) > 10000


Otázka č. 10 (bodů za otázku: 5)Která následující tvrzení charakterizují vztahy (shody a rozdíly) mezi síťovým (SDM) arelačním (RDM) datovým modelem?‣ V SDM není možno při vyhledávání informace doplnit nepředpokládanou vazbu, v relačním se přidá vazebnítabulka.‣ Základní rozdíl obou datových modelů je v realizaci vazeb na databázové úrovni.‣ SDM realizuje n-ární vazby pomocí nového typu záznamu, RDM pomocí vazební tabulky.‣ U obou modelů je nutné na konceptuální úrovni transformovat vazby n-ární do vazební tabulky.‣ Vazby z reality typu M:N v obou modelech je možné realizovat pomocí transformace na konceptuální úrovni.‣ U obou modelů je nutné na konceptuální úrovni transformovat vazby typu M:N na vazby 1:M.Která následující tvrzení charakterizují rozdíl mezi síťovým (SDM) a relačním (RDM) datovým modelem?‣ SDM realizuje n-ární vazby pomocí nového typu záznamu, RDM pomocí vazební tabulky.‣ U obou modelů je nutné na konceptuální úrovni transformovat vazby typu M:N na vazby 1:M.‣ Základní rozdíl obou datových modelů je v realizaci vazeb na databázové úrovni.‣ Vazby z reality typu M:N v obou modelech je možné realizovat pomocí transformace na konceptuální úrovni.‣ U obou modelů je nutné na konceptuální úrovni transformovat vazby n-ární do vazební tabulky.‣ V SDM není možno při vyhledávání informace doplnit nepředpokládanou vazbu, v relačním se přidá vazebnítabulka.Charakteristika síťového datového modelu‣ V SDM se vazby musí deklarovat předem‣ V SDM se realizace vazeb urychluje vyhledáváním záznamů‣ V SDM se vazby typu M:N musí transformovat na 1:M‣ V SDM se vazby realizují pomocí ukazatelů z vlastníka setu na prvního člena setu,odtud zřetězeně na další členysetu a z posledního člena setu na vlastníka setu‣ V SDM se vazby nazývají sety‣ V SDM není možno realizovat přímo unární vazby


y Dave and Adkathx to SWE, Carl28, Lopata, rybar73, Losna, Jelc@2006

More magazines by this user
Similar magazines