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

Slides:



Advertisements
Podobné prezentace
Praktické příklady na definici schématu databáze
Advertisements

KIV/ZIS Cvičení 6 SQL - SELECT.
Úvod do databázových systémů
VYŘIZOVÁNÍ OBJEDNÁVEK
Ladislav Hofman, Jan Slavík TUL Předmět databázové systémy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Aplikační a programové vybavení
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Databázové systémy Přednáška č. 3 Proces návrhu databáze.
Elektronický obchod. Požadavky na funkčnost aplikace nabídka zboží zboží se může prodávat za různé ceny (akční nabídky, sezónní výprodeje) evidence zákazníků.
Pojmy z ERD.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Informatika pro ekonomy II přednáška 11
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
YDASYS Ing. Monika Šimková.
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Úvod do databází Databáze.
Relační datový model Základní ideje
1IT Relační datový model
Úvod do databázových systémů
Databáze Jiří Kalousek.
Cvičení 13 Ing. Pavel Bednář
Úvod do databázových systémů
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
KONCEPTUÁLNÍ MODELOVÁNÍ
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
Databázové systémy M. Kučerová.
Fakulta elektrotechniky a informatiky
Zadání databázového systému
Relační databáze.
Normalizace.
Konceptuální návrh databáze
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Informatika pro ekonomy II přednáška 10
Databázové systémy 1 Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Konceptuální návrh databáze
Databázové modelování
Databázové systémy Relační model.
Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE.
Databázové systémy Informatika pro ekonomy, př. 18.
Aplikační a programové vybavení
Personalizace výuky prostřednictvím e-learningu. Struktura učebnice pro e-learning Obsah učebnice = struktura předmětu, kapitol cíleTabulka aktivni slovesa.docTabulka.
Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.
Databázové systémy Datové modely.
Databázové systémy Normalizace dat.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
DATABÁZE.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Úvod do databázových systémů
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Databázové systémy a SQL
Informatika pro ekonomy přednáška 8
Databázové systémy UIN010
Praktický modul - zadání
Transkript prezentace:

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í. 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í.

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ů

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

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.

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.

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

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

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“.

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])

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“.

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“

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

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

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.

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é

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.