-
Úvod
- Co je DB
- Co je relační DB?
- Další typy DB (objektové, graph, document, map)
-
SQL jazyk a RDBMS
- normy a dialekty (PL/SQL, T-SQL, SQL99)
- MySQL/MariaDB
- MS SQL
- Oracle
- DB2
- PostreSQL
- Firebird
- embeddable DB
- NoSQL DBs
-
Návrh
- databáze (schéma)
- tabulky a pohledy
-
datové typy
-
celočíselné typy
- TINYINT = -128 +127
- SMALLINT = -32 tis. +32 tis.
- MEDIUMINT = -8 mil. +8 mil.
- INT, INTENGER = -2 mld. +2 mld.
- BIGINT
- UNSIGNED
- boolean (bit)
-
desetinná čísla
-
IEEE desetinná čísla
- FLOAT(m,d)
- DOUBLE(m,d)
-
s pevnou řádovou čárkou
- DECIMAL(p,s)
- datum a čas
- ENUM a SET
-
text
- char
- varchar
- text
-
znakové sady (charset)
- Unicode a UTF-8
- Windows 1250 a ostatní
- řazení (collate)
- binární data (BLOB)
- hodnota NULL
-
atributy sloupců
- NULL/NOT NULL
- DEFAULT xy
- DEFAULT CURRENT_TIMESTAMP
- ON UPDATE CURRENT_TIMESTAMP
- PRIMARY KEY
- AUTO_INCREMENT
- UNSIGNED
- CHARACTER SET name [COLLATE sort]
-
normalizace tabulek
- začátek
- I. normální forma
- II. normální forma
- III. normální forma
-
Vztahy
- 1:1
- 1:n
- n:m
-
Primární a cizí klíče
- referenční integrita
(omezení cizího klíče)
- hiearchie
- ER diagramy
-
Tvorba (DDL)
-
SQL klienti
- mysql CLI
-
CREATE
-
typy tabulek
- MyISAM
- InnoDB
- ALTER
- DROP
- TRUNCTATE
- Vzorová DB Sakilla
-
Dotazování (SELECT)
- USE <database>
-
Základní forma SELECT
- všechny sloupce - *
- sl1, sl2, sl3
-
Podmínka WHERE
-
sloupec
- as
- DISTINCT
-
operátor
-
pro čísla
- >
- >=
- = nebo ==
- <> nebo !=
- <
- <=
-
datumů
- dtto
- between X and Y
-
text
- =
- LIKE
- ? nebo _ - 1 znak
- % nebo * - lib. počet zn.
- REGEXP
-
hodnota
- číslo
-
datum
- '2014-09-29'
- '2014-09-29 9:00'
-
text
- " a " nebo 'a'
-
Další podmínka
- AND - a současně
- OR - nebo
- NOT - negace (opak)
-
Řazení výsledků ORDER BY
- sl1.
- sl2., sl3.
- ASC/DESC
- COLLATE
- LIMIT offset, n
- SQL funkce
-
Agregační funkce
- count()
- max()
- min()
- avg()
- sum()
-
GROUP BY
- HAVING
-
Spojování JOIN
- CROSS JOIN ("théta")
- INNER JOIN
-
OUTER JOIN
- FULL
- LEFT
- RIGHT
- JOIN a NULL
- Vnořené (nested) dotazy
- UNION
-
Manipulace (DML)
- INSERT
- UPDATE
- DELETE
-
Transakce
- koncept ACID
- transakce a jejich úrovně
- podpora v různých RDBMS
- zamykání a uváznutí (deadlock)
-
administrace
- Indexy
- Systémové databáze a tabulky
- Zálohování a obnova
- zabezpečení (uživatelé a oprávnění)
-
Programování
- kurzory
- stored procedures
- stored functions
- triggery
- drivery JDBC, ODBC