Tabulka fotbalové ligy

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

Download "Tabulka fotbalové ligy"

Transkript

1 Semestrální práce na X36DB2 Michal Rezler Jan Zmátlík Tabulka fotbalové ligy a tabulka střelců 8. prosinec 2011

2 Obsah 1 Zadání Stručný popis ER diagram Integritní omezení Realizace databáze Uživatelský datový typ Relace SQL Funkce Data Realizace programu Úprava vygenerovaného kódu Dotazy Měřené charakteristiky Dotazy s příkazem EXPLAIN Indexy a příkaz EXPLAIN Přílohy SQL skript Použité zdroje

3 Tabulka fotbalové ligy a tabulka střelců 3 1 Zadání 1.1 Stručný popis Cílem je vytvoření fotbalové tabulky střelců a pořadí týmů podle bodů vztahující se k daným soutěžím. Evidují se registrované osoby federace a ty jsou rozděleny do družstev. Registrovaná osoba obsahuje jméno a příjmení a může jí být: Trenér - u nějž se eviduje stupeň získané licence Hráč - u nějž se eviduje, jakou nohu preferuje (pravá, levá) a samozřejmě branky, které vstřelil Kapitán specializace hráče, řídí tým na hřišti, obsahuje stupeň respektu a rovněž vstřelené branky Každý evidovaný zápas obsahuje dva týmy (domácí, hosté) hrající utkání, dále místo, kde se utkání odehraje a soutěž, do které utkání spadá. Zároveň je potřeba zápasy a vstřelené branky archivovat podle sezón. To lze zařídit tak, že každé soutěži přiřadíme sezónu, ve které probíhá. 1.2 ER diagram Jako modelovací nástroj pro Entitně-Relační model, jsme využili DbDesigner (MySQL WorkBench 5.0.x). E-R model modeluje situaci uvedenou v sekci Popis a nachází se v 3NF. Obrázek 1. ER diagram

4 4 Tabulka fotbalové ligy a tabulka střelců 1.3 Integritní omezení V tabulce player evidujeme hráčovu lepší nohu, tento atribut může obsahovat pouze slova levá a pravá. U kapitána evidujeme jeho respekt vůči hráčům. Tato hodnota nabývá hodnot Realizace databáze Pro účely této semestrální práce jsme si nejprve založili verzovací systém SVN, který je dostupný z URL Naše databáze bude fyzicky uložena na databázovém stroji PostgreSQL, konkrétně ve verzi 9.1. Veškeré níže uvedené SQL příkazy jsou tedy syntakticky určené právě pro tento stroj. 2.1 Uživatelský datový typ V tabulkách place a person evidujeme adresu (ulice, město, stát), pro jejíž uložení jsme si definovali svůj datový typ vytvořený následovně: CREATE TYPE address AS ( street VARCHAR(255), city VARCHAR(255), country VARCHAR(255) 2.2 Relace TEAM( idteam, name ) PLACE( idplace, place address, map url ) SEASON( idseason, year from, year to ) LEAGUE ( idleague, season idseason, name ) MATCH ( idmatch, home idteam, away idteam, place idplace, league idleague, season idseason, name ) PERSON ( idperson, firstname, lastname, team id team, person address ) PLAYER ( idplayer, idperson, prefered leg ) COACH ( idcoach, idperson, licence level ) CAPTAIN ( idcaptain, idplayer, idperson, respect ) GOAL ( idgoal, match idmatch, player idplayer ) 2.3 SQL Všechny SQL příkazy pro vytvoření jednotlivých tabulek jsou uvedeny v příloze 5.1. Tato sada SQL příkazů je plně funkční, pro vytvoření kompletní databáze ji tedy můžeme rovnou použít.

5 Tabulka fotbalové ligy a tabulka střelců Funkce V databázi jsme si definovali funkci, která nám pro zadání jména klubu vrátí počet hráčů, kteří v klubu hrají. Zdrojový kód funkce vypadá následovně: CREATE FUNCTION GET_COUNT_OF_PLAYERS (CLUB_NAME VARCHAR(100)) RETURNS INT AS $$ DECLARE count_of_players INT; BEGIN SELECT COUNT(*) INTO count_of_players FROM TEAM t JOIN PERSON p ON t.idteam = p.team_idteam WHERE t.name = $1 ; RETURN count_of_players; END; $$ LANGUAGE plpgsql; 2.5 Data Pro naplnění databáze daty jsme si vytvořili vlastní generátor, který nám vygeneruje např. jednotlivé fotbalové týmy, kterých máme Program generuje data ve formátu sekvence SQL příkazů Insert. 3 Realizace programu Vytvořený program demonstrující komunikaci s databází je napsán v jazyce Java. Pro ORM jsme použili technologii JPA 2.0, konkrétně implementaci EclipseLink. Za použití vývojového prostřední NetBeans se nám vytvořily oanotované třídy reprezentující relace v databázi. 3.1 Úprava vygenerovaného kódu Vygenerovaný kód nebyl zcela optimální a přehledný, a tak jsme jej dále modifikovali. Konkrétně jsme v odpovídajících třídách upravili dědičnost (podle strategie InheritanceType.JOINED) a uživatelský datový typ (adresu) jsme defiovali respektive přímo tuto třídu jsme opatřili Databázi jsme poté znovu přegenerovali podle nově upraveného kódu v Javě. Dále jsme do třídy Person přidali jeden atribut, před který jsme přidali Atribut slouží ke kontrole editovaných verzí, které probíhá při použití optimistického zamykání během operace UPDATE. 4 Dotazy Dalším našim úkolem bylo vymyslet několik složitých dotazů, které budeme později optimalizovat. Vytvořili jsme 3 dotazy, přičemž jsme se snažili, aby se tabulky musely co nejvíc spojovat a bylo dáno co nejvíce omezení.

6 6 Tabulka fotbalové ligy a tabulka střelců 1. Vyber a seřad všechny albánské týmy podle počtu vstřelených branek v sezoně 2011/2012. SELECT t."name" AS "teamname", count(t."name") AS "goalcount" FROM goal g JOIN "match" m ON m.idmatch = g.match_idmatch JOIN league l ON m.league_idleague = l.idleague JOIN season s ON s.idseason = l.season_idseason JOIN person p ON p.idperson = g.player_idplayer JOIN team t ON t.idteam = p.team_idteam WHERE l."name" = Albania AND s.year_from = 2011 GROUP BY t."name" ORDER BY count(t."name" 2. Vypiš jméno a příjmení kapitána, který dal v během jedné sezony ve více než jednom zápase 3 a více gólů. SELECT p.lastname, p.firstname FROM captain c JOIN person p ON p.idperson = c.idperson JOIN goal g ON g.player_idplayer = c.idperson JOIN "match" m ON m.idmatch = g.match_idmatch JOIN league l ON l.idleague = m.league_idleague JOIN season s ON s.idseason = l.season_idseason WHERE (p.team_idteam = m.home_idteam OR p.team_idteam = m.away_idteam) AND (s.year_from = 2000) GROUP BY p.idperson HAVING count(g.idgoal) > 2 AND count(m.idmatch) > 1; 3. Vyber tým, který hraje v lize Primera División a jehož kapitán má nejvyšší respekt od spoluhřáčů a současně je to levák. SELECT t FROM Person p JOIN Player pl ON p.idperson = pl.idperson JOIN Captain c ON p.idperson = c.idperson JOIN Team t ON t.idteam = p.team_idteam JOIN Goal g ON g.player_idplayer = p.idperson JOIN "match" m ON m.idmatch = g.match_idmatch JOIN League l ON l.idleague = m.league_idleague WHERE c.respect = (

7 Tabulka fotbalové ligy a tabulka střelců 7 SELECT MAX(respect) FROM captain ) AND pl.prefered_leg = leva AND l."name" = Primera División ; 4.1 Měřené charakteristiky Pro určení některých charakteristik jsme si museli zjistit nebo odhadnout některé údaje, které jsme v našich výpočtech dále používali. Šlo o velikost databázového bloku a velikost hlavičky DB bloku. velikost DB bloku = 8 kb = 8192 B hlavička DB bloku = 500 B Dalším parametrem, kterým jsme museli pro každou tabulku odhadnout je parametr plnění bloku P CT F REE, který závisí na variabilitě délky n-tice dané tabulky. Některé databázové stroje (např. Oracle) přímo poskytuje příkaz SE- LECT PCTFREE... Záleží tedy především na délce atributů typu V ARCHAR. Délka atributů datových typů např. IN T se samozřejmě nemění. Pokud tedy má některá tabulka pouze atributy typu INT a jsou tyto atributy povinné, pak P CT F REE = 0. Některé charakteristiky (blokovací faktor, počet stránek potřebných pro načtení) jsme museli na základě ostatních dopočítat. Zde uvádíme jejich vzorečky: B r = P r = N r /B r DB BLOCK SIZE HEADER SIZE ROW SIZE AV G (1 P CT F REE) Data jsou v bloku ukládána vždy tak, že na prvním místě je identifikátor řádky (1B), následuje délka atributu (1B) a data atributu. Tabulka N r ROW SIZE AV G B r P r P CT F REE Team ,7 20% Person , % Match % Goal % League % Tabulka 1. Charakteristiky vybraných tabulek

8 8 Tabulka fotbalové ligy a tabulka střelců 4.2 Dotazy s příkazem EXPLAIN Analyzovali jsme naše 3 dotazy pomocí příkazu EXPLAIN, který zobrazí execution plan každého z nich. Zároveň jsme je spouštěli s příkazem ANALYZE, který jednotlivé části execution plánu provádí a vrátí jejich čas provedení i celkový čas provedení. Protože výstupy jsou poměrně rozsáhlé, vložili jsme je do přiloženého souboru explain.sql. 4.3 Indexy a příkaz EXPLAIN Po analýze pomocí příkazu EXPLAIN popsané v předchozí sekci č. 4.2, jsme se pustili do optimalizace těchto dotazů. Optimalizovali jsme spotřebované zdroje (cenu) a čas, za které dotaz proběhl. Jako dotazy jsme použili naše 3 složité dotazy. Pro optimalizaci jsme zvolili vytvoření INDEXů pro potřebné sloupce. Podrobné rozbory dotazů, časy a ceny jsou v souborech explain.x.query.txt, kde X je cislo dotazu {1..3}. Před spuštěním dotazů jsme v konfiguračním souboru PostgreSQL zakomentovali metody pro optimalizaci dotazu. Konkrétně parametry pro Planner Method Configuration, Planner Cost Constants, Genetic Query Optimizer a ostatní plánovací konstanty. Bohužel se nám dotazy příliš vylepšit nepodařilo. Zapnut je možná nějaký interní optimalizátor, který nejde vypnout(alespoň po hodinách hledání sme nic nenalezli). První dotaz vybere a seřadí všechny albánské týmy podle počtu vstřelených branek v sezóně 2011/2012. Pracuje se tedy hojně s tabulkou Team a sloupcem Name. Podle sloupce Name tabulky Team se dotaz sortuje, grupuje a figuruje i v podmince WHERE. Použili jsme tedy INDEX na tento sloupec. Dále sme zvolili index na sloupec YearsFrom tabulky Goal, který figuruje v podmínce dotazu. Velkou část dotazu představuje JOIN tabulek a agregační funkce count nad sloupcem Name tabulky Team. Indexy nad agregačními funkcemi nejsou povoleny a jako sortovací algoritmus byl zvolen quicksort. Zde se tedy moc optimalizovat nedalo. Na zkoušku sme zkusili i nějaké INDEXy nad primárními a cizími klíči tabulek, jež se nalézají v JOINech. Před použitím indexů se dotaz provedl v čase 20.1 ms. Po použití indexů se průměrně provádí v čase ms. Použité indexy: CREATE INDEX league_idx ON league (idleague, name, season_idseason CREATE INDEX team_idx ON team (idteam, name CREATE INDEX season_idx ON season (idseason, year_from CREATE INDEX match_idx ON match (idmatch, league_idleague CREATE INDEX goals_idx ON goal (idgoal, match_idmatch, player_idplayer Naměřené hodnoty po provedení příkazu EXPLAIN prvního dotazu, jsou uvedeny níže.

9 Tabulka fotbalové ligy a tabulka střelců 9 Operace Cena Čas Sort HashAggregate Nested Loop Nested Loop Nested Loop Nested Loop Nested Loop Tabulka 2. Tabulka cen a časů prvního dotazu před optimalizací Operace Cena Čas Sort HashAggregate Nested Loop Nested Loop Nested Loop Nested Loop Nested Loop Tabulka 3. Tabulka cen a časů prvního dotazu po optimalizaci Druhý dotaz vrací jméno a příjmení kapitána družstva, jež dal během jedné sezóny (2010/2011) více jak 3 branky ve více než 1 zápase. Výsledek je tedy projekce sloupců jména a příjmení tabulky Person. Na tyto sloupce jsme tedy použili INDEXy. Dotaz opět používá agragační funkce, zkusili jsme ale zda použití unikátního INDEXu na ID tabulky PERSON zlepší průběh provádění dotazu. Nesmíme zapomenout, že INDEXy vytvořené při prvním dotazu, platí i pro druhý dotaz. Před použitím indexů se dotaz provedl v čase 48.9 ms. Po použití indexů se průměrně provádí v čase ms. Použité indexy: -- + INDEXy z 1. dotazu CREATE INDEX person_idx ON person (lastname, firstname CREATE UNIQUE INDEX person_uniq_idx ON person (idperson Naměřené hodnoty po provedení příkazu EXPLAIN druhého dotazu, jsou uvedeny níže. Třetí dotaz vrací tým, který hraje v Primera División a jehož kapitán má u svých spoluhráčů nejvyšší respekt (jako kapitán je nejlepší) a navíc je to levák. V tomto dotazu (kromě JOINů) filtrujeme data podle jména ligy, podle respektu kapitána a velkou roli zde hraje atributy tabulky Player - konkrétně atributy prefered leg a cizí klíč idperson. Na základě těchto informací jsme volili použití indexů. Definovali jsme následující indexy: CREATE INDEX player_idx ON player (idperson, prefered_leg

10 10 Tabulka fotbalové ligy a tabulka střelců Operace Cena Čas HashAggregate Nested Loop Hash Join Hash Join Hash Join Hash Join Tabulka 4. Tabulka cen a časů druhého dotazu před optimalizací Operace Cena Čas HashAggregate Nested Loop Hash Join Hash Join Hash Join Hash Join Tabulka 5. Tabulka cen a časů druhého dotazu po optimalizaci CREATE INDEX captain_idx ON captain (idperson, respect CREATE INDEX league_idx ON league (idleague, name CREATE INDEX match_idx ON match (idmatch, league_idleague CREATE INDEX goals_idx ON goal (player_idplayer Naměřené hodnoty po provedení příkazu EXPLAIN třetího dotazu, jsou uvedeny níže. Operace Cena Čas Nested Loop Nested Loop Nested Loop Nested Loop Hash Join Hash Join Tabulka 6. Tabulka cen a časů třetího dotazu před optimalizací Díky těmto indexům se snížila cena i průměrný čas provádění tohoto dotazu (při 10-ti spuštění) z 89ms na 77ms.

11 Tabulka fotbalové ligy a tabulka střelců 11 Operace Cena Čas Nested Loop Nested Loop Nested Loop Nested Loop Hash Join Hash Join Tabulka 7. Tabulka cen a časů třetího dotazu po optimalizaci 5 Přílohy 5.1 SQL skript CREATE TYPE address AS ( street VARCHAR(255), city VARCHAR(255), country VARCHAR(255) CREATE TABLE team ( idteam SERIAL NOT NULL PRIMARY KEY, name VARCHAR(100) NOT NULL CREATE TABLE place ( idplace SERIAL NOT NULL PRIMARY KEY, place_address address, map_url TEXT NULL CREATE TABLE season ( idseason SERIAL NOT NULL year_from INT NOT NULL, year_to INT NOT NULL PRIMARY KEY, CREATE TABLE league ( idleague SERIAL NOT NULL UNIQUE, season_idseason INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (idleague, season_idseason), CONSTRAINT fk_league_season FOREIGN KEY (season_idseason ) REFERENCES season (idseason )

12 12 Tabulka fotbalové ligy a tabulka střelců ON UPDATE NO ACTION CREATE TABLE match ( idmatch SERIAL NOT NULL UNIQUE, home_idteam INT NOT NULL, away_idteam INT NOT NULL, place_idplace INT NOT NULL, league_idleague INT NOT NULL, time TIMESTAMP NOT NULL, PRIMARY KEY (idmatch, home_idteam, away_idteam, place_idplace, league_idleague), CONSTRAINT fk_match_team FOREIGN KEY (home_idteam ) REFERENCES team (idteam ) ON UPDATE NO ACTION, CONSTRAINT fk_match_team1 FOREIGN KEY (away_idteam ) REFERENCES team (idteam ) ON UPDATE NO ACTION, CONSTRAINT fk_match_place FOREIGN KEY (place_idplace ) REFERENCES place (idplace ) ON UPDATE NO ACTION, CONSTRAINT fk_match_league FOREIGN KEY (league_idleague ) REFERENCES league (idleague ) ON UPDATE NO ACTION CREATE TABLE person ( idperson SERIAL NOT NULL PRIMARY KEY, firstname VARCHAR(150) NOT NULL, lastname VARCHAR(100) NOT NULL, team_idteam INT NOT NULL, person_address address NOT NULL, CONSTRAINT fk_person_team FOREIGN KEY (team_idteam ) REFERENCES team (idteam ) ON UPDATE NO ACTION

13 Tabulka fotbalové ligy a tabulka střelců 13 CREATE TABLE player ( idplayer SERIAL NOT NULL PRIMARY KEY, prefered_leg VARCHAR(10) NOT NULL, CONSTRAINT player_isa FOREIGN KEY (idplayer) REFERENCES person(idperson), CONSTRAINT pref_leg CHECK (prefered_leg = levá OR prefered_leg = pravá ) CREATE TABLE coach ( idcoach SERIAL NOT NULL PRIMARY KEY, licence_level INT NOT NULL, CONSTRAINT coach_isa FOREIGN KEY (idcoach) REFERENCES person(idperson) CREATE TABLE captain ( idcaptain SERIAL NOT NULL PRIMARY KEY, respect INT NOT NULL, CONSTRAINT captain_isa FOREIGN KEY (idcaptain) REFERENCES player(idplayer), CONSTRAINT respect_constraint CHECK (respect > 0 AND respect < 11) CREATE TABLE goal ( idgoal SERIAL NOT NULL, match_idmatch INT NOT NULL, player_idplayer INT NOT NULL, PRIMARY KEY (idgoal, match_idmatch, player_idplayer), CONSTRAINT fk_goal_match FOREIGN KEY (match_idmatch ) REFERENCES match (idmatch ) ON UPDATE NO ACTION, CONSTRAINT fk_goal_player FOREIGN KEY (player_idplayer ) REFERENCES player (idplayer ) ON UPDATE NO ACTION

14 14 Tabulka fotbalové ligy a tabulka střelců 6 Použité zdroje Reference [1] Pokorný, Halaška, Databázové systémy. skripta FEL ČVUT, 2. vydání, [2] PostgreSQL manual online, [3] JPA tutoriál online,

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

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 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

Více

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é 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é 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 Název školy: Číslo a název projektu: Číslo a název šablony klíčové aktivity:

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

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

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

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

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

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

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře PostgreSQL Vzniká jako akademický projekt Experimentální vlastnosti Podpora dědičnosti Rozšiřitelnost vlastní datové typy Univerzální nasazení ve vědecké sféře Obsahuje podporu polí (časové řady) Geotypy

Více

Čteme EXPLAIN. CSPUG, Praha. Tomáš Vondra (tv@fuzzy.cz) 21.6.2011. Czech and Slovak PostgreSQL Users Group

Čteme EXPLAIN. CSPUG, Praha. Tomáš Vondra (tv@fuzzy.cz) 21.6.2011. Czech and Slovak PostgreSQL Users Group Čteme EXPLAIN CSPUG, Praha Tomáš Vondra (tv@fuzzy.cz) Czech and Slovak PostgreSQL Users Group 21.6.2011 Agenda K čemu slouží EXPLAIN a EXPLAIN ANALYZE? Jak funguje plánování, jak se vybírá optimální plán?

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

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

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

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

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

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

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

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

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uložené procedury Úvod ulehčit správu zabezpečení rychleji Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen

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

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

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

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

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports , Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 9. dubna 2014 Marek Rychlý Stored Procedures & Database Triggers, Demo-cvičení

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

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

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

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

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

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

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

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

INDEXY JSOU GRUNT. Pavel Stěhule

INDEXY JSOU GRUNT. Pavel Stěhule INDEXY JSOU GRUNT Pavel Stěhule Indexy bez indexu čteme vše a zahazujeme nechtěné s indexem čteme pouze to co nás zajímá POZOR - indexy vedou k random IO, navíc se čtou dvě databázové relace (index a heap)

Více

DPKOM_06 Dědičnost entit a zpětná volání posluchači

DPKOM_06 Dědičnost entit a zpětná volání posluchači DPKOM_06 Dědičnost entit a zpětná volání posluchači 1 Obsah přednášky Jedna tabulka pro hierarchii tříd Tabulka pro konkrétní třídu Tabulka pro podtřídu Neentitní základní třídy Události zpětného volání

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

Zadání úlohy do projektu z předmětu IPP 2013/2014

Zadání úlohy do projektu z předmětu IPP 2013/2014 Zadání úlohy do projektu z předmětu IPP 2013/2014 Zbyněk Křivka a Dušan Kolář E-mail: {krivka, kolar}@fit.vutbr.cz, {54 114 1313, 54 114 1238} XTD: XML2DDL Zodpovědný cvičící: Ondřej Navrátil(inavra@fit.vutbr.cz)

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

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

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

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah

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

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

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

Nasazení Object Relation Mapping nástrojů nad legacy datovým modelem

Nasazení Object Relation Mapping nástrojů nad legacy datovým modelem Nasazení Object Relation Mapping nástrojů nad legacy datovým modelem 1 Ondřej Berger, Pavel Janečka, 2 Lukáš Černovský 1 Univerzita Hradec Králové Fakulta informatiky a managementu KIKM Hradecká 1249/6,

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

Transformace konceptuálního modelu na relační

Transformace konceptuálního modelu na relační Transformace konceptuálního modelu na relační 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

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

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

zobrazení délky ve výpisu v psql

zobrazení délky ve výpisu v psql zobrazení délky ve výpisu v psql postgres=# \dt+ codebooks.* List of relations Schema Name Type Owner Size Description -----------+----------+-------+-------+------------+------------- codebooks lau1 table

Více

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

Databázové systémy. Dotazovací jazyk SQL - III Databázové systémy Dotazovací jazyk SQL - III Vnořený select: kam všude Vytvoření kopie existující tabulky I Vytvoření kopie existující tabulky II Integritní omezení III SQL tříhodnotová logika SQL tříhodnotová

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY. Prostorové databáze

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY. Prostorové databáze VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY Prostorové databáze Jan Vandrol GN1GIF01 1. Zadání Nad vlastními daty předvést použití alespoň tří různých

Více

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

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

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

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

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

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

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace 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ázové systémy MySQL základní

Více

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

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

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

Zobrazování dat pomocí tabulek

Zobrazování dat pomocí tabulek 4 Zobrazování dat pomocí tabulek Nyní už umíte využít spojené síly PHP a MySQL ke tvorbě dynamických stránek. Co však dělat v případě, chcete-li zobrazit opravdu velké množství řádků? Musíte mít nějaký

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

DOKUMENTACE. Úvod do zpracování prostorových dat (153UZPD) PROJEKT

DOKUMENTACE. Úvod do zpracování prostorových dat (153UZPD) PROJEKT DOKUMENTACE Úvod do zpracování prostorových dat (153UZPD) PROJEKT ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ Studijní program: Geodézie a kartografie Studijní obor: Geoinformatika skupina D

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

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

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

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for IDS optimalizátor Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Agenda Optimalizační plán dotazu Typy přístupových plánů Metody pro spojení tabulek Určení optimalizačního plánu Vyhodnocení přístupových

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

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

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

Základní přehled SQL příkazů Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact

Více

Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2

Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2 Univerzita Pardubice Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2 Jan Bartocha 2012 / 2013 IT 1. Základní charakteristika Téma mé semestrální práce se zaměřuje na vypůjčování

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

Kód v databázi. RNDr. Ondřej Zýka

Kód v databázi. RNDr. Ondřej Zýka Kód v databázi RNDr. Ondřej Zýka 1 Obsah Jazyk Skripty Funkce Procedury Triggery Správa chyb Java, CLR, apod.. Dobré a špatné praktiky 2 PL/SQL Jazyk Oracle Inspirovaný jazykem ADA Objektový Samostatné

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof Bakalářská práce 2011 Prohlášení autora Prohlašuji, že jsem tuto práci

Více

Univerzita Pardubice. Fakulta elektrotechniky a informatiky

Univerzita Pardubice. Fakulta elektrotechniky a informatiky Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce do předmětu IDAS2 Radek Fryšták st32304 / IT 2012 / 2013 Základní charakteristika Téma této smíšené semestrální práce pro předmět

Více

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE Upozornění: Pro práci s RDF Oracle daty je třeba mít nainstalován Oracle Spatial Resource Description Framework (RDF). 1. Vytvoření tabulkového

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální

Více

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět Metodické listy pro předmět ÚVOD DO DATABÁZÍ Cíl: Cílem tohoto předmětu je získat základní znalosti v oblasti databází, naučit se dotazovací jazyk SQL a naučit se zásady dobrého navrhování databází. Převážná

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

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

Databázové systémy I. 1. přednáška

Databázové systémy I. 1. přednáška Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50

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

PostgreSQL 9.4 - Novinky (a JSONB) Tomáš Vondra, GoodData (tomas.vondra@gooddata.com) http://blog.pgaddict.com (tomas@pgaddict.

PostgreSQL 9.4 - Novinky (a JSONB) Tomáš Vondra, GoodData (tomas.vondra@gooddata.com) http://blog.pgaddict.com (tomas@pgaddict. PostgreSQL 9.4 - Novinky (a JSONB) Tomáš Vondra, GoodData (tomas.vondra@gooddata.com) http://blog.pgaddict.com (tomas@pgaddict.com) 9.4 release notes http://www.postgresql.org/docs/9.4/static/release-9-4.html

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

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

SQL - trigger, Databázové modelování 6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz

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

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

DB1 cvičení 4 spojení tabulek a složitější dotazy

DB1 cvičení 4 spojení tabulek a složitější dotazy DB1 cvičení 4 spojení tabulek a složitější dotazy Spojení tabulek Navázání spojení mezi tabulkami Cizí klíč tabulky Auto referencuje primární klíč tabulky TypAuta: CREATE TABLE TypAuta (pk_ta NUMBER(2)

Více

SQL injection princip a ochrana

SQL injection princip a ochrana SQL injection princip a ochrana Základ injektáže Základní ochrana Proces zpracování SQL dotazu Prepared statements Minimalizace dopadu průniku nastavením práv Detekce průniku Kladení pastí 1 Cíle SQL injektáže

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

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

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

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

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec) MySQL přes MySQL Command Line Client Zobrazení existujících databází mysql> SHOW DATABASES; Database test Vytvoření databáze mysql> CREATE DATABASE krouzek; Query OK, 1 row affected (0.00 sec) mysql> SHOW

Více

Užití SQL ve 4D v14-15

Užití SQL ve 4D v14-15 Užití ve v14-15 Úvod Definice dat a přístup k datům jsou kritické momenty v řízení databází. Uživatelé potřebují schopnost definovat strukturu pro ukládání dat. Uživatelé také chtějí možnost přistupovat

Více

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

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

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

Materializované pohledy

Materializované pohledy Materializované pohledy Pavel Baroš, 2010 Obsah Materializované pohledy Co přináší? Řešení ostatních DBS syntaxe a semantika pro: Oracle, MS SQL, DB2 ostatní Možné řešení pro PostgreSQL PostgreSQL 2 Materializované

Více

SQL. Pohledy, ochrana dat,... Pavel Tyl

SQL. Pohledy, ochrana dat,... Pavel Tyl SQL Pohledy, ochrana dat,... Pavel Tyl 25. 4. 2013 ANY, ALL, SOME SOME == ANY (od SQL92 obě varianty) Př.: Najdi zaměstnance, kteří mají plat větší, než všichni zaměstnanci z Prahy ALL, ANY, SOME SOME

Více