Otázka č. 1 (bodů za otázku: 4)



Podobné dokumenty
Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Informační systém pro nemocnici

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Střední průmyslová škola Zlín

Databáze I. 4. přednáška. Helena Palovská

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

8.2 Používání a tvorba databází

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Funkční schéma Datové schéma Integrita modelu s realitou

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Úvod do databázových systémů

Databázové systémy Cvičení 5.2

Informační systémy ve zdravotnictví. 6. cvičení

Úvod do databázových systémů

Analýza a modelování dat 3. přednáška. Helena Palovská

DBS Konceptuální modelování

TEORIE ZPRACOVÁNÍ DAT

Úvod do databázových systémů 6. cvičení

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Úvod do databázových systémů 10. cvičení

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Databáze I. 1. přednáška. Helena Palovská

Databáze. Logický model DB. David Hoksza

Hierarchický databázový model

Diagram výskytů a vztahů

KIV/ZIS cvičení 5. Tomáš Potužák

Databázové systémy trocha teorie

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

5. RELAČNÍ DATOVÝ MO DEL

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Úvod do databázových systémů

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Databáze I. 5. přednáška. Helena Palovská

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

5. Formalizace návrhu databáze

Etapy tvorby lidského díla

Úvod do databázových systémů

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Databázové systémy. Přednáška 1

Terminologie v relačním modelu

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Zadání. Seznam typů entit včetně jejich atributů, vyznačte klíče a cizí klíče Seznam typů vztahu určený svým názvem a entitami do něj vstupujícími

Jiří Mašek BIVŠ V Pra r ha

Databázové systémy. Ing. Radek Holý

C8 Relační databáze. 1. Datový model

Databáze I. Přednáška 2

Databázové a informační systémy Jana Šarmanová

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Základy relačních databází, jejich využití v programování webu

5. Formalizace návrhu databáze

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

4IT218 Databáze. 4IT218 Databáze

Metodika návrhu databáze

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Operátory ROLLUP a CUBE

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Konceptuální modelování. Pavel Tyl

Návrh databázového modelu

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Databázové systémy Cvičení 5

Databázové systémy. Cvičení 2

DBS Transformace konceptuálního schématu na

04 - Databázové systémy

Úvod do databázových systémů 1. cvičení

J. Zendulka: Databázové systémy 4 Relační model dat 1

KIV/ZIS cvičení 1. Martin Kryl

Datové modelování II

Data v informačních systémech

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Analýza a modelování dat 2. přednáška. Helena Palovská

4. Základy relačních databází, logická úroveň návrhu

Marketingová komunikace. 1. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3aph)

Databáze I. Přednáška 4

Ukládání a vyhledávání XML dat

Databázové systémy. Cvičení 6: SQL

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Marketingová komunikace. 1. a 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3bph)

Elektronická zdravotní karta

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Databázové systémy Cvičení 5.3

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Úvod do databázových systémů. Ing. Jan Šudřich

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

Databázové systémy I

Databáze I. Přednáška 6

Transkript:

Otázka č. 1 (bodů za otázku: 4) Agendy - redundance Která 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 konzistence Která 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áze Agendy integrita Která 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 entity Označ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 entity DB entita Označ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áznamu DB relace Označ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éma Označ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 tabulky DB ERD Které 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í s nejednoznač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é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). 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é Dadresa 2. vyhledej v datovém souboru Zam binárně záznam se jménem Ilona Večeřová, zapamatuj si jeho adresu v proměnné Dadresa 3. vyhledej v indexovém souboru binárně záznam se jménem Ilona Večeřová, zapamatuj si jeho adresu v proměnné Aadresa 4. pomocí hašovací funkce vypočti adresu záznamu s loginem vec033 v datovém souboru Zam a ulož do proměnné Hadresa 5. přenes vyhledaný záznam z indexového souboru Ijmeno do paměti počítače do proměnných Ijmeno, Iadresa 6. vyhledej v datovém souboru Zam přímo záznam s adresou Hadresa 7. vymaž vyhledaný záznam v Zam 8. 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, 11 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím přímé adresování s nejednoznač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é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). 1. dosaď Plogin:= vec033 2. dosaď Plogin:= vec033, Pjmeno:= Ilona Večeřová,Pfunkce:= sekretářka, Pplat:=12000 3. 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ž ji do proměnné Aadresa 4. pomocí hašovací funkce vypočti adresu nového záznamu s loginem vec033 v datovém souboru Zam a ulož ji do proměnné Nadresa 5. vyhledej v datovém souboru Zam přímo záznam s adresou Nadresa 6. vymaž v Zam záznam s vyhledanou adresou Aadresa 7. není-li v Zam na adrese Nadresa žádný záznam, zapiš na tuto adresu záznam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce 8. 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, Pfunkce 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 zapamatuj si jeho adresu v proměnné Ladresa 10. zapiš nový záznam na konec datového souboru Zam s hodnotami Plogin, Pjmeno, Pplat, Pfunkce 11. 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 vztahu Konceptuá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í tabulky Konceptuá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é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_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ím pobytu 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ží 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) 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_skladem Které 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_uhrady Je 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ýt operová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, diagnoza Které 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_lek Které 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ématy Lé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é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. 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é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) 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 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: 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ři jednom nemocničním pobytu má jednu hlavní diagnózu. Určete, ve které normální formě je schéma Lekar: BCNF Určete, ve které normální formě je schéma Pacient: BCNF Určete, ve které normální formě je schéma Pokoj: BCNF Určete, ve které normální formě je schéma Operace: BCNF Je 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: 1NF Určete, ve které normální formě je schéma Ockovani: 1NF Urč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é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_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ím pobytu 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 NOKIA 6600. (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é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_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ím pobytu 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 AND datum_do >= 1.1.2005 GROUP BY cis_pokoj Vypište čísla pokojů a počty pacientů na nich hospitalizovaných během prosince 2004 (včetně přijatých dříve a propuš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_pokoj Vypiš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 BY datum_oper Je 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 typech oč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, je evidováno znovu s jiným měsícem a stejným popisem. Pro objednávky je nutné evidovat kalendář dnů a časů pro oč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ý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 nikdy neobjednali zboží s názvem NOKIA 6600. SELECT id_zakaznika, prijmeni, jmeno FROM Zakaznik WHERE id_zakaznika NOT IN (SELECT id_zakaznika FROM Objednavka WHERE cislo_zakazky IN (SELECT cislo_zakazky FROM Obsah_objednavky WHERE 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 (SELECT id_zakaznika FROM Objednavka O, Obsah_objednavky L, Zbozi Z WHERE O.cislo_zakazky = L.cislo_zakazky AND 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_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 ) 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 za vš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 HAVING SUM(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) a relač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ší členy setu 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

by Dave and Adka thx to SWE, Carl28, Lopata, rybar73, Losna, Jelc @2006