Databázové systémy a SQL

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

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

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

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

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

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

Databáze SQL SELECT. David Hoksza

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

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

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

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

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

Použití databází na Webu

Databázové systémy úvod

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

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

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

Databázové systémy a SQL

Databáze II. 1. přednáška. Helena Palovská

8.2 Používání a tvorba databází

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

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

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

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

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

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Sada 1 - PHP. 14. Úvod do jazyka SQL

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Databázové a informační systémy

Ukázka knihy z internetového knihkupectví

5. POČÍTAČOVÉ CVIČENÍ

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

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

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

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Databázové systémy trocha teorie

Michal Krátký, Miroslav Beneš

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

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

Text úlohy. Systémový katalog (DICTIONARY):

Verzování a publikace dat na webu za pomoci PostgreSQL

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Databázové a informační systémy Jana Šarmanová

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

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

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

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

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

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Databáze I. 1. přednáška. Helena Palovská

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

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

Databázové systémy I

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

Datové modelování II

Optimalizace dotazů a databázové transakce v Oracle

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

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

Marian Kamenický. Syntea software group a.s. marian.kamenicky. MFFUK Praha 2012/13

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Databázové systémy I

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

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

Základy jazyka SQL. 87 Jazyk SQL SQL je dotazovací jazyk, takže přes propojenou aplikaci se serveru odevzdá dotaz

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Zpracování informací

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

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

Jazyk SQL 3 - DML, DDL, TCL, DCL

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

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

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Manipulace a restrukturalizace dat

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Konceptuální modelování a SQL

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Databázové a informační systémy

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

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

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

SQL - trigger, Databázové modelování

DUM 12 téma: Příkazy pro tvorbu databáze

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

Jazyk PL/SQL Úvod, blok

Databáze I. 5. přednáška. Helena Palovská

Tabulka fotbalové ligy

Structured Query Language SQL

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

Zápisování dat do databáze

Temporální databáze. Jan Kolárik Miroslav Macík

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

Transkript:

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

About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2, budova 11 Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 2

Databáze v biomedicíně Každé pondělí od 16:00 do 17:40 Teoretická přednáška > navazující praktické cvičení Praktická část : databáze ORACLE 11g Domácí cvičení: PostgreSQL Zakončení: zápočet domácí úkol zkouška praktický test, pomůcky bez omezení, časový limit Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 3

Význam databáze pro analytika Grafický statistický SW Statistika for Windows, MS Excel SPSS, SAS Potřeba matematického aparátu Automatizace zpracování Rostoucí objem dat (miliony záznamů) Matematicko - statistický skriptový SW R, Matlab, Maple, SPSS, SAS, programovací jazyk Databáze SQL Předzpracování dat čištění dat popisná analýza Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 4

Databázové systémy Relační databáze (RDBMS) Relace termín z relační algebry Základ: tabulka sloupec = atribut/parametr řádek = popsaný objekt Databáze = systém provázaných 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 Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 5

Databázové systémy - Produkty Dle dostupnosti Dle počtu uživatelů Komerční ORACLE - databáze* MS SQL server* DB2 MS ACCESS FOX PRO Freeware MySQL PostgreSQL Firebird * Okleštěné verze jsou k dispozici zdarma Jednouživatelské MS ACCESS FOX PRO Víceuživatelské ORACLE MS SQL DB2 MySQL PostgreSQL Firebird Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 6

Tabulka Definovaná struktura, do které se vkládají záznamy Definují se sloupce jméno ID datový typ pacienta text číslo datum BLOB doplňující vlastnosti Datum vysetreni 1 12.1.2011 39,5 1 15.3.2011 36,8 2 2.2.2011 37,5 Vysledek vysetreni Autor, Název akce Daniel Klimeš,, Databázové systémy a SQL 7

Klíče Vybrané sloupce se označují jako klíče (keys) Primární klíč (primary key - PK) 1až n sloupců jednoznačně identifikující řádek Cizí klíč (foreign key - FK) identifikuje nadřazený řádek v rodičovské tabulce PK PK 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 FK Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 8

Přístup do databáze Klient = SW umožňující ověření uživatele a spouštění řídících příkazů Řídící příkazy = Structured Query Language SQL DDL - vytváření, změna, rušení objektů (tabulka, index, pohled, ) CREATE / ALTER / DROP DML SELECT získávání dat z databáze INSERT vkládání dat do databáze DELETE mazání dat v databázi UPDATE změna/aktualizace dat transakční příkazy COMMIT potvrzení transakce ROLLBACK odvolání transakce Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 9

ORACLE databázový server Klient sqlplus textový SQLDeveloper - grafický Identifikace ORACLE databáze IP adresa + SID nebo síťový alias (network alias) Network alias musí být definován na klientském počítači: TNS (Transparent Network Substrate) přístupné databáze jsou definované v lokálním souboru tnsnames.ora../network/admin SID = identifikace instance databáze na serveru Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 10

SQL developer - připojení Autor, Název akce Daniel Klimeš, Obhajoba disertační práce 11

Sqlplus - připojení Připojení k databázi příkazová řádka cmd sqlplus login@network_alias sqlplus student@testorcl Varianta s přímým zadáním hesla: sqlplus login/heslo@network_alias student/dbm753 Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 12

PostgreSQL Klient pgadmin Přihlášení k serveru Nová databáze - matbi Schémata public psql ve Windows nutné nastavení jazykové sady a fontu Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 13

SQL SQL jazyk case insensitive různá rozšíření v jednotlivých DB produktech klíčová slova pro názornost VELKÝM písmem názvy objektů (tabulek, sloupců) pouze alfanumerické znaky první znak písmeno omezená délka (ORACLE 32 znaků) operátory funkce SQL příkazy ve skriptu ukončeny defaultně středníkem (;) komentáře odděleny - - nebo v bloku /* komentar */ Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 14

SQL - SELECT SELECT * FROM tabulka; -- všechny řádky i sloupce tabulky /* vybrané sloupce, všechny řádky */ SELECT sloupec1, sloupec2, sloupec1 + sloupec2 AS soucet FROM tabulka; /* všechny sloupce, vybrané řádky */ SELECT * FROM tabulka WHERE sloupec1 = 1 AND sloupec2 > 10 AND sloupec3 < sloupec 4 --Sumární výstupy SELECT COUNT(*) FROM tabulka -- počet řádků v tabulce -- Agregační funkce SELECT SUM(sloupec1), AVG(sloupec2), MIN(sloupec3), MAX(sloupec4) FROM tabulka SELECT COUNT(*), sloupec1 FROM tabulka nelze Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 15

Cvičení 1 Tabulka STUDIES Kolik má sloupců? Kolik má řádků? Minimum, maximum a průměrná hodnota sloupce study_id? Minimum, maximum hodnota sloupce study_name pouze řádky is_active= 1? Výpis sloupců study_name, description,všechny řádky, dle abecedy podle study_name Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 16

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

Cvičení 2 Výpis počtu studií pro jednotlivé verze trialdb > 2 sloupce trialdbversion, počet řádků To samé pouze pro is_active = 1 Výpis principle_investigator, kteří mají na starosti více jak 5 aktivních studií principle_ivestigator, počet studií Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 18

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

INSERT 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 ( 05.03.2011, 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), principal_investigator FROM studies GROUP BY principal_investigator Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 20

UPDATE, DELETE 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 Daniel Klimeš, Databázové systémy a SQL 21

TRANSAKCE 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!! Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 22

Domácí úkol 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í Autor, Název akce Daniel Klimeš, Databázové systémy a SQL 23