Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny.

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

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

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

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

LAST_NAME SALARY Davies 3100

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Databáze SQL SELECT. David Hoksza

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

Databázové systémy I

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

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

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

Jazyk SQL 3 - DML, DDL, TCL, DCL

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

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

6. SQL složitější dotazy, QBE

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

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

PG 9.5 novinky ve vývoji aplikací

Databázové systémy I

Základní přehled SQL příkazů

- sloupcové integritní omezení

Tabulka fotbalové ligy

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

Integritní omezení (IO)

Relace x vztah (relationship)

Databáze II. 2. přednáška. Helena Palovská

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

Relační databázová technologie

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

1. Relační databázový model

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

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

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

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á:

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

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

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

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

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

Prvni. Obsah. Strana číslo: {00}

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

Jazyk PL/SQL Úvod, blok

Embedded SQL v C/C++ III - pole, struktury. Jindřich Vodrážka

Object-relational mapping (JPA, Hibernate)

Databázové systémy a SQL

Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

Databázové systémy a SQL

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33

Konceptuální modelování a SQL

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

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

Tvorba aplikací v Oracle Application Express

Zápisování dat do databáze

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

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

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

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

6. blok část B Vnořené dotazy

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

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

Oracle XML DB. Tomáš Nykodým

Abstraktní datové typy Objektový přístup v Oracle

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Semestrální práce z DAS2 a WWW

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Embedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská

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

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

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

MySQL sežere vaše data

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.

Databázové systémy I. 3. přednáška

6. blok část C Množinové operátory

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

Virtual private database. Antonín Steinhauser

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

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

Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2

Optimalizace dotazů a databázové transakce v Oracle

Transkript:

1. Je spušťen následující anonymní PL/SQL blok: BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END; Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny. Každý řádek je vložen dvakrát; máme tak 4 nové řádky v příslušné tabulce. Blok skončí chybou; není možné použít dva příkazy COMMIT za sebou. Nic se nestane; poslední ROLLBACK vrátil vše do stavu před oběma operacemi INSERT. Jsou přidány dva nové řádky do příslušné tabulky. 2. Pro použití implicitního kurzoru je nutné jej uvést v DECLARE části PL/SQL bloku. Je toto tvrzení správné nebo chybné? Správné Chybné // je rozdíl impicitní a explicitní 3. Předpokládejme, že oddělení 10 má 5 zaměstnanců. Co se stane po provedení následujícího příkazu UPDATE employees SET salary=salary*1.1; Všem zaměstnancům se navýší mzda o 10 % Nebude upraven žádný z řádků, protože nebyla použita klauzule "WHERE department_id=10" Objeví se výjimka TOO_MANY_ROWS Zobrazí se chybová zpráva, protože v PL/SQL musíme použít pro uložení nové mzdy použít klauzuli INTO

4. Následující anonymní blok PL/SQL kódu vrátí příjmení zaměstnance, jeho zaměstnanecké id je 100. Je toto tvrzení správné nebo chybné? DECLARE v_last_name employees.last_name%type; employee_id employees.employee_id%type := 100; BEGIN SELECT last_name INTO v_last_name FROM employees WHERE employee_id = employee_id; END; Správné Chybné 5. Existuje mnoho důvodů pro vytváření konceptuálního modelu. Vyberte tři pravdivá trzení. Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny. Slouží k modelování funkčních a informačních potřeb. Zachycují implementační detaily fyzického modelu Zachycují současné a budoucí potřeby. Popisují, co bude obsahovat fyzický model. 6. Která dvě tvrzení o ERD jsou pravdivá? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny. Všechna data musí být zahrnuta do ERD, včetně odvozených souhrnů a výsledků kalkulací. Daná informace může být v ERD ukázána vícekrát. Neměli byste modelovat dělitelná data Daná informace by se měla v ERD vyskytovat pouze jednou. 7. Která z následujících není instancí entity OSOBA? Angelina Rosalie Muž David Jones Grace Abinajam 8.

Unikátní identifikátor... Nerozlišuje nic Rozlišuje jednu entitu od ostatních. Rozlišuje jednu instanci entity od všech ostatních instantcí stejné entity Rozlišuje všechny entity v databázi Pokyny k bloku otázek: 9. Tabulka STYLES obsahuje tato data: STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85940 12.00 968950 SANDAL 85909 10.00 869506 SANDAL 89690 15.00 809090 LOAFER 89098 10.00 890890 LOAFER 89789 14.00 857689 HEEL 85940 11.00 758960 SANDAL 86979 Uvažujte tento dotaz: SELECT style_id, style_name, category, cost FROM styles WHERE style_name LIKE 'SANDAL' AND NVL(cost, 0) < 15.00 ORDER BY category, cost; Který výsledek dostaneme? STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85940 12.00 968950 SANDAL 85909 10.00 758960 SANDAL 86979 STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85909 12.00 968950 SANDAL 85909 10.00 758960 SANDAL 86979 869506 SANDAL 89690 15.00 STYLE_ID STYLE_NAME CATEGORY COST 968950 SANDAL 85909 10.00 895840 SANDAL 85940 12.00

758960 SANDAL 86979 STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85909 12.00 968950 SANDAL 85909 10.00 869506 SANDAL 89690 15.00 758960 SANDAL 86979 10. Zde je struktura tabulek CUSTOMERS a SALES_ORDER: CUSTOMERS: CUSTOMER_ID NUMBER NOT NULL, Primary Key CUSTOMER_NAME VARCHAR2 (30) CONTACT_NAME VARCHAR2 (30) CONTACT_TITLE VARCHAR2 (20) ADDRESS VARCHAR2 (30) CITY VARCHAR2 (25) REGION VARCHAR2 (10) POSTAL_CODE VARCHAR2 (20) COUNTRY_ID NUMBER Foreign key to COUNTRY_ID column of the COUNTRY table PHONE VARCHAR2 (20) FAX VARCHAR2 (20) CREDIT_LIMIT NUMBER(7,2) SALES_ORDER: ORDER_ID NUMBER NOT NULL, Primary Key CUSTOMER_ID NUMBER Foreign key to CUSTOMER_ID column of the CUSTOMER table ORDER_DT DATE ORDER_AMT NUMBER (7,2) SHIP_METHOD VARCHAR2 (5) Máte vytvořite report, který ukáže zákazníky bez objednávky. Který doatz použijete? SELECT c.customer_name FROM customers c RIGHT OUTER JOIN sales_order s ON (c.customer_id = s.customer_id); SELECT c.customer_name FROM customers c, sales_order s WHERE c.customer_id (+) = s.customer_id; SELECT c.customer_name FROM customers c WHERE c.customer_id not in (SELECT s.customer_id FROM sales_order s) SELECT c.customer_name

FROM customers c, sales_order s WHERE c.customer_id = s.customer_id(+); 11. A column that will be used to store binary data up to 4 Gigabyes in size should be defined as which datatype? Sloupec, který bude použit pro ukládání binárních dat až do 4 GB by měl být definován jako který datový typ? NUMBER LONG BLOB LONGRAW 12. Pokud chcete odstranit omezení a současně chcete vynutit, aby všechna integritní omezení, která se odkazují na primární a unikátní klíče definované na odstraňovaném sloupci byla také odstraněna, tak použijete které klíčové slovo? ON DELETE SET NULL CASCADE FOREIGN KEY REFERENCES 13. Skupinové funkce mohou zabránit výpočtům zahrnujícím duplikované hodnoty zahrnutím kterého klíčového slova? UNLIKE SELECT DISTINCT NULL 14. Které tvrzení o snížení šířky sloupce je pravdivé?

Pokud sloupec obsahuje znaková data, můžete zmenšit šířku sloupce, pokud by stávající data neporušovala novou velikost. Pokud sloupec obsahuje znaková data, není možné zmenšit šířku sloupce. Není možné zmenšit šířku sloupce obsahující znaky, pokud sloupec neobsahuje žádná data (znaky). Pokud sloupec obsahuje znaková data, můžete zmenšit šířku sloupce bez jakýchkoliv omezení. 15. Které z následujících tvrzení o cizím klíči je pravdivé? Cizí klíč umožňuje kontrolu vkládané hodnoty, zda náleží do množiny povolených hodnot. Pro každý cizí klíč je automaticky vytvořen index. Cizí klíč omezuje obsah hodnot ve sloupci na hodnoty, které odkazujíc na hodnoty primárních nebo unikátních klíčů v nadřazených tabulkách. Sloupec s cizím klíčem může obsahovat hodnoty jiného datového typu než je datový typ primárního klíče. 16. ALTER TABLE employees ADD CONSTRAINT emp_manager_fk FOREIGN KEY(manager_id) REFERENCES employees(employee_id); Uvedený SQL příkaz provede co? Upraví tabulku EMPLOYEES a přidá cizí omezení FOREIGN KEY, které znamená, že ID každého zaměstnance musí být unikátní. Přidá omezení FOREIGN KEY do tabulky EMPLOYEES, které znamená, že manažer musí být zaměstnancem. Upraví tabulku EMPLOYEES a zruší omezení emp_manager_fk. Přidá omezení FOREIGN KEY do tabulky EMPLOYEES, které znamená, že ID manažera musí odpovídat každému ID zaměstnance. 17. Chcete vytvořit tabulku s názvem TRAVEL, která je potomkem tabulky EMPLOYEES. Který z následujících příkazů byste použili? CREATE TABLE travel (destination_id primary key, departure_date date, return_date date, emp_id REFERENCES employees (emp_id)); CREATE TABLE travel (destination_id number primary key, departure_date date, return_date date, emp_id number(10) REFERENCES employees

(emp_id)); CREATE TABLE travel (destination_id number primary key, departure_date date, return_date date, t.emp_id = e.emp_id); CREATE TABLE travel (destination_id number primary key, departure_date date, return_date date, JOIN emp_id number(10) ON employees (emp_id)); 18. Je spuštěn následující anonymní PL/SQL blok: BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END; Co se stane po jeho vykonání? Každý řádek je vložen dvakrát; máme tak 4 nové řádky v příslušné tabulce. Nic se nestane; poslední ROLLBACK vrátil vše do stavu před oběma operacemi INSERT. Jsou přidány dva nové řádky do příslušné tabulky. Blok skončí chybou; není možné použít dva příkazy COMMIT za sebou. 19. Tabulka PRODUKT obsahuje takto definovaný sloupec: PRICE NUMBER(7,2). Uvažujte tento dotaz: SELECT NVL(10 / price, '0') FROM PRODUCT; Co se stane, když sloupec PRICE bude obsahovat NULL hodnoty? A value of 10 would be displayed. A value of 0 would be displayed. The statement would fail because values cannot be divided by null. The statement would fail because values cannot be divided by 0. 20. Kolik nenulových omezení (NOT NULL) lze maximálně nastavit nad libovolnou tabulkou?

Libovolný počet 10 3 5 21. Máte zobrazit každé jméno zaměstnance celé velkými znaky. Kterou funkci použijete? UPPER CASE TOUPPER UCASE 22. Které datové typy umožňují uložit proměnlivou délku řetězce? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny. VARCHAR2 CLOB NCHAR CHAR 23. Vemte v úvahu tento dotaz? SELECT a.lname ', ' a.fname as "Patient", b.lname ', ' b.fname as "Physician", c.admission FROM patient a JOIN physician b ON (b.physician_id = c.physician_id) JOIN admission c ON (a.patient_id = c.patient_id); Která klauzule způsobí chybu? JOIN admission c JOIN physician b ON (b.physician_id = c.physician_id); ON (a.patient_id = c.patient_id) 24.

Předpokládejme, že oddělení 10 má 5 zaměstnanců. Co se stane po provedení následujícího příkazu UPDATE employees SET salary=salary*1.1; Objeví se výjimka TOO_MANY_ROWS Nebude upraven žádný z řádků, protože nebyla použita klauzule "WHERE department_id=10" Zobrazí se chybová zpráva, protože v PL/SQL musíme použít pro uložení nové mzdy použít klauzuli INTO Všem zaměstnancům se navýší mzda o 10 % 25. Co umožňuje datový typ TIMESTAMP? Čas se uloží jako datum s přesností na sekundy. Nic z výše uvedeného. Čas je možné uložit jako interval dnů na hodiny, minuty a sekundy. Čas je možné uložit jako interval roků a měsíců. 26. Každý anonymní blok v PL/SQL musí začínat klíčovým slovem DECLARE. Je toto tvrzení správné nebo chybné? Správné Chybné 27. Které tvrzení o sloupci není pravdivé? Můžete změnit datový typ sloupce v případě, že sloupec obsahuje nenulové (non-null) hodnoty. Můžete převést sloupec datového typu CHAR na VARCHAR2 datový typ. Můžete převést sloupec datového typu DATE na VARCHAR2 datový typ. Můžete zvýšit šířku sloupce typu CHAR. 28. Vytváříte tabulku EMPLOYEES. Tato tabulka by měla obsahovat sloupec COMMISSION_PCT. Pokud je vložen záznam bez hodnoty poplaku, autoamticky se má nastavit hodnota 10 procent. Které řádek je třeba uvést v příkazu CREATE TABLE ke splnění tohoto úkolu? commission_pct NUMBER(4,2) (DEFAULT, 0.10)

commission_pct NUMBER(4,2) DEFAULT 0.10 commission_pct NUMBER(4,2) DEFAULT = 0.10 commission_pct NUMBER(4,2) DEFAULT (0.10) 29. Chcete vytvořit report, který bude ukazovat všechny objednávky a jejich částky, které byly vytvořeny během ledna. Objednávky s nejvyššími částkami chcete zobrazit jako první. Který dotaz použijete? SELECT orderid, total FROM orders WHERE order_date LIKE '01-jan-02' AND '31-jan-02' ORDER BY total DESC; SELECT orderid, total FROM orders WHERE order_date IN ( 01-jan-02, 31-jan-02 ) ORDER BY total; SELECT orderid, total FROM orders WHERE order_date BETWEEN '31-jan-02' AND '01-jan-02' ORDER BY total DESC; SELECT orderid, total FROM orders WHERE order_date BETWEEN '01-jan-02' AND '31-jan-02' ORDER BY total DESC; 30. Zadali jste tento dotaz: SELECT CONCAT(last_name, (SUBSTR(LOWER(first_name), 4))) "Default Password" FROM employees; Která funkce bude vyhodnocona jako první? LOWER SUBSTR CONCAT Všechny tři najednou.