Informační systémy 2008/2009. Radim Farana. Řešený příklad. Struktura navržené databáze

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

Download "Informační systémy 2008/2009. Radim Farana. Řešený příklad. Struktura navržené databáze"

Transkript

1 Pr Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Řešený příklad Vytvořte aplikaci pro sledování pracovních výkonů jednotlivých pracovníků a výpočet jejich denní odměny na základě stanovených cen za výkon jednotlivých typů práce. 2 Struktura navržené databáze 3 1

2 Vytvoření databáze CREATE TABLE [dbo].[platy] ALTER TABLE ( [dbo].[platy] WITH NOCHECK ALTER ADD TABLE [dbo].[platy] ADD [pl_id] [int] IDENTITY CONSTRAINT (1, 1) NOT NULL [PK_Platy], PRIMARY KEY CONSTRAINT CLUSTERED [FK_Platy_Pracovnici] FOREIGN KEY [pl_pracovnik] [int] NULL (, ( [pl_datum] [datetime] NULL, [pl_id] [pl_pracovnik] [pl_castka] [money] NULL ) ON [PRIMARY] ) REFERENCES [dbo].[pracovnici] ( ) ON [PRIMARY] [pr_osc] ALTER TABLE [dbo].[pracovnici] WITH NOCHECK ADD ) CREATE TABLE [dbo].[pracovnici] ( CONSTRAINT [PK_Pracovnici] PRIMARY KEY CLUSTERED [pr_osc] [int] NOT NULL (, ALTER TABLE [dbo].[prace] ADD [pr_jmeno] [varchar] (50) COLLATE [pr_osc] Czech_CI_AS NULL CONSTRAINT [FK_prace_Pracovnici] FOREIGN KEY ) ON [PRIMARY] ) ON [PRIMARY] ( [p_pracovnik] CREATE TABLE [dbo].[prace] ALTER TABLE ( [dbo].[prace] WITH NOCHECK ADD ) REFERENCES [dbo].[pracovnici] ( [p_id] [int] IDENTITY CONSTRAINT (1, 1) NOT NULL [PK_prace], PRIMARY KEY CLUSTERED [pr_osc] [p_pracovnik] [int] NOT ( NULL, ), [p_typ] [varchar] (50) COLLATE Czech_CI_AS [p_id] NULL, CONSTRAINT [FK_prace_typyprace] FOREIGN KEY [p_kusu] [float] NULL ), ON [PRIMARY] ( [p_datum] [datetime] NULL [p_typ] ) ON [PRIMARY] ALTER TABLE [dbo].[typyprace] WITH NOCHECK ADD ) REFERENCES [dbo].[typyprace] ( CONSTRAINT [PK_typyprace] PRIMARY KEY CLUSTERED [tp_nazev] CREATE TABLE [dbo].[typyprace] (( ) ON UPDATE CASCADE [tp_nazev] [varchar] (50) COLLATE [tp_nazev] Czech_CI_AS NOT NULL, [tp_popis] [text] COLLATE ) ON Czech_CI_AS [PRIMARY] NULL, [tp_cena] [money] NULL ) ON [PRIMARY] TEXTIMAGE_ON ALTER TABLE [PRIMARY] [dbo].[platy] ADD CONSTRAINT [CK_Platy] CHECK ([pl_castka] > 10000) 4 Testovací data INSERT INTO typyprace (tp_nazev, tp_popis, tp_cena) VALUES ('kvákání','skupinové',1000); INSERT INTO typyprace (tp_nazev, tp_popis, tp_cena) VALUES ('praní','každý kousek zvlášť',10); INSERT INTO typyprace (tp_nazev, tp_popis, tp_cena) VALUES ('spaní','celou noc',120); INSERT INTO typyprace (tp_nazev, tp_popis, tp_cena) VALUES ('škudlení','každý okamžik',1); INSERT INTO typyprace (tp_nazev, tp_popis, tp_cena) VALUES ('hrdlení','jen mezi příbuznými',25); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (122,'Jan Kvákal'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (123,'Patrik Svatý'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (124,'Ivanka Desátá-Jedenáctá'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (125,'Jean-Dean Sikorski'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (126,'Patricia de Souza y Cachal de Brito'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (127,'Jan Pavel I'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (128,'Karla Osmá'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (130,'Orgoj Chorchoj'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (131,'Piotr Ivanovič Ustinovskij'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (133,'Jana Růžena Kostičkovitá'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (140,'Jan Evangelista Svatovítský'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (141,'Ian z Glenyanu'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (152,'Pavla Ospalá'); INSERT INTO Pracovnici (pr_osc, pr_jmeno) VALUES (153,'Karel Ospalý'); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (122,'praní',4, CAST ( '03/12/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (122,'praní',5, CAST ( '03/13/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (123,'škudlení',12, CAST ( '03/14/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (131,'praní',1, CAST ( '03/13/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (131,'praní',5, CAST ( '03/14/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (131,'škudlení',18, CAST ( '03/15/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (140,'praní',20, CAST ( '03/12/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (140,'praní',2, CAST ( '03/13/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (140,'praní',31, CAST ( '03/14/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (128,'praní',3, CAST ( '03/15/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (128,'škudlení',2, CAST ( '03/12/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (128,'praní',6, CAST ( '03/13/2006' AS DateTime)); INSERT INTO prace (p_pracovnik, p_typ, p_kusu, p_datum) VALUES (128,'praní',7, CAST ( '03/14/2006' AS DateTime)); 5 Agregace Určete počet záznamů o práci pro jednotlivé pracovníky SELECT p_pracovnik, COUNT(p_id) as Pocet FROM prace GROUP BY p_pracovnik; p_pracovnik Pocet (5 row(s) affected) 6 2

3 Agregace Určete průměrný počet kusů ze všech záznamů práce SELECT AVG(p_kusu) FROM prace; (1 row(s) affected) 7 Agregace Určete průměrný počet kusů pro jednotlivé druhy práce SELECT p_typ, AVG(p_kusu) FROM prace GROUP BY p_typ; p_typ praní škudlení (2 row(s) affected) 8 Vnořený dotaz vracející skalární hodnotu Určete záznamy o práci s nadprůměrným počtem kusů SELECT * FROM prace WHERE p_kusu> (SELECT AVG(p_kusu) FROM prace); p_id p_pracovnik p_typ p_kusu p_datum škudlení :00: škudlení :00: praní :00: praní :00: (4 row(s) affected) 9 3

4 Vnořený dotaz s propojením Určete záznamy o práci s nadprůměrným počtem kusů v rámci stejného druhu práce SELECT * FROM prace WHERE p_kusu> (SELECT p_id AVG(p_kusu) p_pracovnik p_typ p_kusu p_datum FROM prace As TMP WHERE TMP.p_typ=prace.p_typ); praní :00: praní :00: škudlení :00: škudlení :00: (4 row(s) affected) 10 Vnořený dotaz vracející vektor hodnot Určete všechny práce, kterých bylo v jednom dni více než tři (vnořený dotaz) SELECT * FROM prace WHERE p_datum In (SELECT p_datum p_id p_pracovnik p_typ p_kusu p_datum FROM 15 prace128 praní :00: praní :00: praní GROUP 7 BY 131 p_datum praní :00: :00: praní :00: HAVING 6 Count(*)>3) 123 škudlení :00: praní :00: ORDER 16 BY 128 p_datum; praní :00: (8 row(s) affected) 11 Vnořený dotaz s propojením vracející vektor hodnot Určete všechny práce, kterých bylo v jednom dni více než dvě stejného druhu SELECT * FROM prace WHERE p_datum In (SELECT p_datum p_id p_pracovnik p_typ p_kusu p_datum FROM prace as TMP praní :00: GROUP BY 7 p_datum,p_typ 131 praní :00: praní :00: HAVING Count(*)> AND praní TMP.p_typ=prace.p_typ) :00: praní :00: ORDER BY 12 p_datum; 140 praní :00: praní :00: (7 row(s) affected) 12 4

5 Spojení tabulek Určete pro každou osobu a den výdělek za jednotlivé práce (počet kusů krát cena) p_pracovnik SELECT p_pracovnik, p_datum, Plat :00: p_kusu*tp_cena As 122 Plat :00: :00: :00: FROM prace INNER 131 JOIN typyprace 00:00: On 50.0 p_typ=tp_nazev; :00: :00: :00: :00: :00: :00: :00: :00: (13 row(s) affected) 13 Spojení dat spolu s agregací Určete pro každou osobu a den celkový výdělek Suma(počet kusů krát cena) p_datum SELECT p_pracovnik,p_datum, Sum(p_kusu*tp_cena) 128 As Plat 00:00: FROM prace INNER JOIN typyprace On p_typ=tp_nazev GROUP BY p_pracovnik,p_datum; Plat :00: :00: :00: :00: :00: :00: :00: :00: :00: :00: :00: :00: (13 row(s) affected) 14 Odstranění dat z tabulky Odstraňte všechny záznamy v tabulce Platy DELETE FROM Platy; (0 row(s) affected) 15 5

6 Vložení dat do tabulky Přidejte do tabulky platy pro každého pracovníka za každý den plat ve výši jeho celkového výdělku Suma(počet kusů krát cena) INSERT INTO Platy (pl_pracovnik, pl_datum, pl_castka) SELECT p_pracovnik,p_datum, Sum(p_kusu*tp_cena) As Plat FROM prace INNER JOIN typyprace Server: MsgOn 547, p_typ=tp_nazev Level 16, State 1, Line 1 INSERT statement conflicted with COLUMN CHECK constraint 'CK_Platy'. The conflict occurred in GROUP BY p_pracovnik,p_datum; database 'prace', table 'Platy', column 'pl_castka'. The statement has been terminated. 16 Vložení dat do tabulky oprava Zjistěte, proč nebyly platy vloženy Nyní je vložení platů možné: (Je nutno INSERT odstranit INTO Platy omezení CK_Platy: ([pl_castka] (pl_pracovnik, > 10000): pl_datum, pl_castka) SELECT p_pracovnik,p_datum, ALTER TABLE Platy Sum(p_kusu*tp_cena) As Plat DROP FROM CONSTRAINT prace INNER CK_Platy; JOIN typyprace On p_typ=tp_nazev (13 row(s) affected) GROUP BY p_pracovnik,p_datum; 17 Určení záznamů bez podřízených Určete seznam pracovníků, kteří nemají žádnou práci SELECT Pracovnici.* FROM Pracovnici LEFT JOIN prace pr_osc pr_jmeno ON pr_osc=p_pracovnik 124 Ivanka Desátá-Jedenáctá 125 Jean-Dean Sikorski WHERE p_id IS 127 NULL; Jan Pavel I Patricia de Souza y Cachal de Brito 130 Orgoj Chorchoj 133 Jana Růžena Kostičkovitá 141 Ian z Glenyanu 152 Pavla Ospalá 153 Karel Ospalý (9 row(s) affected) 18 6

7 Vložený dotaz v definici sloupce Pro každého pracovníka určete počet prací pr_osc pr_jmeno Počet SELECT *, 122 Jan Kvákal 123 Patrik Svatý (SELECT COUNT(*) Ivanka Desátá-Jedenáctá Jean-Dean Sikorski 0 FROM prace 126 AS Patricia TMP de Souza y Cachal de Brito Jan Pavel I 0 WHERE 128 TMP.p_pracovnik=Pracovnici.pr_OSC) Karla Osmá AS Počet Orgoj Chorchoj Piotr Ivanovič Ustinovskij Jana Růžena Kostičkovitá Jan Evangelista Svatovítský 3 FROM Pracovnici; 141 Ian z Glenyanu Pavla Ospalá Karel Ospalý 0 (14 row(s) affected) 19 Vložený dotaz v definici sloupce Pro každého pracovníka určete počet dnů, kdy pracoval pr_osc pr_jmeno Počet SELECT *, Jan Kvákal Patrik Svatý 1 (SELECT COUNT(DISTINCT p_datum) 124 Ivanka Desátá-Jedenáctá Jean-Dean Sikorski 0 FROM prace 126 AS Patricia TMPde Souza y Cachal de Brito Jan Pavel I 0 WHERE 128 TMP.p_pracovnik=Pracovnici.pr_OSC) Karla Osmá AS Počet Orgoj Chorchoj Piotr Ivanovič Ustinovskij Jana Růžena Kostičkovitá Jan Evangelista Svatovítský 3 FROM Pracovnici; 141 Ian z Glenyanu Pavla Ospalá Karel Ospalý 0 (14 row(s) affected) 20 Konverze dat eliminace NULL Pro každého pracovníka určete počet kusů z tabulky prace, pokud dosud nepracoval, bude počet 0 pr_jmeno Počet SELECT pr_osc, pr_jmeno, Jan Kvákal Patrik Svatý 12.0 COALESCE(SUM(p_kusu),0) AS Počet 124 Ivanka Desátá-Jedenáctá Jean-Dean Sikorski 0.0 FROM pracovnici 126 Patricia de Souza y Cachal de Brito Jan Pavel I 0.0 LEFT JOIN 128 prace Karla Osmá on pr_osc=p_pracovnik Orgoj Chorchoj 131 Piotr Ivanovič Ustinovskij GROUP BY pr_osc, pr_jmeno; Jana Růžena Kostičkovitá Jan Evangelista Svatovítský Ian z Glenyanu Pavla Ospalá Karel Ospalý 0.0 (14 row(s) affected) 21 7

8 Agregace - opakovaná Pro každého pracovníka zobrazte jeho osobní číslo, jméno a první a poslední den, ve kterém pracoval SELECT pr_osc, pr_jmeno, Min(p_datum) As prvni, Max(p_datum) As poslední FROM pr_osc pr_jmeno pracovnici INNER prvni JOIN praceposlední ON pr_osc=p_pracovnik GROUP BY pr_osc, pr_jmeno ORDER BY pr_jmeno; Jan Evangelista Svatovítský :00: :00: Jan Kvákal :00: :00: Karla Osmá :00: :00: Patrik Svatý :00: :00: Piotr Ivanovič Ustinovskij :00: :00: (5 row(s) affected) 22 Konverze dat Pro každého pracovníka zobrazte jeho osobní číslo, jméno a počet dnů mezi první a poslední prací SELECT pr_osc, pr_jmeno, CAST(Max(p_datum)-Min(p_datum) AS Integer) FROM pracovnici INNER JOIN prace pr_osc ON pr_osc=p_pracovnik pr_jmeno GROUP 140 Jan BY Evangelista pr_osc, Svatovítský pr_jmeno Jan Kvákal Karla Osmá 3 ORDER BY pr_jmeno; 123 Patrik Svatý Piotr Ivanovič Ustinovskij 2 (5 row(s) affected) 23 Dávka využití kurzoru Vytvořte dávku, která vygeneruje pro tabulku typyprace dávku definicí dat tabulky money DECLARE listtypyprace CURSOR FORWARD_ONLY FOR SELECT [tp_nazev], [tp_popis], [tp_cena] FROM [prace].[dbo].[typyprace] OPEN listtypyprace FETCH NEXT FROM @cena INSERT INTO typyprace ([tp_nazev], [tp_popis], [tp_cena]) = 0 VALUES ('hrdlení', 'jen mezi příbuznými', 25.00); INSERT INTO typyprace ([tp_nazev], [tp_popis], [tp_cena]) PRINT 'INSERT INTO typyprace ([tp_nazev], [tp_popis], VALUES [tp_cena])' ('kvákání', 'skupinové', ); PRINT 'VALUES (''' + ''', ''' + INSERT ''', ' + CAST(@cena INTO typyprace as varchar) ([tp_nazev], + [tp_popis], [tp_cena]) ');' VALUES ('praní', 'každý kousek zvlášť', 10.00); FETCH NEXT FROM listtypyprace INSERT INTO typyprace ([tp_nazev], [tp_popis], @cena VALUES ('spaní', 'celou noc', ); INSERT INTO typyprace ([tp_nazev], [tp_popis], [tp_cena]) CLOSE listtypyprace VALUES ('škudlení', 'každý okamžik', 1.00); DEALLOCATE listtypyprace 24 8

9 Uložená procedura Vytvořte uloženou proceduru VlozPraci, která převezme údaje o pracovníkovi, typu práce, počtu kusů a nepovinné datum (v tom případě vloží aktuální datum), zkontroluje existenci pracovníka a typu práce, vloží nový záznam do databáze a vrátí jeho ID (1 row(s) CREATE affected) PROCEDURE VlozPraci IF EXISTS (SELECT * FROM pracovnici WHERE INT, VARCHAR(50), IF EXISTS (SELECT * FROM typyprace WHERE tp_nazev=@typ) pr_osc@kusu FLOAT, pr_jmeno DATETIME = NULL, INSERT INTO prace Test INT OUTPUT Jan Kvákal (p_pracovnik, p_typ, p_kusu, p_datum) INT 123 AS Patrik Svatý VALUES EXEC VlozPraci 124 DECLARE IS NULL 125 Jean-Dean TO err_handler 126 Patricia de Souza y Cachal de as datetime 127 Jan Pavel OUTPUT 128 Karla ELSE AS VARCHAR) + '/' + AS 130 VARCHAR)+ Orgoj '/' + CAST(DATEPART(yy, SELECT AS = 0 AS DATETIME) SELECT * FROM pracovnici 131 Piotr Ivanovič Ustinovskij 133 Jana Růžena KostičkovitáELSE 140 Jan Evangelista Svatovítský = Ian z Glenyanu RETURN Pavla Ospalá err_handler: 153 Karel Ospalý = -1 (14 row(s) Informační affected) systémy 25 Spoušť Zdroj: Výsledek: ALTER TRIGGER pracemeniplaty ALTER TRIGGER ON [dbo].[prace] pracemeniplaty ON [dbo].[prace] FOR INSERT, UPDATE, FOR DELETE INSERT, UPDATE, DELETE AS AS -- zpracujeme Doplňte vložení nové DECLARE INT, VARCHAR(50), o FLOAT, na money IF EXISTS (SELECT * -- FROM zpracujeme INSERTED) odstranění práce IF EXISTS (SELECT * FROM deleted) VARCHAR(50), o DATETIME, money -- zjistíme kolik záznamů -- zjistíme je přidáno kolik záznamů je odstraněno DECLARE cpom CURSOR -- zpracujeme DECLARE cpom vložení CURSOR nové práce FOR IF FOR EXISTS (SELECT * FROM INSERTED) SELECT p_id, p_pracovnik, SELECT p_typ, p_id, p_kusu, p_pracovnik, p_datum p_typ, FROM p_kusu, inserted p_datum FROM deleted OPEN cpom -- OPEN zjistíme cpom kolik záznamů je přidáno -- vezmeme první nový DECLARE --záznam vezmeme cpom prvnícursor odstraněný záznam FETCH NEXT FROM cpom FOR FETCH NEXT FROM @ptyp, p_pracovnik, p_datum FROM inserted WHILE OPEN = 0 = 0 -- vezmeme první nový záznam -- Určíme cenu vložené FETCH --práce Určíme NEXT cenu FROM odstraněné cpom práce = Max(tp_cena) @pprac, FROM = WHERE tp_nazev=@ptyp typyprace WHERE tp_nazev=@ptyp -- Pokud již tento pracovník WHILE -- Předpokládámě, daném dni pracoval, že vše řádně budeme = 0 funguje záznam a záznam upravovat, o platu jinak existuje musíme přidat nový IF EXISTS (SELECT * UPDATE FROM platy platy WHERE SET pl_castka=pl_castka-@pkusu*cast(@pcena pl_pracovnik=@pprac AND pl_datum=@pdatum) AS FLOAT) WHERE pl_pracovnik=@pprac AND pl_datum=@pdatum UPDATE platy SET pl_castka=pl_castka+@pkusu*cast(@pcena FETCH -- Určíme NEXT cenu FROM vložené cpom práce AS FLOAT) WHERE pl_pracovnik=@pprac AND pl_datum=@pdatum ELSE @pprac, typyprace WHERE tp_nazev=@ptyp INSERT INTO platy(pl_pracovnik, -- Pokud již tento pl_datum, pracovník pl_castka) v daném VALUES dni pracoval, (@pprac, upravovat, jinak musíme AS přidat FLOAT)) nový FETCH NEXT FROM CLOSE cpom IF EXISTS cpom(select * FROM platy WHERE pl_pracovnik=@pprac AND platy cpom pl_castka=pl_castka+@pkusu*cast(@pcena AS FLOAT) WHERE pl_pracovnik=@pprac AND pl_datum=@pdatum ELSE CLOSE cpom INSERT INTO platy(pl_pracovnik, pl_datum, pl_castka) AS FLOAT)) DEALLOCATE cpom FETCH NEXT FROM @pdatum CLOSE cpom DEALLOCATE cpom -- po skončení je možné, že některý záznam o platu se dostal na nulovou částku Informační DELETE FROM systémy Platy WHERE pl_castka=0 26 Kontrolní otázka Co se stane, pokud se změní cena některého typu práce? Odměny za tento typ práce nebudou odpovídat nové ceně. Důvodem je chyba v koncepci databáze tabulky typyprace obsahuje aktuální hodnoty, zatímco tabulky prace a platy obsahují historická data. Řešením je uložení aktuální ceny typu práce přímo k nově vložené práci, kde zůstane zachována i do budoucna. 27 9

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName 8 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Jazyk Transact-SQL, syntaxe, proměnné, struktury,

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Bezpečnost uložených procedur

Informační systémy 2008/2009. Radim Farana. Obsah. Bezpečnost uložených procedur 9 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Systémové procedury a funkce Spouště (Trigger),

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

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

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

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

Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D.

Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D. Databáze 2011/2012 T-SQL - kurzry, funkce RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva T-SQL kurzry T-SQL funkce Cvičení Kurzr Datvá struktura umžňující pracvat s výsledkem dtazu Smyslem kurzru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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

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

Ú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

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

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Databázové a informační systémy 1/9 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013 Databázové a informační systémy 2/9 TABULKA ST U D E N T Pokud nebude

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML 10 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Export a import dat Formát XML a SQL server Zálohování a obnova

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

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

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

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

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

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

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

NÁVRH A TVORBA HUDEBNÍ DATABÁZE

NÁVRH A TVORBA HUDEBNÍ DATABÁZE Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT NÁVRH A TVORBA HUDEBNÍ DATABÁZE Michael Mašek EDUCAnet - gymnázium a střední odborná škola České Budějovice, s.r.o.

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

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

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

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

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177) DAIS - Projekt Dopravní podnik Jméno: Matěj Kotyz (KOT0177) 1. Zadání 1.1. Specifikace zadání 1.1.1. Proč Je potřeba informační systém pro dopravní podnik. K tomu aby se zde daly uchovávat informace o

Více

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

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo 1 Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo nepracovala. 2 3 4 5 6 7 8 9 10 11 12 Autor zadání je doc.

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

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

U koly na procvic ení jazyka T-SQL

U koly na procvic ení jazyka T-SQL U koly na procvic ení jazyka T-SQL Lehké Úkol 1 Vytvořte seznam všech zákazníků, seřazený vzestupně podle jména a druhotně podle příjmení. Vraťte všechny sloupce tabulky. SELECT * ORDER BY FirstName, LastName

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

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

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

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

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

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

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených

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í 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají

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é a informační systémy. Dokumentace k projektu. Učební sklad

Databázové a informační systémy. Dokumentace k projektu. Učební sklad Databázové a informační systémy Dokumentace k projektu Učební sklad KUC0229 Datum: 10. 4. 2016 Specifikace zadání Proč? Potřebuji vytvořit informační systém pro shromažďování a evidenci materiálů ke studiu.

Více

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

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze 1 Vytvořte model půjčovny dopravních prostředků. Zákazník

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

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

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

Verzování a publikace dat na webu za pomoci PostgreSQL Prague PostgreSQL Developers' Day 2013 Verzování a publikace dat na webu za pomoci PostgreSQL Jan Pěček Kdo jsem? Jan Pěček Programátor PostgreSQL Jyxo, s.r.o. (Blog.cz) MAFRA, a.s. - Internet Trading

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

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

SQL. relační databázový systém. v 5.0.45. 2007 úvodní kurz jazyka SQL -----------------------------------------------------------

SQL. relační databázový systém. v 5.0.45. 2007 úvodní kurz jazyka SQL ----------------------------------------------------------- 2007 úvodní kurz jazyka SQL ----------------------------------------------------------- SQL relační databázový systém v 5.0.45 (c) 2007 Ing. Jan Steringa Úvodní kurz jazyka SQL. Tento studijní materiál

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

KIV/ZIS - SELECT, opakování

KIV/ZIS - SELECT, opakování KIV/ZIS - SELECT, opakování soubor 4_databaze.accdb (lze použít ten z minula) http://home.zcu.cz/~krauz/zis/4_databaze.accdb minule: SELECT FROM WHERE ORDER BY SELECT sloupce jaké sloupce chceme vybrat

Více

3. Jazyky relačních databázových systémů

3. Jazyky relačních databázových systémů 3. Jazyky relačních databázových systémů 3.1. Tabulky ilustračního příkladu - Spořitelna... 3 3.2. Jazyk SQL... 5 3.2.1. Úvod... 5 3.2.2. Definice dat... 7 3.2.3. Manipulace s daty... 14 3.2.4. Pohledy...

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

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

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

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

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Motivace 2 Základy syntaxe 3 Procedury a Funkce 4 Kurzory 5 Výjimky Studijní

Více

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura 10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře

Více

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura 10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře

Více

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

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,

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

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

Databázové systémy. Tomáš Skopal. * embedded SQL * externí aplikace. - Databázové aplikace

Databázové systémy. Tomáš Skopal. * embedded SQL * externí aplikace. - Databázové aplikace Databázové systémy Tomáš Skopal - Databázové aplikace * embedded SQL * externí aplikace Osnova přednášky vnitřní programovací konstrukce (Embedded SQL) uložené procedury kurzory triggery vnější programování

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

Popis souboru pro generování reportů *.report

Popis souboru pro generování reportů *.report Popis souboru pro generování reportů *.report [Main]... 1 Create... 1 Description... 1 Protect... 1 Nazev... 2 PopisX... 2 PopisY... 2 GRAFDATAOD... 2 GRAFDATADo... 2 GRAFOSAX... 2 TYP_GRAFU... 2 GRAF_VEDLEJSI_OSA...

Více

D O K U M E N T A C E

D O K U M E N T A C E ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta stavební Katedra mapování a kartografie D O K U M E N T A C E Úvod do zpracování prostorových dat (153UZPD) Skupina D: Marie Fuňáková Tomáš Vojtěchovský Chrudoš

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

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

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

Více

Internetová filmová databáze IFDB

Internetová filmová databáze IFDB VŠB FEI - Technická Univerzita Ostrava DOKUMENTACE Internetová filmová databáze IFDB Semestrální projekt Jméno: Jméno vyučujícího: Dušan Choleva (CHO0130) Ing. Petr Lukáš 1 1. Specifikace zadání 1.1. Proč

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

Embedded SQL Dotazovací Jazyky I. Bc. CHOMUT Miroslav Bc. VODOLÁN Miroslav

Embedded SQL Dotazovací Jazyky I. Bc. CHOMUT Miroslav Bc. VODOLÁN Miroslav Embedded SQL Dotazovací Jazyky I Autoři: Bc. CHOMUT Miroslav Bc. VODOLÁN Miroslav Obsah Jak využívat SQL v programech Historie Příklad Podpora Způsob kompilace Statické SQL Práce s DB Struktura SQLCA Ošetření

Více

cstore_fdw column store pro PostgreSQL Prague PostgreSQL Developer Day 2015 Jan Holčapek

cstore_fdw column store pro PostgreSQL Prague PostgreSQL Developer Day 2015 Jan Holčapek cstore_fdw column store pro PostgreSQL Prague PostgreSQL Developer Day 2015 Jan Holčapek holcapek@gmail.com cstore_fdw > foreign data wrapper pro ORC* formát > ORC, Optimized Row Columnar > jeden z formátů,

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

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

Nastavení propojení s eshopem

Nastavení propojení s eshopem Nastavení propojení s eshopem Vytvoření párovacích polí na databázi eshopu! Není nutné upravovat databázi pro použití zkušební verze programu. Tento krok můžete při použití zkušební verze přeskočit. Pro

Více

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

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant 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ů,

Více

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Více

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

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

Více

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

Databáze I. Přednáška 7 Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují

Více

Relace x vztah (relationship)

Relace x vztah (relationship) Relace x vztah (relationship) Peter Chen, Peter Pin-Shan (March 1976): "The Entity-Relationship Model Toward a Unified View of Data". ACM Transactions on Database Systems 1. E-R diagram v Chennově notaci

Více