# **NDBI025** Databázové systémy

<{Box(infobox)}>
|-----|-----|
| **Učitel:**  | RNDr. Michal Kopecký, Ph.D. |
| **SISu:**    | [Odkaz do SISu](https://is.cuni.cz/studium/predmety/index.php?do=predmet&kod=NDBI025) |
| **Diskuze:** | [Discord kanál](https://discord.com/channels/625428723302137876/758682101355773992) |
| **Web předmětu:** | [Odkaz na web](https://www.ms.mff.cuni.cz/~kopecky/vyuka/dbs/) |
<{/Box}>

## Sylabus
### Přednášky
Seznam přednášek níže pochází ze zimního semestru 25/26.

|#|Název|
|---|---|
1|Conceptual modelling|
2|Logical relational data model, OCL|
3|SQL - definice modelu, manipulace dat|
4|SQL - dotazy, tvorba pohledů|
5|Relational algebra|
6|Data normalisation - functional dependencies, normal forms|
7|Transactions|
8|Multimedia retrieval|
9|Modern database systems|
10|Database data structures, optimilization|

## Studijní materiály
### Slidy a záznamy
- [Slidy](https://drive.proton.me/urls/0GKKS644TM#NcqfpfpMkBSw)
- [Přednášky z ZS 23/24](https://su.mff.cuni.cz/view/browse/home/kopeckm3/2023-2024-S1/NDBI025-DBS/Lectures) -  Nejaktuálnější, chybí první dvě přednášky (více na webu předmětu)
- [Záznamy ze cvičení](https://su.mff.cuni.cz/view/browse/home/kopeckm3/2023-2024-S1/NDBI025-DBS/Practicals ), na zkoušce je 9 - 12

### Skripta
- SQL a relační algebra: [tirpitz.ms.mff.cuni.cz/ndbi025/](https://tirpitz.ms.mff.cuni.cz/ndbi025/) $\rightarrow$ přihlášení jméno: `student`, heslo: `student` $\rightarrow$ Registration $\rightarrow$ stačí Nickname $\rightarrow$ Self-study nebo Self-study (RA) $\rightarrow$ nahoře Next podle obtížnosti

### Poznámky
- [Vít Kološ](https://www.vitkolos.cz/node/view/notes-ipp/main/semestr5/databazove-systemy/zkouska.md)
- [Kosákovy poznámky](https://wiki.matfyz.cz/NDBI025/KosakovyPoznamky) - teorie + příklady ze cvik
- [itsmexxie](http://itsmexxie.net/notes/ndbi025) - obsáhlejší, ale negarantuju přesnost :)
- [Voucher z relační algebry](https://wiki.matfyz.cz/NDBI025/RA%20voucher%2025-26)

### Návody
- [Připojení k MS SQL Server](https://www.ms.mff.cuni.cz/~kopecky/vyuka/dbs/DBS-01-SSMS-CZ.pdf)
- [Připojení k Oracle databázi](https://www.ms.mff.cuni.cz/~kopecky/vyuka/dbs/DBS-01-SQLD-CZ.pdf)
- normálnější software níž

## Zakončení předmětu
### Zápočet
Zápočet se získává za napsání zápočtového testu. Ten je spíše prakticky zaměřený a je rozdělený do několika částí dle témat. Obecně se vyplatí získat vouchery, které lze získat za dobré napsání "minitestíku" z některého z témat. Ty se píší přibližně během třetího až šestého cvičení. Vouchery vám pak splní danou část testu, ke které se vztahují.

### Zkouška
- Je dobré umět se podepsat
- Je dobré to udělat v předtermínu

## Připojení k databázi
... třeba i na Linuxu. Funguje [DBeaver](https://dbeaver.io/), byť je lehce nepřehledný. Heslo přijde začátkem semestru emailem. ~~Furt teda netuším, k čemu se nám to hodí.~~ Nevyužijete to.

<{ImageGallery()}>
![MS SQL](/NDBI025/dbeaver-mssql.png)
![Oracle](/NDBI025/dbeaver-oracle.png)
<{/ImageGallery}>