Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií

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

Download "Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií"

Transkript

1 Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Student: Vedoucí bakalářské práce: Recenzent bakalářské práce: Filip Valoušek RNDr. Helena Palovská, Ph.D. Ing. Dušan Chlapek, Ph.D. Příprava demo testovací databáze a ladění SQL příkazů 2009

2 Prohlášení Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Praze dne podpis 2

3 Poděkování: Chtěl bych poděkovat paní RNDr. Heleně Palovské, PhD. za cenné rady, pomoc a čas, které mi při vedení mé práce věnovala. 3

4 Abstrakt Tato práce se zabývá návrhem a tvrobou testovací demo databáze, která slouží pro výuku práce s relační databází. Součástí práce je sada zadání výukových dotazů, na kterých je možno procvičit dotazovací jazyk SQL (Structured Query Language). Ke každému dotazu je uvedena přehledná tabulka správného výstupu z testovacích dat, která umožňuje kontrolu správného zadání dotazu při procvičování. V teoretické části se pak práce krátce zmiňuje o způsobech návrhu databází a datového modelování, zejména pak o principu tří architektur. 4

5 Abstract This bachelor work deals with projecting and implementation of the demo test database, which is used for training work with relational databases. A set of educational queries submissions which enable practising query language SQL (Structured Query Language) is one part of the work. There is a well-arranged table of correct output from data test for all of queries allowing to check correct query setting. In the theoretical part there is a short mention about the principles of databases projecting and data modelling, especially about the Three schema approaches. 5

6 Obsah Obsah 1 Úvod 7 2 Princip tří architektur 8 3 Návrh databáze Konceptuální model Fyzický model 11 4 Data 12 5 Dotazy do databáze 18 6 Závěr 46 Zdroje 47 Terminologický slovník 48 Přílohy 49 Skripty použité pro vytvoření tabulek databáze 49 Skripty použité pro vytvoření kategorií zboží 53 Skripty použité pro vytvoření zboží 54 Skripty použité pro vytvoření zákazníků 56 Skripty použité pro vytvoření objednávek 57 Skripty použité pro vytvoření položek objednávek 60 6

7 1 Úvod 1 - Úvod Tématem práce je tvorba testovací demo databáze a SQL (Structured Query Language) dotazy nad touto databází. Cílem práce bylo navrhnout a realizovat databázi pro výuku práce s relační databází a dotazovacího jazyka SQL a sady zadání dotazů do této databáze, na kterých lze procvičit základní konstrukty dotazů v jazyce SQL. Databáze byla navrhována tak, aby její struktura umožňovala procvičení nejčastěji používaných typů dotazů a zároveň aby v rámci možností co nejvíce odpovídala realitě. Tím je umožněno na reálném příkladu designu ukázat, jak taková relační databáze může vypadat a fungovat. Aby databáze co nejvíce odpovídala skutečným systémům, byla tvořena již od návrhu pomocí principu tří architektur (P3A). 7

8 2 Princip tří architektur 2 - Princip tří architektur Princip tří architektur používá pro návrh datové základny tři modely - konceptuální schéma reality, logický model a fyzický model. Tento princip byl poprvé uveden v ANSI/X3/SPARC Standards Planning and Requirements Committee v roce Tato zpráva uvádí, že Database Management Systems (DBMSs) mají dvě základní schémata. Interní schéma, které reprezentuje strukturu dat tak, jak ji vidí DBMS (fyzický model) a externí schéma, které reprezentuje strukturu dat z pohledu uživatele. Ve zprávě je uvedeno třetí, tzv. konceptuální shcéma, které reprezentuje strukturu dat tak, jak ji vidí podnik jako celek. 1) Konceptuální schéma reality je hrubý model, který slouží k poznání reálných objektů, které mají v navrhovaném systému figurovat. V konceptuálním schématu tedy popisujeme skutečné objekty a vztahy mezi nimi. V případě naší databáze např. zákazníky nebo zboží. Konceptuální schéma by mělo být vychozím bodem pro modelování datové základny i pro provádění změn v ní, protože je nezávislé na konkrétním implementačním prostředí a umožňuje tak model co nejvíce přiblížit reálnému stavu. Logický model se pak již zaměřuje na jednotlivé entitní typy a jejich datové atributy, stále ale zůstává nezávislý na konkrétním implementačním prostředí a databázovém systému. Třetím stupněm je fyzický model, který již zohledňuje konkrétní databázový systém a jeho možnosti. Jedná se o návrh konkrétních tabulek včetně sloupců, cizích klíčů a datových typů jednotlivých sloupců v závislosti na možnostech konkrétního databázového systému. Smyslem principu tří architektur je oddělit konceptuální a implementační úroveň. To přináší tu výhodu, že můžeme datovou základnu navrženou na konceptuální úrovni přenášet mezi různými databázovými systémy a implementačními prostředími. 1) Three schema approach [on-line]. [2009]. Dostupný z WWW: < 8

9 3 Návrh databáze 3 - Návrh databáze Oproti teoretickým zásadám, popsaným v předchozí kapitole o principu tří architektur, se skutečné metody, použité při návrhu databáze, mírně liší. Pro návrh databáze byl použit program Sybase PowerDesigner, který k tomuto účelu poskytuje dvě schémata - konceptuální model a fyzický model. Konceptuální schéma reality, zmíněné v předchozí kapitole, slouží především pro pochopení skutečných objektů a vztahů mezi nimi a právě z toho důvodu se většinou kreslí ručně na papír. Do počítače se vstupuje až následným krokem, ve kterém se v modelovacím nástroji převede konceptuální schéma do příslušné notace. V programu PowerDesigner k tomu slouží právě konceptuální model, který stojí na pomezí mezi konceptuálním schématem reality a logickým modelem, tak jak byly tyto modely popsány v kapitole o principu tří architektur. Rozdíl mezi logickým modelem podle P3A a konceptuálním modelem PowerDesigneru spočívá v tom, že v konceptuálním modelu, narozdíl od logického, dochází již k některým rozhodnutím o implementačním prostředí, např. volbě datových typů jednotlivých atributů. Je tomu tak proto, že PowerDesigner je nástroj pro návrh datové základny a umožňuje automatické vytvoření fyzického modelu na základě modelu konceptuálního, což by bez příslušných voleb již v konceptuálním modelu bylo značně obtížné. Postup práce byl tedy následující: Návrh a vytvoření konceptuálního modelu v programu PowerDesigner, následné vygenerování fyzického modelu a po potřebných úpravách vygenerování skriptů pro vytvoření navržené databáze. 9

10 3.1 Konceptuální model 3 - Návrh databáze Konceptuální model je součástí návrhu databáze podle principu tří architektur s odlišnostmi, které byly popsány v úvodu této kapitoly. Slouží k návrhu datové základny, nezávislém na platformě, ve které bude nakonec realizována. Příjemcům - v našem případě studentům, kteří se na cvičné databázi budou učit - pak slouží k lepšímu pochopení datových struktur databáze. Přibližuje jim realitu, o které cvičná databáze vypovídá a umožňuje jim tak snadnější orientaci v databázi. Jako pomyslná aplikace nad cvičnou databází byl zvolen internetový obchod. Použitými entitami pak jsou: zboží a jeho kategorie, do nichž je zboží rozděleno, objednávky a jejich jednotlivé položky a zákazníci internetového obchodu. Abstrahováno bylo naopak od zaměstnanců a dalších entitních typů, které by se jistě ve skutečné aplikaci taktéž vyskytovaly, ale pro potřeby procvičování jazyka SQL by byly nadbytečné, neboť atributy např. u zaměstnanců by byly téměř shodné se zákazníky. Atributy u použitých entitních typů byly naopak konstruovány tak, aby co nejvíce odpovídaly realitě. Proto byly u objednávek ponechány i atributy dodací adresy, ačkoli z hlediska procvičování dotazů nemají velký význam, neboť jsou obdobné s atributy trvalé adresy u entitního typu zákazník. obr Konceptuální model databáze 10

11 3.2 Fyzický model 3 - Návrh databáze V rámci fyzického modelu, který vychází z konceptuálního schéma, bylo třeba vyřešit, jakým způsobem budou pojmenovány jednotlivé tabulky a sloupce. Při rozhodování o jejich podobě byl brán ohled především na snadnou manipulaci s daty a tedy co nejjednodušší psaní dotazů. Pro názvy proto byly použity kódy vycházející ze zkrácených slov názvů jednotlivých entitních typů a jejich atributů, např. pro entitní typ zákazník byla tabulka nazvána ZAK a pro atribut datum objednávky byl zvolen název sloupce DAT_OB. Názvy byly zvoleny velkými písmeny a to proto, že databázový systém Oracle, ve kterém je cvičná databáze realizována, převádí automaticky názvy v dotazech na velká písmena a jsou-li názvy tabulek a sloupců malými písmeny, je nutno je do dotazů psát v uvozovkách, což práci značně znesnadňuje. Výstupem z fyzického modelu je kód SQL, sloužící k vytvoření tabulek, který byl vygenerován automaticky pomocí programu PowerDesigner. Tento kód je uveden v příloze. obr Fyzický model databáze obr Schéma databáze 11

12 4 Data 4 - Data Data byla opět volena tak, aby co nejvíc odpovídala reálnému světu (reálnému na začátku roku 2009, neboť některé atributy, jako třeba ceny zboží se permanentně mění). Proto např. u jednotek, ve kterých je zboží prodáváno, nebyly použity základní fyzikální jednotky, ale na první pohled poněkud netypické, nicméně reálné různé druhy lahví namísto litrů u nápojů. Jednotlivá data a vazby mezi nimi byly rovněž voleny tak, aby zde existovaly některé netypické případy, vhodné pro procvičování dotazů SQL, např. zákazníci, kteří si nikdy nic neobjednali, zboží, které nebylo nikdy objednáno apod. Snahou při vytváření záznamů bylo i to, aby byla snadno rozpoznatelná správnost zadaného dotazu. V následujících tabulkách můžete vidět jednotlivá data, která jsou v databázi uložena. Příkazy, kterými byla tato data definována pak můžete nalézt v příloze. KAT NADR NAZEVK POPISK nap (null) nápoje zboží, které lze pít napal nap nápoje alkoholické alkohol pivo napal pivo piva různých druhů vino napal víno nejrůznější druhy vína dest napal destiláty tvrdý alkohol napna nap nápoje nealkoholické nápoje, které neobsahují alkohol minvo napna minerální vody pramenité minerální a stolní vody limo napna limonády nealkoholické nápoje nejrůznějších příchutí pec (null) pečivo chléb, housky, rohlíky, sladké pečivo atd. ovze (null) ovoce, zelenina něco dobrého pro zdraví tabulka kategorie zboží 12

13 4 - Data KOD KAT NAZEV POPIS JEDN CENA SKLAD DOSTUP AKTIV 1000 pivo Braník světlé pivo ve skle láhev 0,5 l pivo Budějovický Budvar světlý ležák ve skle láhev 0,5 l pivo Gambrinus světlý světlé pivo ve skle láhev 0,5 l pivo Staropramen světlé pivo ve skle láhev 0,5 l vino Frankovka suché víno láhev 0,75 l vino Modrý Portugal (null) láhev 0,75 l vino Svatovavřinecké suché víno láhev 0,75 l minvo Mattoni broskev minerální voda s příchutí broskve láhev 1,5 l minvo Mattoni minerální voda bez příchuti láhev 1,5 l minvo Poděbradka minerální voda bez příchuti láhev 1,5 l limo 7UP (null) láhev 2 l limo Coca-cola (null) láhev 2 l limo Fanta divoká malina limonáda s příchutí divoké maliny láhev 2 l limo Fanta pomeranč limonáda s příchutí pomeranče láhev 2 l limo Fanta lemonic limonáda s příchutí lemonic láhev 2 l pec rohlík (null) ks pec toustový chléb (null) kg pec chléb (null) kg pec houska (null) ks ovze banán (null) kg ovze citron (null) kg ovze jablko červené červené jablko kg ovze jablko zelené zelené jablko kg ovze mango (null) kg ovze brambory (null) kg ovze okurka salátová okurka ks ovze rajská jablka (null) kg tabulka zboží 13

14 4 - Data LOGIN JMEN PRIJM ULIC PSC MEST novotny Antonín Novotný Havlíčkova Velká Hleďsebe nov.ant@seznam.cz abraham Karel Abrahámek Smetanova Unhošť abraham@centrum.cz rubek Jiří Rubek Janošíkova Brno - Chrlice rubi@seznam.cz bohus Bohuslav Rejholec Laudova Praha 6 - Řepy rejholec@gmail.com masin František Mašín Puškinova Vyškov franta.masin@seznam.cz novota Blanka Novotná Mírové náměstí Broumov novota@atlas.cz vencka Taťána Vencová Ovenecká Praha 7 - Bubeneč vencova@centrum.cz skocka Zdena Skočdopolová Vokrojova Praha 4 - Modřany skocdopolova@centrum.cz janouskova Denisa Janoušková Dvořákova Brno xjand05@vse.cz strakova Miluše Straková Žehuňská Praha 9 - Kyje strakova.miluse@seznam.cz krec Tomáš Křeč M. Pujmannové Trutnov krecek@seznam.cz ilja Ilja Novák Vokrojova Praha ilja-novak@seznam.cz tabulka zákazníci 14

15 4 - Data CISO ZAK DAT_OB DAT_OD STAV PLAT DOPR JMEN PRIJM ULIC PSC MEST POZN M. Pujmannové 1 krec 11/23/06 11/25/06 o 2 3 Tomáš Křeč Trutnov (null) M. Pujmannové 2 krec 12/10/06 12/12/06 o 1 1 Tomáš Křeč Trutnov (null) M. Pujmannové 3 krec 1/4/07 1/11/07 o 1 2 Tomáš Křeč Trutnov (null) Straková Žehuňská 4 strakova 1/10/07 1/11/07 o 1 2 Miluše Praha 9 - Kyje (null) M. Pujmannové 5 krec 1/30/07 2/2/07 o 2 3 Tomáš Křeč Trutnov (null) zásilku mi prosím dodejte 6 krec 1/30/07 2/4/07 o 1 2 Tomáš Křeč Pražská Trutnov v dopoledních hodinách M. Pujmannové 7 krec 2/10/07 2/12/07 o 2 3 Tomáš Křeč Trutnov (null) Bohuslalec Rejho- Laudova 8 bohus 2/12/07 2/13/07 o Praha 6 - Řepy (null) M. Pujmannové 9 krec 4/15/07 4/15/07 o 1 1 Tomáš Křeč Trutnov (null) Bohuslalec Rejho- Laudova 10 bohus 5/15/07 5/17/07 o Praha 6 - Řepy (null) M. Pujmannové 11 krec 5/16/07 5/16/07 o 1 1 Tomáš Křeč Trutnov (null) Novotnměstí Mírové ná- 12 novota 8/23/07 8/25/07 o 3 4 Blanka Broumov (null) Bohuslalec Rejho- Laudova 13 bohus 10/10/07 10/10/07 o Praha 6 - Řepy (null) František Puškinova 14 masin 1/6/08 1/7/08 o 1 4 Mašín Vyškov (null) 15 bohus 2/3/08 2/4/08 o 2 2 Bohuslav Rejholec Laudova Praha 6 - Řepy (null) 15

16 4 - Data 16 novota 2/12/08 2/13/08 o 1 2 Blanka 17 masin 2/13/08 2/15/08 o masin 4/17/08 4/19/08 o vencka 5/13/08 5/16/08 o 3 3 Taťána 20 masin 10/10/08 10/11/08 o novota 10/15/08 10/16/08 o 1 4 Blanka 22 novota 11/17/08 11/21/08 o 2 2 Blanka 23 janouskova 12/12/08 12/15/08 o 2 1 Denisa 24 abraham 12/23/08 12/29/08 o 3 3 Karel 25 skocka 1/6/09 1/6/09 o 1 4 Zdena 26 strakova 1/6/09 1/10/09 p 3 3 Miluše 27 novota 1/12/09 1/14/09 o 1 4 Blanka Antonín 28 novotny 1/24/09 1/26/09 o 2 1 Bohuslav 29 bohus 1/30/09 (null) v 2 2 Novotná František Mašín František Mašín Vencová František Mašín Novotná Novotná Janoušková Abrahámek Skočdopolová Straková Novotná Novotný Rejholec 30 rubek 2/1/09 (null) p 1 2 Jiří Rubek tabulka objednávky mírové náměstí Broumov Puškinova Vyškov (null) Puškinova Vyškov (null) Ovenecká Praha 7 (null) Puškinova Vyškov (null) Mírové náměstí Broumov (null) Mírové náměstí Broumov (null) Dvořákova Brno (null) Smetanova Unhošť (null) Prosím o dodání ve večerních hodinách Vokrojova Praha 4 - Modřany (null) Žehuňská Praha 9 - Kyje (null) Mírové náměstí Broumov (null) Havlíčkova Velká Hleďsebe (null) Laudova Praha 6 - Řepy (null) Janošíkova Brno (null) 16

17 4 - Data CISO KOD MNOZ VCENA tabulka položky objednávek 17

18 5 Dotazy do databáze 5 - Dotazy do databáze Součástí práce bylo vytvoření sady dotazů do vyhotovené databáze, které jednak slouží pro procvičování jazyka SQL a práce s relační databází a jednak dokumentují smysluplnost dat obsažených v databázi. Proto zde uvádíme jednotlivé dotazy a k nim příslušné výstupy dat, které mohou rovněž sloužit pro kontrolu správnosti zadaných dotazů při procvičování. 1. Vypište kódy a názvy všeho zboží select KOD, NAZEV from ZBOZ; KOD NAZEV 1000 Braník 1001 Budějovický Budvar 1002 Gambrinus světlý 1003 Staropramen 1004 Frankovka 1005 Modrý Portugal 1006 Svatovavřinecké 1007 Mattoni broskev 1008 Mattoni 1009 Poděbradka UP 1011 Coca-cola 1012 Fanta divoká malina 1013 Fanta pomeranč 1014 Fanta lemonic 1015 rohlík 1016 toustový chléb 1017 chléb 1018 houska 1019 banán 1020 citron 1021 jablko červené 1022 jablko zelené 1023 mango 1024 brambory 1025 okurka 1026 rajská jablka 18

19 5 - Dotazy do databáze 2. Vypište názvy kategorií zboží select NAZEVK from KAT; NAZEVK destiláty limonády minerální vody nápoje nápoje alkoholické nápoje nealkoholické ovoce, zelenina pečivo pivo víno 3. Vypište popisy všech kategorií select KAT, POPISK from KAT; KAT POPISK nap zboží, které lze pít napal alkohol pivo piva různých druhů vino nejrůznější druhy vína dest tvrdý alkohol napna nápoje, které neobsahují alkohol minvo pramenité minerální a stolní vody limo nealkoholické nápoje nejrůznějších příchutí pec chléb, housky, rohlíky, sladké pečivo atd. ovze něco dobrého pro zdraví 4. Zjistěte v jakých různých jednotkách je zboží (tak aby se neopakovaly) select distinct JEDN from ZBOZ; JEDN kg láhev 0,75 l láhev 1,5 l ks láhev 0,5 l láhev 2 l 19

20 5 - Dotazy do databáze 5. Pro každé zboží vypište jeho cenu a cenu při zvýšení o 15 % select NAZEV, CENA, CENA * 1.15 from ZBOZ; NAZEV CENA CENA*1.15 Braník Budějovický Budvar Gambrinus světlý Staropramen Frankovka Modrý Portugal Svatovavřinecké Mattoni broskev Mattoni Poděbradka UP Coca-cola Fanta divoká malina Fanta pomeranč Fanta lemonic rohlík toustový chléb chléb houska banán citron jablko červené jablko zelené mango brambory okurka rajská jablka

21 5 - Dotazy do databáze 6. Vypište cenu každého zboží v případě přirážky 20 Kč select NAZEV, CENA + 20 from ZBOZ; NZEV CENA+20 Braník 31 Budějovický Budvar 40 Gambrinus světlý 35 Staropramen 32.5 Frankovka 85 Modrý Portugal Svatovavřinecké 76 Mattoni broskev 35 Mattoni 33 Poděbradka 30 7UP 53 Coca-cola 56 Fanta divoká malina 53 Fanta pomeranč 53 Fanta lemonic 53 rohlík 23 toustový chléb 54 chléb 45 houska 23.5 banán 63.5 citron 48 jablko červené 50 jablko zelené 52 mango 95 brambory 33 okurka 37.5 rajská jablka

22 5 - Dotazy do databáze 7. Vypište objednávky tak, aby měly následující formu: Zákazník JMENO z MESTO provedl objednávku dne DATUM select Zákazník, ZAK, z, MEST, provedl objednávku dne, DAT_OB from OBJ; ZÁKAZ- NÍK PRIJM Z MEST PROVEDL OBJEDNÁV- KU DNE DAT_OB Zákazník krec z Trutnov provedl objednávku dne 11/23/06 Zákazník krec z Trutnov provedl objednávku dne 12/10/06 Zákazník krec z Trutnov provedl objednávku dne 1/4/07 Zákazník strakova z Praha 9 - Kyje provedl objednávku dne 1/10/07 Zákazník krec z Trutnov provedl objednávku dne 1/30/07 Zákazník krec z Trutnov provedl objednávku dne 1/30/07 Zákazník krec z Trutnov provedl objednávku dne 2/10/07 Zákazník bohus z Praha 6 - Řepy provedl objednávku dne 2/12/07 Zákazník krec z Trutnov provedl objednávku dne 4/15/07 Zákazník bohus z Praha 6 - Řepy provedl objednávku dne 5/15/07 Zákazník krec z Trutnov provedl objednávku dne 5/16/07 Zákazník novota z Broumov provedl objednávku dne 8/23/07 Zákazník bohus z Praha 6 - Řepy provedl objednávku dne 10/10/07 Zákazník masin z Vyškov provedl objednávku dne 1/6/08 Zákazník bohus z Praha 6 - Řepy provedl objednávku dne 2/3/08 Zákazník novota z Broumov provedl objednávku dne 2/12/08 Zákazník masin z Vyškov provedl objednávku dne 2/13/08 Zákazník masin z Vyškov provedl objednávku dne 4/17/08 Zákazník vencka z Praha 7 provedl objednávku dne 5/13/08 Zákazník masin z Vyškov provedl objednávku dne 10/10/08 Zákazník novota z Broumov provedl objednávku dne 10/15/08 Zákazník novota z Broumov provedl objednávku dne 11/17/08 Zákazník janouskova z Brno provedl objednávku dne 12/12/08 Zákazník abraham z Unhošť provedl objednávku dne 12/23/08 Zákazník skocka z Praha 4 - Modřany provedl objednávku dne 1/6/09 Zákazník strakova z Praha 9 - Kyje provedl objednávku dne 1/6/09 Zákazník novota z Broumov provedl objednávku dne 1/12/09 Zákazník novotny z Velká Hleďsebe provedl objednávku dne 1/24/09 Zákazník bohus z Praha 6 - Řepy provedl objednávku dne 1/30/09 Zákazník rubek z Brno provedl objednávku dne 2/1/09 22

23 5 - Dotazy do databáze 8. Pro všechno zboží vypište cenu při zlevnění na polovinu select NAZEV, CENA/2 from ZBOZ; NAZEV CENA/2 Braník 5.5 Budějovický Budvar 10 Gambrinus světlý 7.5 Staropramen 6.25 Frankovka 32.5 Modrý Portugal Svatovavřinecké 28 Mattoni broskev 7.5 Mattoni 6.5 Poděbradka 5 7UP 16.5 Coca-cola 18 Fanta divoká malina 16.5 Fanta pomeranč 16.5 Fanta lemonic 16.5 rohlík 1.5 toustový chléb 17 chléb 12.5 houska 1.75 banán citron 14 jablko červené 15 jablko zelené 16 mango 37.5 brambory 6.5 okurka

24 9. Vypište ceny zboží v jednotlivých kategoriích (tak aby se neopakovaly) select DISTINCT KAT, CENA from ZBOZ join KAT using (KAT); KAT CENA minvo 13 ovze 44.5 vino 86.5 minvo 10 pec 3.5 ovze 32 vino 65 ovze 17.5 minvo 15 limo 36 ovze 43.5 pivo 11 vino 56 ovze 30 pec 3 ovze 28 pivo 20 pec 25 ovze 75 pivo 15 pivo 12.5 limo 33 pec 34 ovze Dotazy do databáze 24

25 5 - Dotazy do databáze 10. Pro každé zboží vypište název kategorie, do které patří select NAZEV, NAZEVK from ZBOZ join KAT using (KAT); NAZEV 7UP Coca-cola Fanta divoká malina Fanta pomeranč Fanta lemonic Mattoni broskev Mattoni Poděbradka banán citron jablko červené jablko zelené mango brambory okurka rajská jablka rohlík toustový chléb chléb houska Braník Budějovický Budvar Gambrinus světlý Staropramen Frankovka Modrý Portugal Svatovavřinecké NAZEVK limonády limonády limonády limonády limonády minerální vody minerální vody minerální vody ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina pečivo pečivo pečivo pečivo pivo pivo pivo pivo víno víno víno 25

26 5 - Dotazy do databáze 11. Pro každou objednávku vypište název zboží, které bylo objednáno, včetně kódu kategorie select CISO, NAZEV, KAT from ZBOZ join POLOZ using (KOD) join OBJ using (CISO); CISO NAZEV KAT 1 Braník pivo 3 Braník pivo 9 Braník pivo 14 Braník pivo 23 Braník pivo 9 Budějovický Budvar pivo 28 Gambrinus světlý pivo 17 Gambrinus světlý pivo 9 Gambrinus světlý pivo 9 Staropramen pivo 22 Staropramen pivo 20 Staropramen pivo 6 Frankovka vino 14 Frankovka vino 18 Modrý Portugal vino 6 Modrý Portugal vino 26 Modrý Portugal vino 29 Svatovavřinecké vino 6 Svatovavřinecké vino 18 Svatovavřinecké vino 3 Mattoni broskev minvo 16 Mattoni broskev minvo 19 Mattoni minvo 24 Mattoni minvo 1 Mattoni minvo 8 Poděbradka minvo 2 Poděbradka minvo 7 Poděbradka minvo 4 Poděbradka minvo 15 7UP limo 3 7UP limo 12 Coca-cola limo 10 Coca-cola limo 25 Fanta pomeranč limo 22 Fanta pomeranč limo 3 Fanta lemonic limo 20 rohlík pec 21 rohlík pec 1 rohlík pec 2 rohlík pec toustový chléb pec 11 toustový chléb pec 30 toustový chléb pec 8 toustový chléb pec 21 chléb pec 20 chléb pec 13 chléb pec 12 chléb pec 2 chléb pec 30 chléb pec 1 chléb pec 16 houska pec 24 houska pec 21 houska pec 22 banán ovze 4 banán ovze 3 banán ovze 27 citron ovze 3 citron ovze 25 citron ovze 10 jablko červené ovze 3 jablko červené ovze 16 jablko červené ovze 12 jablko červené ovze 2 jablko zelené ovze 15 jablko zelené ovze 3 mango ovze 21 brambory ovze 2 brambory ovze 23 brambory ovze 3 brambory ovze 30 brambory ovze 22 okurka ovze 20 okurka ovze 16 okurka ovze 3 okurka ovze 3 rajská jablka ovze 10 rajská jablka ovze 24 rajská jablka ovze 23 rajská jablka ovze

27 5 - Dotazy do databáze 12. Pro každou objednávku vypište název kategorie, ze které je objednané zboží select CISO, NAZEVK from ZBOZ join POLOZ using (KOD) join OBJ using (CISO) join KAT USING (KAT); CISO NAZEVK 1 pivo 1 minerální vody 1 pečivo 1 pečivo 2 minerální vody 2 pečivo 2 pečivo 2 ovoce, zelenina 2 ovoce, zelenina 3 pivo 3 minerální vody 3 limonády 3 limonády 3 ovoce, zelenina 3 ovoce, zelenina 3 ovoce, zelenina 3 ovoce, zelenina 3 ovoce, zelenina 3 ovoce, zelenina 3 ovoce, zelenina 4 minerální vody 4 ovoce, zelenina 6 víno 6 víno 6 víno 7 minerální vody 8 minerální vody 8 pečivo 9 pivo 9 pivo 9 pivo 9 pivo 10 limonády 10 ovoce, zelenina 10 ovoce, zelenina 11 pečivo 12 limonády 12 pečivo 12 ovoce, zelenina 13 pečivo pivo 14 víno 15 limonády 15 ovoce, zelenina 16 minerální vody 16 pečivo 16 pečivo 16 ovoce, zelenina 16 ovoce, zelenina 17 pivo 18 víno 18 víno 19 minerální vody 20 pivo 20 pečivo 20 pečivo 20 ovoce, zelenina 21 pečivo 21 pečivo 21 pečivo 21 ovoce, zelenina 22 pivo 22 limonády 22 ovoce, zelenina 22 ovoce, zelenina 23 pivo 23 ovoce, zelenina 23 ovoce, zelenina 24 minerální vody 24 pečivo 24 ovoce, zelenina 25 limonády 25 ovoce, zelenina 26 víno 27 ovoce, zelenina 28 pivo 29 víno 30 pečivo 30 pečivo 30 ovoce, zelenina

28 5 - Dotazy do databáze 13. Pro každou kategorii vypište popisy zboží, které do ní patří select KAT, POPISK from ZBOZ join KAT using (KAT); KAT pivo pivo pivo pivo vino vino vino minvo minvo minvo limo limo limo limo limo pec pec pec pec ovze ovze ovze ovze ovze ovze ovze ovze PIPSK piva různých druhů piva různých druhů piva různých druhů piva různých druhů nejrůznější druhy vína nejrůznější druhy vína nejrůznější druhy vína pramenité minerální a stolní vody pramenité minerální a stolní vody pramenité minerální a stolní vody nealkoholické nápoje nejrůznějších příchutí nealkoholické nápoje nejrůznějších příchutí nealkoholické nápoje nejrůznějších příchutí nealkoholické nápoje nejrůznějších příchutí nealkoholické nápoje nejrůznějších příchutí chléb, housky, rohlíky, sladké pečivo atd. chléb, housky, rohlíky, sladké pečivo atd. chléb, housky, rohlíky, sladké pečivo atd. chléb, housky, rohlíky, sladké pečivo atd. něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví něco dobrého pro zdraví 28

29 5 - Dotazy do databáze 14. Pro každou kategorii vypište jména zákazníků, kteří si z ní objednali nějaké zboží select KAT, JMEN, PRIJM from ZBOZ join KAT using (KAT) join POLOZ using (KOD) join OBJ using (CISO); KAT JMEN PRIJM limo Bohuslav Rejholec limo Tomáš Křeč limo Blanka Novotná limo Bohuslav Rejholec limo Zdena Skočdopolová limo Blanka Novotná limo Tomáš Křeč minvo Blanka Novotná minvo Tomáš Křeč minvo Karel Abrahámek minvo Taťána Vencová minvo Tomáš Křeč minvo Bohuslav Rejholec minvo Tomáš Křeč minvo Miluše Straková minvo Tomáš Křeč ovze Blanka Novotná ovze Miluše Straková ovze Tomáš Křeč ovze Blanka Novotná ovze Zdena Skočdopolová ovze Tomáš Křeč ovze Blanka Novotná ovze Blanka Novotná ovze Bohuslav Rejholec ovze Tomáš Křeč ovze Bohuslav Rejholec ovze Tomáš Křeč ovze Tomáš Křeč ovze Jiří Rubek ovze Denisa Janoušková ovze Blanka Novotná ovze Tomáš Křeč ovze Tomáš Křeč ovze Blanka Novotná ovze František Mašín ovze Blanka Novotná ovze Tomáš Křeč ovze Karel Abrahámek ovze Denisa Janoušková 29 ovze Bohuslav Rejholec ovze Tomáš Křeč pec Blanka Novotná pec František Mašín pec Tomáš Křeč pec Tomáš Křeč pec Jiří Rubek pec Blanka Novotná pec Tomáš Křeč pec Bohuslav Rejholec pec Jiří Rubek pec Blanka Novotná pec František Mašín pec Bohuslav Rejholec pec Blanka Novotná pec Tomáš Křeč pec Tomáš Křeč pec Karel Abrahámek pec Blanka Novotná pec Blanka Novotná pivo Denisa Janoušková pivo František Mašín pivo Tomáš Křeč pivo Tomáš Křeč pivo Tomáš Křeč pivo Tomáš Křeč pivo Antonín Novotný pivo František Mašín pivo Tomáš Křeč pivo Blanka Novotná pivo František Mašín pivo Tomáš Křeč vino František Mašín vino Tomáš Křeč vino Miluše Straková vino František Mašín vino Tomáš Křeč vino Bohuslav Rejholec vino František Mašín vino Tomáš Křeč

30 5 - Dotazy do databáze 15. Vypište jména zákazníků, kteří si někdy něco objednali select distinct ZAK.JMEN, ZAK.PRIJM from ZAK join OBJ on (ZAK.LOGIN = OBJ.ZAK) where CISO is not null; JMEN František Zdena Antonín Bohuslav Taťána Tomáš Miluše Karel Blanka Jiří Denisa PRIJM Mašín Skočdopolová Novotný Rejholec Vencová Křeč Straková Abrahámek Novotná Rubek Janoušková 16. Vypište názvy kategorií, ze kterých bylo někdy objednáno nějaké zboží select distinct NAZEVK from KAT join ZBOZ using (KAT) join POLOZ using (KOD); NAZEVK ovoce, zelenina pivo pečivo minerální vody víno limonády 17. Vypište popisy zboží, které si objednal zákazník masin select POPIS from ZBOZ join POLOZ using (KOD) join OBJ using (CISO) join ZAK on (OBJ.ZAK = ZAK.LOGIN) where LOGIN = masin and POPIS is not null; POPIS světlé pivo ve skle světlé pivo ve skle světlé pivo ve skle suché víno suché víno salátová okurka 30

31 5 - Dotazy do databáze 18. Do, které kategorie patří zboží Mattoni? select NAZEVK from KAT join ZBOZ using (KAT) where NAZEV = Mattoni ; NAZEVK minerální vody 19. Vypište jména zákazníků, kteří mají PSČ nebo select JMEN, PRIJM from ZAK where PSC = or PSC = ; JMEN Jiří Zdena Ilja PRIJM Rubek Skočdopolová Novák 20. Vypište kódy a názvy zboží z kategorií pivo a pečivo select KOD, NAZEV from ZBOZ join KAT using (KAT) where NAZEVK = pivo or NAZEVK = pečivo ; KOD NAZEV 1015 rohlík 1016 toustový chléb 1017 chléb 1018 houska 1000 Braník 1001 Budějovický Budvar 1002 Gambrinus světlý 1003 Staropramen 21. Vypište přehled všech zákazníků, kteří nemají PSČ select JMEN, PRIJM from ZAK where PSC <> ; JMEN Antonín Karel Jiří Bohuslav František Blanka Zdena Denisa Miluše Tomáš Ilja PRIJM Novotný Abrahámek Rubek Rejholec Mašín Novotná Skočdopolová Janoušková Straková Křeč Novák 31

32 5 - Dotazy do databáze 22. Vypište názvy zboží z kategorie limonády s cenou vyšší než 33 select NAZEV from ZBOZ join KAT using (KAT) where NAZEVK = limonády and CENA > 33; NAZEV Coca-cola 23. Vypište názvy zboží s jednotkou ks z kategorie ovoce, zelenina a pečivo select NAZEV from ZBOZ join KAT using (KAT) where JEDN = ks and (NAZEVK = ovoce, zelenina or NAZEVK = pečivo ); NAZEV okurka rohlík houska 24. Vypište kódy zboží, které mají cenu pod 30 nebo jsou z kategorie víno s cenou pod 70 select KOD, CENA from ZBOZ join KAT using (KAT) where CENA < 30 or (NAZEVK = víno and CENA < 70); KOD CENA

33 5 - Dotazy do databáze 25. Vypište názvy zboží s cenou v rozmezí select NAZEV, CENA from ZBOZ where CENA between 20 and 30; NAZEV CENA Budějovický Budvar 20 chléb 25 citron 28 jablko červené Vypište názvy zboží z kategorií pivo, vino, dest, limo, minvo select NAZEV from ZBOZ where KAT in ( pivo, vino, dest, limo, minvo ); NAZEV 7UP Braník Budějovický Budvar Coca-cola Fanta divoká malina Fanta lemonic Fanta pomeranč Frankovka Gambrinus světlý Mattoni Mattoni broskev Modrý Portugal Poděbradka Staropramen Svatovavřinecké 33

34 5 - Dotazy do databáze 27. Vypište kódy a názvy zboží, které má popis select KOD, NAZEV from ZBOZ where POPIS is not null; KOD NAZEV 1000 Braník 1001 Budějovický Budvar 1002 Gambrinus světlý 1003 Staropramen 1004 Frankovka 1006 Svatovavřinecké 1007 Mattoni broskev 1008 Mattoni 1009 Poděbradka 1012 Fanta divoká malina 1013 Fanta pomeranč 1014 Fanta lemonic 1021 jablko červené 1022 jablko zelené 1025 okurka 28. V jakých městech bydlí zákazníci s jménem končícím na ová select MEST from ZAK where PRIJM like %ová ; MEST Praha 7 - Bubeneč Praha 4 - Modřany Brno Praha 9 - Kyje 34

35 29. Vypište názvy zboží, jehož cena bude po 10% zvýšení vyšší než 35 select NAZEV, CENA from ZBOZ where CENA*1.1 > 35; NAZEV CENA Frankovka 65 Modrý Portugal 86.5 Svatovavřinecké 56 7UP 33 Coca-cola 36 Fanta divoká malina 33 Fanta pomeranč 33 Fanta lemonic 33 toustový chléb 34 banán 43.5 jablko zelené 32 mango 75 rajská jablka Vypište názvy zboží z kategorie ovoce, zelenina 5 - Dotazy do databáze select NAZEV from ZBOZ join KAT using (KAT) where NAZEVK = ovoce, zelenina ; NAZEV banán citron jablko červené jablko zelené mango brambory okurka rajská jablka 35

36 5 - Dotazy do databáze 31. Vypište názvy zboží, které bylo někdy objednáno select distinct NAZEV from ZBOZ join POLOZ using (KOD); NAZEV Budějovický Budvar Fanta pomeranč Svatovavřinecké Poděbradka Fanta lemonic toustový chléb Staropramen Frankovka Coca-cola citron brambory Gambrinus světlý Modrý Portugal chléb mango Braník rohlík banán jablko červené Mattoni broskev 7UP houska okurka rajská jablka Mattoni jablko zelené 32. Vypište jméno nadřazené kategorie pro kategorii pivo select NADRKAT.NAZEVK from KAT NADRKAT join KAT on (KAT.NADR = NADRKAT.KAT) where KAT.KAT = pivo ; NAZEVK nápoje alkoholické 36

37 5 - Dotazy do databáze 33. Vypište názvy zboží, seřazené abecedně select NAZEV from ZBOZ order by NAZEV; NAZEV banán brambory Braník Budějovický Budvar chléb citron Coca-cola Fanta divoká malina Fanta lemonic Fanta pomeranč Frankovka Gambrinus světlý houska jablko červené jablko zelené mango Mattoni Mattoni broskev Modrý Portugal okurka Poděbradka rajská jablka rohlík Staropramen Svatovavřinecké toustový chléb 7UP 37

38 5 - Dotazy do databáze 34. Vypište příjmení zákazníků, seřazená dle města select PRIJM, MEST from ZAK order by MEST; PRIJM Janoušková Rubek Novotná Novák Skočdopolová Rejholec Vencová Straková Křeč Abrahámek Novotný Mašín MEST Brno Brno - Chrlice Broumov Praha Praha 4 - Modřany Praha 6 - Řepy Praha 7 - Bubeneč Praha 9 - Kyje Trutnov Unhošť Velká Hleďsebe Vyškov 38

39 5 - Dotazy do databáze 35. Vypište zboží, seřazené dle kategorie vzestupně a v rámci kategorie dle ceny sestupně select KAT, CENA, NAZEV from ZBOZ order by KAT asc, CENA desc; KAT CENA NAZEV limo 36 Coca-cola limo 33 Fanta lemonic limo 33 Fanta divoká malina limo 33 7UP limo 33 Fanta pomeranč minvo 15 Mattoni broskev minvo 13 Mattoni minvo 10 Poděbradka ovze 75 mango ovze 44.5 rajská jablka ovze 43.5 banán ovze 32 jablko zelené ovze 30 jablko červené ovze 28 citron ovze 17.5 okurka ovze 13 brambory pec 34 toustový chléb pec 25 chléb pec 3.5 houska pec 3 rohlík pivo 20 Budějovický Budvar pivo 15 Gambrinus světlý pivo 12.5 Staropramen pivo 11 Braník vino 86.5 Modrý Portugal vino 65 Frankovka vino 56 Svatovavřinecké 36. Vypište zoží z kategorie pec, seřazené podle ceny, zvýšené o deset procent select NAZEV, CENA from ZBOZ where KAT = pec order by CENA*1.1; NAZEV CENA rohlík 3 houska 3.5 chléb 25 toustový chléb 34 39

40 5 - Dotazy do databáze 37. Vypište zboží, seřazené dle názvů kategorií, do kterých patří select NAZEVK, NAZEV from ZBOZ join KAT using (KAT) order by NAZEVK; NAZEVK limonády limonády limonády limonády limonády minerální vody minerální vody minerální vody ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina ovoce, zelenina pečivo pečivo pečivo pečivo pivo pivo pivo pivo víno víno víno NAZEV Fanta lemonic Fanta pomeranč Fanta divoká malina Coca-cola 7UP Mattoni broskev Mattoni Poděbradka mango jablko zelené jablko červené citron banán brambory rajská jablka okurka rohlík toustový chléb chléb houska Braník Budějovický Budvar Staropramen Gambrinus světlý Frankovka Modrý Portugal Svatovavřinecké 38. Vypište maximální a minimální cenu zboží select max (CENA), min (CENA) from ZBOZ; MAX(CENA) MIN(CENA)

41 39. Vypište celkový počet objednávek a celkovou sumu cen na objednávkách 5 - Dotazy do databáze select count(distinct CISO), sum (VCENA) from OBJ left join POLOZ using (CISO); COUNT(DISTINCT CISO) SUM(VCENA) Vypište průměrnou cenu zboží select avg (CENA) from ZBOZ; AVG(CENA) Zjistěte počet kategorií zboží select count(*) from KAT; COUNT(*) Zjistěte průměrnou cenu zboží v jednotlivých kategoriích select KAT, avg (CENA) from ZBOZ group by KAT; KAT AVG(CENA) limo 33.6 minvo ovze pec pivo vino

42 5 - Dotazy do databáze 43. Zjistěte počet zboží v kategorii a celkovou cenu po 10% zvýšení select NAZEVK, count(kod), sum(cena*1.1) from ZBOZ right join KAT using (KAT) group by NAZEVK; NAZEVK COUNT(KOD) SUM(CENA*1.1) ovoce, zelenina destiláty 0 pivo pečivo nápoje alkoholické 0 nápoje nealkoholické 0 víno minerální vody limonády nápoje Zjistěte, kolik zboží ma cenu vyšší než 50 select count(*) from ZBOZ where CENA > 50; COUNT(*) Zjistěte maximální cenu v kategorii pivo select max (CENA) from ZBOZ where KAT = pivo ; MAX(CENA) Zjistěte průměrnou cenu zboží v kategorii limo select avg (CENA) from ZBOZ where KAT = limo ; AVG(CENA) Kolik je zákazníků se jménem začínajícím na B select count(*) from ZAK where JMEN like B% ; COUNT(*) 2 42

43 5 - Dotazy do databáze 48. Zjistěte, kolik zboží je v kategorii pec a jaká je minimální cena v této kategorii select count(*), min(cena) from ZBOZ where KAT = pec ; COUNT(*) MIN(CENA) Zjistěte počet zboží, měřeného v kg v kategorii ovze select count(*) from ZBOZ where KAT = ovze and JEDN = kg ; COUNT(*) Zjistěte počet objednávek zákazníka krec select count(*) from OBJ where ZAK = krec ; COUNT(*) Pro každou kategorii vypište počet zboží, měřeného v jednotlivých jednotkách select KAT, JEDN, count(*) from ZBOZ group by KAT, JEDN; KAT JEDN COUNT(*) ovze kg 7 ovze ks 1 pec ks 2 vino láhev 0,75 l 3 pec kg 2 pivo láhev 0,5 l 4 minvo láhev 1,5 l 3 limo láhev 2 l 5 43

44 5 - Dotazy do databáze 52. Pro každou kategorii vypište maximální cenu, kategorie seřaďte podle maximální ceny vzestpuně select KAT, max (CENA) as MAXCENA from ZBOZ group by KAT order by MAXCENA; KAT MAX(CENA) minvo 15 pivo 20 pec 34 limo 36 ovze 75 vino Zjistěte počet zboží s cenou nad 30 v každé kategorii, seřaďte podle poču vzestupně select KAT, count (*) as POCET from ZBOZ where CENA > 30 group by KAT order by POCET; KAT POČET pec 1 vino 3 ovze 4 limo Pro každou kategorii vypište název nadřazené kategorie select KAT.NAZEVK, NADR.NAZEVK as NADRAZENA from KAT left join KAT NADR on (KAT.NADR = NADR.KAT); NAZEVK nápoje nealkoholické nápoje alkoholické destiláty víno pivo limonády minerální vody ovoce, zelenina pečivo nápoje NADRAZENA nápoje nápoje nápoje alkoholické nápoje alkoholické nápoje alkoholické nápoje nealkoholické nápoje nealkoholické 44

45 5 - Dotazy do databáze 55. Vypište názvy zboží se stejnou cenou jako Fanta pomeranč select NAZEV, CENA from ZBOZ where CENA = (select CENA from ZBOZ where NAZEV = Fanta pomeranč ); NAZEV CENA 7UP 33 Fanta divoká malina 33 Fanta pomeranč 33 Fanta lemonic Vypište jména zákazníků, kteří si nikdy nic neobjednali. select ZAK.JMEN, ZAK.PRIJM from ZAK left join OBJ on (ZAK.LOGIN = OBJ.ZAK) where OBJ.ZAK is null; JMEN Ilja PRIJM Novák 57. Vypište zboží, které nebylo nikdy objednáno. select NAZEV from ZBOZ left join POLOZ using (KOD) where POLOZ.CISO is null; NAZEV Fanta divoká malina 45

46 6 Závěr 6 - Závěr Cíl práce, tedy vytvořit výukovou databázi s použitelnými vzorovými daty, se podařilo naplnit. Dokázat to lze na sadě výukových dotazů, které dávají smysluplné výstupy. V průběhu práce byl upraven model, vycházející z ideje v zadání a na základě jeho definitivní verze byla vytvořena cvičná databáze. Ta pak byla naplněna cvičnými daty tak, aby na nich bylo možno realizovat dotazy umožňující procvičování různých typů konstruktů v jazyce SQL. Výsledkem práce je hotová a funkční databáze naplněná cvičnými daty a sada zadání dotazů do této databáze, na kterých studenti mohou procvičovat své znalosti dotazovacího jazyka SQL. Součástí práce jsou i přehledné tabulky se správnými výstupy ke každému dotazu. Díky nim je možné při procvičování snadno zkontrolovat správnost příslušného dotazu. 46

47 Zdroje Zdroje HERNANDEZ, M. J. Návrh databází. Praha: Grada, ISBN Dokumentace k Oracle [on-line]. [2009]. Dostupný z WWW: < index.htm> SQL tutorial [on-line]. [2009]. Dostupný z WWW: < Three schema approach [on-line]. [2009]. Dostupný z WWW: < Three_schema_approach> 47

48 Terminologický slovník Terminologický slovník P3A SQL (Structured Query Language) Princip tří architektur Standardizovaný strukturovaný jazyk používaný pro definici a manipulaci s daty v relačních databázích 48

49 Přílohy Přílohy Skripty použité pro vytvoření tabulek databáze create table KAT ( KAT VARCHAR2(5) not null, NADR VARCHAR2(5), NAZEVK POPISK VARCHAR2(100) not null, CLOB, constraint PK_KAT primary key (KAT), constraint AK_NAZ_KAT unique (NAZEVK) ); create index razena_fk on KAT ( NADR ASC ); 49

50 Přílohy create table OBJ ( CISO INTEGER ZAK VARCHAR2(30) not null, not null, DAT_OB DATE not null, DAT_OD DATE, STAV CHAR(1) default p not null constraint CKC_STAV_OBJ check (STAV in ( p, v, o )), PLAT SMALLINT not null constraint CKC_PLAT_OBJ check (PLAT in (1,2,3)), DOPR SMALLINT not null constraint CKC_DOPR_OBJ check (DOPR in (1,2,3,4)), JMEN VARCHAR2(50) not null, PRIJM VARCHAR2(50) not null, ULIC VARCHAR2(100) not null, PSC CHAR(5) not null, MEST VARCHAR2(100) not null, POZN CLOB, constraint PK_OBJ primary key (CISO) ); create index od_koho_fk on OBJ ( ZAK ASC ); create table POLOZ ( CISO INTEGER KOD VARCHAR2(10) MNOZ FLOAT not null, not null, not null, VCENA NUMBER(8,2) not null, constraint PK_POLOZ primary key (CISO, KOD) ); 50

51 Přílohy create index POLOZ_FK on POLOZ ( CISO ASC ); create index POLOZ2_FK on POLOZ ( KOD ASC ); create table ZAK ( LOGIN VARCHAR2(30) not null, JMEN VARCHAR2(50) not null, PRIJM VARCHAR2(50) not null, ULIC VARCHAR2(100) not null, PSC CHAR(5) not null, MEST VARCHAR2(100) not null, VARCHAR2(100) not null, constraint PK_ZAK primary key (LOGIN) ); create table ZBOZ ( KOD VARCHAR2(10) KAT VARCHAR2(5) not null, not null, NAZEV POPIS VARCHAR2(100) not null, CLOB, JEDN VARCHAR2(20), CENA NUMBER(8,2) not null, SKLAD FLOAT not null, DOSTUP AKTIV SMALLINT not null, SMALLINT not null, constraint PK_ZBOZ primary key (KOD), constraint AK_NAZ_ZB_ZBOZ unique (NAZEV) ); 51

52 Přílohy create index zaraz_fk on ZBOZ ( KAT ASC ); alter table KAT add constraint FK_KAT_RAZENA_KAT foreign key (NADR) references KAT (KAT); alter table OBJ add constraint FK_OBJ_OD_KOHO_ZAK foreign key (ZAK) references ZAK (LOGIN); alter table POLOZ add constraint FK_POLOZ_POLOZ_OBJ foreign key (CISO) references OBJ (CISO); alter table POLOZ add constraint FK_POLOZ_POLOZ2_ZBOZ foreign key (KOD) references ZBOZ (KOD); alter table ZBOZ add constraint FK_ZBOZ_ZARAZ_KAT foreign key (KAT) references KAT (KAT); 52

53 Skripty použité pro vytvoření kategorií zboží Přílohy insert into KAT values( nap, null, nápoje, zboží, které lze pít ); insert into KAT values( napal, nap, nápoje alkoholické, alkohol ); insert into KAT values( pivo, napal, pivo, piva různých druhů ); insert into KAT values( vino, napal, víno, nejrůznější druhy vína ); insert into KAT values( dest, napal, destiláty, tvrdý alkohol ); insert into KAT values( napna, nap, nápoje nealkoholické, nápoje, které neobsahují alkohol ); insert into KAT values( minvo, napna, minerální vody, pramenité minerální a stolní vody ); insert into KAT values( limo, napna, limonády, nealkoholické nápoje nejrůznějších příchutí ); insert into KAT values( pec, null, pečivo, chléb, housky, rohlíky, sladké pečivo atd. ); insert into KAT values( ovze, null, ovoce, zelenina, něco dobrého pro zdraví ); 53

54 Skripty použité pro vytvoření zboží Přílohy insert into ZBOZ values(1000, pivo, Braník, světlé pivo ve skle, láhev 0,5 l, 11, 100, 0, 1); insert into ZBOZ values(1001, pivo, Budějovický Budvar, světlý ležák ve skle, láhev 0,5 l, 20, 250, 0, 1); insert into ZBOZ values(1002, pivo, Gambrinus světlý, světlé pivo ve skle, láhev 0,5 l, 15, 200, 0, 1); insert into ZBOZ values(1003, pivo, Staropramen, světlé pivo ve skle, láhev 0,5 l, 12.5, 0, 1, 1); insert into ZBOZ values(1004, vino, Frankovka, suché víno, láhev 0,75 l, 65, 10, 0, 1); insert into ZBOZ values(1005, vino, Modrý Portugal, null, láhev 0,75 l, 86.5, 1, 0, 1); insert into ZBOZ values(1006, vino, Svatovavřinecké, suché víno, láhev 0,75 l, 56, 0, 3, 1); insert into ZBOZ values(1007, minvo, Mattoni broskev, minerální voda s příchutí broskve, láhev 1,5 l, 15, 20, 0, 1); insert into ZBOZ values(1008, minvo, Mattoni, minerální voda bez příchuti, láhev 1,5 l, 13, 120, 0, 1); insert into ZBOZ values(1009, minvo, Poděbradka, minerální voda bez příchuti, láhev 1,5 l, 10, 82, 0, 1); insert into ZBOZ values(1010, limo, 7UP, null, láhev 2 l, 33, 30, 0, 1); insert into ZBOZ values(1011, limo, Coca-cola, null, láhev 2 l, 36, 80, 0, 1); insert into ZBOZ values(1012, limo, Fanta divoká malina, limonáda s příchutí divoké maliny, láhev 2 l, 33, 20, 0, 1); insert into ZBOZ values(1013, limo, Fanta pomeranč, limonáda s příchutí pomeranče, láhev 2 l, 33, 42, 0, 1); insert into ZBOZ values(1014, limo, Fanta lemonic, limonáda s příchutí lemonic, láhev 2 l, 33, 0, 0, 0); insert into ZBOZ values(1015, pec, rohlík, null, ks, 3, 150, 0, 1); insert into ZBOZ values(1016, pec, toustový chléb, null, kg, 34, 20, 0, 1); 54

55 insert into ZBOZ values(1017, pec, chléb, null, kg, 25, 15, 0, 1); insert into ZBOZ values(1018, pec, houska, null, ks, 3.5, 110, 0, 1); Přílohy insert into ZBOZ values(1019, ovze, banán, null, kg, 43.5, 20, 0, 1); insert into ZBOZ values(1020, ovze, citron, null, kg, 28, 2, 0, 1); insert into ZBOZ values(1021, ovze, jablko červené, červené jablko, kg, 30, 10, 0, 1); insert into ZBOZ values(1022, ovze, jablko zelené, zelené jablko, kg, 32, 5, 0, 1); insert into ZBOZ values(1023, ovze, mango, null, kg, 75, 0, 0, 0); insert into ZBOZ values(1024, ovze, brambory, null, kg, 13, 25, 0, 1); insert into ZBOZ values(1025, ovze, okurka, salátová okurka, ks, 17.5, 0, 1, 1); insert into ZBOZ values(1026, ovze, rajská jablka, null, kg, 44.5, 2, 0, 1); 55

56 Skripty použité pro vytvoření zákazníků Přílohy insert into ZAK values ( novotny, Antonín, Novotný, Havlíčkova 139, 35103, Velká Hleďsebe, nov.ant@seznam.cz ); insert into ZAK values ( abraham, Karel, Abrahámek, Smetanova 70, 27351, Unhošť, abraham@centrum.cz ); insert into ZAK values ( rubek, Jiří, Rubek, Janošíkova 709, 64300, Brno - Chrlice, rubi@seznam.cz ); insert into ZAK values ( bohus, Bohuslav, Rejholec, Laudova 1014, 16300, Praha 6 - Řepy, rejholec@gmail.com ); insert into ZAK values ( masin, František, Mašín, Puškinova 591, 68201, Vyškov, franta.masin@seznam.cz ); insert into ZAK values ( novota, Blanka, Novotná, Mírové náměstí 55, 55001, Broumov, novota@atlas.cz ); insert into ZAK values ( vencka, Taťána, Vencová, Ovenecká 953, 17000, Praha 7 - Bubeneč, vencova@centrum.cz ); insert into ZAK values ( skocka, Zdena, Skočdopolová, Vokrojova 3378, 14300, Praha 4 - Modřany, skocdopolova@ce ntrum.cz ); insert into ZAK values ( janouskova, Denisa, Janoušková, Dvořákova 645, 60200, Brno, xjand05@vse.cz ); insert into ZAK values ( strakova, Miluše, Straková, Žehuňská 843, 19800, Praha 9 - Kyje, strakova.miluse@sezn am.cz ); insert into ZAK values ( krec, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, krecek@seznam.cz ); insert into ZAK values ( ilja, Ilja, Novák, Vokrojova 3384, 14300, Praha, ilja-novak@seznam.cz ); 56

57 Skripty použité pro vytvoření objednávek Přílohy insert into OBJ values (1, krec, , , o, 2, 3, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (2, krec, , , o, 1, 1, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (3, krec, , , o, 1, 2, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (4, strakova, , , o, 1, 2, Miluše, Straková, Žehuňská 843, 19800, Praha 9 - Kyje, null); insert into OBJ values (5, krec, , , o, 2, 3, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (6, krec, , , o, 1, 2, Tomáš, Křeč, Pražská 4, 54101, Trutnov, zásilku mi prosím dodejte v dopoledních hodinách ); insert into OBJ values (7, krec, , , o, 2, 3, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (8, bohus, , , o, 2, 2, Bohuslav, Rejholec, Laudova 1014, 16300, Praha 6 - Řepy, null); insert into OBJ values (9, krec, , , o, 1, 1, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (10, bohus, , , o, 2, 1, Bohuslav, Rejholec, Laudova 1014, 16300, Praha 6 - Řepy, null); insert into OBJ values (11, krec, , , o, 1, 1, Tomáš, Křeč, M. Pujmannové 286, 54101, Trutnov, null); insert into OBJ values (12, novota, , , o, 3, 4, Blanka, Novotná, Mírové náměstí 55, 55001, Broumov, null); 57

58 Přílohy insert into OBJ values (13, bohus, , , o, 3, 3, Bohuslav, Rejholec, Laudova 1014, 16300, Praha 6 - Řepy, null); insert into OBJ values (14, masin, , , o, 1, 4, František, Mašín, Puškinova 591, 68201, Vyškov, null); insert into OBJ values (15, bohus, , , o, 2, 2, Bohuslav, Rejholec, Laudova 1014, 16300, Praha 6 - Řepy, null); insert into OBJ values (16, novota, , , o, 1, 2, Blanka, Novotná, mírové náměstí 55, 55001, Broumov, Prosím o dodání ve večerních hodinách ); insert into OBJ values (17, masin, , , o, 3, 3, František, Mašín, Puškinova 591, 68201, Vyškov, null); insert into OBJ values (18, masin, , , o, 3, 4, František, Mašín, Puškinova 591, 68201, Vyškov, null); insert into OBJ values (19, vencka, , , o, 3, 3, Taťána, Vencová, Ovenecká 953, 17000, Praha 7, null); insert into OBJ values (20, masin, , , o, 1, 1, František, Mašín, Puškinova 591, 68201, Vyškov, null); insert into OBJ values (21, novota, , , o, 1, 4, Blanka, Novotná, Mírové náměstí 55, 55001, Broumov, null); insert into OBJ values (22, novota, , , o, 2, 2, Blanka, Novotná, Mírové náměstí 55, 55001, Broumov, null); insert into OBJ values (23, janouskova, , , o, 2, 1, Denisa, Janoušková, Dvořákova 645, 60200, Brno, null); insert into OBJ values (24, abraham, , , o, 3, 3, Karel, Abrahámek, Smetanova 70, 27351, Unhošť, null); insert into OBJ values (25, skocka, , , o, 1, 4, Zdena, Skočdopolová, Vokrojova 3378, 14300, Praha 4 - Modřany, null); 58

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

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

Ú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

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

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

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

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

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

Více

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

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

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

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

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

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

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

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

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

Ú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

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

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

Ú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

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

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

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

Více

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

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

MS Access Dotazy SQL

MS Access Dotazy SQL MS Access Dotazy SQL Dotaz SELECT opakování ŘEŠENÍ Michal Nykl Materiály pro cvičení KIV/ZIS 2012 Červeně značené výsledky odpovídají souboru cv6_testovacidb-pekarna150412.accdb Pro některé z otázek lze

Více

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

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

Více

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

Použití databází na Webu

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

Více

Databázové systémy úvod

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

Více

Ú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

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

4IT218 Databáze. 4IT218 Databáze

4IT218 Databáze. 4IT218 Databáze 4IT218 Databáze Osmá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Osmá přednáška Normalizace dat - dokončení Transakce v databázovém zpracování Program přednášek

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

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

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

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

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

Více

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

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

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

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

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

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

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

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

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

Datové modelování II

Datové modelování II Datové modelování II Atributy Převod DM do schématu SŘBD Dotazovací jazyk SQL Multidimenzionální modelování Principy Doc. Miniberger, BIVŠ Atributy Atributem entity budeme rozumět název záznamu či informace,

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

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

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

Více

Základy informatiky. 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

- 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

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

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

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

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

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

Více

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

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Databázové systémy trocha teorie

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

Více

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

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

Databázové systémy a SQL

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

Více

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

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

Databázové a informační systémy Jana Šarmanová Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat

Více

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

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

Více

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

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

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

Více

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

Databázové modelování. Analýza Návrh konceptuálního schématu

Databázové modelování. Analýza Návrh konceptuálního schématu Databázové modelování Analýza Návrh konceptuálního schématu 1 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2 Proč modelovat/analyzovat? Standardizované

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

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

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

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

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

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

Architektury databázových

Architektury databázových Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce na Architektury databázových systémů Matěj Trakal Poslední úprava: 8. listopadu 2010 INADS 2010 (Žák) OBSAH Obsah 1 Zadání 2

Více

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

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

Více

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

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

DBS Transformace konceptuálního schématu na

DBS Transformace konceptuálního schématu na DBS Transformace konceptuálního schématu na relační 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

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

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

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

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod 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/ Michal

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

Michal Krátký, Miroslav Beneš

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

Více

Jazyk PL/SQL Úvod, blok

Jazyk PL/SQL Úvod, blok Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových

Více

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

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

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

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

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

4IT218 Databáze. 4IT218 Databáze

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

Více

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

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

Databáze I. Přednáška 6 Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC

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

Ú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í 1 Ing. Petr Lukáš petr.lukas@vsb.cz

Více