Databázové systémy a SQL

Podobné dokumenty
Databázové systémy a SQL

Úvod do databázových systémů 3. cvičení

Úvod do databázových systémů

Informační systémy ve zdravotnictví. 10. cvičení

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Úvod do databázových systémů

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

KIV/ZIS cvičení 5. Tomáš Potužák

Databázové systémy a SQL

KIV/ZIS cvičení 6. Tomáš Potužák

Databázové systémy. Cvičení 6: SQL

KIV/ZIS - SELECT, opakování

Úvod do databázových systémů

Databáze SQL SELECT. David Hoksza

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Dotazy tvorba nových polí (vypočítané pole)

Databáze I. Přednáška 6

Databázové systémy Cvičení 5.3

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Databázové systémy I

Operátory ROLLUP a CUBE

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

U koly na procvic ení jazyka T-SQL

MS EXCEL_vybrané matematické funkce

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Algoritmizace a programování

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

5. blok Souhrnné a skupinové dotazy

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

MS Access Dotazy SQL

Databázové systémy Cvičení 5

Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

6. blok část B Vnořené dotazy

6. blok část C Množinové operátory

1 Úvod do práce s databází

Zápisování dat do databáze

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Kapitola 4: SQL. Základní struktura

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

Aritmetické operátory

Architektury databázových

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Jazyk SQL databáze SQLite. připravil ing. petr polách

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Sada 1 - Základy programování

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

Úvod do SQL v systému SAS Martin Branda

SQL tříhodnotová logika

Jazyk PL/SQL Úvod, blok

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Základní přehled SQL příkazů

Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D.

Matematické a statistické funkce

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

Databázové systémy. Dotazovací jazyk SQL - II

DATA CUBE. Mgr. Jiří Helmich

Základy zpracování kalkulačních tabulek

Databázové systémy Cvičení 5.2

4. blok část A Logické operátory

5 Přehled operátorů, příkazy, přetypování

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Příklad elektrický obvod se stejnosměrným zdrojem napětí

Úvod do databázových systémů

Funkce pro práci s jednotlivými řádky

Návrh a tvorba WWW stránek 1/14. PHP a databáze

- sloupcové integritní omezení

0. ÚVOD - matematické symboly, značení,

LabView jako programovací jazyk II

FUNKCE 2. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

Dotazovací jazyky I. Datová krychle. Soběslav Benda

7. blok Funkce. Studijní cíl

Multi-dimensional expressions

Operace s vektory a maticemi + Funkce

Informační systémy ve zdravotnictví. 6. cvičení

Informatika a výpočetní technika

Programování v jazyce JavaScript

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Excel Matematické operátory. Excel předdefinované funkce

Databázové systémy I

Materiál ke cvičením - SQL

Syntea software group a.s. marian.kamenicky. MFFUK Praha

LEKCE 6. Operátory. V této lekci najdete:

6. SQL složitější dotazy, QBE

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ

Sada 1 - PHP. 15. Výběr dat z databáze. Příkaz SELECT

Jazyk S Q L základy, příkazy pro práci s daty

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Transkript:

Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1

Operátory a funkce +,- Sčítání, odečítání *,/ Násobení, dělení =, <>, >=, <= Rovnost, nerovnost [NOT] IN (hodnota, hodnota, ) Rovnost [NEROVNOST] se skupinou hodnot Spojení textových řetězců, FB NOT, AND, OR TRUNC(x,[n]) Negace, logický součin, logický součet Odstranění desetinných míst (odstranění časové frakce z datumu) ROUND(x,[n]) zaokrouhlení, FB CEIL() zaokrouhlení nahoru, FB DECODE Nahrazování hodnot, FB CASE WHEN podm END Podmíněný výraz NVL, NVL2 Nahrazení hodnoty NULL Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 2

Operátory a funkce práce s datumy SYSDATE Aktuální datum a čas CURRENT_TIMESTAMP Aktuální datum a čas FB TO_CHAR() Konverze na text TO_DATE() Konverze na datum Datum +- počet dnů Datum - datum MONTHS_BETWEEN(da tum, datum) ADD_MONTHS(datum, počet) Přičítání, odečítání dnů Počet dnů mezi datumy (desetinná část udává časový rozdíl) Rozdíl datumů Přičtení měsíců Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 3

Operátory a funkce práce s textem SUBSTR(text, od, počet) INSTR(text, subtext) REPLACE(text, puvodni, nove) Vrací podřetězec textu dle pozice Hledání podřetězce v textu, vrací pozici Nahrazení podřetězce, FB LOWER(text) Převod na malá písmena UPPER(text) Převod na velká písmena LTRIM(text), RTRIM(text) Odstranění mezer zleva zprava LENGTH(text) Délka řetězce CHARACTER_LENGTH(' text') TRANSLATE(text, znaky,znaky) Délka řetězce Nahrazení po znacích Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 4 FB

Operátory a funkce práce s čísly ABS(cislo) SIN(cislo), COS(cislo), TAN(cislo) POWER(cislo,exp) SQRT(cislo) MOD(cislo, cislo) LN(cislo) LOG(cislo) EXP(x) Absolutní hodnota Mocnina Druhá odmocnina Zbytek po dělení Přirozený logaritmus Dekadický logaritmus e x Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 5

Operátory a funkce agregační funkce COUNT() Počet AVG() Průměr MIN() Minimum MAX() Maximum STDDEV() Směrodatná odchylka SUM() Suma MEDIAN() Medián Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 6

NULL, prázdná hodnota NULL nerovná se 0 NULL nelze testovat standardními operátory WHERE X = NULL OR X <> NULL Správně: WHERE sloupec IS NULL OR sloupec IS NOT NULL ALE: UPDATE sloupec = NULL WHERE sloupec IS NOT NULL NULL téměř veškeré operace (funkce, operátory) nad hodnotou NULL opět vrací NULL Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 7

MODIFIKÁTOR DISTINCT SELECT DISTINCT sloupec1 FROM tabulka; -- unikátní hodnoty sloupce SELECT DISTINCT sloupec1, sloupec2 FROM tabulka; -- unikátní kombinace sloupců SELECT COUNT(*), COUNT(sloupec), COUNT(DISTINCT sloupec) Počet všech řádků, všech NOT NULL řádků, unikátních hodnot FROM tabulka; Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 8

Cvičení 1 Vytvořte tabulku textový sloupec manager textový sloupec study_name datumový sloupec managed_since Naplňte první 2 sloupce tabulky záznamy z tabulky studies (principal_investigator, study_name) Do řádků bez managera zapište svoje příjmení a sloupce managed_since dnešní datum Do zbylých řádků vložte datum 1.1.2000 Smažte řádky s managerem Chroust Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 9

SELECT více tabulek ID pacienta Jmeno Prijmeni 1 Jan Novák 2 Jana Nová 3 Karel Starý ID pacienta Datum vysetreni 1 12.1.2011 39,5 1 15.3.2011 36,8 2 2.2.2011 37,5 Vysledek vysetreni Spojování tabulek = join Druhy spojení: vnitřní inner join jen spojitelné řádky vnější outer join - left join, right join, full join všechny řádky jedné tabulky + napojitelné řádky druhé tabulky Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 10

JOIN - syntaxe Vnitřní spojení SELECT * FROM tabulka1, tabulka2 WHERE tabulka1.sloupec (PK) = tabulka2.sloupec (FK) SELECT * FROM pacient, vysetreni WHERE pacient.id_pacienta = vysetreni.id_pacienta ID pacienta Jmeno Prijmeni ID_pacient a Datum vysetreni 1 Jan Novák 1 12.1.2011 39,5 1 Jan Novák 1 15.3.2011 36,8 2 Jana Nová 2 2.2.2011 37,5 Vysledek vysetreni Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 11

OUTER JOIN syntaxe Vnější spojení SELECT * FROM tabulka1 LEFT JOIN tabulka2 ON tabulka1.sloupec = tabulka2.sloupec SELECT * FROM pacient LEFT JOIN vysetreni ON pacient.id_pacienta = vysetreni.id_pacienta ID pacienta Jmeno Prijmeni ID_pacient a Datum vysetreni 1 Jan Novák 1 12.1.2011 39,5 1 Jan Novák 1 15.3.2011 36,8 2 Jana Nová 2 2.2.2011 37,5 3 Karel Starý Vysledek vysetreni varianta SELECT * FROM tabulka1, tabulka2 WHERE tabulka1.sloupec = tabulka2.sloupec(+) SELECT * FROM pacient, vysetreni WHERE pacient.id_pacienta = vysetreni.id_pacienta(+) Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 12

TRIALDB datový model Vazba pacienti studie m-n => mezitabulka PATIENT_STUDY Vazba studie pracoviště m-n => mezitabulka STUDIES_SITES Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 13

Cvičení 2 Zjistěte počet pacientů v jednotlivých studiích STUDY_NAME, počet pacientů Zjistěte počet pacientů dle pohlaví v jednotlivých studiích STUDY_NAME, pohlaví, počet pacientů Zjistěte počet zapojených pracovišť do jednotlivých studií STUDY_NAME, počet pracovišť Vypište pracoviště zapojená do více studií SITE, počet studií Vypište všechny studie a počet zařazených pacientů v jednotlivých letech STUDY_NAME, rok(date_of_enrollment) Zjistěte počet pacientů v jednotlivých studiích po pracovištích STUDY_NAME, SITE, počet pacientů Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 14