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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy INSERT, UPDATE, DELETE. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu tohoto bloku se předpokládá, že čtenář je obeznámen se základními pojmy jako tabulka, sloupec, databázový systém, výraz. 1. Příkaz SELECT Příkaz SELECT je nejčastěji využívaným příkazem jazyka SQL. Slouží totiž k získávání dat z databáze. Příkaz SELECT můžeme spouštět nad tabulkou, pohledem, tabulkovou funkcí a můžeme přes něj volat vestavěné funkce databázového serveru. Základní syntaxe příkazu SELECT zní: SELECT [ALL UNIQUE DISTINCT] <sloupce> FROM <tabulka> [WHERE <podmínka>] [GROUP BY <sloupce agregace> [HAVING <podmínka>]] [ORDER BY <sloupce řazení> [ASC DESC]]; Nyní si vysvětlíme jednotlivé části příkazu SELECT. ALL UNIQUE DISTINCT nepovinné parametry, které definují, zda bude ve výsledku naloženo s duplicitami. Podrobně si je vysvětlíme později. <sloupce> - seznam sloupců, které se zobrazí ve výsledku. Výčet všech sloupců může být nahrazen operátorem *. Ukážeme si na příkladu později. <tabulka> - identifikátor tabulky (pohledu, tabulkové funkce), nad kterou je prováděn příkaz SELECT. Může zde být obsaženo více tabulek oddělených čárkou, spojení tabulek nebo vnořený dotaz. WHERE <podmínka> příkaz slouží k omezení výstupní množiny dat. Do výsledku budou zahrnuty pouze ty řádky, které vyhovují podmínce <podmínka>. Podmínka může obsahovat jakýkoliv výraz, jehož výsledkem 1

2 je logická hodnota (PRAVDA, NEPRAVDA). Tato operace je nazývána restrikce. GROUP BY < sloupce agregace >, HAVING <podmínka> - konstrukce pro vytváření agregačních dotazů. Agregacím a souhrnným dotazům je věnován celý blok a nebudeme se jimi v této lekci zabývat. ORDER BY <sloupce řazení> - seznam sloupců, podle kterých se bude výsledek řadit. Ke každému sloupci je možné přidat ještě směr řazení ASC (vzestupně) a DESC (sestupně). V tomto bloku se budeme zabývat pouze zjednodušenou syntaxí příkazu SELECT bez konstrukcí agregačních dotazů (GROUP BY, HAVING) Projekce Se základní syntaxí příkazu SELECT jsme se již seznámili a než si ukážeme příklady, představíme si důležité základní pojmy. Prvním důležitým pojmem je pojem projekce. Pojem vychází z relační algebry a představuje, které sloupce z tabulky budeme příkazem SELECT zobrazovat. Mějme tabulku PRODUKTY, která má následující sloupce a data: Pokud budeme z tabulky chtít zobrazit sloupce oznaceni a cena říkáme, že provádíme projekci sloupce oznaceni a cena. V relační algebře bychom zapsali jako PRODUKTY[oznaceni, cena]. 2

3 Obrázek 1 - Grafické znázornění projekce 1.2. Restrikce Druhým důležitým pojmem vycházejícím z relační algebry, je pojem restrikce ( v literatuře někdy označován jako selekce). Restrikce definuje řádky, které budou obsaženy ve výsledku. Jedná se tedy o podmínky a uvádí se za klauzulí WHERE. Příklad si ukážeme na již zmíněné tabulce PRODUKTY. Zobrazíme ty řádky, kde cena > V relační algebře zapíšeme jako PRODUKTY(cena>20000). Ke spojování podmínek v restrikci se používají logické operátory (AND, OR, NOT), kterým je věnován jeden celý blok a také operátory LIKE a EXISTS, které budou také probrány později. Projekce a restrikce je možné samozřejmě kombinovat. Obrázek 2 - Grafické znázornění restrikce Pojmy projekce a restrikce jsme si objasnili a můžeme si tedy zapsat znovu syntaxi příkazu SELECT s použitím těchto pojmů ve zjednodušené formě jako: SELECT [ALL UNIQUE DISTINCT] <projekce> FROM <tabulka> [WHERE <restrikce>] [ORDER BY <sloupce řazení> [ASC DESC]]; 3

4 1.3. Použití příkazu SELECT Prakticky si nyní ukážeme použití příkazu SELECT. Jak již bylo řečeno, příkaz slouží k získávání dat a není možné jím jakkoliv data ve zdrojovém umístění měnit. Ukážeme si nejjednodušší použití příkazu, které je možné. Zobrazte všechna data z tabulky PRODUKTY. SELECT * FROM produkty; V příkladu jsme využili pouze povinné části příkazu SELECT. Vynechali jsme restrikce i řazení. Projekci jsme provedli nad všemi sloupci tabulky a pro zjednodušení jsme použili operátor *. Stejný příklad je možné zapsat jako: SELECT produkt_id, oznaceni, dodavatel_id, cena FROM produkty; Další příklad si uvedeme již včetně restrikcí. Zobrazte všechny produkty z tabulky PRODUKTY, které mají cenu větší než , data seřaďte podle nejdražšího produktu. SELECT produkt_id, oznaceni, dodavatel_id, cena FROM produkty WHERE cena > ORDER BY cena DESC; 4

5 Restrikce zajistila, že do výstupu se dostaly pouze ty řádky, které ve sloupci cena mají hodnotu větší než ALL, UNIQUE, DISTINCT Klíčová slova ALL, UNIQUE a DISTINCT slouží k definování způsobu práce s duplicitními řádky ve výsledku. Než si vysvětlíme význam jednotlivých příkazů, zobrazíme si část tabulky PRODKUTY. Konkrétně provedeme projekci na sloupec dodavatel_id. SELECT dodavatel_id FROM produkty; Z výstupu je patrné, že ve výsledku máme duplicitní řádky. V některých aplikacích potřebujeme, aby výstupní množina dat obsahovala každý řádek pouze jednou. K tomuto účelu slouží klauzule DISTINCT. Doplníme ji tedy do předchozího dotazu a znovu si zobrazíme výsledek. SELECT DISTINCT dodavatel_id FROM produkty; Každý řádek výstupu je nyní unikátní. Stejnou službu nám poskytne i klauzule UNIQUE, který je synonymem pro klauzuli DISTINCT. SELECT UNIQUE dodavatel_id FROM produkty; 5

6 Klauzule ALL je defaultní, pokud není zvolena žádná ze zde jmenovaných. Následující příkaz zobrazí kompletně všechna data bez ohledu na duplicity: SELECT ALL dodavatel_id FROM produkty; 6

7 2. Příkazy INSERT, UPDATE, DELETE Základní práci a pochopení příkazu SELECT máme za sebou a nyní si představíme další rozšířené příkazy jazyka SQL. Jedná se o příkazy souhrnně označované jako DML (Data Manipulation Language), tedy příkazy pro manipulaci s daty. Mezi tyto příkazy patří INSERT, UPDATE a DELETE. Pomocí DML operací je možné upravovat data v tabulkách a za jistých podmínek také v pohledech INSERT Příkaz INSERT slouží ke vkládání dat do jedné nebo do více tabulek zároveň. Základní syntaxe příkazu pro vkládání dat do jedné tabulky zní: INSERT INTO <tabulka>(<sloupec> [, <sloupec2>]) VALUES (DEFAULT <data> [, DEFAULT <data2>]); <tabulka> - identifikátor tabulky (nebo pohledu), do které budeme vkládat <sloupec> - definuje sloupec tabulky, do kterého budeme vkládat. Pokud vkládáme zároveň do více sloupců, oddělujeme pomocí čárek. DEFAULT <data> - do sloupce můžeme vložit buď vlastní hodnotu (<data>) nebo defaultní hodnotu sloupce (DEFAULT), pokud je zadaná v definici tabulky. Data pro jednotlivé sloupce oddělujeme čárkou. Na ukázku si vložíme řádek do tabulky PRODUKTY a celý obsah tabulky si následně vypíšeme. INSERT INTO produkty (produkt_id, oznaceni, dodavatel_id, cena) VALUES (11, 'Notebook2', 3, 32000); SELECT * FROM produkty; 7

8 Řádek se do tabulky úspěšně vložil. Příkaz INSERT je možné použít pro vkládání jednotlivých řádků, ale také pro vkládání hodnot přímo z výsledku příkazu SELECT. Syntaxe takového případu je potom: INSERT INTO <cilova_tabulka>(<sloupec> [, <sloupec2>]) SELECT <projekce> FROM <zdrojova_tabulka> [WHERE <restrikce>]; Tento způsob vkládání dat si ukážeme přímo na příkladu. Opět vložíme data do tabulky PRODUKTY. Data, která budeme vkládat, budou modifikovaná data z téže tabulky. Výsledný obsah tabulky si opět zobrazíme. INSERT INTO produkty (produkt_id, oznaceni, dodavatel_id, cena) SELECT produkt_id+10, oznaceni ' NEW', dodavatel_id, cena*0.7 FROM produkty; SELECT * FROM produkty; Pro využívání této konstrukce je nutné pochopit, jak je takový příkaz databázovým systémem zpracováván. Nejdříve je vyhodnocen příkaz SELECT a teprve potom jsou data použita do příkazu INSERT. Není tedy možné, aby se cyklicky přidávaly řádky pro každý přidaný řádek. 8

9 2.2. UPDATE Data, která se v tabulce již nachází, musí být možné nějakým způsobem upravovat. K úpravě dat v tabulce slouží příkaz UPDATE. Obecná syntaxe příkazu UPDATE vypadá následovně: UPDATE <tabulka> SET <sloupec>=<hodnota> [, <sloupec2>=<hodnota2>] [WHERE <restrikce>]; <tabulka> - identifikátor tabulky (nebo pohledu), v níž budeme upravovat data. <sloupec>=<hodnota> - přiřazení nové hodnoty (<hodnota>) sloupci (<sloupec>). Při současné úpravě více sloupců, oddělujeme uspořádané dvojice čárkou. WHERE <restrikce> - nepovinná část příkazu. Restrikce definuje, na které řádky se změna promítne. Příkaz UPDATE si ukážeme na praktickém příkladu. Provedeme změnu v tabulce PRODUKTY a to takovou, že zdražíme produkty o 15% u odběratele s id=2. Nakonec zobrazíme upravený obsah tabulky. UPDATE produkty SET cena=1.15*cena WHERE dodavatel_id=2; SELECT * FROM produkty; 9

10 2.3. DELETE Dosud jsme si představili příkaz pro vkládání a upravování. Do skupiny DML operací chybí ještě příkaz DELETE, který slouží k mazání záznamů z tabulky. Obecná syntaxe příkazu DELETE zní: DELETE FROM <tabulka> [WHERE <restrikce>]; <tabulka> - identifikátor tabulky (nebo pohledu), odkud budeme mazat data. WHERE <restrikce> - nepovinná část příkazu. Restrikce definuje, které řádky budou smazány. Příkaz DELETE si ukážeme nad tabulkou PRODUKTY, kde odstraníme ty řádky, který mají id > 10, kromě id = 17. Výsledný obsah tabulky si zobrazíme. DELETE FROM produkty WHERE produkt_id >= 10 AND produkt_id <> 17; SELECT * FROM produkty; 2.4. Hodnota NULL Ve výsledcích příkazů SELECT v této lekci můžete u některých produktů pozorovat ve sloupcích dodavatel_id a cena hodnotu NULL ve výsledku z SQL Developeru, kde jsou generovány výsledky pro praktické ukázky, se zobrazuje jako (null). Jde o takzvanou prázdnou, tj. chybějící neboli neznámou hodnotu. Znamená to, že neznáme, který dodavatel daný produkt dodává nebo za jakou cenu. V databázích se s hodnotami NULL budeme pravidelně setkávat a nepochopení jejich významu nebo nevhodná práce s touto hodnotou vede k častým chybám. Nejdříve je nezbytné pochopit rozdíl mezi hodnotou NULL a hodnotou 0 (nula). Nulová hodnota například v případě ceny udává, že produkt je možné získat za 0 peněz, tedy bezplatně. Hodnota NULL však neudává cenu, ale pouze označuje položku, jejíž hodnota není udána. 10

11 Databázový řídící systém s hodnotou NULL pracuje odlišně, než s jinými hodnotami. Tyto hodnoty neovlivňují některé matematické operace, například počítání součtu nebo počtu hodnot. Také logické funkce AND, OR a NOT musí s tímto třetím nedefinovaným stavem pracovat Vytvoření tabulky příkazem CREATE TABLE V předchozích kapitolách jsme se seznámili s příkazy DML. Nyní si řekneme něco o příkazech DDL. Zkratka DDL (Data Definition Language) zastupuje příkazy, které slouží k definici databázových objektů. Jedná se o příkazy pro vytvoření, zrušení a modifikaci tabulek a všech dalších databázových objektů. V této kapitole si představíme základní DDL příkaz pro vytvoření nové tabulky. Základní syntaxe vytvoření tabulky zní: CREATE TABLE [<schema>.]<název tabulky> ( <nazev sloupce> <datový typ> [NOT NULL][DEFAULT <hodnota>][unique] [PRIMARY KEY] [CONSTRAINT <název pravidla> { NOT NULL CHECK (<pravidla>) }] [CHECK <pravidla>] [,<nazev sloupce> <datový typ> [NOT NULL][DEFAULT <hodnota>][unique] [PRIMARY KEY] [CONSTRAINT <název pravidla> { NOT NULL CHECK (<pravidla>) }] [CHECK <pravidla>]] [,CONSTRAINT <nazev pravidla> { PRIMARY KEY (<sloupce>) CHECK (<pravidla>) FOREIGN KEY (<sloupce>) REFERENCES [schema.]<tabulka>(<sloupce>)}] ); <název tabulky> - název vytvářené tabulky. Před název je možné ještě specifikovat schéma, do kterého se tabulky vytvoří. Pokud schéma nespecifikujeme, vytvoří se do aktuálního schématu. <nazev sloupce> <datový typ> - název jednoho sloupce tabulky a jeho datový typ (např. id NUMBER(10)). NOT NULL omezení, které definuje, že hodnota ve sloupci musí být vždy zadána (nesmí být NULL). 11

12 UNIQUE hodnoty v celém sloupci musí být unikátní. Žádná hodnota se nesmí opakovat. DEFAULT předdefinovaná hodnota (např. datum DATE DEFAULT sysdate pokud není vyplněno datum, použij aktuální systémové datum). CONSTRAINT <název pravidla> - definice pravidla CHECK <pravidla> - podmínka pro hodnoty ve sloupci (např. ID INTEGER CHECK ID BETWEEN 0 AND 100) PRIMARY KEY (<sloupce>) definuje primární klíč tabulky (hodnoty ve sloupci musí být vyplněny a musí být unikátní). FOREIGN KEY (<sloupce>) REFERENCES <tabulka>(<sloupce>) definice cizího klíče (odkazuje na sloupec jiné tabulky podpora pro udržení integrity dat). Pro názornost popsaných pravidel, si ukážeme několik příkladů vytvoření tabulek s použitím popsaných pravidel. CREATE TABLE dodavatele ( dodavatel_id NUMBER(4) NOT NULL, nazev VARCHAR2(100) NOT NULL, zastoupeni VARCHAR2 (100), CONSTRAINT dodavatel_pk PRIMARY KEY (dodavatel_id) ); CREATE TABLE produkty ( produkt_id NUMBER (8) NOT NULL, oznaceni VARCHAR2 (30) NOT NULL, dodavatel_id NUMBER (4) NOT NULL, cena NUMBER (6), CONSTRAINT fk_dodavatele FOREIGN KEY (dodavatel_id) REFERENCES dodavatele(dodavatel_id) ); V uvedeném příkladu jsou vytvořeny dvě tabulky. Tabulka dodavatele, která má 3 sloupce a jedno omezení. Omezení je definováno jako primární klíč nad sloupcem dodavatel_id. Druhá tabulka je produkty. Tato tabulka má definovány čtyři sloupce a jedno omezení cizího klíče. Sloupec dodavatel_id je napojen na stejně nazvaný sloupec tabulky dodavatele. 12

13 CREATE TABLE ZAMESTNANCI_DEMO ( zamestnanec_id NUMBER(6) PRIMARY KEY, jmeno VARCHAR2(20), prijmeni VARCHAR2(25) CONSTRAINT zam_prijmeni_nn NOT NULL, VARCHAR2(50) CONSTRAINT zam_ _nn NOT NULL, mobil VARCHAR2(15), datum_nastupu DATE DEFAULT SYSDATE CONSTRAINT zam_datum_nastupu_nn NOT NULL, pozice_id VARCHAR2(10) CONSTRAINT zam_pozice_nn NOT NULL, mzda NUMBER(8,2) CONSTRAINT zam_mzda_nn NOT NULL, provize_pct NUMBER(2,2), manazer_id NUMBER(6), oddeleni_id NUMBER(4), CONSTRAINT zam_mzda_min CHECK (mzda > 0), CONSTRAINT zam_ _uk UNIQUE ( ) ); Druhý, již komplexnější příklad, vytváří tabulku s 11 sloupci. Sloupec zamestnanec_id je definován jako primární klíč. Sloupce prijmeni, , datum_nastupu, pozice_id a mzda nemohou obsahovat hodnoty NULL. V závěru jsou vytvořena dvě pravidla. Jedno pro sloupec mzda, které definuje, že plat musí být větší než 0. Další je pro sloupec a definuje, že hodnoty tohoto sloupce musí být v celé tabulce unikátní. Strukturu tabulek si můžeme nechat vypsat pomocí příkazu DESC <název tabulky>. DESC produkty; DROP TABLE <název tabulky>; Odstraní z databáze tabulku s daným jménem, tj. všechny řádky tabulky, celou strukturu, všechny nad ní definované databázové objekty (např. indexy a všechna případná omezení definovaná nad sloupci či celou tabulkou). 13

14 Tabulku již umíme vytvořit i odstranit. Poslední operace, kterou ještě schází představit, je úprava tabulky. Syntaxe pro přidání sloupce či omezení do tabulky zní: ALTER TABLE <název tabulky> ADD ( {<název sloupce> <datový typ> [<omezení sloupce>]} { <omezení tabulky> } ); Přidání sloupce do tabulky si ukážeme na jednoduchých příkladech. ALTER TABLE dodavatele ADD mesto varchar2(50); ALTER TABLE dodavatele ADD ( ulice varchar2(50), telefon varchar2(13) ); V prvním příkladu byl do tabulky dodavatele přidán sloupec mesto. Ve druhém příkladu jsou do tabulky přidány hned dva sloupce, ulice a telefon. Se sloupci tabulky je samozřejmě možné provádět i další operace, jako je přejmenování, úprava a odstranění. Syntaxe pro přejmenování sloupce zní: ALTER TABLE <název tabulky> RENAME COLUMN <název> TO <nový název>; ALTER TABLE dodavatele RENAME COLUMN mesto to sidlo_mesto; Změna sloupce tabulky se provádí také příkazem ALTER s následující syntaxí: ALTER TABLE <název tabulky> MODIFY (<sloupec> <specifikace sloupce>); ALTER TABLE dodavatele MODIFY sidlo_mesto VARCHAR2(45) NOT NULL; Poslední možností úpravy struktury je odstranění sloupce s následující syntaxí: ALTER TABLE <název tabulky> DROP COLUMN <sloupec>; ALTER TABLE dodavatele DROP COLUMN sidlo_mesto; 14

15 2.6. Úvod do transakcí V souvislosti s příkazy INSERT, UPDATE a DELETE, tedy příkazy, které modifikují obsah tabulek, je vhodné upozornit na skutečnost, že databázové systémy jsou obvykle implementovány tak, že změny v tabulkách je nutné následně buď potvrdit, nebo zamítnout. Hovoříme o takzvaném transakčním zpracování příkazů, kterému bude věnována samostatná lekce. V tuto chvíli je pro nás důležité, že veškeré změny provedené příkazy DML v tabulkách je nutné potvrdit příkazem COMMIT, případně odvolat příkazem ROLLBACK. Pokud ani jednu z těchto operací neprovedeme, dojde buď: a) K implicitnímu potvrzení transakce (COMMIT) při a. Úspěšném ukončení připojení k databázovému serveru b. Před provedením příkazu DDL b) K implicitnímu odrolování transakce (ROLLBACK) při nenormálním ukončení připojení k databázovému serveru (například při přerušení spojení) 15

16 Pojmy k zapamatování Příkazy a funkce: Příkazy SELECT, INSERT, UPDATE a DELETE Problém: základní užití příkazů SELECT, vymezení pojmů restrikce a projekce, seznámení s DML příkazy Shrnutí V této lekci jste se seznámili s příkazem SELECT a DML příkazy. Příkaz SELECT slouží k získávání dat z tabulek. Pomocí projekce a restrikce definujeme oblast dat, kterou chceme zobrazit. DML operace slouží pro manipulaci s daty. Otázky na procvičení 1. K čemu slouží příkaz SELECT? 2. Jaký je rozdíl mezi výstupy následujících příkazů? SELECT DISTINCT FROM SELECT FROM 3. Co znamená pojem restrikce a kam do příkazu SELECT se zapisuje? 4. Jaké jsou základní DML příkazy? 5. K čemu se používá příkaz COMMIT? Odkazy a další studijní prameny (syntaxe příkazů SQL jazyka a funkcí) (interaktivni SQL trénink) (dokumentace k databázové platformě Oracle) (seriál Databáze standardu SQL z časopisu CHIP) Odkazy a další studijní prameny ŠIMŮNEK, M. SQL, kompletní kapesní průvodce. Grada Publishing, ISBN STEPHENS, K.R., PLEW, R.R. Naučte se SQL za 21 dní. Praha: Computer Press, ISBN GROFF, J.R., WEINBERG, P.N. SQL - kompletní průvodce. Praha: Computer Press, ISBN

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

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL 4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená

Více

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

6. blok část B Vnořené dotazy 6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování

Více

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

4. blok část A Logické operátory 4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu

Více

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

6. blok část C Množinové operátory 6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.

Více

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

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

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

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

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

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

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

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL) SQL strukturovaný dotazovací jazyk Structured Query Language (SQL) SQL - historie 1974-75 - IBM - 1.prototyp - SEQUEL od 1979 - do praxe - ORACLE (1979) IBM - SQL/DS (1981), DB/2 (1983) postupně přijímán

Více

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

1. Relační databázový model

1. Relační databázový model 1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky

Více

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

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT KIV/ZIS - SQL dotazy stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb SQL dotazy textové příkazy pro získání nebo manipulaci s daty SELECT - výběr/výpis INSERT - vložení UPDATE - úprava DELETE - smazání

Více

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

6. SQL složitější dotazy, QBE 6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL

Více

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id)) Vzorové příklady SQL Tabulka: Kniha CREATE TABLE kniha název VARCHAR(50, PRIMARY KEY (id Tabulka: Autoři CREATE TABLE autoři jméno VARCHAR(10, příjmení VARCHAR(20, titul VARCHAR(7, prostřední VARCHAR(10,

Více

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

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura

Více

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

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

5. blok Souhrnné a skupinové dotazy

5. blok Souhrnné a skupinové dotazy 5. blok Souhrnné a skupinové dotazy Studijní cíl Tento blok je věnován základům při vytváření souhrnných a skupinových dotazů s využitím agregačních funkcí SUM(), AVG(), MIN(), MAX() a COUNT() a klauzulí

Více

Databázové systémy I

Databázové systémy I Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

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

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické

Více

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

Databázové a informační systémy Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které

Více

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

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

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

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

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

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální

Více

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

Jazyk SQL databáze SQLite. připravil ing. petr polách Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty

Více

Vkládání, aktualizace, mazání

Vkládání, aktualizace, mazání Kapitola 4 Vkládání, aktualizace, mazání Tématem několika předchozích kapitol byly základní techniky pokládání dotazů, které se všechny zaměřovaly na zisk dat z databáze. V kapitole čtvrté půjde o něco

Více

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

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

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

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk

Více

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

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

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

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years SQL v14 4D Developer konference Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL SQL v14 porovnání Definice dat - struktury Manipulace s daty Definice dat Vytvoření

Více

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

- sloupcové integritní omezení

- sloupcové integritní omezení CREATE TABLE - CREATE TABLE = definice tabulek a jejich IO - ALTER TABLE = změna definice schématu - aktualizace - INSERT INTO = vkládání - UPDATE = modifikace - DELETE = mazání CREATE TABLE Základní konstrukce

Více

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

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

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

Sada 1 - PHP. 14. Úvod do jazyka SQL S třední škola stavební Jihlava Sada 1 - PHP 14. Úvod do jazyka SQL Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a

Více

Databázové systémy a SQL

Databázové systémy a SQL 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,

Více

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

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

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

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013 Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013 1. Nástroje programu MS Word a) vysvětlete pojmy šablona, styl (druhy stylů) význam a užití, b) vysvětlete pojem oddíl (druhy oddílů),

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.

Více

Zápisování dat do databáze

Zápisování dat do databáze Zápisování dat do databáze Informační a znalostní systémy 1 2 záznamů Pro vkládání záznamů do tabulky- příkaz INSERT INSERT INTO tabulka VALUES ( výčet hodnot záznamu ) záznamů Pro vkládání záznamů do

Více

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

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL

Více

Dotazovací jazyk SQL I

Dotazovací jazyk SQL I Dotazovací jazyk SQL I Historický vývoj I IBM - 70. léta - prototyp relačního DBMS - System R 80. léta - základ 2 komerčních DBMS: SQL/DS, DB2 SQL jako standard Standardizační instituce ANSI: American

Více

Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...

Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,... Jazyk SQL 1 Přehled SQL 1) jazyk pro definici dat (DDL), 2) jazyk pro manipulaci dat (DML), 3) jazyk pro definice pohledů 4) jazyk pro definice IO 5) jazyk pro přiřazení přístupových práv (DCL) 6) řízení

Více

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

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:

Více

PG 9.5 novinky ve vývoji aplikací

PG 9.5 novinky ve vývoji aplikací PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu

Více

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT SEMESTRÁLNÍ PROJEKT Josef Gruber Pavel Kopecký Akademický

Více

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

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

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním

Více

12. blok Pokročilé konstrukce SQL dotazů - část II

12. blok Pokročilé konstrukce SQL dotazů - část II 12. blok Pokročilé konstrukce SQL dotazů - část II Studijní cíl Tento blok je věnován pokročilým konstrukcím SQL dotazů, které umožní psát efektivní kód. Pozornost je věnována vytváření pohledů v rámci

Více

Optimalizace dotazů a databázové transakce v Oracle

Optimalizace dotazů a databázové transakce v Oracle Optimalizace dotazů a databázové transakce v Oracle Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 22. dubna 2015 Marek Rychlý

Více

Databázové systémy I

Databázové systémy I 2015 Databázové systémy I PROJEKT 2 ČÁST MIROSLAV POKORNÝ Stránka 0 z 21 Zadání Implementujte datový model vytvořený v první části projektu do relační databáze a vytvořte pohledy a uloženou proceduru dle

Více

Dotazování v relačním modelu a SQL

Dotazování v relačním modelu a SQL Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační

Více

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

DUM 12 téma: Příkazy pro tvorbu databáze DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací

Více

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

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení

Více

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

KIV/ZIS cvičení 6. Tomáš Potužák KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP

Více

UNIVERZITA PALACKÉHO V OLOMOUCI

UNIVERZITA PALACKÉHO V OLOMOUCI UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Bakalářská práce 2014 Lenka Koutná UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Katedra technické a informační výchovy Bakalářská práce Lenka

Více

Jazyk SQL 3 - DML, DDL, TCL, DCL

Jazyk SQL 3 - DML, DDL, TCL, DCL Jazyk SQL 3 - DML, DDL, TCL, DCL Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

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

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu

Více

Marek Laurenčík. Excel. práce s databázemi a kontingenčními tabulkami

Marek Laurenčík. Excel. práce s databázemi a kontingenčními tabulkami Marek Laurenčík Excel práce s databázemi a kontingenčními tabulkami 2010 Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována

Více

Materiál ke cvičením - SQL

Materiál ke cvičením - SQL Materiál ke cvičením - 1. Stručná syntaxe vybraných příkazů jazyka (detailní syntaxe příkazů je uvedena on-line manuálech přístupných z prostředí sítě VŠE) SELECT výběr a zobrazení hodnot z databáze: SELECT

Více

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

Jazyk S Q L základy, příkazy pro práci s daty Jazyk S Q L základy, příkazy pro práci s daty Základní pojmy jazyk množina řetězců nad abecedou gramatika popisuje syntaxi výrazů jazyka pravidla, jak vytvářet platné řetězce jazyka. dotazovací jazyk je

Více

4IT218 Databáze. 4IT218 Databáze

4IT218 Databáze. 4IT218 Databáze 4IT218 Databáze Pátá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Pátá přednáška SQL - DDL - dokončení SQL - DCL Vlastnosti relačních databázových systémů. Princip

Více

Tabulka fotbalové ligy

Tabulka fotbalové ligy Semestrální práce na X36DB2 Michal Rezler Jan Zmátlík Tabulka fotbalové ligy a tabulka střelců 8. prosinec 2011 Obsah 1 Zadání....................................................... 3 1.1 Stručný popis.............................................

Více

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

Marian Kamenický. Syntea software group a.s. marian.kamenicky. kamenicky@syntea.cz. MFFUK Praha 2012/13 Datové a procesní modely Relační databáze Přednáška 5 Marian Kamenický Syntea software group a.s. marian.kamenicky kamenicky@syntea.cz MFFUK Praha 2012/13 1 Poddotazy OsoReg Jm Poh St Pepa m CZ Franz m

Více

Jazyk SQL slajdy k přednášce NDBI001

Jazyk SQL slajdy k přednášce NDBI001 Jazyk SQL slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Dotazovací jazyky 1 Přehled SQL92 1) jazyk pro definici dat, 2) interaktivní jazyk pro manipulaci dat, 3) jazyk

Více

Kapitola 4: SQL. Základní struktura

Kapitola 4: SQL. Základní struktura - 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice

Více

Konceptuální modelování a SQL

Konceptuální modelování a SQL Konceptuální modelování a SQL přednáška č.? 1/90 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2/90 Proč modelovat/analyzovat? Standardizované pracovní

Více

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny.

Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny. 1. Je spušťen následující anonymní PL/SQL blok: BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END;

Více

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 CREATE TABLE Vytvoření tabulky (ORACLE) DDL příkazem v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1),

Více

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

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

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ř.

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ř. 2 přednáška 2 října 2012 10:32 Souborově orientované uchování dat Slabý HW Není možné uchovávat "velká data" - maximálně řádově jednotky MB Na každou úlohu samostatná aplikace, která má samostatná data

Více

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

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

MySQL manuál. Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/

MySQL manuál. Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/ MySQL manuál Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/ 1. ÚVOD - MySQL je relační databázový systém skládající se z jedné nebo více databází - databáze je tvořena

Více

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

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

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

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

10. Editor databází dotazy a relace

10. Editor databází dotazy a relace 10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast

Více

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Databázové systémy Integritní omezení Vilém Vychodil KMI/DATA1, Přednáška 9 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Přednáška 9: Přehled 1 Relační

Více

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

Databáze I. 1. přednáška. Helena Palovská Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat

Více

Structured Query Language SQL

Structured Query Language SQL Structured Query Language SQL Spouště DML Řízení transakcí Vložené a dynamické SQL SQL DDL Spouště Integritní omezení Bezpečnost Přístupová práva SQL SEQUEL-XRM, IBM v roce 1974 Neprocedurální jazyk říkáme

Více

2. blok část A Jazyk SQL, datové typy

2. blok část A Jazyk SQL, datové typy 2. blok část A Jazyk SQL, datové typy Studijní cíl Tento blok je věnován jazyku SQL, jeho vývoji, standardizaci a problémy s přenositelností. Dále je zde uveden přehled datových typů dle standardu SQL

Více

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

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ GIS jako obraz reálného světa Reálný svět je pozorován pozorovatelem. Ten vytváří na základě

Více

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA)

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA) Řešené příklady Použijeme především příklady z kapitoly 5. Mějme databázi studentů a předmětů, na které se zapisují a které absolvují. Databáze je realizována třemi relacemi se schematy (pozn. primární

Více

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

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 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 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT

Více

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

Databázové systémy Cvičení 5 Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání

Více

MySQL sežere vaše data

MySQL sežere vaše data MySQL sežere vaše data David Karban @davidkarban AWS Certified http://davidkarban.cz/ It s not a bug, it s a feature syndrome Pravděpodobně znáte indexy. Urychlují dotazy. Mohou být řazené, vzestupně i

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Univerzita Pardubice. Centrální správa dokumentů

Univerzita Pardubice. Centrální správa dokumentů Univerzita Pardubice Fakulta ekonomicko-správní Centrální správa dokumentů Martina Bendová Bakalářská práce 2010 Prohlášení autora Prohlašuji: Tuto práci jsem vypracovala samostatně. Veškeré literární

Více

Zkouškový příklad 4IT218 Rezervační systém zážitkové agentury. Karel Kohout karel@kohout.se FIS VŠE

Zkouškový příklad 4IT218 Rezervační systém zážitkové agentury. Karel Kohout karel@kohout.se FIS VŠE Zkouškový příklad 4IT218 Rezervační systém zážitkové agentury karel@kohout.se 25. února 2011 Obsah 1 Zadání 2 2 SQL 6 2.1 Definice tabulek............................ 6 2.2 Definice indexů............................

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/

Více

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

Databázové systémy Cvičení 5.3 Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu

Více

Integritní omezení (IO)

Integritní omezení (IO) Integritní omezení (IO) IO jsou tvrzení vymezující korektnost DB, stupeň souladu datového obrazu s předlohou (jaká data v databází mohou být a jaká již ne). definují se na konceptuální i databázové úrovni

Více

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

Více

Kapitola 6: Omezení integrity. Omezení domény

Kapitola 6: Omezení integrity. Omezení domény - 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované

Více

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

Informační systémy ve zdravotnictví. 6. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace

Více

2. blok Zabezpečení a ochrana dat

2. blok Zabezpečení a ochrana dat 2. blok Zabezpečení a ochrana dat Studijní cíl Tento blok je věnován základům zabezpečení a ochrany dat uložených v relačních databázích, tj. uživatelským účtům, systémovým a objektovým oprávněním a rolím.

Více