Detail předmětu

Databázové systémy

FSI-VDSAk. rok: 2007/2008

Předmět představuje úvod do problematiky databázových systémů.
Zabývá se následujícími tématy: Zpracování dat, problém redundance a nekonzistence, integrita, utajení, víceuživatelský přístup k datům. Index-sekvenční organizace dat. Integritní omezení pro vztahy. Architektura databázového systému, datové modely. E-R model, relační algebra, dotazovací jazyk relační algebry. Teoretické aspekty návrhu informačních systémů. Funkční závislosti, normální formy relací, dekompoziční teorém.
Dotazovací jazyk SQL.
Praktické seznámení s databázovým systémem MS Access 2003.
Databáze na webu. PHP a MySQL.
Programování ve Visual Basicu pro aplikace Accessu.

Jazyk výuky

čeština

Počet kreditů

6

Výsledky učení předmětu

Předmět slouží studentům k seznámení s teoretickými aspekty návrhu databázové aplikace a její implementace v MS Access včetně programování ve Visual Basicu a SQL. Budou tak schopni vytvořit aplikaci pro efektivní správu velkého množství dat.

Prerekvizity

Ke studiu databázových systémů postačují základní znalosti z tvorby algoritmů a jazyka Pascal (nebo Delphi).

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Podmínkou pro zápočet je implementace netriviální databázové aplikace v prostředí MS Access s využitím prostředků Visual Basicu a SQL.
Zkouška má písemnou formu. Studenti v ní prokazují znalost návrhu datových struktur, relační algebry, jazyka SQL a programování ve Visual Basicu.

Učební cíle

Cílem předmětu je seznámit studenty se základními databázovými technologiemi pro efektivní návrh a správu aplikací s velkým rozsahem údajů v prostředí databázového systému Microsoft Access 2003 s využitím prostředků SQL (Structured Query Language) a Visual Basicu.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Protože cvičení jsou povinná, bude na nich vyučující pravidelně kontrolovat účast. V případě omluvené nepřítomnosti student obdrží příklady k samostatnému vypracování tak, aby mohl zameškanou látku zvládnout.

Základní literatura

Connoly, T.M. and Begg, C.E.: Database Systems : A Practical Approach to Design, Implementation and Management. Pearson Education, 2004 (4th edition). (EN)
Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition). (EN)
Fortier, P.J.: Database Systems Handbook. McGraw-Hill, 1997. (EN)
Lacko, L.: SQL. Hotová řešení pro SQL Server, Oracle a MySQL. Computer Press, Brno, 2003. (CS)
Pratt, J.P.: A Guide to SQL. Course Technology, 2003 (6th edition). (EN)
Ullman, L.: PHP and MySQL for Dynamic Web Sites. Pearson Education, 2003 (český překlad: PHP a MySQL: Názorný průvodce tvorbou dynamických www stránek. Computer Press, Brno, 2004). (EN)
Williams, H.E. and Lane, D.: Web Database Applications with PHP and MySQL. O’Reilly, 2002 (český překlad: Programujeme webové aplikace pomocí PHP a MySQL. Computer Press, Praha, 2002). (CS)

Zařazení předmětu ve studijních plánech

  • Program B2341-3 bakalářský

    obor B2370-00 , 3. ročník, zimní semestr, povinný

  • Program M2301-5 magisterský

    obor M3917-02 , 1. ročník, zimní semestr, povinný
    obor M3910-00 , 1. ročník, zimní semestr, povinně volitelný

  • Program N3901-2 magisterský navazující

    obor N3910-00 , 1. ročník, zimní semestr, povinně volitelný

  • Program N2301-2 magisterský navazující

    obor N2370-99 , 1. ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

Přednášky:
1. Vymezení předmětu, studijní literatura. Třídění údajů (fyzické
třídění, indexové soubory).
2. Nevýhody klasického souborového zpracování. Databázové systémy,
jazyky DDL a DML. Architektura databázového systému. Fyzická a
logická nezávislost. Datové modely.
3. Relační algebra, základní operace.
4. Relační algebra jako dotazovací jazyk, složitější příklad.
5. Návrh datových struktur. Normální formy relací.
6. Dotazovací jazyk SQL. Výběrový dotaz SQL SELECT, úvod.
7. SQL. Výběrový dotaz SQL SELECT, dokončení. Příklady použití.
Agregační funkce. Složený agregační klíč.
8. SQL. Poddotazy. Vícenásobné otevření téže tabulky, relace 1:N
uvnitř téže tabulky, příklady použití. Vnořené agregace, realizace
dotazu posloupností SQL dotazů.
9. SQL. Počítání s NULL hodnotou. Vyjádření existenčního a
univerzálního kvantifikátoru v SQL. Křížový dotaz. Akční dotazy.
Definiční dotazy.
10. Visual Basic for Applications. Definice konstant, deklarace,
datové typy. Jedoduché řídící struktury.
11. Visual Basic for Applications. Příkazy cyklu, příkazy skoku,
příkaz With. Podprogramy.
Objekt Database, metoda .OpenRecordset. Objekt Recordset
a jeho základní metody a vlastnosti pro procházení, přidávání,
modifikaci, rušení a 'bezindexové' hledání.
12. Visual Basic for Applications. Objekt Recordset, hledání s
definovaným indexem, indexování, filtrace, třídění, synchronizace.
Objekty DoCmd a Form.
13. Visual Basic for Applications. Příklad doplňování údajů do
libovolného pole obecné tabulky. Transakce, příklad realizace
procentního ukazatele.
Práce s podformulářem ve VBA.

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

Program cvičení:
MS Access 2003
1. Vytvoření tabulky, definice vlastností položek (typ, maska, ověřovací pravidlo, …), definice klíčů (primární klíč, neprimární klíče, vícesložkové klíče).
2. Třídění podle více sloupců). Jednoduchý dotaz SQL, třídění výsledku dotazu; AND, OR v kritériích.
3. Formulář, ovládací prvky Combo Box/List Box - SQL/Table, Value List, Field List. OLE object, obrázky.
4. Relace, referenční integrita, typ spojení (INNER JOIN, LEFT JOIN, RIGHT JOIN). Formulář s podformulářem.
5. Formulář, událostní procedura Click() tlačítka s vyhledáváním
6. Sestava, řazení a seskupování, agregační funkce, číslování stránek.
7. Formulář kritérií bez podkladové tabulky s filtrací a s ovládacími prvky Combo Box (SELECT DISTINCT …), editační pole a tlačítko.
8. Formulář, vypočítávaná pole tabulky, událostní procedura AfterUpdate(). Formulář, dynamická změna obsahu seznamů, metoda .Requery.
9. Formulář, dvojúrovňový výběr. Option Group a List Box, funkce Iif(). Událost Form_Current().
10. Formulář, dvojúrovňový výběr. Ovládací prvky Check Box a Toggle Button. Ovládací prvek karta (Tab). Volání aktualizačních dotazů z VBA (DoCmd.RunSQL).
11. Rozbor složitější aplikace. Objekt Recordset. Použití výběrového dotazu a akčních dotazů v podprogramech VBA.
12. Opakovací cvičení - SQL: poddotazy, realizace výrazů 'alespoň 1', 'žádný', 'všechny'.
13. Zápočty.