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

Slides:



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

KIV/ZIS Cvičení 6 SQL - SELECT.
MS ACCESS - DOTAZY DATABÁZOVÉ SYSTÉMY.
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í
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
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.
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
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
Temporální databáze a TSQL
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.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Fakulta elektrotechniky a informatiky
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ý.
Databázové systémy Přednáška č. 3.
Čí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
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop.
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í
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.
Databázové systémy SQL Výběr dat.
TEMPORÁLNÍ DATABÁZE A TSQL2
DATABÁZOVÉ SYSTÉMY Ing. Roman Danel, Ph.D.
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.
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Autor, Název akce Databázové systémy a SQL Lekce 7 Daniel Klimeš.
Programovací jazyk C# 2. část. Datové typy C# rozeznává dva druhy datových typů, hodnotové a referenční. Hodnotové datové typy Proměnné hodnotového datového.
Autor, Název akce Databázové systémy a SQL Daniel Klimeš 1.
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 a SQL
Databázové systémy a SQL
Dotazovací jazyk SQL I.
Algoritmizace a programování
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Databázové systémy a SQL
Počítačová cvičení z předmětu Datové sklady #1 Relační model dat
Přednáška 9 Triggery.
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Transkript prezentace:

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

Autor, Název akce CREATE TABLE Daniel Klimeš, Databázové systémy a SQL 2 Vytvoření tabulky (ORACLE)  DDL příkazem  v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1), datum DATE ); jmeno = do 30 znaků (písmena, čísla, podtržítko) bez mezer, začíná písmenem Řádkování příkazu – nepovinné, pouze pro lepší čitelnost PostgreSQL CREATE TABLE jmeno ( text Varchar(200), cislo Numeric(5,2), datum Timestamp );

Autor, Název akce INSERT Daniel Klimeš, Databázové systémy a SQL 3 INSERT INTO tabulka (sloupec1, sloupec2, sloupec3) VALUES (cislo, ‘text’, TO_DATE (‘datum’, ‘dd.mm.yyyy’)); INSERT INTO jmeno (CISLO, TEXT, DATUM) VALUES (2.3,’testovací řetězec’, TO_DATE (’ ’,’dd.mm.yyyy’)); INSERT INTO tabulka (sloupec1, sloupec2, sloupec3) SELECT sloupec1,sloupec2, sloupec3 FROM tabulka2; INSERT INTO jmeno (cislo, text) SELECT study_id, text FROM studies WHERE is_active = 2; INSERT INTO jmeno (cislo, text) SELECT MAX(study_id), manager FROM studies GROUP BY manager

Autor, Název akce UPDATE, DELETE Daniel Klimeš, Databázové systémy a SQL 4 UPDATE tabulka SET sloupec = hodnota; UPDATE jmeno SET cislo = cislo+1; UPDATE tabulka SET sloupec = hodnota WHERE sloupec2 = hodnota; UPDATE jmeno SET datum = SYSDATE WHERE text = ‘Klimeš’; DELETE FROM tabulka; DELETE FROM jmeno; DELETE FROM tabulka WHERE …; DELETE FROM jmeno WHERE cislo > 5;

Autor, Název akce TRANSAKCE Daniel Klimeš, Databázové systémy a SQL 5 TRANSAKCE = sada DML příkazů – všechny nebo žádný Transakci zahajuje první příkaz Ukončení transakce COMMIT; = potvrzení změn (DDL příkazy => automatický commit) ROLLBACK; = zrušení změn Nepotvrzené transakce nevidí ostatní, brání provedení změn jiných uživatelů (zamykání sloupců, řádků, tabulek) Co nejkratší transakce! V PGADMIN automatický commit !! Nutné nejprve napsat BEGIN TRANSACTION

Autor, Název akce Cvičení 1 Daniel Klimeš, Databázové systémy a SQL 6 Vytvořte tabulku (vaše příjmení jako název tabuky) textový sloupec jmeno textový sloupec prijmeni datumový sloupec datum_zapisu Vložte záznam, naplňte první 2 sloupce tabulky svým jménem (jmeno, prijmeni) Doplňte datum zápisu na aktuální datum Přidejte libovolný další řádek Ověřte počet řádků v tabulce Smažte řádek se svým jménem

Autor, Název akce Operátory a funkce Daniel Klimeš, Databázové systémy a SQL 7 +,-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ů NOT, AND, ORNegace, logický součin, logický součet TRUNC(x,[n])Odstranění desetinných míst (odstranění časové frakce z datumu) COALESCEVrací první NOT NULL argument GREATEST / LEASTVrací největší/nejmenší argument DECODENahrazování hodnotORACLE CASE WHEN podm END Podmíněný výraz NVL, NVL2Nahrazení hodnoty NULLORACLE

Autor, Název akce Operátory a funkce – práce s datumy Daniel Klimeš, Databázové systémy a SQL 8 SYSDATEAktuální datum a časORACLE CURRENT_DATEAktuální datumPG CURRENT_TIMESTAMP NOW() Aktuální datum a časPG TO_CHAR()Konverze na text TO_DATE()Konverze na datum Datum +- počet dnůPřičítání, odečítání dnů Datum - datumPočet dnů mezi datumy (desetinná část udává časový rozdíl) MONTHS_BETWEEN(datum, datum) Rozdíl datumůORACLE AGE(datum, datum)Rozdíl datumůPG ADD_MONTHS(datum, počet)Přičtení měsícůORACLE

Autor, Název akce Operátory a funkce – práce s textem Daniel Klimeš, Databázové systémy a SQL 9 SUBSTR(text, od, počet)Vrací podřetězec textu dle pozice INSTR(text, subtext)Hledání podřetězce v textu, vrací pozici ORACLE STRPOS(text, subtext)PG REPLACE(text, puvodni, nove) Nahrazení podřetězce 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 TRANSLATE(text, znaky,znaky) Nahrazení po znacích

Autor, Název akce Operátory a funkce – práce s čísly Daniel Klimeš, Databázové systémy a SQL 10 ABS(cislo)Absolutní hodnota SIN(cislo), COS(cislo), TAN(cislo) Číslo v radiánech POWER(cislo,exp)Mocnina SQRT(cislo)Druhá odmocnina MOD(cislo, cislo)Zbytek po dělení LN(cislo)Přirozený logaritmus LOG(cislo)Dekadický logaritmus EXP(x)exex ROUND(x,[n])zaokrouhlení CEIL()zaokrouhlení nahoru

Autor, Název akce NULL, prázdná hodnota Daniel Klimeš, Databázové systémy a SQL 11 NULL nerovná se 0 NULL nelze testovat standardními operátory WHERE X = NULL OR X <> NULL Správně: WHERE sloupec IS NULL sloupec IS NOT NULL ALE: UPDATE tabulka SET 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 Cvičení 2 Daniel Klimeš, Databázové systémy a SQL 12 Vytvořte si pracovní kopii tabulky STUDIES CREATE TABLE nazev AS SELECT * FROM studies Do řádků bez managera zapište svoje příjmení U neaktivních studií is_active = 0 nastavte DATE_TERMINATED na dnešní datum Vypište názvy studií malými písmeny Vypište první 3 znaky názvu studií Vypište studie, které obsahují ve study_name písmeno x Kolik dnů, týdnů, měsíců, roků řídí projekty jednotliví lidé (DATE_START)? Smažte řádek se study_id = 2

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

Autor, Název akce MODIFIKÁTOR DISTINCT Daniel Klimeš, Databázové systémy a SQL 14 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 Cvičení - agregace Daniel Klimeš, Databázové systémy a SQL 15 Zjistěte Datum zahájení nejstarší studie, nejmladší studie Průměrná délka u ukončených studií Celkový počet studií Počet studií se zadaným datem zahájení (DATE_STARTED) Počet manažerů Vypište seznam manažerů

Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 16 Vypište seznam studií, kde délka textu study_title < 40 znaků Prohoďte u těchto pacientů study_name a study_title Které studie mají název jen z velkých písmen? Které studie mají více jak jednoho managera?

Autor, Název akce Logické operátory Daniel Klimeš, Databázové systémy a SQL 17 AND, OR, NOT ANDTRUEFALSENULL TRUE FALSENULL FALSE ORTRUEFALSENULL TRUE FALSETRUEFALSENULL NOT TRUE = FALSE NOT FALSE = TRUE NOT NULL = NULL

Autor, Název akce LOGICKÉ OPERÁTORY - cvičení Daniel Klimeš, Databázové systémy a SQL 18 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

Autor, Název akce Domácí úkol Daniel Klimeš, Databázové systémy a SQL 19 Prostudujte: Kapitola 2 a 3 skript , 9.2, 9.3, 9.4, 9.8, 9.9 Nainstalovat PostgreSQL Vytvořit databázi matbi 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í, převeďte vše na velká písmena, odstraňte diakritiku (ř -> r, č->c), vyberte iniciály (1. písmeno jméno + 1. příjmení) Kolik dnů uplynulo od vašeho narození