Materiál ke cvičením - SQL

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

Download "Materiál ke cvičením - SQL"

Transkript

1 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 [ALL DISTINCT] {* {název sloupce výraz } [AS název] [,název sloupce [AS název],...] } FROM klausule [WHERE klausule] [GROUP BY klausule] [HAVING klausule] [ORDER BY klausule] FROM: název tabulky resp. view (tabulek) pro výběr klausule = {název-relace [alias-název]} [,..] WHERE: jedna či více výběrových podmínek spojených logickými operátory AND resp. OR : klausule = výraz1 relační-operátor výraz2 test (ne)rovnosti hodnoty výrazu1 a výrazu2 = výraz1 [NOT] BETWEEN výraz2 AND výraz3 test na interval vymezený hodnotami výrazů 2 a 3 = název-sloupce IS [NOT] NULL test na (ne)určenou hodnotu = název-atributu [NOT] LIKE "řetězec" [ESCAPE "znak"] test (ne)existence řetězce = výraz [NOT] IN {výčet-hodnot vnořený příkaz SELECT} test (ne)rovnosti výrazu s hodnotami z výčtu-hodnot či hodnotami vrácenými vnořeným příkazem SELECT, hodnoty ve výčtu oddělit čárkou, znakové hodnoty uvést v apostrofech - GROUP BY: určení skupiny a případné výběrové podmínky pro skupinu klausule = výčet-sloupců [HAVING výběrová podmínka] - ORDER BY: určení kritéria pro řazení řádků výstupní tabulky klausule = {{výčet-sloupců poř.číslo} [ASC DESC]} [,...] Agregační funkce - odvození agregovaných hodnot: AVG ([DISTINCT] x) průměr hodnot výrazu x MAX ([DISTINCT] x) maximální hodnota výrazu x MIN ([DISTINCT] x) miminální hodnota výrazu x SUM ([DISTINCT] x) součet hodnot výrazu x COUNT (DISTINCT x) počet různých hodnot atributu x COUNT(*) počet všech hodnot klausule DISTINCT eliminuje před odvozením duplicitní hodnoty výrazu x KIT VŠE 1

2 Syntaxe vnořených příkazů SELECT:...WHERE výraz [NOT] IN (vnořený SELECT příkaz)...where [NOT] EXISTS (vnořený SELECT příkaz)...where výraz operátor {ALL ANY SOME} (vnořený SELECT příkaz) Syntaxe příkazu SELECT pro sjednocení (UNION): SELECT příkaz UNION [ALL] SELECT příkaz... ORDER BY celé číslo [ASC DESC] INSERT vložení nového řádku do definované tabulky: INSERT INTO název-tabulky [(výčet-sloupců)] {{VALUES (výčet-hodnot)} SELECTpříkaz} UPDATE aktualizace hodnot v řádcích: UPDATE název-tabulky SET název-sloupce = výraz [,...] [WHERE klausule] 1) 1) viz klausule Where v popisu syntaxe SELECT příkazu DELETE zrušení řádků v tabulce: DELETE FROM název-tabulky [WHERE klausule] CREATE TABLE definice struktury tabulky: CREATE TABLE název-tabulky ({název-sloupce datový-typ [NOT NULL [UNIQUE] ] }[,...]) Přípustné datové typy v databázovém systému ORACLE: CHAR (n) Řetězec znaků o pevné délce n VARCHAR2(n) Řetězec znaků o proměnlivé délce. Maximální délka je n. NUMBER(m,n) LONG DATE RAW (n) LONGRAW ROWID Číslo s m číslicemi celkem a n číslicemi po desetinné tečce Řetězec znaků proměnné délky Údaj pevné délky obsahující datum a čas Binární data proměnné délky se zadanou maximální délkou a, vážící se k jednomu řádku tabulky Binární data proměnné délky vážící se k jednomu řádku tabulky (bez deklarace omezení délky) Binární údaj představující adresu řádku Mapování datových typů databázového systému ORACLE na datové typy definované ANSI ANSI CHARACTER (n), CHAR (n) NUMERIC(m,n), DECIMAL(m,n), DEC(m,n) INTEGER, INT, SMALLINT FLOAT(n), REAL, DOUBLE PRECISION CHARACTER VARYING(n), CHAR VARYING(n) ORACLE CHAR (n) NUMBER(m,n) NUMBER(38) NUMBER VARCHAR2(n) KIT VŠE 2

3 ALTER TABLE změna struktury tabulky (přidání či zrušení sloupce) ALTER TABLE název-tabulky {ADD COLUMN název-sloupce datový_typ [NOT NULL [UNIQUE]] DROP COLUMN název-sloupce} DROP TABLE zrušení tabulky: DROP TABLE název-tabulky GRANT přidělení přístupového práva pro práci s tabulkou: GRANT {ALL [PRIVILEGES] {SELECT INSERT DELETE {UPDATE [(výčet-sloupců)]} }[,..]} ON název-tabulky TO {výčet-uživatelů PUBLIC} [WITH GRANT OPTION] REVOKE odejmutí přístupového práva pro práci s tabulkou: REVOKE {ALL [PRIVILEGES] {SELECT INSERT DELETE {UPDATE [(výčetsloupců)]} }[,..]} ON název-tabulky FROM {výčet-uživatelů PUBLIC} CREATE INDEX definice indexu: CREATE [UNIQUE] INDEX název-indexu ON název-tabulky (výčet-sloupců) DROP INDEX zrušení indexu DROP INDEX název-indexu 2. Způsob přihlášení V Menu na ploše složka ORACLE / Oracle - OraHome92/ Application Development /program Worksheet Uživatelské jméno: heslo: Service: student sql oracle9 KIT VŠE 3

4 3. Zadání příkladů k procvičení jazyka : Provádějte "simulaci" zadávaných dotazů. Zobrazený výsledek každého dotazu porovnejte s výsledkem, který si sami odvodíte z výpisu obsahu cvičné databáze v tomto materiálu. Jen tak se přesvědčíte, že jste dotaz formulovali správně! Select* from zam; Select* from oddel; Select distinct titul from zam; select distinct os_cis, 'pan/paní', titul, jmeno from zam; 1. Zjistěte, zda obsah všech definovaných tabulek koresponduje s předloženým výpisem. Případné odchylky si ve výpisu opravte. 2. Provedťe kartézský součin tabulek zaměstnanců a úkolů (nemá vypovídací schopnost). Zjistěte: 4. Jména a funkce všech zaměstnanců. 5. Názvy oddělení dané firmy. 6. Popisy všech uložených úkolů. 7. V jakých možných funkcích pracují zaměstnanci dané firmy (vypište tak, aby se funkce ve výpisu neopakovaly). 8. Jaké se vyskytují tituly zaměstnanců (vyypište tak, aby se tituly ve výpisu neopakovaly). 9. Pro každého zaměstnance měsíční a roční výši platu. 1. Výši platu každého zaměstnance v případě odměny ve výši 6,- 11. Pro každého zaměstnance stávající výši platu a výši platu v případě 2% valorizace. 12. Vypište obsah tabulky zaměstnanců tak, aby měl následující formu: Pan TITUL JMENO pracuje v oddělení č.cislo ODDELENI 13. Pro všechny zaměstnance výši denní mzdy (počítejte s 22 pracovními dny). 14. Výši ročního platu každého ze zaměstnanců, v případě, že dostane každý měsíc valorizaci 1,- Kčs. 15. Výši ročního platu každého ze zaměstnanců, v případě, že dostane 13. plat ve výši 5,- Kčs. 16. Platy vyplácené v jednotlivých odděleních (tak, aby se ve výpisu neopakovaly). Select distinct plat, cis_odd from zam order by cis_odd; 17. Pro každého zaměstnance název oddělení, ve kterém pracuje. Select os_cis, jmeno, oddel.nazev from zam, oddel where zam.cis_odd=oddel.cis_odd; 18. Pro každý úkol jméno zaměstnance jemuž byl uložen včetně čísla oddělení. Select ukoly.popis, zam.jmeno, zam.cis_odd from ukoly, zam where zam.os_cis=ukoly.os_cis; 19. Pro každé oddělení jméno jeho vedoucího (šéfa). Select oddel.nazev, zam.jmeno from zam, oddel where oddel.sef=zam.os_cis;-blbe Select oddel.nazev, zam.jmeno, zam.cisl from oddel left outer join zam on where oddel.sef=zam.os_cis; 2. Pro každý úkol název oddělení, jehož zaměstnanci byl zadán. Select popis, nazev from ukoly, oddel,zam where ((ukoly.os_cis=zam.os_cis) and (zam.cis_odd=oddel.cis_odd)); 21. Pro každého zaměstnance popisy úkolů které mu byly zadány. Select zam.jmeno, ukoly.popis from zam, ukoly where zam.os_cis=ukoly.os_cis; 22. Pro každé oddělení (název) popisy úkolů které byly uloženy jeho zaměstnancům. Select oddel.nazev,ukoly.popis from oddel,ukoly,zam where oddel.cis_odd=zam.cis_odd and zam.os_cis=ukoly.os_cis; KIT VŠE 4

5 Select oddel.cis_odd, nazev, popis From oddel, (Select zam.os_cis, zam.cis_odd, popis From zam, ukoly Where zam.os_cis=ukoly.os_cis) prac Where oddel.cis_odd=prac.cis_odd (+); Select oddel.cis_odd, nazev, popis From oddel left outer Join (select zam.os_cis, zam.cis_odd, popis from zam, ukoly where zam.os_cis=ukoly.os.cis) prac on oddel.cis_odd=prac.cis_odd; 23. Pro každý uložený úkol jméno zaměstnance, jemuž byl uložen a název oddělení, ve kterém pracuje. Select oddel.nazev,ukoly.popis from oddel,ukoly,zam where oddel.cis_odd=zam.cis_odd and zam.os_cis=ukoly.os_cis; 24. Jména zaměstnanců, kteří mají uložený nějaký úkol. Select zam.jmeno,ukoly.popis from zam,ukoly where zam.os_cis=ukoly.os_cis; 25. Názvy oddělení, do kterých byl přidělen nějaký úkol. Select oddel.nazev, 'který úkol přidělen', ukoly.popis from oddel,zam,ukoly where zam.cis_odd=oddel.cis_odd and ukoly.os_cis=zam.os_cis; 26. Popisy úkolů, které byly přiděleny pracovníkovi č.1. Select ukoly.popis,zam.jmeno from ukoly,zam where ukoly.os_cis=1 and zam.os_cis=ukoly.os_cis; 27. V kterém oddělení (číslo) a jako co (funkce) pracuje STRNAD. Select zam.cis_odd, oddel.nazev, zam.fce from zam, oddel where zam.jmeno='strnad' and zam.cis_odd=oddel.cis_odd; 28. Jména zaměstnanců, kteří zastávají funkci BOSS nebo REDITEL. Select zam.jmeno from zam where zam.fce='boss' or zam.fce='reditel'; 29. Čísla a jména zaměstnanců z 2. a 4. oddělení. select zam.os_cis, zam.jmeno from zam where zam.cis_odd = 2 or zam.cis_odd = 4; 3. Přehled všech zaměstnanců, kteří nezastávají funkci BOSS. select jmeno from zam where fce not like 'BOSS'; 31. Jména zaměstnanců ze 3. oddělení s platem nad 6,-. select jmeno from zam where cis_odd = 3 and plat > 6; 32. Jména zaměstnanců s titulem ING z 2 a 6 oddělení. select jmeno from zam where (cis_odd = 2 or cis_odd = 6) and titul like 'ING'; 33. Čísla a jména zaměstnanců, kteří mají plat pod 72,- resp. zastávají funkci BOSS a mají plat pod 9. select zam.os_cis, zam.jmeno from zam where zam.plat < 72 or (zam.fce = 'BOSS' and zam.plat <9); 34. Jména a funkce zaměstnanců s platem v rozmezí 9-12,- Kčs. select zam.jmeno, zam.fce from zam where zam.plat between 9 and 12; 35. Jména zaměstnanců z oddělení 2,3,4,5,6,7. Select jmeno, cis_odd from zam where cis_odd between 2 and 7; 36. Jména zaměstnanců z oddělení 2,4,6,8,1. Select jmeno, cis_odd from zam where cis_odd in (2,4,6,8,1); 37. Jména zaměstnanců zastávajících funkci MATEMATIK, TECHNIK, PROJEKTANT nebo SEF TECHNIK. select zam.jmeno from zam where zam.fce = 'MATEMATIK' OR zam.fce = 'TECHNIK' OR zam.fce = 'PROJEKTANT' OR zam.fce = 'SEF TECHNIK'; 38. Jména a platy zaměstnanců, kteří mají titul. KIT VŠE 5

6 select zam.jmeno, zam.plat from zam where zam.titul is not null; 39. Jakou funkci zastávají zaměstnanci s příjmením končícím na -OVA. select zam.fce from zam where zam.jmeno like '%OVA'; 4. Čísla pracovníků, kterým byl přidělen nějaký úkol související s programem. Select zam.os_cis, zam.jmeno, ukoly.popis from zam, ukoly where ukoly.os_cis=zam.os_cis and ukoly.popis like '%PROGRAM%'; 41. Jména zaměstnanců, jejichž roční plat bude po 1% valorizaci vyšší než 9,-. Select zam.jmeno from zam where zam.plat*1.1>9; 42. Jména zaměstnanců z oddělení PROJEKCE. Select zam.jmeno from zam, oddel where zam.cis_odd=oddel.cis_odd and oddel.nazev='projekce'; 43. Popisy úkolů, které byly přiděleny zaměstnancům s titulem. Select ukoly.popis from zam, ukoly where ukoly.os_cis=zam.os_cis and zam.titul is not null; 44. Jména zaměstnanců z oddělení PROGRAMOVANI, kterým byl přidělen nějaký úkol. Select zam.jmeno from ukoly, oddel, zam where zam.cis_odd=oddel.cis_odd and oddel.nazev='programovani' and zam.os_cis=ukoly.os_cis and ukoly.os_cis is not null; 45. Jméno vedoucího oddělení PROVOZ POCITACE. Select distinct zam.os_cis, zam.jmeno from ukoly, oddel, zam where oddel.nazev='provoz POCITACE' and oddel.sef=zam.os_cis; Pořiďte přehled: 46. Zaměstnanců seřazených abecedně podle jména. Select zam.jmeno from zam order by jmeno; 47. Zaměstnanců (osobní číslo, jméno, titul) seřazených dle titulů. Select zam.os_cis, zam.jmeno, zam.titul from zam order by titul; 48. Zaměstnanců (číslo oddělení, plat, jméno) seřazený podle oddělení vzestupně a v rámci oddělení dle platu sestupně. Select zam.cis_odd, zam.plat, zam.jmeno from zam order by cis_odd asc, zam.plat desc; 49. Zaměstnanců (jméno, plat po 1% valorizaci) z 3. oddělení seřazený podle valorizovaného platu sestupně. Select zam.jmeno, zam.plat*1.1 from zam where zam.cis_odd=3 order by plat*1.1 desc; 5. Úkolů (číslo úkolu, popis, jméno zaměstnance) seřazený dle názvů oddělení do kterých byly přiděleny. Select ukoly.cis_uk, ukoly.popis, zam.jmeno from ukoly, oddel, zam where zam.os_cis=ukoly.os_cis and zam.cis_odd=oddel.cis_odd order by oddel.nazev; 51. Maximální a minimální výši platu. Select min(plat), max(plat) from zam; 52. Celkový počet zaměstnanců a celkovou částku vyplácenou na platech měsíčně a ročně. Select count(*), sum (plat)*12 from zam; 53. Průměrný měsíční a roční plat na jednoho zaměstnance. Select avg(plat), 12*avg(plat) from zam; 54. Počet oddělení (pokuste se jednou zjistit z tabulky oddělení, po druhé z tabulky zaměstnanců). Select count(distinct cis_odd) from zam; Select count(*) from oddel; 55. Průměrný plat zaměstnanců z 3. oddělení. Select avg(plat) from zam where cis_odd=3; 56. Počet zaměstnanců ve 2. oddělení a roční částku jim vyplácenou po1% valorizaci platů. select count(os_cis),sum(zam.plat*1.1)*12 from zam where zam.cis_odd=2; 57. Kolik zaměstnanců má plat nad 12. select count(zam.os_cis) from zam where zam.plat <12; 58. Maximální plat ve 3. oddělení. select max(plat) from zam where cis_odd =3; 59. Kolik je ve druhém oddělení inženýrů. KIT VŠE 6

7 select count(os_cis) from zam where cis_odd = 2 and titul = 'ING'; 6. Kolik je zaměstnanců s příjmením od K. select count(os_cis) from zam where jmeno like 'K%'; 61. Kolik zaměstnanců vykonává funkci boss a jaký je minimální plat v této funkci. select count(os_cis), min(plat) from zam where fce = 'BOSS'; 62. Kolik zaměstnanců má nějaký titul. select count(os_cis) from zam where titul is not null; 63. Počet programátorů ve 3. oddělení. select count(os_cis) from zam where fce = 'PROGRAMATOR' and cis_odd = 3; 64. Nejnižší plat v oddělení Projekce. select min(zam.plat) from zam,oddel where oddel.nazev = 'PROJEKCE'; select min(zam.plat) from zam join oddel on oddel.nazev like 65. Počet úkolů přidělených zaměstnanci Cervenému (víme, že je jediný toho jména). Select count (cis_uk) from ukoly, zam where zam.jmeno='cerveny' and zam.os_cis=ukoly.os_cis; 66. Pro každé oddělení (číslo) počet zaměstnanců. select oddel.cis_odd, count(os_cis) from oddel left outer join zam on oddel.cis_odd = zam.cis_oddd group by oddel.cis_odd; 67. Pro každé oddělení (číslo) průměrný měsíční a roční plat. select oddel.cis_odd, avg(zam.plat), avg(zam.plat)*12 from oddel left outer join zam on oddel.cis_odd = zam.cis_odd group by oddel.cis_odd; 68. Pro každé oddělení (číslo) počet inženýrů. select oddel.cis_odd, count(zam.os_cis) from oddel left outer join zam on oddel.cis_odd = zam.cis_odd and zam.titul = 'ING' group by oddel.cis_odd; 69. Pro každé oddělení (číslo) počet zaměstnanců bez titulu. select oddel.cis_odd, count(zam.os_cis) from oddel left outer join zam on oddel.cis_odd = zam.cis_odd and zam.titul is null group by oddel.cis_odd; 7. Pro každé oddělení (číslo) počet zaměstnanců vykonávajících jednotlivé funkce (název). Select cis_odd, fce, count(os_cis) from zam group by cis_odd, fce; 71. Maximální výši platu v jednotlivých funkcích (název) v rámci jednotlivých oddělení (číslo). Select cis_odd, fce, max(plat) from zam group by cis_odd, fce; 72. Pro každé oddělení maximální plat. Výstup seřaďte dle zjištěného max. platu sestupně. Select cis_odd, max(plat) from zam group by cis_odd order by max(plat) desc; Pokud za order by dam cislo, znamena to cislo sloupecku, nemusim uvadet cele jmeno, jen poradove cislo sloupce Nebo ho muzu přejmenovat cis_odd as oddil group by oddil desc; 73. Průměrné platy v jednotlivých funkcích (název). Seřaďte vzestupně. Select fce, avg(plat) from zam group by fce order by 2; 74. Počet zaměstnanců s platem nad 9 v každém oddělení. Seřaďte dle tohoto počtu sestupně. Select cis_odd, count(os_cis) from zam where plat>9 group by cis_odd order by 2; 75. Pro každé oddělení (číslo) počet zaměstnanců s titulem, kteří mají plat pod 12,-. Přehled seřaďte dle zjištěného počtu sestupně. Select cis_odd, count(os_cis) from zam where plat<12 and titul is not null group by cis_odd order by count(os_cis); 76. Jména zaměstnanců s názvem oddělení a jménem vedoucího oddělení. Select zam.os_cis, zam.jmeno, oddel.nazev, sef.jmeno from zam, zam sef, oddel where sef.os_cis=oddel.sef and zam.cis_odd=oddel.cis_odd order by zam.os_cis; 77. Jména zaměstnanců se jménem bezprostředně nadřízeného. Select zam.os_cis, zam.jmeno, oddel.nazev, nadriz.jmeno from zam, zam nadriz, oddel where zam.nadr=nadriz.os_cis and zam.cis_odd=oddel.cis_odd order by zam.os_cis; 78. Jména zaměstnanců s platem stejným jako má zaměstnanec DLOUHY. Select zam.jmeno, zam.plat from zam, zam Dlouhy where Dlouhy.plat=zam.plat and Dlouhy.jmeno='DLOUHY'; 79. Jména zaměstnanců s platem vyšším než má jejich bezprostředně nadřízený. KIT VŠE 7

8 Select zam.jmeno, zam.plat from zam, zam Nadr where zam.nadr=nadr.os_cis and Nadr.plat<zam.plat; 8. Jména zaměstnanců se jménem bezprostředně nadřízeného a jménem vedoucího oddělení ve kterém pracují. Select zam.os_cis, zam.jmeno, nadr.jmeno, sef.jmeno from zam, zam nadr, zam sef, oddel where zam.nadr=nadr.os_cis and zam.cis_odd=oddel.cis_odd and sef.os_cis=oddel.sef order by zam.os_cis; 81. Průměrné platy pro jednotlivá oddělení (číslo, název). Výpis seřaď te dle výše platu sestupně. Select oddel.cis_odd, oddel.nazev, avg(zam.plat) from zam, oddel where zam.cis_odd=oddel.cis_odd group by oddel.cis_odd, oddel.nazev order by avg(zam.plat) desc; 82. Pro každé oddělení (název) počet zaměstnanců s titulem, kteří mají plat pod 12,-. Seřaďte dle zjištěného počtu. Select oddel.nazev, count(os_cis) as počet from oddel left outer join zam on zam.cis_odd=oddel.cis_odd and titul is not null and zam.plat<12 group by oddel.nazev order by count(os_cis); 83. Průměrné platy pro každou funkci každého oddělení (číslo,název). Seřaďte abecedně dle názvu oddělení. Select oddel.nazev, oddel.cis_odd, zam.fce, avg(zam.plat), count(zam.os_cis) from oddel left outer join zam on zam.cis_odd=oddel.cis_odd group by oddel.nazev, oddel.cis_odd, zam.fce order by oddel.nazev; 84. Jména zaměstnanců s počtem přidělených úkolů. Seřaďte abecedně. Select zam.os_cis, zam.jmeno, count(cis_uk) from zam left outer join ukoly on zam.os_cis=ukoly.os_cis group by zam.os_cis, zam.jmeno order by zam.jmeno; 85. Přehled funkcí (název) vykonávaných v jednotlivých odděleních (číslo,název) s počtem zaměstnanců, kteří je vykonávají. Select zam.fce, oddel.cis_odd, oddel.nazev, count(os_cis) from zam left join oddel on oddel.cis_odd=zam.cis_odd group by zam.fce, oddel.cis_odd, oddel.nazev order by oddel.cis_odd; 86. Názvy oddělení s počtem přidělených úkolů. select oddel.nazev, count(zam.os_cis) from oddel left outer join (zam left outer join ukoly on ukoly.os_cis = zam.os_cis) on oddel.cis_odd = zam.cis_odd group by oddel.nazev; 87. Počty zaměstnanců bezprostředně podřízených jednotlivým zaměstnancům (jméno). Seřaďte abecedně. Select zam.os_cis, zam.jmeno, count(zam.os_cis) as PocetPodrizenych from zam left join zam nadr on zam.os_cis=nadr.nadr group by zam.os_cis, zam.jmeno order by zam.os_cis; 88. Jména vedoucích jednotlivých oddělení (název) s počtem pracovníků v oddělení. select sef.jmeno, oddel.nazev, count(zam.os_cis) from zam, oddel, zam sef where oddel.sef = sef.os_cis and zam.cis_odd = sef.cis_oddgroup by oddel.nazev, sef.jmeno; 89. Počty inženýrů v jednotlivých odděleních (název, jméno vedoucího). select oddel.nazev, sef.jmeno, count(zam.os_cis) from zam, oddel, zam sef where oddel.cis_odd = zam.cis_odd and oddel.sef = sef.os_cis and zam.titul = 'ING' group by oddel.nazev, sef.jmeno; 9. Počet zaměstnanců bezprostředně podřízených Zlatuskovi. Kolika inženýrům šéfuje Kocour? select count(zam.os_cis) from zam, zam sef where zam.nadr = sef.os_cis and sef.jmeno like 'ZLATUSKA'; select count(zam.os_cis) from zam, zam sef where zam.nadr = sef.os_cis and sef.jmeno like 'KOCOUR' and zam.titul like 'ING'; 91. Počet zaměstnanců pracujících v bufetu. Select count(zam.os_cis) from oddel left join zam on zam.cis_odd=oddel.cis_odd and oddel.nazev like 'BUFET'; 92. Čísla oddělení s více jak 5 zaměstnanci. Select oddel.cis_odd from oddel left join zam on oddel.cis_odd=zam.cis_odd group by oddel.cis_odd having count(zam.os_cis)>5; KIT VŠE 8

9 93. Oddělení, ve kterých se vyplácí měsíčně na platech přes 36,-. select oddel.nazev from oddel, zam where zam.cis_odd = oddel.cis_odd group by oddel.nazev having sum(zam.plat)>36; 94. Funkce, ve kterých je průměrný plat větší než 9,-. select zam.fce from zam group by zam.fce having avg(plat)>9; 95. Názvy oddělení, ve kterých je maximální plat menší než 12,-. select oddel.nazev from oddel, zam where oddel.cis_odd = zam.cis_odd group by oddel.nazev having max(zam.plat)<12; 96. Jména zaměstnanců, kteří mají přidělené alespoň dva úkoly. Select zam.os_cis, jmeno, count(cis_uk) as Pocet from zam, ukoly where zam.os_cis=ukoly.os_cis group by zam.os_cis, jmeno having count(cis_uk)>1; 97. Které funkce vykonávají více jak tři zaměstnanci. select zam.fce from zam group by zam.fce having count(zam.fce)>3; 98. Kteří zaměstnanci (jméno, funkce) mají alespoň tři bezprostředně podřízené zaměstnance. select zam.os_cis, zam.jmeno, zam.fce from zam, zam podr where podr.nadr = zam.os_cis group by zam.os_cis, zam.jmeno, zam.fce having count(zam.os_cis)>2; 99. Názvy oddělení, v kterých je více jak jeden BOSS. select oddel.nazev from oddel, zam where zam.cis_odd = oddel.cis_odd and zam.fce like 'BOSS' group by oddel.nazev having count(zam.fce) > 1; 1. Maximální plat v oddělení projekce select max(zam.plat) as maxim_plat from zam, oddel where zam.cis_odd = oddel.cis_odd and oddel.nazev like 'PROJEKCE';. 11. Názvy oddělení, ve kterých jsou alespoň dva lidé s titulem. select oddel.nazev from oddel, zam where oddel.cis_odd = zam.cis_odd and zam.titul is not null group by oddel.nazev having count(zam.fce) > 1; 12. Názvy oddělení, ve kterých jsou alespoň dva zaměstnanci s platem pod 9,-. select nazev from oddel, zam where oddel.cis_odd = zam.cis_odd and zam.plat <9 group by oddel.nazev having count(zam.plat) >1; 13. Názvy oddělení, ve kterých roční objem mezd překračuje 6,-. select nazev from oddel, zam where zam.cis_odd = oddel.cis_odd group by oddel.nazev having sum(zam.plat*12)>6; 14. Které funkce vykonává alespoň jeden inženýr. select fce from zam where zam.titul like 'ING' group by zam.fce having count(zam.titul)>1; 15. Čísla oddělení včetně jména vedoucího, ve kterých pracuje alespoň jeden inženýr. SELECT ODDEL.CIS_ODD, SEF.JMENO FROM ZAM, ZAM SEF, ODDEL WHERE SEF.OS_CIS = ODDEL.SEF AND ZAM.CIS_ODD = SEF.CIS_ODD AND ZAM.TITUL LIKE 'ING' GROUP BY ODDEL.CIS_ODD, SEF.JMENO HAVING COUNT(ZAM.OS_CIS)>1; 16. V kterých funkcích je průměrný plat zaměstnanců s titulem menší než 99,-. select zam.fce from zam where titul is not null group by zam.fce having avg(zam.plat)<99; 17. Funkce zaměstnanců, kterým byl přidělen více jak jeden úkol. select zam.fce,zam.os_cis from zam, ukoly where zam.os_cis = ukoly.os_cis group by zam.fce,zam.os_cis having count(ukoly.os_cis)>1; 18. Jména vedoucích, kteří mají do oddělení přidělen více jak jeden úkol. select zam.jmeno, zam.os_cis from zam, ukoly, oddel where oddel.sef = zam.os_cis and oddel.cis_odd = zam.cis_odd group by zam.jmeno,zam.os_cis having count(ukoly.os_cis)>1; 19. Kteří vedoucí (jméno) šéfují oddělení alespoň se 4 zaměstnanci. select sef.jmeno from zam, zam sef, oddel where sef.os_cis = oddel.sef and (sef.cis_odd = any (select zam.cis_odd from zam)) group by sef.jmeno having count(zam.os_cis)>3; 11. Kteří zaměstnanci mají bezprostředně podřízeného alespoň jednoho inženýra? select sef.jmeno, sef.os_cis from zam, zam sef where sef.os_cis = zam.nadr and sef.cis_odd = zam.cis_odd and zam.titul = 'ING' group by sef.jmeno, sef.os_cis having count(zam.os_cis)>; 111. Který zaměstnanec bez titulu má bezprostředně podřízené alespoň 3 zaměstnance? KIT VŠE 9

10 select sef.jmeno from zam, zam sef where zam.nadr = sef.os_cis and sef.cis_odd = zam.cis_odd and sef.titul is null group by sef.jmeno having count(zam.os_cis)>2; 113. Jména zaměstnanců z oddělení PROGRAMOVANI. select zam.jmeno from zam, oddel where zam.cis_odd = oddel.cis_odd and oddel.nazev = 'PROGRAMOVANI'; 114. Název oddělení, ve kterém pracuje zaměstnanec Obrovsky. select oddel.nazev from zam, oddel where oddel.cis_odd = zam.cis_odd and zam.jmeno = 'OBROVSKY'; 115. Jména zaměstnanců bezprostředně podřízených zaměstnanci Cechovi. select zam.jmeno from zam, zam sef where zam.nadr = sef.os_cis and sef.cis_odd = zam.cis_odd and sef.jmeno = 'CECH'; 116. Jména zaměstnanců ze 4. oddělení, kteří mají plat větší než Kadrnozkova. select zam.jmeno from zam where zam.cis_odd = 4 and zam.plat > (select plat from zam where zam.jmeno = 'KADRNOZKOVA'); 117. Jména zaměstnanců, jejichž plat je menší než plat průměrný. select zam.jmeno from zam where zam.plat < (select avg(plat) from zam); 118. Jméno zaměstnance s nejmenším platem. select zam.jmeno from zam where zam.plat = (select min(plat) from zam); 119. Oddělení, které má stejný počet zaměstnanců jako oddělení PROJEKCE. 12. Počet zaměstnanců s platem menším je plat průměrný. select count(zam.os_cis) from zam where zam.plat < (select avg(zam.plat) from zam); 121. Počet inženýrů, jejichž plat je menší než průměrný plat všech inženýrů. select count(os_cis) from zam where titul = 'ING' and plat < (select avg(plat) from zam where titul = 'ING'); 122. Seznam (jméno, oddělení, titul) zaměstnanců, kteří nemají titul a zaměstnanců BUFETu. select zam.jmeno, oddel.nazev, zam.titul from zam, oddel where zam.cis_odd = oddel.cis_odd and (titul is null or oddel.nazev = 'BUFET'); select jmeno, nazev, titul from zam join oddel using (cis_odd) where titul is null union select jmeno, nazev, titul from zam join oddel using (cis_odd) where nazev like 'BUFET'; 123. Seznam (jméno, plat, titul) zaměstnanců s titulem a všech s platem vyšším než celostátní průměr (duplicitní řádky nechte ve výsledku), výstup setřiďte dle osobního čísla zaměstnance. select zam.jmeno, zam.plat, zam.titul from zam where titul is not null or plat > (select avg(plat) from zam) order by os_cis; 124. Vypište seznam všech oddělení (číslo a název) a k nim počty zaměstnanců. Ve výstupu se musí objevit i oddělení s nulovým počtem zaměstnanců. select oddel.cis_odd, oddel.nazev, count(zam.os_cis) from oddel left outer join zam on zam.cis_odd = oddel.cis_odd group by oddel.cis_odd, oddel.nazev; 125. Vypište seznam všech zaměstnanců (osobní číslo a jméno) a k nim počet přidělených úkolů select zam.os_cis, zam.jmeno, count(ukoly.os_cis) from zam, ukoly where zam.os_cis = ukoly.os_cis group by zam.os_cis, zam.jmeno; 126. Vypište seznam zaměstnanců podřízených zaměstnanci s číslem 14 s uvedením úrovně jejich postavení v řídící hierarchii (ve výstupu uveďte osobní číslo, jméno, číslo nadřízeného, úroveň hierarchie). Výstup seřaďte dle úrovně hierarchie. select os_cis, jmeno, nadr, level from zam connect by prior os_cis = nadr start with nadr = 14 order by level; 127. Vypište údaje o a) všech systémových tabulkách (v katalogu), select * from sys.catalog; b) uživateli "student" přístupných tabulkách, select * from sys.catalog where tabletype like 'TABLE'; KIT VŠE 1

11 c) všech přiřazených přístupových právech. 128-DU. Vypište všechna oddělení a jejich název, v kterém nepracuje žádný docent. Select cis_odd, nazev from oddel where cis_odd not in (select distinct cis_odd from zam where titul like 'DOC'); 129. Zjistěte čísla a jména zaměstnanců, kteří nemají přidělený žádný úkol a mají plat větší než vedoucí jejich oddělení select zam.os_cis, zam.jmeno from zam, oddel, zam ved where zam.os_cis not in (select os_cis from ukoly) and zam.cis_odd = oddel.cis_odd and sef = ved.os_cis and zam.plat > ved.plat select zam.os_cis, zam.jmeno from zam join oddel on zam.cis_odd =oddel.cis_odd join zam ved on sef = ved.os_cis where zam.os_cis not in (select os_cis from ukol) and zam.plat > ved.plat NE!! select zam.os_cis, zam.jmeno from zam, ukoly where zam.os_cis = ukoly.os_cis and zam.plat > any (select zam.plat from zam, oddel where oddel.sef = zam.os_cis); Connect by konec, či následováník říká, odkud se má rozbalovat 13. Vypište čísla a jména zaměstnanců, kteří mají plat větší než je průměrný plat v jejich oddělení. select zam.os_cis, zam.jmeno from zam where zam.plat > (select avg(plat) from zam); 131. Vypište čísla a jména zaměstnanců, kteří neřeší žádný úkol. Select zam.os_cis, zam.jmeno from zam where zam.os_cis not in (select zam.os_cis from ukoly, zam where zam.os_cis=ukoly.os_cis); select os_cis, jmeno from zam where os_cis not in (select distinct os_cis from ukoly) 132. Čísla a jména zaměstnanců, kteří nemají podřízené. Select zam.os_cis, zam.jmeno from zam where zam.os_cis not in (select nadr from zam); Alter table nazev add constraint fk_ukolz_prideleni_zam foreign key( os_cis ) References zam( os_cis ) Constraint PK_ukoly primary key ( cis_uk ) KIT VŠE 11

12 4. Příklady na manipulaci s daty Přihlaste se pod uživatelem student1, heslo: sql, service: oracle9: 1. Vložte do tabulky zaměstnanců alespoň jeden řádek insert into zam values (65,'NOVAK','BOSS',54,'',1,6); 2. Zaktualizujte vložený řádek update zam set plat = plat*1.5 where zam.os_cis = 65; 3. Zrušte vložený a zaktualizovaný řádek delete zam where zam.os_cis = 65; 4. Vytvořte jedno aktualizovatelné view (pro konstrukci názvu použijte vaši ovou adresu) create view xmarm33 as select * from zam; select* from xmarm33; 5. Vytvořte další view, které bude obsahovat čísla a jména zaměstnanců s názvy oddělení, ve kterých pracují a údaje o jim přidělených úkolech create view xmarm33_1 as select zam.os_cis,zam.jmeno,oddel.cis_odd, ukoly.os_cis as ukol from zam, oddel,ukoly where zam.cis_odd = oddel.cis_odd and zam.os_cis=ukoly.os_cis; 6. Nadefinujte práva pro update na view z úkolu 4 pro uživatele: student. Ověřte možnost aktualizace dat pod uživatelem student. grant update on zam to student; 7. Zrušte všechna vámi nadefinovaná view update xmarm33 set plat = plat*1.5 where XMARM33.fce='BOSS'; drop view xmarm33; 8. Vytvořte malou datovou základnu a prověřte možnosti DDL pro definici integritních omezení: a. Nakreslete datový model se dvěma entitami spojenými alespoň jedním vztahem 1:N. b. Vytvořte dvě nové základní tabulky (pro konstrukci názvu použijte vaši ovou adresu), nadefinujte je tak, aby odpovídaly zachycené vazbě v datovém modelu. Nadefinujte příslušná integritní omezení vyplývající z modelu create table xmarm33podnik ("Zavod" integer, "Nazev_Zavodu" varchar(5), constraint PK_xmarm33podnik primary key ("Zavod") ); create table xmarm33vyrobek ("cislo_vyrobku" integer, "cislo_zavodu" integer, "nazev_vyrobku" varchar(5), constraint PK_xmarm33vyrobek primary key ("cislo_vyrobku") ); c. Vložte do každé tabulky alespoň 2 řádky. `insert into xmarm33podnik values (2,'Produkce_z_Kovu'); insert into xmarm33podnik values (4,'Vyroba skla'); d. Ověřte funkčnost nadefinovaných integritních omezení 9. Zrušte všechny vámi vytvořené relační tabulky a view (data i definici). 5. Obsah cvičné databáze: Relace ODDEL: CIS_ODD NAZEV SEF 1 PROJEKCE 6 2 KNIHOVNA 12 3 PROGRAMOVANI 2 4 BUFET 31 6 SKLAD 41 7 STB 8 PROVOZ POCITACE 51 KIT VŠE 12

13 1 REDITELSTVI 77 Význam atributů relace ODDEL: CIS_OD identifikační číslo oddělení D NAZEV název oddělení SEF osobní číslo pracovníka, který je vedoucím daného oddělení cizí klíč Relace UKOLY: CIS-UK POPIS OS-CIS DATUM 11 PRINEST POSTU 1 2/1/92 12 ZAPLATIT SLOZENKY 1 2/1/92 15 POSTAVIT PODRIZENE DO LATE 21 2/1/92 16 ROZDELIT PRACI NA PROJEKTU FIS 21 2/1/92 17 ROZDELIT PRACI NA PROJEKTU KIS 7 2/1/92 18 DOJIT PRO SALAM A PIVKO 3 2/1/92 19 SEHNAT NECO NA ZUB 12 2/1/92 11 ZARADIT NOVE TITULY 1 2/1/ DOKONCIT PROGRAM X /1/ ODLADIT ROZDELANE PROGRAMY 2 2/1/ ZDOKUMENTOVAT PROGRAMY 19 2/1/ PROVEST INVENTURU SKLADU C /1/ KONECNE UKLIDIT 37 2/1/92 12 SEHNAT NOVE LIDI DO TYMU 7 2/1/92 Význam atributů relace UKOLY: CIS_UK identifikační číslo úkolu POPIS popis úkolu OS_CIS osobní číslo zaměstnance jemuž byl zadán DATUM datum zadání úkolu Relace ZAM: OS_CI S JMENO FCE PLAT TITUL CIS_OD D 1 KONADRA POSLICEK SYKORA BESTBOY STRNAD SVACINAR KOS PROJEKTANT 15. ING KOS PROJEKTANT 18. ING VOREL BOSS 12. ING DATEL BOSS 126. RNDR MALY POSLICEK DLOUHY KNIHOVNIK VYSOKY KNIHOVNIK TLUSTY KNIHOVNIK 111. ING TLUSTY SVACINAR OTYLY BOSS 12. ING OBROVSKY BOSS 135. RNDR 2 77 NADR KIT VŠE 13

14 15 CERNY PROGRAMATOR CERVENY PROGRAMATOR ZELENY PROGRAMATOR 15. ING ZELENY PROGRAMATOR 15. ING FIALKA PROGRAMATOR 15. ING FIALOVA PROGRAMATOR 12. RNDR ZLATUSKA BOSS 135. RNDR SEBESTOVA BOSS MACHOVA BUFETACKA HORACKOVA UKLIZECKA HORACKOVA BUFETACKA PAZOUTOVA MYCKA NADOBI KADRNOZKOVA MYCKA NADOBI JONATANOVA UKLIZECKA CECH BOSS 9. ING SLOVAK SKLADNIK NEMEC SKLADNIK CECH SKLADNIK KOCOUR BOSS 129. DOC KOCOUR SEF TECHNIK 114. ING KOBYLKA TECHNIK 15. ING KOCICKA TECHNIK PAPOUSEK TECHNIK SEFICEK REDITEL 15. DOC 1 77 Význam atributů relace ZAM: OS_CIS osobní číslo JMENO jméno FCE funkce PLAT plat TITUL titul CIS_ODD číslo oddělení ve kterém zaměstnanec pracuje cizí klíč NADR osobní číslo bezprostředně nadřízeného pracovníka určuje vazbu-cizí klíč KIT VŠE 14

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

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

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

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

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

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

Více

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

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

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

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

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

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

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

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

Ú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

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

Ú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

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

- 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

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

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

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

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

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

Více

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

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

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

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

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

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

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

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

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

Operátory ROLLUP a CUBE

Operátory ROLLUP a CUBE Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor

Více

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT -SELECT Informační a znalostní systémy 1 - Structured Query Language norma pro dotazování nad relačními databáze díky přenositelnosti- rozmach relačních databází zahrnuje jak dotazování na data, tak změny

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

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

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

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

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

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

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

Více

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

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

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

Databázové systémy Tomáš Skopal

Databázové systémy Tomáš Skopal Databázové systémy Tomáš Skopal - SQL * úvod * dotazování SELECT Osnova přednášky úvod do SQL dotazování v SQL příkaz SELECT třídění množinové operace 2 SQL 3 structured query language standardní jazyk

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

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

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

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

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

Změny v Tabulce ALTER TABLE nazev_tabulky prikaz1, prikaz2, prikaz3,..., prikazn; -provede změny ve stávající tabulce s názvem "nazev_tabulky"

Změny v Tabulce ALTER TABLE nazev_tabulky prikaz1, prikaz2, prikaz3,..., prikazn; -provede změny ve stávající tabulce s názvem nazev_tabulky M y S Q L SHOW DATABASES; -zobrazení jmen databází ve vašem spuštěném MySQL CREATE DATABASE nazev_databaze; -vytvoří databázi se jménem "nazev_databaze" (délka názvu může být max. 65 znaků) -třeba vytvořit

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

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

Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Instalace Microsoft SQL Serveru 2 Dotazovací jazyk SQL 3 Příkaz SELECT

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

Materializované pohledy

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

Více

DATA CUBE. Mgr. Jiří Helmich

DATA CUBE. Mgr. Jiří Helmich DATA CUBE Mgr. Jiří Helmich Analytické kroky formulace dotazu analýza extrakce dat vizualizace Motivace n-sloupcová tabulka v Excelu vs. sloupcový graf Dimensionality reduction n dimenzí data obecně uspořádána

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

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

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

Více

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

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

Zadání. Slovníček pojmů. Otázka 18 A7B36DBS

Zadání. Slovníček pojmů. Otázka 18 A7B36DBS Otázka 18 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Dotazovací jazyky... 2 QBE... 28 DDL... 41 DML... 42 Entitní... 44 Doménové... 44 Referenční... 44 Aktivní referenční integrita... 45 Ošetření IO...

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

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

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

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

Více

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

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

Více

Dotazy tvorba nových polí (vypočítané pole)

Dotazy tvorba nových polí (vypočítané pole) Téma 2.4 Dotazy tvorba nových polí (vypočítané pole) Pomocí dotazu lze také vytvářet nová pole, která mají vazbu na již existující pole v databázi. Vznikne tedy nový sloupec, který se počítá podle vzorce.

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

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

Zpracování informací

Zpracování informací Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně Přednáška č. 6 z předmětu Zpracování informací Ing. Radek Poliščuk, Ph.D. Tato publikace vznikla jako součást

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

1 DATABÁZE 1.1 ÚVOD 1.2 ZÁKLADNÍ POJMY RELAČNÍ DATABÁZE

1 DATABÁZE 1.1 ÚVOD 1.2 ZÁKLADNÍ POJMY RELAČNÍ DATABÁZE 1 DATABÁZE 1.1 ÚVOD Moderní doba se databázemi jen hemží. Například: Management firmy musí mít přehled přinejmenším o svých zaměstnancích, výrobcích, majetku a zákaznících. Přitom mezi těmito údaji existují

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

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

Práva a role. Martin Polák. NDBI013 Administrace Oracle

Práva a role. Martin Polák. NDBI013 Administrace Oracle Práva a role Martin Polák NDBI013 Administrace Oracle Práva a role Práva slouží k omezení možností uživatele právě tak, aby mohl provádět úkoly jemu svěřené. Role jsou pojmenované skupiny práv a slouží

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

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

MySQL databáze - český manuál

MySQL databáze - český manuál MySQL databáze - český manuál Český manuál k relačnímu databázovému systému MySQL. Popis nejužitečnějších funkcí, včetně příkladů. Copyright: 1995-2013 Oracle Corporation and/or its affiliates, 2002-2013

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Administrace Oracle Práva a role, audit. Kukhar Maria 29.10.2012

Administrace Oracle Práva a role, audit. Kukhar Maria 29.10.2012 Administrace Oracle Práva a role, audit Kukhar Maria 29.10.2012 Ve výchozím nastavení, uživatel Oracle nemůže nic dělat, ani připojit se k databázi. Aby uživatele měli přistup k DB, je třeba vytvořit uživatelské

Více

Otázka č. 1 (bodů za otázku: 4)

Otázka č. 1 (bodů za otázku: 4) Otázka č. 1 (bodů za otázku: 4) Agendy - redundance Která z následujících tvrzení charakterizují redundanci dat v databázi? Je to opakování stejných dat pouze v různých souborech. Je zdrojem nekonzistence

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

Analýza a modelování dat 3. přednáška. Helena Palovská

Analýza a modelování dat 3. přednáška. Helena Palovská Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM

Více

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Referenční příručka Zdeněk Šerý OBSAH 1. Základní informace...2 2. SQL.17 2.1. Proč používat SQL. 17 2.1.1. Relační operátory.. 17 2.1.2. Rekurze.21 2.1.3. Propojení (relace)..

Více

4IT218 Databáze. 4IT218 Databáze

4IT218 Databáze. 4IT218 Databáze 4IT218 Databáze První přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze První přednáška Cíle a základní údaje o předmětu. Základní pojmy. Relační model dat a operace

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

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

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,

Více

Tvorba aplikací v Oracle Application Express

Tvorba aplikací v Oracle Application Express DBS 4. ročník APEX Tvorba aplikací v Oracle Application Express Cílem této lekce je vytvořit kompletní aplikaci v Apexu, postavenou na vzorových tabulkách společnosti Oracle. Postup: 1. Otevřete lekci

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Optimalizace plnění a aktualizace velkých tabulek. Milan Rafaj, IBM

Optimalizace plnění a aktualizace velkých tabulek. Milan Rafaj, IBM Optimalizace plnění a aktualizace velkých tabulek Milan Rafaj, IBM Agenda OLTP vs DSS zpracování Optimalizace INSERT operací Optimalizace DELETE operací Optimalizace UPDATE operací Zdroje Dotazy OLTP vs

Více

J. Zendulka: Databázové systémy 4 Relační model dat 1

J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více