Skip to content

Commit

Permalink
[ivt] 13
Browse files Browse the repository at this point in the history
  • Loading branch information
Headary committed Feb 3, 2022
1 parent ea0aa36 commit b86f1d4
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 0 deletions.
57 changes: 57 additions & 0 deletions ivt/13-access-sql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
% Databáze MS Access, SQL příkazy, struktura databázového souboru, formát dat,
% návrh jednoduché databáze, práce s daty v databázi, aktualizace dat,
% formulář-pohled na data, ukázka tvorby formuláře, třídění a vyhledávání
% informací v databázi, popis tvorby dotazů, ukázka práce s databází

\setcounter{section}{12}
# Databáze MS Access, SQL
## Databáze
- organizovaná kolekce dat
- uložení a přístup elektronicky
- uloženy jako soubor (malé DB), nebo hostovány na počítačových clusterech či v cloudu (velké DB)
- různé designy, query jazyky, bezpečnost, způsob reprezentace\dots
- typy
- Hierarchická databáze
- Síťová databáze
- Relační databáze
- Objektová databáze
- Objektově relační databáze
- MySQL, MongoDB, MariaDB, MS Access\dots

### MS Access
- database management system (DBMS)
- kombinace relační databáze s GUI
- součástí MS Office
- uložení databáze ve vlastním formátu
- podpora VBA

## SQL
- standardizovaný programovací jazyk pro používání (hlavně relačních) databází
- původně vytvořeno roku 1970
- vytváření databází, zápis dat, čtení (query) dat, mazání dat, vytváření souvislostí\dots
- specifikace úkonu pomocí speciálních klíčových slov, pevná syntaxe

### Struktura
- databáze -- systém uchovávající všechna data a tables
- table
- objekt databáze
- uchovává samotná data ve specifikovaných sloupcích
- každý řádek jeden záznam
- view
- virtuální table
- výsledek \inlists{SELECT} příkazu na reálných datech

\lstinputlisting[style=sql, caption=Vytvoření tablu]{../source_codes/13-create-table.sql}

### Příkazy
- \inlists{SELECT} -- čtení dat z tablu
- \inlists{UPDATE} -- změna uložených dat
- \inlists{DELETE} -- smazání řádku
- \inlists{INSERT INTO <tableName>} -- přidání řádku
- \inlists{CREATE DATABASE <dbName>} -- vytvoření nové databáze
- \inlists{ALTER DATABASE <dbName>} -- modifikace databáze
- \inlists{CREATE TABLE <tableName>} -- vytvoření nového tablu
- \inlists{ALTER TABLE <tableName>} -- změna tablu
- \inlists{DROP TABLE <tableName>} -- smazání tablu
- \inlists{CREATE INDEX <indexName> ON <tableName> (column1, column2...)} -- vytvoření indexu tablu (sloupce tablu)
- \inlists{DROP INDEX <indexName>} -- smazání indexování tablu (sloupce tablu)
8 changes: 8 additions & 0 deletions ivt/source_codes/13-create-table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CREATE TABLE `persons` (
`id` INT(11) UNIQUE NOT NULL AUTO_INCREMENT,
`last_name` VARCHAR(255) CHARACTER SET utf8 NOT NULL,
`first_name` VARCHAR(255) CHARACTER SET utf8 NOT NULL,
`born_name` VARCHAR(255) CHARACTER SET utf8 NULL DEFAULT NULL,
`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
9 changes: 9 additions & 0 deletions ivt/template.cls
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,14 @@
float=htbp
}

\lstdefinestyle{sql}{
language=SQL,
float=htbp,
morekeywords={
DATABASE
}
}

\newcommand\inlistc[1]{\lstinline[style=c]{#1}}
\newcommand\inlisth[1]{\lstinline[style=html]{#1}}
\newcommand\inlists[1]{\lstinline[style=sql]{#1}}

0 comments on commit b86f1d4

Please sign in to comment.