Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.

Slides:



Advertisements
Podobné prezentace
Databázové systémy 2 Cvičení č. 8
Advertisements

MS ACCESS - DOTAZY DATABÁZOVÉ SYSTÉMY.
Databázové systémy 2 Cvičení č. 9 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Databáze.
Databázové systémy SQL Výběr dat.
YDASYS1 Ing. Monika Šimková.
Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška :00. Příklad I Vytvořte proceduru ZK_TRPASLICI_PLNENI(datum_od VARCHAR2, datum_do VARCHAR2), která na standardní.
Výpočetní technika Akademický rok 2008/2009 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.
SQL Structured Query Language
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Architektury a techniky DS Cvičení č. 4 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Přednáška č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databáze Jiří Kalousek.
KONCEPTUÁLNÍ MODELOVÁNÍ
Databázové systémy 2 Cvičení č. 7 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Cvičení 04 SQL Exists, Any, All Ing. Pavel Bednář
Databázové systémy I Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Cvičení V Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_HR_ODDELENI (p_oddeleni_id NUMBER). Funkce vrátí řetězec, obsahující.
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.
Databázové systémy 2 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. X Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 08:00. Příklad I – Funkce – 4 body Vytvořte funkci F_ZK1(p_id_zamestnance NUMBER) RETURN VARCHAR2. Daná funkce.
Databázové systémy 2 Zkouška :00. Příklad I IDAS2 – zkouška :00 2 Vytvořte proceduru ZK_TRP_PRODUKTIVITA(P_DATUM_OD IN VARCHAR2,
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Cvičení č. 10 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 08:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK3(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER,
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B16 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy II Cvičení č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 8:00. Příklad I - Procedura Vytvořte proceduru PROCEDURE ZK_ZAM_HISTOGRAM(P_ROK_OD IN NUMBER, P_ROK_DO IN NUMBER)
Databázové systémy I Cvičení č. 10 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK4(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER)
Databázové systémy 2 Zkouška – 12:00. Příklad I - Funkce Vytvořte funkci ZK_TRP_TREND(P_ID_TRPASLIKA IN NUMBER, P_DATUM_OD IN VARCHAR2, P_DATUM_DO.
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop.
Aplikační a programové vybavení
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_TRP_TREND(P_ID_TRPASLIKA IN NUMBER, P_DATUM_OD IN VARCHAR2, P_DATUM_DO.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy SQL Výběr dat.
Databázové systémy 2 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 2 Cvičení IV Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 12:00. Příklad I - Funkce Vytvořte funkci ZK_IS_COLUMN_FK(P_TABLE_NAME IN VARCHAR2, P_COLUMN_NAME IN VARCHAR2)
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_DIFF_MIN_MAX (P_ZAM_ID NUMBER) RETURN VARCHAR2. Funkce může vracet.
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Databázové systémy 1 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
ACCESS DOTAZY Ing. Jana Horáková IKT MS Office
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Úvod do databází zkrácená verze.
Programovací jazyk C# 2. část. Datové typy C# rozeznává dva druhy datových typů, hodnotové a referenční. Hodnotové datové typy Proměnné hodnotového datového.
Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu.
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
KIV/ZD cvičení 5 Tomáš Potužák.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Databázové systémy a SQL
Databázové systémy a SQL
Transkript prezentace:

Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice

Obsah cvičení -Opakování ze cvičení 3 -Kombinace vnitřního a vnějšího spojení -NULL hodnota -Využití logických operátorů -Rozsahový test (BETWEEN) -Výrazy Databázové systémy 1 – cvičení 3 2

Databázové systémy 1 – cvičení 4 3 Cvičení 3 – Schéma A_SKOLA

NULL hodnota Hodnota NULL signalizuje absenci hodnoty. NULL hodnota není skutečná datová hodnota. Spíše se jedná o indikátor prázdné nebo neznámé hodnoty. Hodnota NULL není porovnatelná s žádnou jinou datovou hodnotou. – NULL hodnota není dokonce porovnatelná s jinou NULL hodnotou. Databázové systémy 1 – cvičení 4 4

NULL hodnota (vyhledávaní) Nelze porovnávat přímo s jinou hodnotou. Příkaz: – Nikdy nevrátí žádné řádky (i když v tabulce existují řádky obsahující NULL hodnotu ve sloupci ID_STUDENTA ). – Výsledkem porovnaní totiž není logická hodnota TRUE ani FALSE, nýbrž hodnota NULL. Pro nalezení záznamu s NULL hodnotou je nutné použít operátoru IS NULL : Databázové systémy 1 – cvičení 4 5

NULL hodnota (vyhledávaní) Alternativně nefunguje ani vyhledávaní záznamů, které neobsahují NULL hodnotu: V tomto případě je nutné použít operátor IS NOT NULL : Databázové systémy 1 – cvičení 4 6

NULL hodnota (nahrazení) Někdy může být užitečné převést NULL hodnoty ve sloupcích na nějakou konkrétní hodnotu. K tomu slouží funkce NVL : – NVL ( vyraz, nahradni-vyraz ) Funkce testuje hodnotu vyraz. Pokud výraz obsahuje NULL hodnotu, funkce provede záměnu za nahradni-vyraz. Pokud vyraz neobsahuje NULL hodnotu, funkce vrátí vyraz. Pozor na datové typy. – Nelze například testovat číselný typ a nahrazovat jej řetězcem. Databázové systémy 1 – cvičení 4 7

NULL hodnota (nahrazení) Databázové systémy 1 – cvičení 4 8

Rozsahový test (BETWEEN) Rozsahový test ověří, zdali testovaná hodnota leží mezi dvěma specifikovanými hodnotami. Test BETWEEN má následující syntaxi: – expr1 - vyhodnocovaný výraz. – NOT - neguje výsledek testu. ( volitelný ) – expr2 - výraz specifikující dolní hranici testovaného intervalu – expr3 - výraz specifikující horní hranici Databázové systémy 1 – cvičení 4 9

Rozsahový test (BETWEEN) Příklad rozsahového testu: V podstatě se jedná o zjednodušený zápis následující podmínky: Oba zápisy jsou z pohledu výsledku rovnocenné. Databázové systémy 1 – cvičení

Cvičení 4 – Příklady 1.Vypište studentovo jméno a příjmení spolu s názvem knihy, kterou má student půjčenou. Ve výpise se objeví jen studenti učitele s příjmením „Bílý“. Výstup bude seřazen dle příjmení studenta. 2.Pomocí vnějšího spojení, vypište obsah tabulek UCITELE a UCI. Následně dalším vnějším spojením připojte tabulku STUDENTI. a)Modifikujte příklad tím, že vnější spojení mezi tabulkami UCI a STUDENTI nahradíte spojením vnitřním. Porovnejte výsledky obou příkladů. 3.Vypište jména a příjmení studentů, jenž nemají zapsaný žádný předmět. Zároveň přidejte navíc sloupec pojmenovaný stav, ve kterém se u každého jména zobrazí řetězec „Nezapsán“. 4.Vypište jména a příjmení všech studentů, kteří studují předmět „Databáze“, zároveň ale nemají vypůjčenu žádnou knihu. 5.Vypište id_knihy, její název a příjmení studenta, který má tuto knihu vypůjčenou. Ve výpise se zároveň objeví i knihy, které nejsou vypůjčeny. U těchto knih bude ve sloupci příjmení uveden text „VOLNÁ“. Databázové systémy 1 – cvičení 4 11

Cvičení 4 – Příklady 6.Pomocí vnějšího spojení vypište obsah tabulek STUDENTI, UCITELE, UCI a KNIHY. Důležité je, aby na výstupu byli obsaženi všichni studenti. 7.Vypište jméno a přímení studenta, kterého buď učí učitel s id_ucitele v rozmezí 2 až 4 (včetně) nebo má tento student vypůjčenu knihu s id_knihy v rozmezí 3015 až 3018 (včetně). Databázové systémy 1 – cvičení 4 12

Cvičení 4 - pohledy 1.Vytvořte pohled cv4_studenti ( jmeno, prijmeni ), který zobrazí studenty, které učí jeden z dua učitelů „ Bílý“ nebo „Kolenský“ a zároveň máji tito studenti vypůjčenu knihu „Fyzika 1“ nebo „Fyzika 3“. 2.Vytvořte pohled cv4_ucitele ( jmeno, prijmeni ), který vypíše učitele, kteří buďto neučí žádného studenta nebo vypíše učitele, kteří učí studenta se jménem „Jan Vrtoch“. 3.Vytvořte pohled cv4_knihy ( id_knihy, nazev_knihy, prijmeni ). Pohled bude obsahovat kromě id_knihy a jejího názvu i příjmení studenta, který má knihu půjčenou. Pokud nebude kniha vypůjčena, objeví se ve sloupci prijmeni text „VOLNÁ“. 4.Vytvořte pohled cv4_studenti_j ( jmeno, prijmeni, predmet ), který zobrazí studenty, jejichž jméno začíná písmenem „J“ a současně navštěvují předměty vyučované učitelem s id_ucitele v rozmezí 2 až 7 včetně. Databázové systémy 1 – cvičení 4 13

Databázové systémy 1 – cvičení 4 14 Cvičení 4 - pohledy 5.Vytvořte pohled cv4_studenti_prijmeni ( id_studenta, jmeno, prijmeni ), který zobrazí studenty, kteří splňují všechny následující podmínky – Mají zapsaný předmět „Databáze“. – Mají půjčenu knihu „Základy SQL“. – Vyučuje je učitel „Jan Bílý“. 6.Vytvořte pohled cv4_studenti_db_null ( jmeno, prijmeni, nazev_predmetu, nazev_knihy ), který vypíše studenty splňující obě následující podmínky: – Student nemá půjčenou žádnou knihu nebo má půjčenou knihu „Návrh databáze“. – Student nemá zapsaný žádný předmět nebo má zapsán předmět „Databáze“.

Cvičení 4 – Zásady vypracování Všechny příklady budou vypracovány nad schématem A_SKOLA. Všechny databázové objekty z tohoto cvičení vytvořte se svém schématu. Pro splnění cvičení je nutné, aby všechny objekty byly správně vytvořeny a funkční do půlnoci dne před následujícím cvičením. Databázové systémy 1 – cvičení 4 15