DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Podobné dokumenty
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

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

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

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

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

Internetová filmová databáze IFDB

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Jazyk SQL databáze SQLite. připravil ing. petr polách

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Text úlohy. Systémový katalog (DICTIONARY):

Administrace Oracle. Práva a role, audit

Jazyk PL/SQL Úvod, blok

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura

Verzování a publikace dat na webu za pomoci PostgreSQL

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

Zadání k 2. programovacímu testu

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

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

Měřící systém se vzdáleným přístupem. Databáze

SQL - trigger, Databázové modelování

Kapitola 6: Omezení integrity. Omezení domény

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

Zápisování dat do databáze

Jazyk SQL 3 - DML, DDL, TCL, DCL

5. POČÍTAČOVÉ CVIČENÍ

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

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Konceptuální modelování a SQL

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Kód v databázi. RNDr. Ondřej Zýka

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

2018/09/07 23:25 1/11 Jak přidat nový bod

Kapitola 4: SQL. Základní struktura

Tvorba informačních systémů

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

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

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

Databázové systémy a SQL

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Databázové systémy I

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

Konstruktory a destruktory

Abstraktní datové typy FRONTA

Relační databázová technologie

Basic256 - úvod do programování Příklady. ing. petr polách

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D.

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

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

Použití databází na Webu

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

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Tvorba informačních systémů

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

Dotazovací jazyk SQL a PL/SQL. 8. Přednáška

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

Sada 1 - PHP. 14. Úvod do jazyka SQL

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

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

ÚVOD DO DATABÁZÍ II (DISTANČNÍ VÝUKOVÁ OPORA)

řízení transakcí 2-3 hodiny

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Ukázka knihy z internetového knihkupectví

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

Administrace Oracle. Jan Šaršon. Audit databáze

Michal Krátký, Miroslav Beneš

Semestrální práce 2 znakový strom

Transformace konceptuálního modelu na relační

DUM 12 téma: Příkazy pro tvorbu databáze

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY. Prostorové databáze

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018

Databázové a informační systémy. Dokumentace k projektu. Učební sklad

30. března Je možné dle analýzy implementovat systém tak, aby splňoval požadavky zadavatele?

Oracle XML DB. Tomáš Nykodým

Databázové systémy a SQL

17. července :51 z moravec@yahoo.com

Generování výkresové dokumentace. Autodesk INVENTOR. Ing. Richard Strnka, 2012

Radomíra Duží L Datový typ množina

Rezervační systém Tvorba WWW stránek

Implementace LL(1) překladů

Databázové systémy. Dotazovací jazyk SQL - III

Virtuální privátní databáze

Jazyk SQL slajdy k přednášce NDBI001

Optimalizace dotazů a databázové transakce v Oracle

Transkript:

Databázové a informační systémy 1/9 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013

Databázové a informační systémy 2/9 TABULKA ST U D E N T Pokud nebude řečeno jinak budou se všechny příkazy týkat tabulky Student: CREATE TABLE Student ( login CHAR(6) PRIMARY KEY, fname VARCHAR(30) NOT NULL, lname VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, tallness INT NOT NULL);

Databázové a informační systémy 3/9 ÚKOL 1: ŘÍDÍCÍ KONSTRUKCE 1. Přidejte do tabulky Student atribut istall, který bude nabývat hodnoty 0 nebo 1. 2. Vytvořte proceduru IsStudentTall s jedním parametrem p_login, která nalezne záznam s daným loginem. Nastaví u něj hodnotu atributu istall na 0 pokud je atribut tallness menší než jeho průměrná hodnota a hodnotu 1 v opačném případě (příkaz IF 1 ). 3. Vytvořte funkci LoginExist s jedním parametrem p_login, která vrátí true pokud existuje záznam s loginem p_login. Použijte funkci LoginExist k rozšíření procedury AddStudent2, která bude vytvářet login tak dlouho dokud nenalezne nepoužitý login (příkaz LOOP 2 ). 1 Oracle: PL/SQL Language Reference, str. 139. 2 Oracle: PL/SQL Language Reference, str. 139.

Databázové a informační systémy 4/9 ÚKOL 2: KURZOR 1. Upravte proceduru IsStudentTall aby procházela všechny záznamy a nastavovala příslušnou hodnotu atributu istall. Procedura tedy bude bez parametrů. Využijte typ student%rowtype a příkazy OPEN, FETCH, CLOSE 3. 2. Přepište proceduru IsStudentTall aby používala cyklus FOR 4. 3 Oracle: PL/SQL Language Reference, str. 217. 4 Oracle: PL/SQL Language Reference, str. 229.

Databázové a informační systémy 5/9 ÚKOL 3: ZÁLOHA TABULKY 1. Vytvořte uloženou proceduru CopyTableStructure s jedním parametrem p_table_name, která vytvoří kopii (pouze atributy) tabulky se jménem p_table_name. Nová tabulka bude prázdná, bude mít příponu _old a bude mít stejná jména atributů (a stejné typy) jako původní tabulka. Postup řešení: Jména a typy jednotlivých atributů načtěte ze systémového katalogu. Sestavte do řetězce příkaz CREATE TABLE, kterým vytvoříte novou tabulku. Použijte příkaz Execute Immediate 5 k jeho spuštění. 2. Vytvořte uloženou proceduru CopyTable s jedním parametrem p_table_name, která nejprve vytvoří kopii tabulky a pak zkopíruje také všechny záznamy. 5 Oracle: PL/SQL Language Reference, str. 264.

Databázové a informační systémy 6/9 ÚKOL 4: VÝJIMKY 1/2 Poznámka: pokud nebude řečeno jinak budou se všechny příkazy týkat tabulky Student. 1. Upravte funkci LoginExist tak, aby vrátila false skutečně jen v případě, že student s daným loginem v tabulce není. V případě jiné chyby výjimku propagujte 6. 2. Napiště funkci InsertStudent, která vloží záznam studenta a vrátí true v případě, že záznam byl úspěšně vložen. V případě že login studenta již v tabulce existuje, tak vrátí false. Využijte zachycení výjimky DUP_VAL_ON_INDEX. Použijte tuto funkci v proceduře AddStudent3, která bude fungovat stejně jako AddStudent2. 6 Oracle: PL/SQL Language Reference, str. 404.

Databázové a informační systémy 7/9 ÚKOL 4: VÝJIMKY 2/2 1. Upravte proceduru StudentBecomeTeacher aby se byla schopna vypořádat i se záznamy v tabulce Student_Course, které se odkazují na přesunovaného studenta. (Deklarujte výjimku asociovanou s číslem a odchyt te 7 ). 7 Oracle: PL/SQL Language Reference, str. 410.

Databázové a informační systémy 8/9 ÚKOL 5: TRIGGERY 1. Vytvořte trigger OperationCount který zaznamená do tabulky Statistics počty operací insert, update a delete. Tabulka Statistics bude tabulka se dvěma atributy. První atribut operation bude představovat typ operace a druhý atribut operationcount bude představovat počty daných operací (Použijte detekci DML operace v triggeru 8 ). 2. Přidejte atribut kapacita do tabulky Kurz, který bude představovat maximální kapacitu daného kurzu. Vytvořte trigger kontrolakapacity, který vypíše varovnou hlášku v případě, že je kapacita kurzu překročena. 3. V triggeru kontrolakapacity deklarujte výjimku capacity_exceeded, kterou vyvolejte v případě překročení kapacity 9. 8 Oracle: PL/SQL Language Reference, str. 344. 9 Oracle: PL/SQL Language Reference, str. 413.

Databázové a informační systémy 9/9 ÚKOL 6: BALÍKY PROCEDUR A FUNKCÍ 1. Vytvořte balík student_package, který bude obsahovat všechny funkce a procedury, které se vztahují k tabulce Student. Vložte do tohoto balíku všechny příslušné funkce a procedury 1011. 2. Vložte do balíku výjimku capacity_exceeded z předchozího úkolu a použijte tuto výjimku v triggeru kontrolakapacity. Pro vkládání záznamu do tabulky studijniplan si napište anonymní proceduru, která odchytí výjimku capacity_exceeded. 10 Oracle Academy Advanced PL/SQL Student Guide, str. 35. 11 Oracle: PL/SQL Language Reference, str. 388.