1 / 17

Ukázka písemné zkoušky z TZD

Ukázka písemné zkoušky z TZD. 10 otázek – celkem 60 bodů Minimum 30 bodů Čas 90 minut. Která z následujících tvrzení charakterizují integritu dat v databázi?. Porušuje ji vždy chybný návrh struktury databáze. Jsou-li data integritní, jsou také konzistentní.

Download Presentation

Ukázka písemné zkoušky z TZD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ukázka písemné zkoušky z TZD 10 otázek – celkem 60 bodů Minimum 30 bodů Čas 90 minut

  2. Která z následujících tvrzení charakterizují integritu dat v databázi? • Porušuje ji vždy chybný návrh struktury databáze. • Jsou-li data integritní, jsou také konzistentní. • Porušuje ji chybný zápis dat uživatele. • Je to vzájemný soulad údajů v databázi. • Jsou-li data konzistentní, nemusí být také integritní • Jsou-li data konzistentní, jsou také integritní • Je-li databáze správně navržena, nemůže dojít k porušení integrity. • Jsou-li data integritní, nemůže dojít k anomáliím při vypuštění záznamů. • Porušuje ji každý chybný aplikační program. • Jsou-li data integritní, nemusí být také konzistentní.

  3. Označte pojmy odpovídající pojmu relace v různých datových modelech • lineární zápis typu entity • množina entit • množina atributů • množina reálných objektů • množina všech řádků tabulky • typ setu • entita • struktura databáze • obsah tabulky • konečná podmnožina kartézského součinu domén atributů

  4. Konceptuální model transformovaný pro relační databázi obsahuje (případně může obsahovat): • Domény atributů • Obsah databáze • Množiny entit • Vazební tabulky • Funkční závislosti mezi entitami • Hierarchii typů entit • Integritní omezení pro funkce nad databází • Slovně popsaná pravidla definující obsah databáze • Integritní omezení týkající se vazeb • Lineární zápis typů vazeb

  5. ER-Diagram 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ýt tato 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, mnozství, prodejni_cena) Zbozi (cislo_zbozi, nazev_zbozi, cena_za_kus, mnozstvi_skladem, dph, id_dodavatel,kategorie_zbozi) Dodavatel (id_dodavatel, nazev_dodavatele, dodavatel_ulice, dodavatel_cislo_popisne,dodavatel_mesto, dodavatel_psc) Kategorie(kategorie_zbozi, nazev_kategorie, nadrazena_kaegorie) Atributy  id_zakaznika, cislo_zakazky, cislo_zbozi, id_dodavatele, kategorie_zbozi jsou klíčové. V rámci jedné zakázky lze objednat více kusů zboží stejného typu. 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.

  6. Fyzická organizace 1/3 Je dána tabulka Student (login, jmeno, obor, rocnik), implementovaná je v SŘBD používajícím indexové soubory. K Student existují  2 jednoduché indexov soubory Ilogin (login, adresa) a Ijmeno (jmeno, adresa).Studentce Haně Novákové byl změněn login na nov123.Z následujícího seznamu operací vyberte a uspořádejte do optimální správné posloupnosti ty, které realizují v této fyzické organizaci databáze uvedenou operaci. Výsledek zapište jako posloupnost pořadových čísel vybraných operací, oddělených čárkou (např. 5,12,14,22). Pokud na pořadí operací nezáleží, dodržte vzrůstající posloupnost.

  7. Fyzická organizace 2/3 • vyhledej v indexovém souboru Ijmeno binárně záznam se jménem „Hana Nováková“, zapamatuj si jeho adresu v proměnné Aadresa • vyhledej v datovém souboru Student binárně záznam se jménem „Hana Nováková“, zapamatuj si jeho adresu v proměnné Dadresa • vymaž vyhledaný indexový záznam z Ijmeno • přenes vyhledaný záznam z indexového souboru Ijmeno do paměti počítače do proměnných Jjmeno, Jadresa • vyhledej v datovém souboru Student přímo záznam s adresou Dadresa • vyhledej v datovém souboru Student přímo záznam s adresou Jadresa • vyhledej v datovém souboru Student přímo záznam s adresou Aadresa • načti vyhledaný datový záznam ze Student do paměti počítače do proměnných Plogin, Pjmeno, Pobor, Procnik • vymaž vyhledaný datový záznam ze Student • vyhledej v indexovém souboru Ilogin binárně záznam s loginem Plogin, zapamatuj si jeho adresu v proměnné Gadresa • vyhledej v indexovém souboru Ilogin binárně záznam s loginem „nov123“, zapamatuj si jeho adresu v proměnné Gadresa • přenes vyhledaný záznam z indexového souboru Ilogin do paměti počítače do proměnných Llogin, Ladresa 1,4,6,8,10,12,13,16,19,20,23

  8. Fyzická organizace 3/3 • přepiš hodnotu proměnné Plogin na „nov123“ • zapiš nový záznam na konec souboru Student s hodnotami Plogin, Pjmeno, Pobor, Procnik • zapiš nový záznam na konec indexového souboru Ijmeno s hodnotami Ijmeno, Iadresa • zapiš do datového souboru Student na adresu Jadresa záznam s hodnotami Plogin, Pjmeno, Pobor, Procnik • zapiš do datového souboru Student na adresu Aadresa záznam s hodnotami Plogin, Pjmeno, Pobor, Procnik • zapiš do datového souboru Student na adresu Gadresa záznam s hodnotami Plogin, Pjmeno, Pobor, Procnik • přepiš hodnotu proměnné ILogin na „nov123“ • zapiš do indexového souboru Ilogin na adresu Gadresa záznam s hodnotami Llogin, Ladresa • zapiš do indexového souboru Ilogin na adresu Ladresa záznam s hodnotami Llogin, Jadresa • setřiď datový soubor Student podle atributu login • setřiď indexový soubor Ilogin podle atributu login • setřiď indexový soubor Ilogin podle atributu adresa 1,4,6,8,10,12,13,16,19,20,23

  9. Relační algebra 1/2 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ýt tato 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, 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 objednali pouze zboží s názvem „NOKIA 6600“.

  10. Relační algebra 2/2 ((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]) ((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”)) - (Objednavka [*] Obsah_objednavky [*] Zbozi(nazev_zbozi<>”NOKIA 6600”)) [*] 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])

  11. SQL 1/2 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ýt tato 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 objednali pouze zboží s názvem „NOKIA 6600“.

  12. SQL 2/2 SELECT Z.id_zakaznika, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavky L, Zbozi K WHERE K.cislo_zbozi = L.cislo_zbozi AND O.cislo_zakazky = L.cislo_zakazky AND Z.id_zakaznika = O.id_zakaznika AND Z.id_zakaznik NOT IN (SELECT id_zakaznika FROM Objednavka O, Obsah_objednavky L, Zbozi Z WHERE O.cislo_zakazky = L.cislo_zakazky AND L.cislo_zbozi = K.cislo_zbozi AND K.nazev_zbozi <> “NOKIA 6600“) SELECT UNIQUE Z.id_zakaznik, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavky L, 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 FROM Objednavka O, Obsah_objednavky L WHERE O.cislo_zakazky = L.cislo_zakazky GROUP BY L.cislo_zbozi HAVING COUNT(*) = 1) SELECT UNIQUE Z.id_zakaznik, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavky L, 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_zakaznika FROM Objednavka O, Obsah_objednavky L, Zbozi Z WHERE O.cislo_zakazky = L.cislo_zakazky AND L.cislo_zbozi = K.cislo_zbozi AND K.nazev_zbozi <> “NOKIA 6600“) SELECT Z.id_zakaznika, Z.prijmeni, Z.jmeno FROM Zakaznik Z, Objednavka O, Obsah_objednavky L, Zbozi K WHERE K.cislo_zbozi = L.cislo_zbozi AND O.cislo_zakazky = L.cislo_zakazky AND Z.id_zakaznika = O.id_zakaznika AND K.nazev_zbozi = “NOKIA 6600“

  13. Funkční závislosti 1 – min. nered. pokr. 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ží je rozepsá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)Které zadané a platné funkční závislosti obsahují redundantní • cislo_zbozi, cena_za_kus → mnozstvi_skladem, id_zakaznika • cislo_zbozi → cena_za_kus, mnozstvi_skladem • datum_objed → id_zakaznika, zpusob_uhrady • id_zakaznika, datum_objed → zpusob_uhrady, dodaci_adresa • cislo_zbozi, id_zakaznika, → cena_za_kus, mnozstvi_skladem • id_zakaznika, datum_objed → zpusob_uhrady, cislo_zbozi, mnozstvi_objed, cena_za_kus • telefon → id_zakaznika • id_zakaznika, datum_objed, dodaci_adresa → zpusob_uhrady • id_zakaznika, datum_objed, zpusob_uhrady → dodaci_adresa • dodaci_adresa, zpusob_uhrady → id_zakaznika, datum_objed

  14. Funkční závislosti 2 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ží je rozepsá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) Určete uzávěr podmnožiny atributů  { id_zakaznika, datum_objed }+.  Atributy oddělte čárkou (např. datum_objed,zpusob_uhrady,dodaci_adresa). id_zakaznika,jmeno,prijmeni,ulice,cislo_popis,mesto,psc,telefon,datum_objed,zpusob_uhrady,dodaci_adresa

  15. Funkční závislosti 3 – slovně 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ýt tato schémata různá, byť popisují podobný problém): 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 evidence skladu. 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éma zohledňuje: • V rámci jedné zakázky lze objednat pouze jeden kus stejného zboží. • V rámci jedné objednávky lze objednat více druhů zboží. • Je evidována historie vývoje cen u stejného typu zboží. • V rámci jedné objednávky lze objednat více kusů stejného zboží. • Objednávka je jednoznačně určena pomocí id_zakaznika. • Na jedné kartě zboží nelze evidovat množství zboží na skladě. • Obsah objednávky může existovat samostatně bez hlavičky objednávky (v tabl. Objednávka). • Objednávka je jednoznačně určena pomocí cislo_zbozi. • Stejné zboží v tabulce Zbozi může mít postupně různé DPH. • Jedna objednávka může být pouze pro jednoho zákazníka.

  16. Normální formy relací • 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ři jednom nemocničním pobytu má jednu hlavní diagnózu.Určete, ve které normální formě je schéma Lékař: • BCNF • 3NF • 2NF • 1NF • v žádné

  17. Která následující tvrzení charakterizují vztahy (shody a rozdíly) mezi síťovým (SDM) a relačním (RDM) datovým modelem? • Základní rozdíl obou datových modelů je v realizaci vazeb na konceptuální úrovni. • 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 implementaci datových souborů. • Vazby z reality typu M:N v obou modelech není možné realizovat ani pomocí transformace na konceptuální úrovni. • Základní rozdíl obou datových modelů je v realizaci vazeb na databázové úrovni. • RDM realizuje vazby pouze pomocí nových tabulek, SDM pouze pomocí ukazatelů. • SDM realizuje n-ární vazby pomocí nového typu záznamu, RDM pomocí vazební tabulky. • SDM realizuje pouze vazby s kardinalitou 1:M, relační navíc také M:N. • 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.

More Related