155IN2G Informatika 2
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í: prof. Ing. Aleš Čepek, CSc.
- Ú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).
Zimní semestr 2019-2020
- 10.1.
- 423 321 230 204 138 128 111 94 34
- 3.12.
- 165 159 83 78 73 59 47 38 25 0
Zimní semestr 2018-2019
- 31.1.
- 210 150 119 112 111 79
- 24.1.
- 247 202 179 158 148 109 88 76 30 17 12 11 7 0
- 17.1.
- 152 32
- 10.1.
- 83 73 10
- 3.1.
- 116 100 96 2 0 0
Zimní semestr 2017-2018
Na základě výsledků testů byly zvýšeny hranice bodového hodnocení na 60, 75, 90, 105, 120.
- 19.12.
- 167 160 140 140 119 105 102 62 61 60 19 16 0
- 4.1.
- 95
- 18.1.
- 181 76 72 60 18 13 3 0
- 25.1.
- 201 79 75 33 0
- 30.1.
- 149 94 61 35 7
- 12.2.
- 154 126
Zimní semestr 2016-2017
Bodové hodnocení 50, 60, 70, 85, 100.
- 11.1.
- 195 128 113 108 101 31 17
- 18.1.
- 164 85 74
- 25.1.
- 191 188 184 158 129 61 54 52 37 23 20 17 0
- 1.2.
- 310 242 234 216 102 94 43 39 2 1 0 0 0
- 8.2.
- 293 200 167 121 116 95 42 0 0 0
- 15.2.
- 264 181 159 147 109 71 62 43 0 0
Zimní semestr 2015-2016
Nově je ke zkoušce požadován zápočet.
- 12.1.
- 132 67
- 20.1.
- 227 205 158 132 107 103 100 76 46 39 33 22 21 1 0
- 27.1.
- 398 318 208 195 194 176 151 140 100 96 74 63 54 48 40 6 0
- 2.2.
- 259 213 171 158 154 111 85 78 71 53 20 15 4 0 0 0
- 164 107 78 73 34 0
- 9.2.
- 163 114 114 98 78 59 40 6 0
Zimní semestr 2014
Nový kód předmětu 155GIT2.
Výsledky zkoušek
- 17.12. předtermím
- 125 124 117 100 66 60 40 37 18 16 7 6 0 0 0 0 0 0
- 7.1.
- 268 189 158 132 111
- 13.1.
- 234 210 193 161 148 111 108 76 75 34 34 29 20 17 10 2 1 0
- 20.1.
- 133 168 110 93 49 28 20 12 0
- 27.1.
- 153 125 120 74 54
Zimní semestr 2013
Výuka přesunuta do zimního semestru (nový kód předmětu 153GIT2).
Výsledky zkoušek
- 19.12. předtermín
- 125 7 0 150 110 68 59 42 17
- 8.1.
- 276 176 159 105 90 77 75 75 43 29 28 25
- 15.1.
- 106 81 71 45 36 28 0 0
- 22.1
- 37
- 29.1
- 129 64 62 59 49 20
- 5.2
- 72 66 63 57 52 35 17
- 12.2
- 52 21
Letní semestr 2012
Zavedeny penalizační body pro nezodpovězené a špatně zodpovězené otázky, které se počítají podle Fibonacciho posloupnosti 1, 2, 3, 5, 8, ... Pro dvě tři chybné odpovědi je penalizace nevýznamná, pro vyšší počty narůstá progresivně, cílem je zabránit strategii systematického přeskakování těžších otázek.
Výsledky zkoušek
- 9.5. předtermín
- 36 0 27 133 118 58 3 55 59 79 58 54 254 49 74 37 231
- 18.5.
- 99 56 52 36 41 188 70 55 127 27 87 102 7 50 186
- 28.5.
- 229 117 81 59 59 48 43 37 13 7 0
- 4.6.
- 112 72 64 63 63 59 55 47 25 7
- 11.6.
- 119 63 56 28 0
- 18.6.
- 100 92 62 26
- 25.6.
- 332 83 63 39 20
- 29.6.
- 90 34
Letní semestr 2011
Na základě výsledků z předchozích dvou ročníků byla zvýšena hranice pro získání klasifikace E o 10 bodů a pro D o pět bodů (získání zkoušky za E bylo prakticky formální záležitostí). Hodnocení známek C, B a A zůstává zachováno.
Výsledky zkoušek
- 16.5. předtermín
- 51 115 58 138 59 46 243 49 56 39 47 96 63 55
- 17.5.
- 55 158 75 125 51 44 81 35 113 113 136 93 60 46 56 20 61
- 27.5.
- 42 89 69 48 78 104 53 91 31 58 47 66
- 27.5.
- 299 80 120 132 145 27 280 92 61
- 2.6.
- 99 88 91 55 77
- 9.6.
- 120 0 126 100 80
- 17.6.
- 102 98 40 45 72
- 24.6.
- 44 59 30 117 (54 hodnoceni F zkoušel hledat v helpu na dalších instancích prohlížeče)
Letní semestr 2010
Výsledky zkoušek
Nové schéma databáze, otázky zůstaly beze změny, opraveno jedno chybné řešení a několik drobných nepřesností a formulací. Garantovány jsou známky D a lepší (pro příští rok posunuto na C). Pro zápočet bylo nutno dosáhnout 30 bodů (pro příští rok zrušeno; jak ukazují výsledky, počet takto udělených zápočtů byl minimální).
- 7.5. předtermín
- 21 37 48 48 45
- 20.5.
- 91 54 52 23 23 93 60 22 59 92 166 61 93 43 32
- 25.5.
- 167 46 21 77 84 153 92 26 51 26 41 160 51 13 121 42 60
- 27.5.
- 22 50 119 41 40 98 36 63 115 45 21 106 42
- 1.6.
- 46 25
- 3.6.
- 130 318 84 15 37 43 61 45
- 8.6.
- 42 64 34
- 10.6.
- 131 99 98 88 79 65 62 56 39 39 30
- 15.6.
- 59 47 43
- 17.6.
- 40 72 36 20 136
- 22.6.
- 155 134 74 66 57 55 49 40 24
- 29.6.
- 21
Letní semestr 2009
Na základě výsledků z předchozích ročníků (předmět byl vyučován v přechodném období i pro magistry) byly minimální počty bodů zvýšeny o 10 bodů (30 zápočet, 40 E, 55 D, 70 C, 85 B, 100 A).
Výsledky zkoušek
- 2.6. předtermín
- 1 15 23 15 52 55 42 87 192 96
- 5.6. předtermín
- 83 42 58 43 55 37 43 51 69 93
- 9.6.
- 79 107 118 14 32 48 80 54 47 63 39
- 11.6.
- 29 18 27 44 48 36 30 24 56 50 16 23 10 17 87 193 73 31 25 63 31 74 70
- 16.6.
- 49 94 68 45 40 20 37 34
- 18.6.
- 27 58 41 41 28 28 19 29 58 20 6 81 23 111 27 65 82
- 25.6.
- 43 30 44 23 35 87 39 30 34 4 19
- 30.6.
- 95 44 37 15 53 12 37 222
Letní semestr 2008
Zkouška trvá 60 minut, volitelně může následovat ústní zkoušení. Hodnocení 30 60 90 (minimální počty bodů)
U zkoušky lze používat jeden list poznámek formátu A4 a jeden prázdný list papíru na pracovní poznámky u zkoušky. Nic jiného není povoleno.
Každý, u koho bude zjištěn mobilní telefon, organizér či jakékoli jiné elektronické zařízení, bude předvolán před disciplinární komisi s návrhem na ukončení studia.
Výsledky zkoušek
- 30.5. předtermín
- 131 299 27 22 139 37 219 78 17 5 48 108 19 102 108 5 39
- 3.6.
- 92 60 32 136 95 52 63 14
- 5.6.
- 61 57 91 58 89 39 58 77
- 10.6.
- 10 50 58 57 44 50 49 121 16
- 10.6.
- 30 1 100 97 25 182 145 30 3
- 12.6.
- 104 7 19 97 168 87 18 32 24 48 22 39 238 28 58 50
- 12.6.
- 64 63 15 50 32 43 43 84 18 101 17 54 26 86 4
- 20.6.
- 89 13 141 88 18 40 127 37 61 36 72 64 34 10 54
Zimní semestr 2009
Výsledky zkoušek
- 8.12.
- 24 259 216 79 143 275 167 24 211 264 132 123 176 171 91
Odkazy a tutoriály
Prezentace z přednášek jsou k dispozici ke stažení na http://geo.fsv.cvut.cz/user/gin/git2 (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