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

Slides:



Advertisements
Podobné prezentace
Tento vzdělávací materiál vznikl v rámci projektu EU – peníze školám Název projektu : Objevujeme svět kolem nás Reg. číslo projektu: CZ.1.07/1.4.00/
Advertisements

Základy jazyka SQL Jan Tichava
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Databáze.
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
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í č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
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 č. 8 – Pohledy (Views)
KONCEPTUÁLNÍ MODELOVÁNÍ
Databázové systémy 2 Cvičení č. 7 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Fakulta elektrotechniky a informatiky Univerzita Pardubice
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.
MS ACCESS parametrický dotaz
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.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
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
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
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,
Databázové systémy II Cvičení č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 10 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
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.
2OP483 Manažerská informatika 3Access - BankaSnímek 1 2OP483 Manažerská informatika 3 Microsoft Office Access 2007 Dotazy v databázi Banka
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
Aplikační a programové vybavení
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Architektury a techniky DS Cvičení č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
KIV/ZIS cvičení 4 Tomáš Potužák. Dotazy - úvod Umožňují pracovat s databází –Získávat specifické informace z tabulky, případně z více tabulek najednou.
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 Ing. Roman Danel, Ph.D.
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 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Úvod do databází zkrácená verze.
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Funkce SVYHLEDAT a VVYHLEDAT Kontingenční tabulky
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í č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice

Obsah cvičení -Opakování ze cvičení 2 -Cizí klíče (příkaz ALTER TABLE) -Vnitřní spojení JOIN -Vnější levé spojení LEFT JOIN -Pohledy Databázové systémy 1 – cvičení 3 2

3 Cvičení 3 – Příklady Jsou dány následující tabulky: STUDENTI ( ID_studenta, jmeno, prijmeni, nastup ) UCITELE ( ID_ucitele, jmeno, prijmeni ) UCI ( ID_studenta, ID_ucitele, predmet ) KNIHY ( ID_knihy, ID_studenta, nazev ) Skript pro vytvoření tabulek spolu s daty naleznete na fei-learn.upceucebny.cz

Cizí klíč Stručná definice: – Sloupec, jehož hodnota v jedné tabulce odpovídá primárnímu klíči v jiné (ve speciálních případech i stejné) tabulce, nazýváme cizí klíč. – Tabulka, která cizí klíč obsahuje, se nazývá dceřiná tabulka. Tabulka, na kterou cizí klíč odkazuje, se pak nazývá rodičovská tabulka. Existují dva způsoby definování: – V rámci příkazu CREATE TABLE, – nebo v příkazu ALTER TABLE. Databázové systémy 1 – cvičení 3 4

Cizí klíč (CREATE TABLE) Databázové systémy 1 – cvičení 3 5 Syntaxe:

Cizí klíč (CREATE TABLE) Databázové systémy 1 – cvičení 3 6 Příklad:

Cizí klíč (ALTER TABLE) Příkaz ALTER TABLE slouží k modifikaci struktury existující tabulky – Přidávání/odebrání/modifikace sloupců, přidávaní omezení,… Syntaxe příkazu ALTER TABLE pro přidání cizího klíče: Databázové systémy 1 – cvičení 3 7

Cizí klíč (ALTER TABLE) Příklad: Databázové systémy 1 – cvičení 3 8

Cvičení 3 – Příklady 1.Ve vytvořených tabulkách definujte vhodné cizí klíče. 2.Vypište jména a příjmení všech učitelů v abecedním pořadí dle příjmení. 3.Vypište příjmení všech studentů, jejichž jméno začíná písmenem „J“. Výstup bude seřazen sestupně. 4.Vnitřním spojením vypište obsah tabulek STUDENTI a UCI. 5.Ze spojení tabulek STUDENTI a UCI vypište studentovo příjmení a název předmětu, který má zapsaný. 6.Vypište jména a příjmení všech studentů, jenž mají zapsaný nějaký předmět. Vystup bude seřazen dle příjmení vzestupně. 7.Vypište názvy všech knih, jenž si vypůjčili studenti se jménem „Jana“. 8.Vypište jména a příjmení všech učitelů, jenž vyučují předmět „Databáze“. 9.Vypište knihy, které mají vypůjčeni studenti, jejichž jméno začíná písmenem „J“. Výstup seřaďte dle názvu knihy. Databázové systémy 1 – cvičení 3 9

Cvičení 3 – Příklady 10.Pomocí vnitřního spojení vypište obsah tabulek STUDENTI, UCITELE, UCI. 11.Vypište příjmení studentů a k ním příjmení učitelů, kteří navštěvují/vyučují předmět „Databáze“. Výstup bude seřazen sestupně dle příjmení studenta. 12.Vypište id_studentů, jenž mají zapsaný alespoň jeden předmět a zároveň mají vypůjčenu alespoň jednu knihu. 13.Vnějším spojením vypište obsah tabulek UCITELE a UCI, ve výsledku se objeví i ti učitelé, kteří neučí žádný předmět. 14.Vypište seznam studentů (jméno a příjmení) spolu s jejich zapsanými předměty. Ve výpise se objeví i studenti, kteří nemají zapsaný žádný předmět. Databázové systémy 1 – cvičení 3 10

Pohledy Definice: – Pohled je virtuální tabulka v databázi, jejíž obsah je definován dotazem. – Příklad příkladu pro vytvoření pohledu: Databázové systémy 1 – cvičení 3 11

Cvičení 3 - pohledy 1.Vytvořte pohled cv3_ucitel_uci(prijmeni,predmet), který vypíše příjmení vyučujícího spolu s názvem předmětu který učí. 2.Vytvořte pohled cv3_studenti_knihy (prijmeni, nazev_knihy), který zobrazí příjmení studenta a knihu kterou půjčil. Z přehledu vylučte studenta s ID=„ST20001“. 3.Vytvořte pohled cv3_ucitele_studenti(ucitele_prijmeni, studenti_prijmeni, predmet), který zobrazí příjmení učitele, spolu s příjmením studenta a předmětu, ve kterém ho vyučuje. Pohled bude seřazen dle příjmení učitele. 4.Vytvořte pohled cv3_seznam_knih(nazev,prijmeni) který vypíše všechny knihy a k nimž připojí příjmení studenta, jenž má danou knihu půjčenou. V seznamu se musí objevit i knihy, jenž nejsou aktuálně půjčené. Databázové systémy 1 – cvičení 3 12

Cvičení 3 – kontrola 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í 3 13