Databázové systémy II - cvičení
Cvičící :
Max Otta
Úřední hodiny : Pondělí 9:00-10:00, Čtvrtek 11:00-12:00, UI301
Sylabus předmětu
Důležitá oznámení ohledně předmětu KIV/DB2
Výsledky zápočtových testů a semestrálních prací (M.Otta)
Výsledky zápočtových testů (M.Zíma)
Plán cvičení - letní semestr 2004
Témata zadání semestrálních prací
Požadavky na semestrální práci
Užitečné dokumentace :
SQL*Plus User's Guide and Reference (PDF)
SQL*Plus Quick Reference (PDF)
Oracle 8
i
PostgreSQL
MySQL
PHP
J2SE 1.4.2 API Spec
Open source a jinak volně dostupné databázové systémy:
MySQL
PostgreSQL
Interbase 6
Oracle 9
i
a 10
g
for Linux
Firebird
Hypersonic SQL
Jiné užitečné věci :
XML - kompletní přehled
Databázový svět - informační portál ze světa databázových technologií
Pal's Linux RDBMS Library
T.O.A.D.
TOra - Toolkit For Oracle
Instalace Apache, Apache JServ, PHP a MOD_SSL
DB2 - HOWTO
DB2 - skript na vytvoření cvičné databáze
Instalace Oracle8 pro Windows NT
(k dispozici i v jediném souboru
ORAINST.ZIP
)
Doporučená literatura :
Ivan Halaška, Jaroslav Pokorný : Databázové systémy - cvičení
J. Pokorný: SQL92 (Tutorial), Sborník konference DATASEM 97, Brno, CS-COMPEX, 1997, pp. 245-269. [
Postscript
]
On-line verze
cvičení a přednášek
J. Pokorného
Plán cvičení
1. cvičení
SELECT - projekce, selekce, odvozený sloupec
klauzule WHERE
BETWEEN-AND
IN, NOT IN,
LIKE, NOT LIKE
IS NULL, IS NOT NULL, NVL()
ORDER BY
2. cvičení
agregační funkce COUNT, SUM, AVG, MIN, MAX
GROUP BY, HAVING
vnořené dotazy
dotazy nad více tabulkami
natural join, left (right) outer join, semi-join, self-join
3. cvičení
hierarchické dotazy
sjednocení a průnik dotazů
UNION, UNION ALL, INTERSECT, MINUS
SELECT v klauzuli FROM
příklady, shrnutí cvičení 1-3
4. cvičení
Manipulace se záznamy
INSERT
UPDATE
DELETE
Transakce
COMMIT
ROLLBACK
SAVEPOINT
Zamykání tabulek a záznamů
LOCK TABLE
SELECT ... FOR UPDATE
Definice tabulek
CREATE TABLE
ALTER TABLE (přidání/rušení sloupce)
5. cvičení
integrita dat
entitní - NOT NULL, UNIQUE, PRIMARY KEY
doménová - CHECK()
referenční - FOREIGN KEY REFERENCES, ON DELETE CASCADE/SET NULL
ALTER TABLE ADD/DROP CONSTRAINT
6. cvičení
PL/SQL :
anonymní PL/SQL blok
datové typy, deklarace proměnných
RECORD, TABLE OF, %TYPE, %ROWTYPE
řídicí struktury
IF-THEN-ELSE / ELSIF-END IF
LOOP-END LOOP, FOR-IN-LOOP-END LOOP
WHILE-LOOP-END LOOP
EXIT, EXIT WHEN, GOTO, NULL
výjimky, RAISE, EXCEPTION-WHEN-THEN, SQLCODE, SQLERRM, RAISE_APPLICATION_ERROR
7. cvičení
PL/SQL :
kurzory, CURSOR-IS, OPEN, FETCH, CLOSE
pseudoatributy kurzoru %NOTFOUND, %FOUND, %ROWCOUNT, %ISOPEN
%TYPE, %ROWTYPE
smyčka LOOP svázaná s kurzorem
uložené procedury a funkce
balíky procedur a funkcí
dynamické SQL
GRANT EXECUTE, AUTHID CURRENT_USER / INVOKER
8. cvičení
pohledy, řízení přístupu k datům, nezávislost dat
CREATE VIEW, DROP VIEW
Aktualizovatelné pohledy - migrující záznamy, WITH CHECK OPTION
GRANT, REVOKE
CREATE ROLE, DROP ROLE
9. cvičení
triggery
CREATE TRIGGER, DROP TRIGGER, ALTER TRIGGER ENABLE/DISABLE
FOR EACH ROW
sekvence - CREATE SEQUENCE
příklady, shrnutí cvičení 4-7
10. cvičení
SQL-3
11. cvičení
Vnořené SQL (jazyk C)
ODBC (Access, Delphi)
JDBC
12. cvičení
kontrola semestrálních prací