Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.

Slides:



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

KIV/ZIS Cvičení 6 SQL - SELECT.
SQL Další dotazy a pohledy
Základy jazyka SQL Jan Tichava
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Aplikační a programové vybavení
DB1 – 9. cvičení Optimalizace dotazu Konkurenční přístup a deadlock Indexace Transakce.
YDASYS1 Ing. Monika Šimková.
Cvičení 03 SQL Select Ing. Pavel Bednář
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
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
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
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.
Temporální databáze a TSQL
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.
Martin Kirschbaum 4.A,  určitá uspořádaná množina informací (dat) uložená na paměťovém médiu  Databázový program - umožňuje tvořit, editovat,
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.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Databáze Úvod.
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.
Databázové systémy teorie a návrh relačních databázových systémů část II.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Aplikační a programové vybavení
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.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy Přednáška č. 6.
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ý.
Čí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 UIN010 N-ticový (řádkový) relační kalkul Hodnoty proměnných n-tice relací (řádky) Konstanty hodnoty atributů Unární funkční.
Informatika II PAA DOTAZOVACÍ JAZYKY
Aplikační a programové vybavení
Aplikační a programové vybavení
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 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Základní obeznámení s jazykem SQL Databázové systémy.
Databázové systémy SQL Výběr dat.
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B15 Autor Ing. Jiří Kalousek Období vytvoření březen.
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
J. Pokorný, I Halaška1 DBS: SQL92 Jaroslav Pokorný MFF UK, Praha
Příkazy jazyka SQL ve VFP a na SQL Serveru
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy a SQL
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
Databázové systémy I Přednáška 11 Databázové systémy 1 – KIT/IDAS1
Dotazovací jazyk SQL I.
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Počítačová cvičení z předmětu Datové sklady #1 Relační model dat
Počítačová cvičení z předmětu Datové sklady
Přednáška 7 SQL – JOIN.
Přednáška 5 Úvod do SQL.
Jazyk SQL (databáze SQLite)
Databázové jazyky Jaroslav Pokorný FI BVŠP Bratislava
Databázové systémy a SQL
Transkript prezentace:

Jazyk SQL Ing. Zdena DOBEŠOVÁ

SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma ISO/IEC 9075:2003

SQL obsahuje příkazy pro Definici dat Editaci dat Výběr dat Definici přístupových práv Transakce

1. SQL příkazy pro definici dat vytvoření databáze CREATE DATABASE jméno_databáze Př. CREATE DATABASE povodi

1. SQL příkazy pro definici dat Vytvoření tabulky CREATE TABLE jméno_tabulky ( seznam_atributů_ tabulky_oddělených_čárkami, seznam_integritních_omezení) Př. CREATE TABLE tOsoba (cislo CHARACTER(6) NOT NULL PRIMARY KEY, jmeno CHARACTER(15), prijmeni CHARACTER(25) NOT NULL, vaha INTEGER, datum DATE DEFAULT );

1. SQL příkazy pro definici dat složený primární klíč: CREATE TABLE tVztahVlastnikNemov(IDVlast INTEGER NOT NULL FOREIGN KEY (IDVlast) REFERENCES tVlastnik, IDNem INTEGER NOT NULL FOREIGN KEY (IDNem) REFERENCES tNemovitost, PRIMARY KEY (IDVlast,IDNem));

1. SQL příkazy pro definici dat Smazání tabulky DROP TABLE jméno_tabulky Př. DROP TABLE tOsoba

1. SQL příkazy pro definici dat změna struktury tabulky ALTER TABLE jmeno_tabulky zmena1[, zmena2…] ALTER TABLE tOsoba ADD vyska INTEGER přidá nový sloupec vyska ALTER TABLE tOsoba ADD RodneCislo CHARACTER(11) UNIQUE ALTER TABLE tOsoba DROP vyska odstraní sloupec vyska ALTER TABLE tOsoba MODIFY jmeno CHARACTER(20) změní rozsah datového typu ALTER TABLE tOsoba ADD INDEX RodC (RodneCislo)

1. SQL příkazy pro definici dat vytvoření indexů CREATE INDEX [UNIQUE] jméno_indexu ON název_tabulky sloupec [ASC|DESC] Př.CREATE INDEX OsobCislo ON tOsoba cislo DROP INDEX OsobCislo

1.SQL příkazy pro definici dat Pohledy vytváří virtuální tabulky CREATE VIEW název_pohledu [pojmenování_sloupců] AS select Př.CREATE VIEW VerejneInfo AS SELECT cislo, prijmeni, jmeno FROM tOsoba Př.CREATE VIEW InformaceZam (CisloZamestnance, prijmeni, jmeno) AS SELECT cislo, prijmeni, jmeno FROM tOsoba

2. SQL příkazy pro editaci dat vložení jednoho řádku INSERT INTO jméno_tabulky ([jména_sloupců]) VALUES (seznam hodnot) Př. INSERT INTO tOsoba VALUES (‘101‘,‘Jana‘,‘Vydrová‘,65,’ ‘)

2. SQL příkazy pro editaci dat Změna dat UPDATE jmeno_tabulky SET atribut=nova_hodnota WHERE atribut=specificka_hodnota Př. UPDATE tOsoba SET prijmeni=“Kotoučková“ WHERE cislo=‘101‘

2. SQL příkazy pro editaci dat Smazání záznamu vyhovující podmínce DELETE FROM jmeno_tabulky WHERE podminka

3. SQL příkazy pro editaci dat Základním příkazem jazyka SQL pro výběr dat je příkaz SELECT. SELECT seznam_jmen_atributů FROM seznam_jmen_tabulek [WHERE podmínka] [GROUP BY typ_skupiny] [HAVING where_definice] [ORDER BY atribut]

3. SQL příkazy pro editaci dat Výběr všech atributů Př.SELECT * FROM tOsoba Př. SELECT prijmeni, jmeno, datum FROM tOsoba Alias – spojení do jednoho sloupce SELECT prijmeni & ‘ ‘ & jmeno AS JmenoOsoby, datum FROM tOsoba

3. SQL příkazy pro editaci dat Setřídění záznamů Př. SELECT prijmeni, jmeno, datum FROM tOsoba ORDER BY prijmeni, jmeno

3. SQL příkazy pro editaci dat Tabulka, ve které se neopakují záznamy (je to relace) Př. SELECT DISTINCT jmeno FROM tOsoba

3. SQL příkazy pro editaci dat Podmínka WHERE Př.SELECT * FROM tOsoba WHERE cislo=‘101‘ Př.SELECT * FROM tOsoba WHERE datum>‘ ’ AND datum<’ ’ ORDER BY datum

3. SQL příkazy pro editaci dat Podmínka vybírající záznamy s hodnotou NULL: WHERE vaha IS NULL nikoliv chybně WHERE vaha=NULL

3. SQL příkazy pro editaci dat Grupovací funkce GROUP BY atribut Př.SELECT vyska FROM tOsoba GROUP BY vyska

3. SQL příkazy pro editaci dat Agregační funkce COUNT, SUM, MAX, MIN a AVG Př.SELECT COUNT(vyska) AS PocetOsob FROM tOsoba Př.SELECT COUNT(cislo) AS PocetOsob FROM tOsoba Př.SELECT COUNT(*) AS PocetOsob FROM tOsoba Př.SELECT COUNT(vyska) AS PocetOsobNad180 FROM tOsoba WHERE vyska > 180

3. SQL příkazy pro editaci dat Př. SELECT Avg (vyska) AS AvgOfVyska, Min(vyska) AS MinOfVyska, Max(vyska) AS MaxOfVyska FROM tOsoba Spojení grupovací a agregační funkce Př.SELECT vyska, COUNT(vyska) AS PocetOsob FROM tOsoba GROUP BY vyska ORDER BY vyska vyskaPocetOsob

3. SQL příkazy pro editaci dat formulace podmínky pro celou skupinu SELECT {seznam_atributů | *} FROM seznam_tabulek [WHERE podm] [GROUP BY seznam-atributů [HAVING podm_pro_skupinu] ]; Př.SELECT vyska, Count(vyska) AS CountOfVyska FROM tOsoba GROUP BY Vyska HAVING (Count(tOsoba.Vyska)>2) vyskaPocetOsob 1804

3. SQL příkazy pro editaci dat Výběr z více tabulek SELECT tOsoba.prijmeni, tOsoba.jmeno, tStav.stav FROM tStav, tOsoba ON tOsoba.ID_Stav = tStav.ID_Stav WHERE ((tStav.Stav) Like "vdaná") ORDER BY tOsoba.prijmeni, tOsoba.Jmeno zkrácení názvu tabulky pomocí alias Př.SELECT O.prijmeni, O.jmeno, S.stav FROM tStav AS O, tOsoba AS S ON O.ID_Stav = S.ID_Stav WHERE ((S.Stav) Like "vdaná") ORDER BY O.prijmeni, O.Jmeno

3. SQL příkazy pro editaci dat Způsob spojení tabulek lze definovat klíčovými slovy: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN Vnitřní spojení SELECT seznam_atributů FROM první_tabulka INNER JOIN druhá_tabulka ON podmínka Vnější spojení SELECT seznam FROM levá_tabulka LEFT JOIN pravá_tabulka ON podmínka

3. SQL příkazy pro editaci dat Plné spojení SELECT seznam FROM levá_tabulka FULL JOIN pravá_tabulka ON podmínka Křížové spojení SELECT seznam FROM jedna_tabulka CROSS JOIN druhá_tabulka

3. SQL příkazy pro editaci dat Poddotazy Příkazy SELECT lze vnořovat i ve více úrovních. Lze je řetězit a pro formulaci hlavního dotazu je možno použít výsledků dotazu jiného poddotazu. Př. SELECT * FROM tOsoba WHERE OsobCis NOT IN (SELECT OsobCis FROM tDite ) Tento dotaz vybere všechny osoby, které nemají děti v tabulce tDite. Poddotazy lze použít i za klausulí WHERE v příkazech UPDATE a DELETE.

4. SQL příkazy pro definici přístupových práv Příkazy pro přidělení práv jsou dva: GRANT, který uděluje práva a REVOKE, který práva odnímá. Př. GRANT [seznam_práv] [atributy] ON jméno_objektu TO {PUBLIC |uživatel1 [, uživatel2,…]} Př. GRANT SELECT ON tVyrobek TO PUBLIC Př. REVOKE seznam_prav [(sloupce)] ON jmeno_objektu FROM uzivatel

5. SQL příkazy pro transakce Transakce nám zajišťují kontinuitu a nedělitelnost změn. Transakce proběhne buď jako celek nebo se transakce jako celek zruší. Ošetření i chybových stavů, kdy dojde k technickým výpadkům a nekorektnímu uzavření databáze. Průběh transakce řídíme SQL příkazy SAVE POINT, COMMIT a ROLLBACK. SAVE POINT pro_jistotu UPDATE zbozi SET cena = cena * 1.05