Akademický rok 2021/2022 |
Garant: | prof. RNDr. Ing. Miloš Šeda, Ph.D. | |||
Garantující pracoviště: | ÚAI | |||
Jazyk výuky: | čeština | |||
Cíle předmětu: | ||||
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í internetu. | ||||
Výstupy studia a kompetence: | ||||
Předmět slouží studentům k seznámení s teoretickými aspekty návrhu databázové aplikace a její implementace v prostředí internetu včetně programování v PHP a MySQL. Budou tak schopni vytvořit aplikaci pro efektivní správu velkého množství dat a také se naučí využívat cloudové služby. | ||||
Prerekvizity: | ||||
Ke studiu databázových systémů postačují základní znalosti z tvorby algoritmů. | ||||
Obsah předmětu (anotace): | ||||
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. MySQL Workbench. Teoretické aspekty návrhu informačních systémů. Funkční závislosti, normální formy relací, dekompoziční teorém. Dotazovací jazyk SQL. Databáze na webu. HTML, PHP a MySQL. Bezpečnost dat. Cloudy a gridy. NoSQL databáze. |
||||
Metody vyučování: | ||||
Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách. | ||||
Způsob a kritéria hodnocení: | ||||
Podmínkou pro zápočet je implementace netriviální databázové aplikace v prostředí HTML/PHP/MySQL s využitím odpovídajících prostředků. Zkouška má písemnou formu. Studenti v ní prokazují znalost návrhu datových struktur, relační algebry, jazyka SQL a programování v prostředí HTML/PHP/MySQL. |
||||
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. | ||||
Typ (způsob) výuky: | ||||
Přednáška | 13 × 2 hod. | nepovinná | ||
Cvičení s počítačovou podporou | 13 × 2 hod. | povinná | ||
Osnova: | ||||
Přednáška | 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, relační algebra jako dotazovací jazyk. 4. Návrh datových struktur. Normální formy relací. 5. Dotazovací jazyk SQL. Výběrový dotaz SQL SELECT. Agregační funkce. Složený agregační klíč. 6. 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ů. 7. 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. 8. Databáze na webu. Komunikace mezi HTML, PHP a MySQL. Formuláře v HTML. 9. PHP. Datové typy, řetězcové funkce, textové a binární operatory, uzamykání souborů. 10. Příkazy přiřazení, větvení, cyklu, uživatelské funkce a předávání parametrů. Objekty v PHP. 11. MySQL. Uživatelská práva, datové typy, funkce v MySQL, volání příkazů MySQL z PHP, šifrování hesla, realizace složitější databázové aplikace s výběrem podle zadaných kritériíí, vstupem, modifikací a rušením dat. 12. NoSQL databáze. 13. Cloudy a gridy. |
|||
Cvičení s počítačovou podporou | 1. HTML. Odkazy, tabulky, rámce. 2. HTML. Obrázky, formuláře, kaskádové styly. 3. Organizace webové aplikace HTML-PHP-MySQL. 4. Instalace webového prostředí na lokálním disku – program WampServer, konzolový režim. 5. Vytvoření tabulky, definice vlastností položek (datový typ, primární klíč, nulové hodnoty, způsob třídění řetězců). 6. Modifikace struktury tabulky, vkládání údajů do tabulky a jejich aktualizace (opravy a rušení). 7. PHP. Uživatelské funkce. 8. PHP. Práce se soubory, posílání mailů. 9. PHP. Práce s obrázky a vytváření souborů .pdf. 10. MySQL. Připojení MySQL v PHP, výběr aplikace, konstrukce příkazu SQL z údajů přijatých z formuláře a spuštění příkazu. 11. MySQL. Vyhodnocení výběrového dotazu a přesměrování výsledku do formátované tabulky. 12. Realizace webové aplikace (internetový obchod, informační nebo rezervační systém, …) 12. Opakovací cvičení - SQL: poddotazy, realizace výrazů 'alespoň 1', 'žádný', 'všechny'. 13. Cloudy a gridy, programová podpora. |
|||
Literatura - základní: | ||||
1. Connoly, T.M. and Begg, C.E.: Database Systems : A Practical Approach to Design, Implementation and Management. Pearson Education, 2004 (4th edition). | ||||
2. Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition). | ||||
3. Fortier, P.J.: Database Systems Handbook. McGraw-Hill, 1997. | ||||
4. Lacko, L.: SQL. Hotová řešení pro SQL Server, Oracle a MySQL. Computer Press, Brno, 2003. | ||||
7. Pratt, J.P.: A Guide to SQL. Course Technology, 2003 (6th edition). | ||||
8. 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). | ||||
10. 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). | ||||
11. Holubová, I, Kosek, J., Minařík, K., Novák, D.: Big Data a NoSQL databáze. Grada, Praha, 2015. | ||||
12. Velte, T. A., Velte, T. J., Elsenpeter, R: Cloud Computing. A Practical Approach. McGraw Hill, New York, 2010. | ||||
13. Stanoevska-Slabeva, K., Wozniak, T., Ristol, S. (eds.): Grid and Cloud Computing. A Business Perspective on Technology and Applications. Springer-Verlag, Berlin, 2010. | ||||
14. Redmond, E., Wilson, J. R.: Seven Databases in Seven Weeks. A Guide to Modern Databases and the NoSQL. Movement-Pragmatic Bookshelf, 2012. | ||||
Literatura - doporučená: | ||||
1. Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition). | ||||
2. Elmasri, R., Navathe, S.B.: Fundamentals of Database Systems. Addison Wesley, 4th edition, 2003. |
Zařazení předmětu ve studijních programech: | |||||||||
Program | Forma | Obor | Spec. | Typ ukončení | Kredity | Povinnost | St. | Roč. | Semestr |
N-AIŘ-P | prezenční studium | --- bez specializace | -- | zá,zk | 5 | Povinný | 2 | 2 | L |
Vysoké učení technické v Brně
Fakulta strojního inženýrství
Technická 2896/2,
616 69 Brno
IČ 00216305
DIČ CZ00216305
+420 541 141 111
+420 726 811 111 – GSM O2
+420 604 071 111 – GSM T-mobile