Databázové systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-DBS.21 | Z,ZK | 5 | 2P+2R+1L | česky |
- Garant předmětu:
- Michal Valenta
- Přednášející:
- Michal Valenta
- Cvičící:
- Jan Bittner, Jan Blizničenko, Monika Borkovcová, Cyril Černý, Přemysl Dědic, Jiří Hunka, Martin Kolárik, Tomáš Krupička, Pavel Kříž, Ladislav Louka, Jan Matoušek, Štěpán Pechman, Andrii Plyskach, Lucie Procházková, Dominik Roudný, Martin Urbanec, Michal Valenta
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Studenti se seznámí se standardní architekturou databázového stroje a typickými uživatelskými rolemi. Naučí se navrhovat strukturu menšího datového úložiště (včetně integritních omezení) pomocí konceptuálního modelu a poté je implementovat v relačním databázovém stroji. Prakticky se seznámí s jazykem SQL a také s jeho teoretickým základem - relačním databázovým modelem. Seznámí se s principy normalizace relačního databázového schématu. Pochopí základní koncepce transakčního zpracování a řízení paralelního přístupu uživatelů k jednomu datovému zdroji. V závěru předmětu budou studenti uvedeni do tématiky nerelačních databázových modelů.
- Požadavky:
-
Předpokládá se znalost práce s operačními systémy typu Unix/Linux a MS Windows na běžné uživatelské úrovni, dále pak schopnost algoritmického popisu řešení problému, a základní znalost algebry a logiky. Aktivní znalost nějakého programovacího jazyka není podmínkou.
#
Materiály pro výuku předmětu během semestru jsou na webové stránce https://courses.fit.cvut.cz/BI-DBS .
#
Operativní řízení výuky probíhá na portálu https://dbs.fit.cvut.cz
- Osnova přednášek:
-
1. Základní principy databázových systémů, architektura databázového stroje.
2. Konceptuální, databázová a fyzická úroveň pohledu na data.
3. Konceptuální datový model. Základní konstrukty, vyjádření integritních omezení.
4. Relační datový model. Relace, atributy, domény, schéma relační databáze, relační algebra.
5. Úvod do jazyka SQL: základy příkazu SELECT, základy jazyka SQL DDL.
6. Návrh relačního schématu přímou transformací z konceptuálního schématu.
7. Jazyk SQL - pokročilé dotazování: agregace, vnořené dotazy, množinové operace.
8. Jazyk SQL - části DCL, DML, TCL.
9. Transakce, zotavení z chyb, koordinace paralelního přístupu, ochrana dat.
10. Funkční závislosti, normální formy relací, normalizace relačního schématu dekompozicí.
11. Fyzická úroveň pohledu na data. Indexy a jejich využití v relačních databázích. Základy optimalizace SQL dotazů.
12. Nerelační databázové modely. Trendy v oblasti databází.
13. Přístup aplikací k (relační) databázi. Úvod do konceptu softwarového inženýrství.
- Osnova cvičení:
-
1. Proseminář: Organizační pokyny, zadání semestrální úlohy
2. Počítačové: Seznámení s prostředím a nástroji
3. Proseminář: Konceptuální datové modelování
4. Počítačové: SQL komunikace s DB strojem a práce s nástrojem pro konceptuální modelování
5. Proseminář: Konceptuální datové modelování, relační algebra jako dotazovací jazyk
6. Konzultační, počítačové: Práce na semestrální úloze, konzultace
7. Proseminář: Relační algebra jako dotazovací jazyk
8. Počítačové: Práce na semestrální úloze, konzultace
9. Seminární: Jazyk SQL
10. Počítačové: Práce na semestrální úloze, konzultace, kontrolní bod semestrální práce
11. Seminární: Jazyk SQL,
12. Počítačové: Práce na semestrální úloze
13. Seminární: Normalizace schématu, funkční závislosti,zápočty
- Cíle studia:
-
Po absolvování tohoto předmětu bude student schopen navrhovat a realizovat menší databáze a efektivně s nimi pracovat pomocí jazyka SQL. Znalost práce s (relační) databází je dnes nezbytnou výbavou nejen pro programátory informačních systémů, tvůrce www aplikací či správce softwarových systémů, ale hodí se prakticky v každé informaticky zaměřené profesní specializaci. Předmět tedy zprostředkovává jednak přímo a široce využitelné praktické znalosti práce s databází a zároveň poskytuje teoretický základ pro navazujicí předměty - například Administrace databázových systémů nebo specializované databázové předměty (SQL, Databázové systémy2) v magisterském programu.
- Studijní materiály:
-
1. Coronel C., Morris S. : Database Systems: Design, Implementation, and Management (13th Edition). Cengage Learning, 2018. ISBN 978-1337627900.
2. Garcia-Molina H., Ulman D. J., Widom J. : Database systems: The Complete Book (2nd Edition). Pearson Education, 2009. ISBN 978-0131873254.
3. Harrington J.L. : Relational Database Design and Implementation (4th Edition). Morgan Kaufmann, 2016. ISBN 978-0128043998.
4. Pokorný J., Valenta M.: Databázové systémy (2. rozšířené vydání). CVUT Praha, 2020. ISBN 978-80-01-06708-6.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-DBS/
Na tento předmět navazuje v magisterském studiu předmět Pokročilé databázové systémy a také Databázové systémy v praxi.
- Další informace:
- https://dbs.fit.cvut.cz
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, 2021 (povinný předmět programu)
- Bc. specializace Manažerská informatika, 2021 (povinný předmět programu)
- Bc. specializace Počítačová grafika, 2021 (povinný předmět programu)
- Bc. specializace Počítačové inženýrství, 2021 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, 2021 (povinný předmět programu)
- Bc. specializace Webové inženýrství, 2021 (povinný předmět programu)
- Bc. specializace Umělá inteligence, 2021 (povinný předmět programu)
- Bc. specializace Teoretická informatika, 2021 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, 2021 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, 2021 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, 2021 (povinný předmět programu)
- Bc. specializace Informační bezpečnost, 2024 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, 2024 (povinný předmět programu)
- Bc. specializace Manažerská informatika, 2024 (povinný předmět programu)
- Bc. specializace Počítačová grafika, 2024 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, 2024 (povinný předmět programu)
- Bc. specializace Webové inženýrství, 2024 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, 2024 (povinný předmět programu)
- Bc. specializace Počítačové inženýrství, 2024 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, 2024 (povinný předmět programu)
- Bc. specializace Umělá inteligence, 2024 (povinný předmět programu)
- Bc. specializace Teoretická informatika, 2024 (povinný předmět programu)