Úvod do jazyka SQL
Hodina č. 1
§
JÁ
Jan Pospíšil
jsem@posp.cz
Organizační…
• Docházka?
• Domácí úkoly
• Test & zkouška!
Proč?
Proč?
Proč?
Proč?
Proč?
vaše očekávání…
Proč?
http://dbanketa.jdem.cz/
Disclaimer
Co je to “databáze"?
Ve skutečnosti soubor(y)…
Ve skutečnosti soubor(y)…
… stejně jako třeba tabulka v Excelu
K vyzkoušení
knizky.jdem.cz
Co je to tabulka?
Tabulka
Tabulka
Tabulka
Jak s databází pracovat?
Rozdělení
“počítačových” jazyků
• Značkovací
• Programovací
• Dotazovací
• ….
Značkovací jazyk
Toto slovo je tučné
(markup language)
Značkovací jazyk
Toto slovo je tučné
(markup language)
Toto slovo je tučné
Značkovací jazyk
Toto slovo je tučné
(markup language)
Toto slovo je tučné
Toto slovo je tučné
Programovací jazyk
results = books.getResults(query);
if(results.length) {
foreach(row as results) {
print row;
}
}
else {
print “Pro váš dotaz jsme nic nenalezli.”;
}
Dotazovací jazyk
SELECT authors, title
FROM books
WHERE year = 1984
Pomocí dotazovacího jazyka
SQL se dotazujeme databáze
na data v tabulkách.
Pomocí dotazovacího jazyka
SQL se dotazujeme databáze
na data v tabulkách.
Pleonasmus ALERT
Proč?
Vyhledejte knížky, které byly vydané v roce
2000 na Slovensku.
excel
SELECT * FROM books WHERE
Year = 2000 AND Country =
"Slovakia"
Vyhledejte knížky, které byly vydané v roce
2000 na Slovensku nebo v roce 1999 v ČR.
excel
SELECT * FROM books WHERE
(Year = 2000 AND Country = "Slovakia")
OR
(Year = 1999 AND Country = "Czech Republic")
Kontext
Central European Association
for Canadian Studies
(Vytvořeno značkovacím jazykem HTML)
Web
Web
Server
Web
Server
Databáze
SELECT author, title
FROM books
WHERE Year = 1984
SQL
Web
Server
Databáze
SQL
Data
Web
Server
Databáze
SQL
Data
Web
Server
Databáze
SQL
Data
Osnova
• SQL: Základní dotazování
• Jak si založit vlastní databázi a naplnit ji daty
• SQL: Práce s více tabulkami
• SQL: Složitější dotazování
• SQL: Další práce s databázemi
• Teoretické okénko
• Moderní databázové technologie, NoSQL databáze,
ukázky využití
V hlavních rolích
V hlavních rolích
Marketér v
(e-)knihkupectví
knihy, autoři, objednávky, zákazníci, sklad, …
V hlavních rolích
Knihovník
knihy, autoři, číselníky, členové, výpůjčky, …
V hlavních rolích
Fundraiser
dárci, dary, kampaně, e-maily, dopisy,...
SELECT strftime("%H",datetime ) as hodina,
COUNT(*) as pocet_vypujcek
FROM vypujcky
GROUP BY strftime("%H",datetime )
SELECT author,
COUNT(DISTINCT title) as pocet_knih,
COUNT(*) as pocet_vypujcek
FROM vypujcky
GROUP BY author
ORDER BY pocet_vypujcek DESC
A znovu:
Otázky?