Syntea software group a.s. marian.kamenicky. MFFUK Praha

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

Download "Syntea software group a.s. marian.kamenicky. MFFUK Praha"

Transkript

1 [ Relační databáze ] Přednáška 4 Marian Kamenický Syntea software group a.s. marian.kamenicky kamenicky@syntea.cz MFFUK Praha 2013/14 1

2 Jednotabulkov tabulkové dotazy PK FK1 Oso Jmeno Plat IdOdd Oso Jmeno Plat IdOdd Pepa Fany Gaby Karel Select * From Oso Oso Jmeno Oso Plat IdOdd Pepa Fany Gaby Karel Select * From Oso Oso Where IdOdd = Jmeno Pepa Karel Oso Plat IdOdd Select Jmeno, Plat Plat From Oso Oso Where IdOdd = Oso Jmeno Plat Gaby

3 Vícetabulkové dotazy vícetabulkový dotaz = klauzule FROM == více tabulek == spojování tabulek Jmeno Pepa Oso Plat IdOdd dr Mesto Ulice Cislo Brno Chlum Karel Select... From Oso Oso,, dr dr Jmeno Plat IdOdd Mesto Ulice Cislo Brno Pepa Chlum Karel

4 Vícetabulkové dotazy vícetabulkový dotaz = klauzule FROM == více tabulek == spojování tabulek Jmeno Pepa Oso Plat IdOdd dr Mesto Ulice Cislo Brno Chlum Karel Select... From Oso Oso,, dr dr Jmeno Plat IdOdd Mesto Ulice Cislo Brno Pepa Chlum Karel

5 Vícetabulkové dotazy spojováním tabulek se spojí sloupce řádku jedné tabulky [Oso] chceme doplnit o informace z druhé tabulky [dr] propojením jejich sloupců [ Mesto, Ulice, Cislo] Jmeno Pepa Karel Jmeno Pepa Karel Oso Plat Plat IdOdd IdOdd dr Mesto Ulice Cislo Brno Chlum Mesto Ulice Cislo Brno Chlum spojování tabulek == obohacování řádek jedné tabulky o data jiné tabulky Select... From Oso Oso,, dr dr

6 Vícetabulkové dotazy spojováním tabulek se spojí sloupce obou tabulek zároveň však dojde ke spojování řádek řádky jedné tablky se spojí se všemi / či některými řádky druhé tabulky Oso dr Jmeno Plat IdOdd Mesto Ulice Cislo Brno Chlum Pepa Karel Jmeno Plat IdOdd Mesto Ulice Cislo Brno Pepa Brno Chlum Karel

7 Vícetabulkové dotazy 2 způsoby spojování tabulek explicitní Select... From Oso Oso Join dr dr implicitní Select... From Oso Oso,, dr dr jakmile v klauzuli FROM jsou dvě či více tabulek jde vždy o spojování [join] explicitní / implicitní

8 kartézský součin popsal poprvé Standhal v knize Kartouza parmská [ [ nebo snad ne ne? ] ]

9 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) 9

10 Cross Join Select * From Tab1 Cross Join Tab Tab Tab 2 Z Tab 1 1 radka z Tab 2 1 r. 1 radka 2 r. 1 radka 3 r. 2 radka 1 r. 2 radka 2 r. 2 radka 3 r. 3 radka 1 r. 3 radka 2 r. 3 radka 3 r.

11 Cross Join Tab Tab 2 Select * From Tab1 Cross Join Tab2 Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

12 Cross Join Tab Tab 2 Select * From Tab1 Cross Join Tab2 Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

13 Cross Join Tab Tab 2 Select * From Tab1 Cross Join Tab2 Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

14 Cross Join Tab Tab 2 Select * From Tab1 Cross Join Tab2 Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

15 Cross Join Tab Tab 2 Select * From Tab1, Tab2 Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

16 Cross Join Tab Tab 2 Select * From Tab1 Cross Join Tab2 explicitní křížové spojení Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

17 Cross Join Tab Tab 2 Select * From Tab1, Tab2 implicitní křížové spojení Tab 1 Jm RokNar 1960 Pepa 1970 Vojta 1990 Tab 2 Ovoce Barva banan zluty jablko zelene jahoda ruda Jm RokNar Ovoce Barva 1960 banan zluty 1960 jablko zelene 1960 jahoda ruda Pepa 1970 banan zluty Pepa 1970 jablko zelene Pepa 1970 jahoda ruda Vojta 1990 banan zluty Vojta 1990 jablko zelene Vojta 1990 jahoda ruda

18 Spojení Cross Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Pepa Nakup Prodej B 300 Propagace Select Oso.*,, Odd.* From Oso, Odd Odd implicitní Cross Join Jmeno Plat IdOdd IdOdd Nazev KodBudovy explicitní Cross Join Select Oso.*,, Odd.* From Oso Oso Cross Join Join Odd Odd kartézský součin tabulek

19 Spojení Cross Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Pepa Nakup Prodej B 300 Propagace Select Oso.*,, Odd.* From Oso, Odd Odd Select Oso.*,, Odd.* From Oso Oso Cross Join Join Odd Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace kartézský součin tabulek

20 Spojení Cross Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Pepa Nakup Prodej B 300 Propagace Select Oso.*,, Odd.* From Oso, Odd Odd Select Oso.*,, Odd.* From Oso Oso Cross Join Join Odd Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace Pepa Nakup Pepa Prodej B Pepa Propagace kartézský součin tabulek

21 Spojení Cross Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Pepa Nakup Prodej B 300 Propagace Select Oso.*,, Odd.* From Oso, Odd Odd Select Oso.*,, Odd.* From Oso Oso Cross Join Join Odd Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace Pepa Nakup Pepa Prodej B Pepa Propagace kartézský součin tabulek

22 Spojení Cross Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Pepa Nakup Prodej B 300 Propagace Select Oso.*,, Odd.* From Oso, Odd Odd Select Oso.*,, Odd.* From Oso Oso Cross Join Join Odd Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace Pepa Nakup Pepa Prodej B Pepa Propagace kartézský součin tabulek Jmeno Plat Nazev Nakup Select Jmeno,, Plat, Plat, Nazev From Oso, Oso, Odd Odd [From Oso Oso Cross Join Join Odd] Pepa Pepa Pepa Prodej Propagace Nakup Prodej Propagace

23 Spojení Cross Oso Odd Budova PK Jmeno PK IdOdd PK KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Barva dresa Oso Odd Budova Jmeno Plat IdOdd IdOdd 100 Nazev Nakup KodBudovy KodBudovy Barva žlutá dresa Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20

24 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B implicitní Cross Jmeno Plat Nazev KodBudovy Barva drresa Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B explicitní Cross kartézský součin dvou prvních tabulek Oso Oso a Odd Odd

25 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Plat Nazev Nakup Prodej Propagace KodBudovy Barva drresa Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B kartézský součin dvou prvních tabulek Oso Oso a Odd Odd

26 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva drresa Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Propagace kartézský součin dvou prvních tabulek Oso Oso a Odd Odd

27 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva drresa Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Propagace kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem 3. 3.

28 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva žlutá žlutá žlutá žlutá žlutá drresa Krátká 10 Krátká 10 Krátká 10 Krátká 10 Krátká 10 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Propagace žlutá Krátká 10 kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem 3. 3.

29 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva žlutá žlutá žlutá žlutá žlutá drresa Krátká 10 Krátká 10 Krátká 10 Krátká 10 Krátká 10 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Pepa Pepa Propagace Nakup Prodej Propagace Nakup Prodej žlutá Krátká 10 kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem Pepa Propagace

30 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva žlutá žlutá žlutá žlutá žlutá drresa Krátká 10 Krátká 10 Krátká 10 Krátká 10 Krátká 10 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Pepa Pepa Propagace Nakup Prodej Propagace Nakup Prodej B B B B B žlutá modrá modrá modrá modrá modrá Krátká 10 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem Pepa Propagace B modrá Dlouhá 16

31 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C Oso PK Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova Krátká 10 Dlouhá 16 korát 20 KodBudovy Barva dresa Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva žlutá žlutá žlutá žlutá žlutá drresa Krátká 10 Krátká 10 Krátká 10 Krátká 10 Krátká 10 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O Cross Cross Join Join Odd Odd as as D Cross Cross Join Join Budova Budova as as B Pepa Pepa Pepa Propagace Nakup Prodej Propagace Nakup Prodej B B B B B žlutá modrá modrá modrá modrá modrá Krátká 10 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem Pepa Propagace B modrá Dlouhá 16

32 Spojení Cross Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Odd Propagace KodBudovy KodBudovy B C PK Oso Jmeno Plat FK1 IdOdd PK Budova Barva žlutá modrá bílá Odd IdOdd Nazev FK1 KodBudovy PK dresa Budova KodBudovy Barva dresa Krátká 10 Dlouhá 16 korát 20 Select Select O.Jmeno, O.Plat, O.Plat, D.Nazev, B.* B.* From From Oso Oso as as O, O, Odd Odd as as D, D, Budova Budova as as B Jmeno Pepa Pepa Plat Nazev Nakup Prodej Propagace Nakup Prodej KodBudovy Barva žlutá žlutá žlutá žlutá žlutá drresa Krátká 10 Krátká 10 Krátká 10 Krátká 10 Krátká 10 kartézský součin dvou prvních tabulek Oso Oso a Odd Odd spojíme s každým řádkem Pepa Pepa Pepa Pepa Propagace Nakup Prodej Propagace Nakup Prodej Propagace B B B B B B žlutá modrá modrá modrá modrá modrá modrá Krátká 10 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá 16 Dlouhá Nakup C bílá korát 20 celkem řádek 2 [Oso] [Oso] xx3 [Odd] [Odd] xx3 [Budova] ---> ---> Pepa Pepa Pepa Prodej Propagace Nakup Prodej Propagace C C C C C bílá bílá bílá bílá bílá korát 20 korát 20 korát 20 korát 20 korát 20

33 příklad skoro reálný

34 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců řešte řešte Test Pan Dama Tanec Pan Bobo Bobo Bobo Dama Ema Jana Lucy Test Tanec Znamka Znamka Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T

35 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T řešte řešte Test Pan Dama Tanec Pan Bobo Bobo Bobo Pepa Pepa Pepa Dama Ema Jana Lucy Ema Jana Lucy Test Tanec Znamka Znamka

36 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T řešte řešte Test Pan Dama Tanec Pan Bobo Bobo Bobo Pepa Pepa Pepa Dama Ema Jana Lucy Ema Jana Lucy Test Tanec polka polka polka polka polka polka Znamka Znamka

37 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T řešte řešte Test Pan Dama Tanec Pan Bobo Bobo Bobo Pepa Pepa Pepa Bobo Bobo Bobo Pepa Pepa Pepa Dama Ema Jana Lucy Ema Jana Lucy Ema Jana Lucy Ema Jana Lucy Test Tanec polka polka polka polka polka polka čača čača čača čača čača čača Znamka Znamka

38 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T řešte řešte Test Pan Dama Tanec Znamka Pan Dama Test Tanec Znamka Bobo Ema polka Bobo Jana polka Bobo Lucy polka Pepa Ema polka Pepa Jana polka Pepa Lucy polka Bobo Ema čača Bobo Jana čača Bobo Lucy čača Pepa Ema čača Pepa Jana čača Pepa Lucy čača Bobo Ema tango Bobo Jana tango Bobo Lucy tango Pepa Ema tango Pepa Jana tango Pepa Lucy tango

39 Spojení Cross - příklad Pan Jm Bobo Pepa Dama Jm Ema Jana Lucy Tanec Nazev polka čača tango vytvořte podklady pro testování dvojic z tanců Select P.Jm P.Jm Pan, Pan, D.Jm D.Jm Dama, T. T. Nazev Tanec, '' '' Znamka From Pan Pan P Cross Join Join Dama D Cross Join Join Tanec T řešte řešte Test Pan Dama Tanec Znamka Pan Dama Test Tanec Znamka Bobo Ema polka Bobo Jana polka Bobo Lucy polka Pepa Ema polka Pepa Jana polka Pepa Lucy polka Bobo Ema čača Bobo Jana čača Bobo Lucy čača Pepa Ema čača Pepa Jana čača Pepa Lucy čača Bobo Ema tango Bobo Jana tango Bobo Lucy tango Pepa Ema tango Pepa Jana tango Pepa Lucy tango

40 mrkněmě se na to jinak

41 Vztahy mezi tabulkami Oso Odd Budova PK FK1 Jmeno Plat IdOdd PK FK1 IdOdd Nazev KodBudovy PK KodBudovy Barva dresa vraťme se se zpět zpět!!!! Oso Odd Budova Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Propagace KodBudovy KodBudovy B C Barva žlutá modrá bílá dresa Krátká 10 Dlouhá 16 korát 20 mezi tabulkami [entitami modelu] existují vztahy chceme vztahy využít a "obohatit" řádky o data zpřízněných řádek z jiných tabulek

42 Vztahy mezi tabulkami Oso Odd Budova PK FK1 Jmeno Plat IdOdd PK FK1 IdOdd Nazev KodBudovy PK KodBudovy Barva dresa vraťme se se zpět zpět!!!! Oso Odd Budova Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Propagace KodBudovy KodBudovy B C Barva žlutá modrá bílá dresa Krátká 10 Dlouhá 16 korát 20 mezi tabulkami [entitami modelu] existují vztahy chceme vztahy využít a "obohatit" řádky o data zpřízněných řádek z jiných tabulek

43 Vztahy mezi tabulkami Oso Odd Budova PK FK1 Jmeno Plat IdOdd PK FK1 IdOdd Nazev KodBudovy PK KodBudovy Barva dresa vraťme se se zpět zpět!!!! Oso Odd Budova Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B 300 Nazev Propagace KodBudovy KodBudovy B C Barva žlutá modrá bílá dresa Krátká 10 Dlouhá 16 korát 20 mezi tabulkami [entitami modelu] existují vztahy chceme vztahy využít a "obohatit" řádky o data zpřízněných řádek z jiných tabulek spojování tabulek [řádek] podmíníme výrazem popisujícím vzájemný vztah tabulek

44 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) 44

45 Vnitřní spojení - Inner Oso Odd Oso Odd PK Jmeno PK IdOdd Jmeno Plat IdOdd IdOdd Nazev KodBudovy FK1 Plat IdOdd FK1 Nazev KodBudovy Nakup Pepa Prodej B 300 Propagace Select O.Jmeno, O.Plat, O.IdOdd, Jmeno Plat IdOdd Nazev KodBudovy D.Nazev, O.KodBudovy From Oso Oso as as O Inner Join Join Odd Odd D On On O.IdOdd = D.IdOdd Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd

46 Vnitřní spojení - Inner PK FK1 Oso Jmeno Plat IdOdd PK FK1 Odd IdOdd Nazev KodBudovy Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B Jmeno Plat 300 IdOdd Nazev Odd Propagace Nazev KodBudovy KodBudovy vnitřní spojení způsobem kartézského součinu při spojování řádek z obou tabulek kontrola je-li splněna spojovací podmínka spojeny pouze řádky pro něž podmínka vyhovuje

47 Vnitřní spojení - Inner PK FK1 Oso Jmeno Plat IdOdd PK FK1 Odd IdOdd Nazev KodBudovy Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B Jmeno Plat IdOdd 100 Nazev Odd Propagace Nazev Nakup KodBudovy KodBudovy

48 Vnitřní spojení - Inner PK FK1 Oso Jmeno Plat IdOdd PK FK1 Odd IdOdd Nazev KodBudovy Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Oso Jmeno Plat IdOdd IdOdd 100 Nakup Pepa Prodej B Jmeno Pepa Plat IdOdd Nazev Odd Propagace Nazev Nakup Prodej KodBudovy KodBudovy B

49 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Jmeno Plat IdOdd Nazev KodBudovy Barva dresa Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Join Join Budova B On On B.KodBudovy = D. D. KodBudovy

50 Vnitřní spojení - Inner Budova Jmeno Plat IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá 16 C bílá korát 20 Jmeno Plat IdOdd Nazev KodBudovy Barva dresa Nakup žlutá Krátká 10 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Join Join Budova B On On B.KodBudovy = D. D. KodBudovy

51 Vnitřní spojení - Inner Budova Jmeno Plat IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá 16 C bílá korát 20 Jmeno Plat IdOdd Nazev KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B modrá Dlouhá 16 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Join Join Budova B On On B.KodBudovy = D. D. KodBudovy

52 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Join Join Odd Odd D On On O.IdOdd = D.IdOdd Join Join Budova B On On B.KodBudovy = D. D. KodBudovy Jmeno Plat IdOdd Nazev KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B modrá Dlouhá 16

53 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, From D.Nazev, O.KodBudovy, B.Barva, B.dresa Oso as O Join Join pokud On podmínka je "=" [rovnost] a jména sloupců obou tabulek shodná lze užít podmínku Using Odd D On O.IdOdd = D.IdOdd Budova B On B.KodBudovy = D. KodBudovy

54 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, From D.Nazev, O.KodBudovy, B.Barva, B.dresa Oso as O Join Odd D Using (IdOdd( IdOdd) Join Budova B pokud On podmínka je "=" [rovnost] a jména sloupců obou tabulek shodná lze užít podmínku Using Using (KodBudovy( KodBudovy);

55 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso as O Join Odd D Using (IdOdd( IdOdd) Join Budova B Using (KodBudovy( KodBudovy);

56 Vnitřní spojení - Inner Dluh Oso Id Dat Castka Jm Pr Jm Pr Mesto Ulice Cis Pepa Pudil Jara Juda z Mala Jara Juda Karel Kren Brno Velka Karel Kren Pepa Pudil Praha Bila 30 Zdenek Zvara Praha Modra 40 Id Dat Castka Jm Pr Mesto Ulice Cis Select D.*, D.*, O.Mesto, O.Ulice, O.Cislo From Dluh Dluh D Join Join Oso Oso O On On D.Jm =O.Jm ND D.Pr D.Pr =O.Pr ; ; podmínka On může být složená pokud podmínky jsou ND z rovností a shodná jména lze užít podmínku Using(,, )

57 Vnitřní spojení - Inner Dluh Oso Id Dat Castka Jm Pr Jm Pr Mesto Ulice Cis Pepa Pudil Jara Juda z Mala Jara Juda Karel Kren Brno Velka Karel Kren Pepa Pudil Praha Bila 30 Zdenek Zvara Praha Modra 40 Id Dat Castka Jm Pr Mesto Ulice Cis Select D.*, D.*, O.Mesto, O.Ulice, O.Cislo From Dluh Dluh D Join Join Oso Oso O Using (Jm, (Jm, Pr); Pr); podmínka On může být složená pokud podmínky jsou ND z rovností a shodná jména lze užít podmínku Using(,, )

58 Vnitřní spojení - Inner Dluh Oso Id Dat Castka Jm Pr Jm Pr Mesto Ulice Cis Pepa Pudil Jara Juda z Mala Jara Juda Karel Kren Brno Velka Karel Kren Pepa Pudil Praha Bila 30 Zdenek Zvara Praha Modra 40 Select D.*, From O.Mesto, O.Ulice, O.Cisllo Dluh D Join Oso O Using (Jm,Pr); podmínka On může být složená pokud podmínky jsou ND z rovností a shodná jména lze užít podmínku Using(,, )

59 Vnitřní spojení - Inner Dluh Oso Id Dat Castka Jm Pr Jm Pr Mesto Ulice Cis Pepa Pudil Jara Juda z Mala Jara Juda Karel Kren Brno Velka Karel Kren Pepa Pudil Praha Bila 30 Zdenek Zvara Praha Modra 40 Select D.*, D.*, O.Mesto, O.Ulice, O.Cisllo From Dluh Dluh D Join Join Oso Oso O Using (Jm,Pr); podmínka On může být složená pokud podmínky jsou ND z rovností a shodná jména lze užít podmínku Using(,, )

60 Vnitřní spojení - Inner Oso PK Jmeno Plat FK1 IdOdd Odd PK IdOdd Oso Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Nazev FK1 KodBudovy Pepa Prodej? B 300 Propagace Select Oso.*,, Odd.* From Oso Oso Join Join Odd Odd ON ON 1 = 1; 11; Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace Pepa Nakup Pepa Prodej B Pepa Propagace podmínka vždy splněna výsledek == kartézský součin

61 Vnitřní spojení - Inner Oso PK Jmeno Plat FK1 IdOdd Odd PK IdOdd Oso Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Nazev FK1 KodBudovy Pepa Prodej? B 300 Propagace Select Oso.*,, Odd.* From Oso Oso Join Join Odd Odd ON ON 1 = 0; 0; Jmeno Plat IdOdd IdOdd Nazev KodBudovy podmínka vždy nesplněna výsledek == prázdná tabulka

62 Vnitřní spojení - Inner PPan DDama Jm dam Vyska 180 Bobo 165 David Honza Jan Kamil 169 Jm Ema Gaby Jana Lucy Nada Vyska ? Pan Pan dam dam David David VyskaP VyskaP Dama Dama Gaby Jana Gaby Jana VyskaD VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Honza Honza Ema Gaby Jana Lucy Ema Gaby Jana

63 Vnitřní spojení - Inner PPan DDama Jm dam Vyska 180 Bobo 165 David Honza Jan Kamil 169 Jm Ema Gaby Jana Lucy Nada Vyska ? Pan Pan dam dam David David VyskaP VyskaP Dama Dama Gaby Jana Gaby Jana VyskaD VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Honza Honza Ema Gaby Jana Lucy Ema Gaby Jana

64 Vnitřní spojení - Inner Jm PPan DDama dam 180 Bobo 165 David Honza Jan 159 Kamil Vyska Jm Ema Gaby Jana Lucy Nada Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Jan a Kamil si si ani neškrtnoun ale nedovědí se se to to From PPan PPan P Join Join DDama D nebylo On On by P.Vyska slušný > D.Vyska+10; to tam Vyska lenit i "nespojené" Pan VyskaP řádky 170? Pan VyskaP 180 dam dam 180 David 177 David krtnou Honza 182 Honza 182 jak do do výsledku začlenit i i "nespojené" řádky s indikací že e se se nespojili vnějším m spojením Honza nebylo by slušný to to tam ňák k naznačit načit??? 182 Dama Dama Gaby Jana Gaby Jana Ema Gaby Jana Lucy Ema Gaby Jana VyskaD VyskaD

65 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) 65

66 Vnitřní spojení - Inner Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Join Join DDama D On On P.Vyska > D.Vyska+10; Honza 182 Jana 164

67 Vnější spojení - Outer Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Left Left Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Jan Kamil Jana 164

68 Vnější spojení - Outer Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Right Join Join DDama D On On P.Vyska > D.Vyska+10; Honza 182 Jana Nada

69 Vnější spojení - Outer Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Full Full Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Jan Kamil Jana Nada

70 Vnější spojování tabulek - outer join vnitřní spojení vyřadí z výsledku řádky pro které se se v druhé tabulce nenalezne žádná spojovací shoda nespojené řádky z výsledku vypadnou někdy žádoucí ponechat nespojené řádky ve ve výsledku s indikací nespojení s druhou tabulkou nespojené řádky se se spojí se se simulovanou NULL řádkou druhé tabulky to to je je vnější spojení [outer join]

71 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) 71

72 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) 72

73 Vnitřní spojení - Inner Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Natural Join Join Odd Odd D Natural Join Join Budova B; B; žádné podmínky nezadány sloupce tabulek stejně se jmenující se porovnají na rovnost

74 Přirozené spojení Oso Odd Budova Jmeno Plat IdOdd IdOdd Nazev KodBudovy KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B B modrá Dlouhá Propagace C bílá korát 20 Select O.Jmeno, O.Plat, O.IdOdd, D.Nazev, O.KodBudovy, B.Barva, B.dresa From Oso Oso as as O Natural Join Join Odd Odd D Natural Join Join Budova B; B; Jmeno Plat IdOdd Nazev KodBudovy Barva dresa Nakup žlutá Krátká 10 Pepa Prodej B modrá Dlouhá 16

75 Přirozené spojení Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David 177 Gaby Jana Pan VyskaP Dama VyskaD 193 Lucy 180 Honza 182 Nada 199 Jan 159 Kamil 169 Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Natural Join Join DDama D; D;

76 Přirozené spojení Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David 177 Gaby Jana Pan VyskaP Dama VyskaD 193 Lucy 180 Honza 182 Nada 199 Jan 159 Kamil 169 Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Natural Join Join DDama D; D; Select Select P.Jm P.Jm Pan, Pan, P.Vyska P.Vyska VyskaP, VyskaP, D.Jm D.Jm Dama, Dama, D.Vyska D.Vyska VyskaD VyskaD From From PPan PPan P Join Join DDama DDama D; D; ON ON P.Jm P.Jm = D.Jm D.Jm ND ND P.Vyska = D.Vyska;

77 Přirozené spojení JmP PPan Vyska JmD DDama Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Gaby Jana Lucy Pan dam VyskaP 180 Dama Lucy VyskaD 180 Honza 182 Nada 199 Jan 159 Kamil 169 Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Natural Join Join DDama D; D;

78 Přirozené spojení JmP PPan Vyska JmD DDama Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Gaby Jana Lucy Pan dam VyskaP 180 Dama Lucy VyskaD 180 Honza 182 Nada 199 užívání Natural l Join lze posuzovat jako trestný čin Jan 159 Kamil lze 169 posuzovat jako trestný Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Natural Join Join DDama D; D;

79 Přirozené spojování tabulek - natural join natural join použití v aplikaci je je závažným trestním činem techniku přirozeného spojení ihned po po přednášce zapomeneme kdo u zkoušky bude vědět co co to to je je natural join dopouští se se přestupku držení nebezpečné zbraně a nemůže být klasifikován dostatečně!!!!!!

80 Spojování tabulek přirozené (NTURL JOIN) křížové (CROSS JOIN) vnitřní (INNER JOIN) vnější (OUTER JOIN) úplné vnější (FULL OUTER JOIN) částečné vnější z z leva (LEFT JOIN) z z prava (RIGHT JOIN) výlučné spojení (neexistuje klauzule --exclusion) 80

81 Výlučné spojení - exclusion zjištění něčeho co není co nemá nějakou vlastnost co nemá nějakou vazbu zjištění pánů [dam] DDama Jm Vyska Ema 170 Gaby 159 Jana 164 Lucy 180 Nada 199 kteří / které si dle daných pravidel nezatancují PPan Jm dam Vyska 180 Bobo 165 David Honza Jan Kamil 169 užije se vnější spojení [pravé, levé, úplné]

82 Vnější spojení - Outer Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Left Left Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Jan Kamil Jana 164

83 Vnější spojení - Outer Jm PPan Vyska DDama Jm Vyska Pan VyskaP Dama VyskaD dam 180 Ema 170 Bobo 165 David Honza Jan Kamil 169 Gaby Jana Lucy Nada Pan dam dam David David VyskaP Dama Gaby Jana Gaby Jana Ema VyskaD Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Honza Honza Gaby Jana Lucy Ema Gaby From PPan PPan P Left Left Join Join DDama D On On P.Vyska > D.Vyska+10; Honza Jan Kamil Jana NULL NULL 164 NULL NULL

84 Vnější spojení - Outer PPan Jm dam Vyska 180 Bobo 165 David Jm Ema Gaby Jana DDama Vyska Pan VyskaP Dama VyskaD Honza 182 Jan 159 Kamil 169 Lucy Nada Pan dam VyskaP 180 Dama Gaby VyskaD 159 Select Pan, Pan, VyskaP From (( Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD dam David David Honza Jana Gaby Jana Ema Gaby Jana Lucy Ema From PPan PPan P Left Left Join Join DDama D On On P.Vyska > D.Vyska+10 )) as as TT TT Where Dama IS IS NULL; Honza Honza Jan Kamil Gaby Jana NULL NULL NULL NULL

85 Vnější spojení - Outer PPan Jm dam Vyska 180 Bobo 165 David Jm Ema Gaby Jana DDama Vyska Pan VyskaP Dama VyskaD Honza 182 Lucy 180 Jan 159 Kamil 169 Nada 199 Select Pan, Pan, VyskaP From (( Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD From PPan PPan P Left Left Join Join DDama D On On P.Vyska > D.Vyska+10 )) as as TT TT Where Dama IS IS NULL; Pan Jan Kamil VyskaP

86 Vnější spojení - Outer PPan Jm dam Vyska 180 Bobo 165 David Honza Jan Kamil 169 Jm Ema Gaby Jana Lucy Nada DDama Vyska Pan dam... Honza VyskaP Dama Gaby... Jana VyskaD Select Dama, VyskaD From (( Select P.Jm P.Jm Pan, Pan, P.Vyska VyskaP, D.Jm D.Jm Dama, D.Vyska VyskaD Null Dama Nada Null VyskaD 199 Nada 199 From PPan PPan P Right Join Join DDama D On On P.Vyska > D.Vyska+10 )) as as TT TT Where Pan PanIS IS NULL;

87 a co normy

88 Spojování tabulek a nsi normy SQL / SQL1 implicitní spojení pomocí WHERE SQL / SQL2 SQL 2003 SELECT SELECT FROM FROM Tab1, Tab1, Tab2 Tab2 WHERE WHERE Tab1. Tab1. Sloup Sloup = Tab2.SloupB Tab2.SloupB explicitní operátor JOIN v klauzuli FROM SELECT SELECT FROM FROM Tab1 Tab1Join JoinTab2 On On Tab1. Tab1. Sloup Sloup = Tab2.SloupB Tab2.SloupB [ [ On On > <!=!= In In Betwwen Betwwen en ] ] [ [ Using Using (IdXxxx) (IdXxxx) ] ] explicitní JOIN implicitní JOIN 88

89 Spojování tabulek Select Oso.*,, Odd.* From Oso, Oso, Odd Odd Where Oso.IdOdd = Odd.IdOdd kartézský součin tabulek Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Prodej B Propagace Pepa Nakup Pepa Prodej B Pepa Propagace Po WHERE Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Pepa Prodej B mě se se to to ňák k metodicky nelíbí pane metodický učiteliu do do klauzule WHERE jsme dávali d podmínky výběru vylučovací to to něnín fér fér dát t tam [[ i i ]] podmínky spojovací

90 JOIN - klauzule spojování klauzule klauzule JOIN JOIN spojování se se zadává zadáváklauzulí klauzulífrom Select Oso.*,, Odd.* From Oso Oso JOIN Odd Odd ON ON Oso. IdOdd = Odd.IdOdd Where Oso.IdOdd = Odd.IdOdd Oso Odd Jmeno Plat IdOdd IdOdd Nazev KodBudovy Jmeno Plat IdOdd IdOdd Nazev KodBudovy Nakup Nakup Pepa dam Prodej Propagace B Pepa Prodej B dam Prodej B Karel Karel Propagace Fany Fany Prodej B Select Oso.*,, Odd.* From Oso Oso JOIN Odd Odd USING (IdOdd)

91 JOIN - klauzule spojování klauzule klauzule JOIN JOIN Select From Tab1 JOIN Tab2 podmínky spojování Where podmínky filtrování [výběru / / vylučování]

92 a zas něco caseovního

93 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí Výše > Definice třídy úvěru Od Do Třída > B řešte řešte > <= C D pane učiteli, u to to nejde,, dyť dyťto to je je algoritmus to to se se bude muset naprogramovat ňákejma IF-ama v ňákym programovacim jazyku sakra, to to bude ale ale dřina d!!!!!!!! do do vánoc v je je co co dělatd 93

94 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí Výše > Definice třídy úvěru Od Do Třída > B řešte řešte > <= C D umíte vybrat řádky s třídou t? -- --vyrobte je je!!!!!! Select Firma, MaxUver, '' Trida From Zakaznici Where MaxUver > ; Firma MaxUver Trida BMV

95 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí Výše > Definice třídy úvěru Od Do Třída > B řešte řešte > <= C D umíte vybrat řádky s třídou t B? -- --vyrobte je je!!!!!! Select Firma, MaxUver, 'B' Trida From Zakaznici Where MaxUver > nd MaxUver <= ; Firma lfa MaxUver Trida B 95

96 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí Výše > Definice třídy úvěru Od Do Třída > B řešte řešte > <= C D umíte vybrat řádky s třídou t D? -- --vyrobte je je!!!!!! Select Firma, MaxUver, 'D' Trida From Zakaznici Where MaxUver <= ; Firma MaxUver Trida Beta sro D 96

97 lgoritmizace dotazu Definice třídy úvěru Výše Od Do > > B > C <= D Třída Firma lfa Beta sro BMV MaxUver Trida B D Select Firma, MaxUver, '' Trida From Zakaznici Where MaxUver > ; Firma BMV MaxUver Trida Select Firma, MaxUver, 'B' Trida From Zakaznici Where MaxUver > nd MaxUver <= ; Firma lfa MaxUver Trida B Select Firma, MaxUver, 'C' Trida From Zakaznici Where MaxUver > nd MaxUver <= ; Firma MaxUver Trida Select Firma, MaxUver, 'D' Trida From Zakaznici Where MaxUver <= ; Firma Beta sro MaxUver Trida D 97

98 lgoritmizace dotazu Definice třídy úvěru Výše Od Do Třída > > B > C Firma lfa Beta sro BMV MaxUver Trida B D <= D Select Firma, MaxUver, '' Trida From Zakaznici Where MaxUver > UNION Select Firma, MaxUver, 'B' Trida From Zakaznici Where MaxUver > nd MaxUver <= UNION Select Firma, MaxUver, 'C' Trida From Zakaznici Where MaxUver > nd MaxUver <= UNION Select Firma, MaxUver, 'D' Trida From Zakaznici Where MaxUver <= ; Firma lfa Beta sro MaxUver Trida B D BMV

99 a radši zpět t k problému

100 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí Výše > Definice třídy úvěru Od Do Třída > B řešte řešte > <= C D SQL SQL -- neprocedurální jazyk nelze několika n povely vytvářet algoritmus povely jsou jsou na na sobě [procesně] nezávislé SQL SQL mám mávšak v sobě bohatou algoritmickou funkcionalitu SQL SQL umožňuje uje zadat algoritmizaci dovnitř jednoho povelu 100

101 lgoritmizace dotazu Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV BMV výši úvěru označte jeho třídou dle rozpětí IF IF Uver Uver >900 > Then Then ELSE ELSE IF IF Uver Uver >500 > Then Then ELSE ELSE IF IF Uver Uver >100 > Then Then ELSE ELSE ;...; Do Do While While End End While; While; IF řešte IF END řešte END IF IF Výše > > > <= Definice třídy úvěru Od Do Třída B C D SQL SQL -- neprocedurální jazyk nelze SQL několika n povely povel vytvářet.. ; povely jsou jsou na na sobě [procesně] nezávislé SQL SQL mám mávšak v sobě bohatou algoritmickou funkcionalitu SQL SQL umožňuje uje zadat algoritmizaci dovnitř jednoho povelu 101

102 Podmíněný ný operátor Case operátor CSE CSE [neboli [neboli podmíněný výraz] výraz] umožňuje provádět jednoduchá rozhodnutí na na úrovni úrovni VÝRZU struktura operátoru je je podobná konstrukci IF IF THEN THEN ELSE ELSE 102

103 Podmíněný ný operátor Case CSE CSE WHEN WHEN (a>b) (a>b) THEN THEN WHEN WHEN (a>c) (a>c) THEN THEN WHEN WHEN (a+b>c) (a+b>c) THEN THEN ELSE ELSE END END varianta varianta 1 CSE CSE aa awhen WHEN (2) (2) THEN THEN WHEN WHEN (3) (3) THEN THEN WHEN WHEN (88) (88) THEN THEN ELSE ELSE END END varianta varianta 2 CSE CSE WHEN WHEN (a= a=2) (a=2) THEN THEN END END WHEN WHEN (a= a=3) (a=3) THEN THEN WHEN WHEN (a= a=88 (a=88) 88) THEN THEN.... ELSE ELSE varianta varianta

104 Podmíněný ný operátor Case CSE CSE WHEN WHEN (Length (Length(Jmeno) (Jmeno) + Length(Prijmeni) Length(Prijmeni) = 10) 10) THEN THEN WHEN WHEN (Length (Length(Jmeno) (Jmeno) + Length(Prijmeni) Length(Prijmeni) = 11) 11) THEN THEN WHEN WHEN (Length (Length(Jmeno) (Jmeno) + Length(Prijmeni) Length(Prijmeni) = 12) 12) THEN THEN ELSE ELSE END END varianta varianta 1 1 CSE CSE Length(Jmeno) Length(Jmeno) + Length(Prijmeni) Length(Prijmeni) WHEN WHEN (10 (10) THEN THEN WHEN WHEN (11 (11) THEN THEN WHEN WHEN (12 (12) THEN THEN ELSE ELSE varianta END varianta 2 2 END 104

105 Podmíněný ný operátor Case - varianta 1 CSE WHEN podmínka THEN výsledný výraz NULL WHEN podmínka THEN výsledný výraz NULL WHEN podmínka THEN výsledný výraz NULL ELSE výsledný výraz NULL END 105

106 Podmíněný ný operátor Case - varianta 2 CSE výraz WHEN výrazhodnoty THEN výsledný výraz NULL WHEN výrazhodnoty THEN výsledný výraz NULL WHEN výrazhodnoty THEN výsledný výraz NULL ELSE výsledný výraz NULL END 106

107 Podmíněný ný operátor Case CSE WHEN podmínka THEN výsledný výraz NULL WHEN podmínka THEN výsledný výraz NULL WHEN podmínka THEN výsledný výraz NULL ELSE výsledný výraz END NULL varianta 1 varianta 1 CSE výraz WHEN výrazhodnoty THEN výsledný výraz NULL WHEN výrazhodnoty THEN výsledný výraz NULL WHEN výrazhodnoty THEN výsledný výraz NULL END ELSE výsledný výraz NULL varianta 2 varianta 2

108 Podmíněný ný operátor Case CSE je je operátor vrací vracískalární hodnotu komplikovaný algoritmus vracející hodnotu 108

109 Podmíněný ný operátor Case Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV řešte řešte BMV SELECT Firma, MaxUver, a jako 3. sloupec si "vyrobíme" buď ''nebo'b'nebo cokoliv jiného podmíněných operátorem CSE dle hodnoty ve sloupci MaxUver FROM Zakaznici 109

110 Podmíněný ný operátor Case Zakaznici Firma MaxUver lfa Beta sro Firma lfa Beta sro MaxUver Trida B D BMV řešte řešte BMV SELECT Firma, MaxUver, CSE WHEN (MaxUver>900000) WHEN (MaxUver>500000) WHEN (MaxUver>100000) ELSE THEN '' THEN 'B' THEN 'C' 'D' END FROM Zakaznici 110

111 Podmíněný ný operátor Case Zakaznici Firma MaxUver lfa Beta sro BMV pane učiteliu to to nemáte dobře řešte řešte Firma lfa Beta sro BMV MaxUver Trida B D SELECT Firma, MaxUver, CSE WHEN (MaxUver>900000) THEN '' WHEN (MaxUver>500000) THEN 'B' WHEN (MaxUver>100000) THEN 'C' ELSE 'D' END FROM Zakaznici a cotak mmůžu u dobře nemít t copak??? 111

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

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

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

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

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

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

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

Ú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

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

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

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

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

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

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

Ú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

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

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

Ú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

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

6. blok část C Množinové operátory

6. blok část C Množinové operátory 6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.

Více

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

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

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

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

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

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

Ú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

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

U koly na procvic ení jazyka T-SQL

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

Více

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

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

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

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

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

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

Více

Úvod do databá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

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

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

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

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

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Dotazovací jazyky I. Datová krychle. Soběslav Benda Dotazovací jazyky I Datová krychle Soběslav Benda Obsah Úvod do problematiky Varianty přístupu uživatelů ke zdrojům dat OLTP vs. OLAP Datová analýza Motivace Vytvoření křížové tabulky Datová krychle Teorie

Více

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

Databáze I. Přednáška 2 Databáze I Přednáška 2 Transformace E-R modelu do relačního modelu (speciality) zaměříme se na dva případy z předmětu Analýza a modelování dat reprezentace entitního podtypu hierarchie ISA reprezentace

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

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uložené procedury Úvod ulehčit správu zabezpečení rychleji Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen

Více

Úvod do SQL v systému SAS Martin Branda

Úvod do SQL v systému SAS Martin Branda Úvod do SQL v systému SAS Martin Branda Tabulka vp_klient: klient_id jmeno prijmeni datnar adresa mesto pohlavi 1 Jana Nováková 01Mar1952 Hradecká 101 Praha Z 2 Josef Novotný 22Jan1980 Zámecká 25 Brno

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

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

Mechanismus obarvení řádků browse

Mechanismus obarvení řádků browse Mechanismus obarvení řádků browse Zpracoval: Roman Rajnoha U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 27.6.2008 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Tomáš Urych www.eso9.cz Dne: 25.6.2018

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

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

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

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální

Více

Databázové systémy. Dotazovací jazyk SQL - II

Databázové systémy. Dotazovací jazyk SQL - II Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING

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

Ř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

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D. Databáze 2011/2012 SQL SELECT II. RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Pkrčilé SQL IN, EXIST, ANY, ALL GROUP BY, HAVING CASE, COALESCE Mnžinvé perace Cvičení pkrčilé dtazvání v SQL Klauzule

Více

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován. Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen

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

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

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

Více

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

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

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

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

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

Více

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1 8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11

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

- 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

SQL tříhodnotová logika

SQL tříhodnotová logika SQL tříhodnotová logika Jmeno Prijmeni Student Jaroslav Novák true Josef Novotný false Jiří Brabenec SELECT * FROM OSOBA WHERE Student!= true Jaký bude výsledek? SQL tříhodnotová logika Jmeno Prijmeni

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

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

ŘÍDÍCÍ STRUKTURY - PODMÍNKY ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při

Více

10 Algoritmizace Příklad 2 Word 2007/ VBA

10 Algoritmizace Příklad 2 Word 2007/ VBA TÉMA: Zápis algoritmu, cyklus se známým počtem opakování Prostředí aplikace Wordu je možné doplnit v rámci využití maker o automatizaci složitějších posloupností příkazů. Vedle záznamu makra je možno makra

Více

4. blok část A Logické operátory

4. blok část A Logické operátory 4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu

Více

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

Více

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

Analýza a modelování dat. Přednáška 9

Analýza a modelování dat. Přednáška 9 Analýza a modelování dat Přednáška 9 Další dotazování nad kostkou Rozšíření SQL99 rozšíření SQL99 (minulá přednáška): seskupovací operátory za GROUP BY CUBE statistiky dle řezů ROLLUP statistiky dle rolování

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

Relační model dat (Codd 1970)

Relační model dat (Codd 1970) Relační model dat (Codd 1970) Odkud vychází, co přináší? Formální abstrakce nejjednodušších souborů. Relační kalkul a relační algebra (dotazovací prostředky). Metodika pro posuzování kvality relačního

Více

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague seminář: Administrace Oracle (NDBI013) LS2017/18 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague Rozšíření bezpečnostní

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

Dolování asociačních pravidel

Dolování asociačních pravidel Dolování asociačních pravidel Miloš Trávníček UIFS FIT VUT v Brně Obsah přednášky 1. Proces získávání znalostí 2. Asociační pravidla 3. Dolování asociačních pravidel 4. Algoritmy pro dolování asociačních

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

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

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

Virtual private database. Antonín Steinhauser

Virtual private database. Antonín Steinhauser Virtual private database Antonín Steinhauser Základní princip VPD Rozšíření bezpečnostní politiky Oracle o omezení na úrovni jednotlivých řádků a sloupců Pro uživatele, kterého se bezpečnostní politika

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

Analýza a modelování dat. Přednáška 8

Analýza a modelování dat. Přednáška 8 Analýza a modelování dat Přednáška 8 OLAP, datová kostka, dotazování nad kostkou Motivace většina DB relační zaznamenání vztahů pomocí logicky provázaných tabulek jakou mají velmi často vztahy povahu vztah

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

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu 8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11

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

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

Násobení pomocí sčítání

Násobení pomocí sčítání Neznalost zákonů neomlouvá Násobení pomocí sčítání Zadání problému: Vymyslete algoritmus, jak násobit dvě čísla, když operaci násobení neznáme. Upřesnění zadání: Známe čísla, známe operaci sčítání, odčítání.

Více

SQL - úvod. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 6

SQL - úvod. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 6 SQL - úvod Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11, P

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

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

Datové a procesní modely. A zpět k PEPOvi

Datové a procesní modely. A zpět k PEPOvi A zpět k PEPOvi Pepa PEPRO Komponenty Advice to Ministers Policy & Planning Capability Management Advice Availability Advice Technology Awareness Technology Capability in Supplies Innovative Solutions

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

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

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

Více