Databázové systémy a SQL

Slides:



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

KIV/ZIS Cvičení 6 SQL - SELECT.
MS ACCESS - DOTAZY DATABÁZOVÉ SYSTÉMY.
Cvičení 06 Ing. Pavel Bednář
Základy jazyka SQL Jan Tichava
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Databáze.
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 Realizace uložených procedur a spouští, jejich praktické využití.
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
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
Databázové systémy 1 Cvičení č. 4 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.
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á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.
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ý.
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 2 Zkouška – 12:00. Příklad I - Funkce Vytvořte funkci ZK_TRP_TREND(P_ID_TRPASLIKA IN NUMBER, P_DATUM_OD IN VARCHAR2, P_DATUM_DO.
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Informatika II PAA DOTAZOVACÍ JAZYKY
Aplikační a programové vybavení
Databáze velké množství dat pevně dané struktury
Databázové systémy SQL Výběr dat.
 Agregační funkce  Agregační funkce jsou to funkce, které nějakým způsobem zpracují více hodnot a jako výsledek vrátí hodnotu jednu COUNT()  Funkce.
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.
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_DIFF_MIN_MAX (P_ZAM_ID NUMBER) RETURN VARCHAR2. Funkce může vracet.
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.
Lišta nástrojů Standard otevření, uložení a další manipulace se soubory (tj. projekty) načítání dat (mapových vrstev) „žluté plus“ změna měřítka odkaz.
ACCESS DOTAZY Ing. Jana Horáková IKT MS Office
SQL Structured Query Language
J. Macur, FAST VUT, 2011 (kombinované studium BU04)
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Autor, Název akce Databázové systémy a SQL Lekce 7 Daniel Klimeš.
Autor, Název akce Databázové systémy a SQL Lekce 2 Daniel Klimeš 1.
Autor, Název akce Databázové systémy a SQL Daniel Klimeš 1.
Databázové systémy a SQL
Databázové systémy I Přednáška 7 Databázové systémy 1 – KIT/IDAS1
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 a SQL
Dotazovací jazyk SQL I.
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Počítačová cvičení z předmětu Datové sklady
Dotazovací jazyk SQL - II
Databázové systémy a SQL
Databázové systémy a SQL
Transkript prezentace:

Databázové systémy a SQL Lekce 3 Daniel Klimeš

Minulý domácí úkol Vytvořit tabulku student se sloupci jmeno, prijmeni, datum_narozeni, rok_prijeti Vložit řádek se svým jménem Pomocí update prohoďte jméno a příjmení, UPDATE tabulka SET jmeno = prijmeni, prijmeni = jmeno Převeďte vše na velká písmena, UPDATE tabulka SET jmeno = UPPER(jmeno), prijmeni = UPPER(prijmeni) Odstraňte diakritiku (ř -> r, č->c), UPDATE tabulka SET jmeno = TRANSLATE (jmeno, ‘řč’,’rc’) Vyberte iniciály (1. písmeno jméno + 1. příjmení) SELECT SUBSTR(jmeno,1,1) || SUBSTR (prijmeni,1,1) FROM tabulka Daniel Klimeš, Databázové systémy a SQL

Operátory za WHERE SELECT * FROM tabulka WHERE sloupec IN (1,5,7) = Rovná se <> Nerovná se IS NULL/ IS NOT NULL Testování prázdné/neprázdné hodnoty [NOT] IN (hodnota, hodnota, …) Rovnost [NEROVNOST] se skupinou hodnot LIKE Podobný řetězec SELECT * FROM tabulka WHERE sloupec IN (1,5,7) SELECT * FROM tabulka WHERE sloupec NOT IN (‘a’, ‘d’, ‘j’) SELECT * FROM tabulka WHERE sloupec LIKE (‘Jan%’) % = žádný nebo libovolné znaky Daniel Klimeš, Databázové systémy a SQL

Logické operátory WHERE jmeno = ‘Jan’ AND prijmeni = ‘Novák’ AND, OR, NOT AND TRUE FALSE NULL OR TRUE FALSE NULL NOT TRUE = FALSE NOT FALSE = TRUE NOT NULL = NULL AND se vyhodnocuje před OR ! Daniel Klimeš, Databázové systémy a SQL

LOGICKÉ OPERÁTORY - cvičení X AND FALSE => FALSE X OR TRUE => TRUE FALSE AND FALSE OR TRUE => TRUE FALSE AND (FALSE OR TRUE) => FALSE 5 > 1 AND NULL IS NOT NULL OR 1 = 1 => TRUE Daniel Klimeš, Databázové systémy a SQL

Agregace GROUP BY, HAVING Daniel Klimeš, Databázové systémy a SQL

GROUP BY Seskupení položek SELECT sloupec, count(*), MAX(sloupec2), MIN(sloupec2) FROM tabulka GROUP BY sloupec; WHERE sloupec2 > 1 and … GROUP BY sloupec HAVING count(*) > 1 Daniel Klimeš, Databázové systémy a SQL

Agregační funkce Funkce Popis Pozn. COUNT(*) Počet AVG(sloupec) Aritmetický průměr MIN(sloupec) Minimum MAX(sloupec) Maximum STDDEV(sloupec) Směrodatná odchylka SUM(sloupec) Suma MEDIAN(sloupec) Medián ORACLE Daniel Klimeš, Databázové systémy a SQL

COUNT SELECT COUNT(*), --všechny řádky COUNT(sloupec), -- všechny NOT NULL řádky COUNT(DISTINCT sloupec) -- počet unikátních hodnot FROM tabulka; SELECT COUNT(*), COUNT(jmeno), COUNT(DISTINCT jmeno) FROM student Daniel Klimeš, Databázové systémy a SQL

MODIFIKÁTOR DISTINCT SELECT DISTINCT sloupec1 FROM tabulka; -- unikátní hodnoty sloupce SELECT DISTINCT sloupec1, sloupec2 FROM tabulka; -- unikátní kombinace sloupců SELECT DISTINCT jmeno FROM student SELECT jmeno FROM student GROUP BY jmeno Daniel Klimeš, Databázové systémy a SQL

WHERE x HAVING Cvičení - agregace Zjistěte Počet jednotlivých křestních jmen v tabulce student Průměrný věk studenta, součet věků Počet studentů a průměrný věk studenta podle sloupce studium pouze skupiny, které mají víc jak 3 studenty pouze studenty se zkouškou WHERE x HAVING Daniel Klimeš, Databázové systémy a SQL

SELECT SELECT FROM WHERE GROUP BY HAVING ORDER BY Daniel Klimeš, Databázové systémy a SQL

Práce s více tabulkami Daniel Klimeš, Databázové systémy a SQL

+ Práce s více tabulkami ID pacienta Jmeno Prijmeni 1 Jan Novák 2 Jana 3 Karel Starý + ID pacienta Datum vysetreni Vysledek vysetreni 1 12.1.2011 39,5 15.3.2011 36,8 2 2.2.2011 37,5 Daniel Klimeš, Databázové systémy a SQL

Vazby ENTITY = tabulky RELATIONSHIP = vazba E-R diagramy = datové modely 1:1 – jeden řádek tabulky A má vazbu s jedním řádkem tabulky B 1:n – k jednomu řádku tabulky A se váže 0 až N řádků tabulky B m:n – k jednomu řádku tabulky A se váže 0 až N řádků tabulky B ale zároveň k jednomu řádku z B se váže 0 až N řádků A Daniel Klimeš, Databázové systémy a SQL

Vidlička = dětská závislá tabulka ER diagram n:1 1:n 1:n Vidlička = dětská závislá tabulka Daniel Klimeš, Databázové systémy a SQL

Postup tvorby datového modelu Definice entit (tabulek) Stanovení primárních klíčů všech tabulek Tvorba vazeb Migrace primárního klíče rodičovské tabulky do dětské tabulky Cizí klíč může, ale nemusí být součástí primárního klíče dětské tabulky Daniel Klimeš, Databázové systémy a SQL

Cvičení a domácí úkol Spusťte skript2.sql Vytvořte si vlastní předmět (řádek v tabulce předmět) Zkuste vytvořit předmět s neexistujícím UCO_ucitele Přihlaste se do zvolených předmětů Odhlašte se ze všech předmětů Přihlaste se do všech dostupných předmětů Zkuste smazat všechny učitele Daniel Klimeš, Databázové systémy a SQL