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

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

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

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

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

MS Access Dotazy SQL

MS Access Dotazy SQL MS Access Dotazy SQL Dotaz SELECT Michal Nykl Materiály pro cvičení KIV/ZIS 2012 Červeně značené výsledky odpovídají souboru cv4_testovacidatabaze250312.accdb Dotaz SELECT - struktura SELECT [ DISTINCT

Více

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

Databázové systémy 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

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

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

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

Databázové systémy 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

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

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

KIV/ZIS - SELECT, opakování

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

Více

Ú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

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

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

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

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

- 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

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

Ú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

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

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

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

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

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

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

Ú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

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

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

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

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

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

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 CREATE TABLE Vytvoření tabulky (ORACLE) DDL příkazem v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1),

Více

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

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

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

Dotazování v relačním modelu a SQL

Dotazování v relačním modelu a SQL Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relač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

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

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

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

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

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

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura

Více

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 Operátory a funkce +,- Sčítání, odečítání *,/ Násobení, dělení =, , >=,

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

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

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

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

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

Více

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení

Více

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

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

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

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA)

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA) Řešené příklady Použijeme především příklady z kapitoly 5. Mějme databázi studentů a předmětů, na které se zapisují a které absolvují. Databáze je realizována třemi relacemi se schematy (pozn. primární

Více

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

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

Více

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

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

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

Více

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

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

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

Text úlohy. Systémový katalog (DICTIONARY):

Text úlohy. Systémový katalog (DICTIONARY): Úloha 1 Částečně správně Bodů 050 / 100 Systémový katalog (DICTIONARY): a Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM b Všechny tabulky vlastní uživatel SYS c Se skládá z tablek a pohledů

Více

DATABÁZE TABULKY. Nastavení aktivní databáze. Výpis seznamu tabulek v databázi. Vytvoření tabulky. Výpis popisu tabulky.

DATABÁZE TABULKY. Nastavení aktivní databáze. Výpis seznamu tabulek v databázi. Vytvoření tabulky. Výpis popisu tabulky. DATABÁZE Nastavení aktivní databáze USE nazev_databaze; - databázi "nazev_databaze" nastavíme takto jako aktivní a můžeme s ní pracovat Výpis seznamu tabulek v databázi SHOW TABLES; - zobrazí seznam tabulek

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

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 Jazyk SQL 2 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ M.Valenta (FIT ČVUT) Jazyk

Více

5. blok Souhrnné a skupinové dotazy

5. blok Souhrnné a skupinové dotazy 5. blok Souhrnné a skupinové dotazy Studijní cíl Tento blok je věnován základům při vytváření souhrnných a skupinových dotazů s využitím agregačních funkcí SUM(), AVG(), MIN(), MAX() a COUNT() a klauzulí

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

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

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

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

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

Internetová filmová databáze IFDB

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

Více

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

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

Více

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

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

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT

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

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

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

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

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

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

Více

SQL 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

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

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áze I. 1. přednáška. Helena Palovská

Databáze I. 1. přednáška. Helena Palovská Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat

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í 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu

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: CZ.1.07/1.5.00/34.0410

Více

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

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

Více