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]) WHILE = 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 ''', ' + 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 INT, VARCHAR(50), IF EXISTS (SELECT * FROM typyprace WHERE 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 @pracovnik=152, IS NULL = 125 Jean-Dean TO err_handler 126 Patricia de Souza y Cachal de as datetime = 127 Jan Pavel I 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 WHILE OPEN cpom = 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 typyprace WHERE -- Pokud již tento pracovník WHILE -- Předpokládámě, v 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 AND AS FLOAT) WHERE AND UPDATE platy SET FETCH -- Určíme NEXT cenu FROM vložené cpom práce AS FLOAT) WHERE AND ELSE @pprac, typyprace WHERE INSERT INTO platy(pl_pracovnik, -- Pokud již tento pl_datum, pracovník pl_castka) v daném VALUES dni pracoval, záznam upravovat, jinak musíme AS přidat FLOAT)) nový FETCH NEXT FROM CLOSE cpom IF EXISTS cpom(select * FROM platy WHERE platy cpom AS FLOAT) WHERE AND 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

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

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

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

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

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

Více

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

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

Více

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ú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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programování v Pythonu

Programování v Pythonu ƒeské vysoké u ení tecnické v Praze FIT Programování v Pytonu Ji í Znamená ek P íprava studijnío programu Informatika je podporována projektem nancovaným z Evropskéo sociálnío fondu a rozpo tu lavnío m

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

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

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

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

A5M33IZS Informační a znalostní systémy. Relační databázová technologie A5M33IZS Informační a znalostní systémy Relační databázová technologie Přechod z konceptuálního na logický model Entitní typ tabulka Atribut entitního typu sloupec tabulky Vztah: vazba 1:1 a 1:N: Vztah

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

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

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

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

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

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

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307 Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola

Více

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

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

Více

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

Ú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

Integritní omezení (IO)

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

Více

Relační databázová technologie

Relační databázová technologie Relační databázová technologie Klíč: množina (možná jednoprvková) atributů (sloupců), jež jednoznačně idetifikuje danou entitu. Poznámky: 1. Daný entitní typ (tabulka) může mít více klíčů. Například (i)

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

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

Databáze II. 2. přednáška. Helena Palovská Databáze II 2. přednáška Helena Palovská palovska@vse.cz SQL a aplikace Program přednášky Řízení transakcí v SQL Integritní omezení v SQL Triggery a uložené procedury Zpracování množin záznamů Řízení

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

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

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

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

Více

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

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

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

Více

Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting

Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting Cvičení 5 SQL 1 Obsah SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting 2 2 Oracle Model 3 3 Načtení modelu z katalogu Napojení: IP adresa: 193.85.191.165 Port:

Více

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

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

Více

Měřící systém se vzdáleným přístupem. Databáze

Měřící systém se vzdáleným přístupem. Databáze ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA MĚŘENÍ Měřící systém se vzdáleným přístupem Databáze Jiří Javůrek 2003/2005 0. Obsah 0. Obsah...1 1. Požadavky...2 2. Struktura databáze...2

Více

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč Bottle -- příklad V tomto příkladu se pokusíme vytvořit malou aplikaci umožňující psát jednoduché poznámky. Databáze Nejprve je třeba vytvořit v databázovém serveru uživatele (pokud už není vytvořen) a

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