Databázové systémy Přednáška č. 6.

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

KIV/ZIS Cvičení 6 SQL - SELECT.
Databáze Dotazy.
Základy jazyka SQL Jan Tichava
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Databázové systémy SQL Výběr dat.
YDASYS1 Ing. Monika Šimková.
Fakulta elektrotechniky a informatiky
Cvičení 03 SQL Select Ing. Pavel Bednář
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
Výpočetní technika Akademický rok 2008/2009 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2.
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
SQL Structured Query Language
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Přednáška č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Temporální Databáze Jaroslav Dražan. Čím se budeme zabývat Proč je čas v DB důležitý Práce s časem pomocí klasického SQL Reprezentace časové domény Spojování.
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
MS ACCESS parametrický dotaz
Informatika pro ekonomy II přednáška 10
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Fakulta elektrotechniky a informatiky
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Databázové systémy Tomáš Skopal
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Informatika II PAA DOTAZOVACÍ JAZYKY
2OP483 Manažerská informatika 3Access - BankaSnímek 1 2OP483 Manažerská informatika 3 Microsoft Office Access 2007 Dotazy v databázi Banka
Aplikační a programové vybavení
Databáze velké množství dat pevně dané struktury
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy SQL Výběr dat.
Administrace Oracle Paralelní zpracování.
Databázové systémy 1 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
ACCESS DOTAZY Ing. Jana Horáková IKT MS Office
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Filtrování záznamů Filtr podle výběru Filtr podle formuláře Rozšířený filtr Symboly, výrazy Dotazy.
Vytvoření jednoduchého databázového dotazu Access (7)
Databázové systémy a SQL
Unix a Internet 9. SQL server
2OP483 Manažerská informatika 32OP483 Manažerská informatika 3
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1
Databázové systémy I Přednáška 8 Databázové systémy 1 – KIT/IDAS1
Databázové systémy a SQL
Informatika pro ekonomy přednáška 8
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
[ START WITH podmínka ] CONNECT BY podmínka
Optimalizace SQL dotazů
Počítačová cvičení z předmětu Datové sklady
Transkript prezentace:

Databázové systémy Přednáška č. 6

Jazyk SQL Databázový jazyk by měl uživateli umožnit: Vytvoření struktury databáze Vkládání, modifikaci a odstranění dat z databáze Realizaci dotazů Musí realizovat tyto úkoly s minimální námahou pro uživatele

Jazyk SQL Structured Query Language (SQL) Je neprocedurální jazyk – specifikuje pouze co potřebujeme získat a ne jak to získat Má 2 hlavní komponenty: DDL pro definování datové struktury DML pro vyhledávání a úpravu dat Neobsahuje řídící příkazy – ty musí být implementovány v rámci programovacího jazyka nebo interaktivně uživatelem

Jazyk SQL Historie jazyka SQL 1974 – D. Chamberlin definoval jazyka zvaný „Structured English Query Language“ or SEQUEL 1976 – definována revidovaná verze SEQUEL/2 – jméno se změnilo na SQL IBM implementovala prototyp DBMS – System R, založený na SEQUEL/2 Konec 70tých let – ORACLE s prvním komerčním RDBMS založeným na SQL

Jazyk SQL 1987 – ANSI a ISO – první standard SQL 1989 – ISO publikoval dodatek, který definoval ‘Integrity Enhancement Feature’ 1992 – první velká revize ISO standardu – SQL2 resp. SQL/92 SQL is Federal Information Processing Standard (FIPS) – všechny databáze pro federální vládu musí splňovat standard SQL

Zaměstnanec N 1 N kontroluje Pracuje v Garantuje N N N viděl 1 N Nemovitost Klient N Má pronajatu Pobočka 1 N N 1 Vlastní Nabízí 1 Vlastník

Jazyk SQL – příkaz SELECT SELECT [DISTINCT | ALL] {* | seznam_výstupních_sloupců [AS nové_jméno]} FROM seznam_tabulek [alias] [...] [WHERE podmínka_řádku] [GROUP BY seznam_výrazů_seskupení] [HAVING podmínka_skupiny] [ORDER BY seznam_kritérií_třídění ASC |DESC]

Jazyk SQL – příkaz SELECT definice sloupců ve výsledku pomocí AS se specifikuje název záhlaví sloupců podle použitého modifikátoru budou z výsledku vyloučeny duplicitní řádky (DISTINCT), nebo jsou vybrány všechny (ALL)

Jazyk SQL – příkaz SELECT FROM seznam tabulek, ze kterých jsou získávány požadované informace při definici dotazu není možné použít sloupce z jiných než ze zde uvedených tabulek pomocí klíčového slova ALIAS (nepovinné) lze pojmenovat vyjmenované tabulky zástupným jménem, na které se potom odkazujeme v dalším zpracování

Jazyk SQL – příkaz SELECT WHERE omezení zpracovávaných řádků pomocí podmínky (tj. filtrace řádků) pouze řádky, pro které je tato podmínky splněna jsou dále zpracovávány GROUP BY definice výrazů, podle kterých jsou řádky seskupeny vytváří skupiny řádků se stejnou hodnotou v daném sloupci

Jazyk SQL – příkaz SELECT HAVING omezení souhrnných řádků definovaných pomocí GROUP BY ve výsledku – pouze souhrnné řádky, pro které je zde uvedená podmínky splněna jsou zařazeny do výsledku filtruje skupiny podle dané podmínky

Jazyk SQL – příkaz SELECT ORDER BY setřídění řádků ve výsledku řádky mohou být setříděny vzestupně (ASC) nebo sestupně (DESC) implicitně jsou řádky setříděny vzestupně (ASC se nemusí zadávat)

Jazyk SQL – příkaz SELECT Všechny příklady se vztahují k databázi realitní kanceláře uvedené na snímku 6 Zobraz všechny informace o všech zaměstnancích: SELECT c_zam, jmeno, prijmeni, adresa, tel_c, prac_zar, rod_c, c_pob, plat FROM zaměstnanec nebo alternativně SELECT * FROM zaměstnanec znak * se používá jako zkratka pro ‘všechny sloupce’

Jazyk SQL – příkaz SELECT Zobrazte seznam pracovníků a jejich platy: SELECT jmeno, prijmeni, plat FROM zamestnanec Zobrazte čísla nemovitostí, které si některý klient prohlédl: SELECT c_nem FROM prohlidka SELECT DISTINCT(c_nem) FROM prohlidka DISTINCT eliminuje duplicity

Jazyk SQL – příkaz SELECT Vypište seznam pracovníků a pro každého uveďte výši ročního platu: SELECT jmeno, prijmeni, plat*12 AS rocni_plat FROM zamestnanec Vypište všechny informace o zaměstnancích s platem větším jak 10000 Kč: SELECT * FROM zamestnanec WHERE plat > 10000

Jazyk SQL – příkaz SELECT Zobraz údaje o pobočkách se sídlem v Praze nebo v Brně: SELECT * FROM pobocka WHERE mesto=‘Praha’ OR mesto=‘Brno’

Jazyk SQL – příkaz SELECT Zobrazte údaje o zaměstnancích s platem v rozmezí 9000 – 12000 Kč: SELECT * FROM zamestnanec WHERE plat BETWEEN 9000 AND 12000 BETWEEN zahrnuje i krajní body intervalu, lze používat i negaci NOT BETWENN. BETWEEN lze vyjádřit následovně: WHERE plat>=9000 AND plat <=12000

Jazyk SQL – příkaz SELECT Zobraz údaje o všech managerech a tajemnících: SELECT * FROM zamestnanec WHERE prac_zar IN (‘manager’, ‘tajemnik’) Je možno použít i negaci (NOT IN). IN lze vyjádřit následovně: WHERE prac_zar=‘manager’ OR prac_zar=‘tajemnik’

Jazyk SQL – příkaz SELECT Najdi zaměstnance, kteří mají v adrese Ostravu: SELECT * FROM zamestnanec WHERE adresa LIKE ‘%Ostrava%’ SQL má dva speciální symboly: % : posloupnost nula nebo více znaků _ : libovolný jeden znak LIKE ‘%Ostrava%’ znamená posloupnost znaků libovolné délky, která obsahuje řetězec “Ostrava”

Jazyk SQL – příkaz SELECT Zobraz detaily všech prohlídek, kde není zaznamenána žádná poznámka: SELECT * FROM prohlidka WHERE poznamka IS NULL Zobraz seznam zaměstnanců dle výše platu, od nejvyššího: SELECT jmeno, prijmeni, plat FROM zamestnanec ORDER BY plat DESC

Jazyk SQL – příkaz SELECT Seřaď nemovitosti dle typu a výše nájmu: SELECT * FROM nemovitost ORDER BY typ, nájem