155IN2G Informatika 2
Základní údaje o předmětu
- Aktuální a kompletní informace jsou na této stránce
- Kód předmětu: 155IN2G
- Garant předmětu:
- Přednášející:
- Rozsah: 2+2
- Počet kreditů: 5
- Ukončení: z,zk
Anotace
Cílem předmětu je seznámit studenty s databázovými systémy založenými na relačním databázovém modelu a s jazykem SQL (Structured Query Language). Návrh a práce s databází jsou prakticky demonstrovány v prostředí operačního systému GNU/Linux na relační databázi PostgreSQL.
V rámci předmětu jsou studenti seznámeni s relačním modelem, normalizací relací, integritními omezeními, logickým a fyzickým schématem databáze, konceptuálním schématem a dále s metodikou návrhu databázového modelu, E-R diagramy a data flow diagramy.
Během cvičení se studenti naučí používat základní příkazy jazyka SQL, jako je vytváření relačních tabulek příkazem INSERT, zobrazování dat příkazem SELECT, rušení data příkazem DELETE, modifikace dat příkazem UPDATE, odstraňováním tabulek a další.
Praktická výuka probíhá v prostředí OS Debian GNU/Linux, na kterém mají všichni studenti uživatelská konta. Pro výuku SQL je též využíván projekt SQLtutor.
Doporučená literatura
- PostgreSQL, http://www.postgresql.org/docs
Přednášky
Přednášející: Ing. Jan Pytel, PhD.
- Úvod a stručná historie
- První seznámení s SQL
- Podmínky a klauzule JOIN
- ANSI JOIN, opakování a příklady
- Agregační funkce, slučování dar a třídění
- Poddotazy a derivované tabulky
- Rekurzivní dotazy
- Vytváření a úpravy tabulek
- Návrh databáze, ER modelování, normalizace
- SQL atributy typu pole
- Přidělování a odebírání práv
- Úložné procedury v PostgreSQL
- PL/pgSQL
Cvičení
Cvičení průběžně navazují na přednášky, důraz je kladen na praktické zvládnutí SQL. Postupně jsou prakticky procvičovány dotazy z online tutorialu SQLtutor.
Od zimního semestru 2015 je zápočet podmínkou ke zkoušce. Pro zápočet musí student předložit minimálně pět zpracovaných otázek a řešení, tak jak jsou prezentovány v databázi Sqltutora. V zápočtové úloze musí být minimálně tři tabulky s minimálně 20 záznamy (tj. SQL dávka, která vytvoří a naplní databázi - stačí vyzkoušet na sqlite DB). Počet tabulek může být menší, pokud s tím souhlasí vedoucí cvičení (například pokud jde o zajímavou úlohu s netriviálními dotazy). Zápočtové úlohy musí být předloženy nejpozději v zápočtovém týdnu.
Zkouška
Zápočet je podmínkou ke zkoušce. Zkouška trvá 60 minut, volitelně může následovat ústní zkoušení.
min. body | ECTS | klasifikace |
---|---|---|
60 | E | dostatečně |
75 | D | uspokojivě |
90 | C | dobře |
105 | B | velmi dobře |
120 | A | výborně |
Zkouška se koná v počítačové učebně pod operačním systémem GNU/Linux. Vícenásobné připojení k aplikaci SQLtutor je monitorováno a je považováno za pokus o podvod u zkoušky.
Studenti, kteří mají nárok minimálně na hodnocení C mají možnost si známku opravit (to znamená, že kdo získal jednou nárok například na B, nemůže dostat horší známku, pokud by při pokusu o zlepšení hodnocení získal méně bodů).
Studenti mohou u zkoušky používat jeden list formátu A4 s obecnými poznámkami jako je syntax a pod. (tj. nesmí obsahovat řešení ani náznaky řešení jednotlivých úloh) a jeden prázdný list formátu A4 pro psaní pracovních poznámek během zkoušky.
Veškerá komunikační zařízení (mobily a pod.) musí být vypnuta.
Kromě jakékoli formy komunikace je za podvod považováno i řešení, které danou úlohu rozloží do dvou nebo více kroků, jejichž mezivýsledky jsou použity pro sestavení závěřečného dotazu (např. v tabulce Přemyslovců si určím nejprve id panovníka, které explicitně vložím do dotazu na jeho děti).
Odkazy a tutoriály
Prezentace z přednášek jsou k dispozici ke stažení na http://geo.fsv.cvut.cz/vyuka/155git2 (průběžně aktualizováno během semestru).
SQL tutor
Externí odkazy
- České stránky věnované PostgreSQL Pavla Stěhuleho
- SQL (From Wikipedia, the free encyclopedia)
- PostgreSQL
- SQLite