OQL. Jakub Kýpeť, Ondřej Heřmánek

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

Download "OQL. Jakub Kýpeť, Ondřej Heřmánek"

Transkript

1 OQL Jakub Kýpeť, Ondřej Heřmánek

2 Obsah Historie Objektový model Dotazovací jazyk Příklady

3 Historie vzniká standard ODMG-93 nadmnožina obecného modelu od OMG převzat definiční jazyk IDL dotazovací část OQL podle SQL-92 C++, SmallTalk, Java (později JDO) ODMG 3.0

4 Objektový model Objekt - základní jednotka OML Objekt je instance třídy - typ Třídy definují stav a chování objektů OID, atributy, vazby s jinými objekty, metody Operace nad objekty dědění, zapouzdření, polymorfismus,...

5 Dědičnost násobná dědičnost tříd třída dědí od předka jeho vlastnosti (k tomu určené), může si přidat vlastní poděděnou třídu lze považovat za předka abstraktní třídy - nelze instanciovat přímo pokud dojde ke kolizi jmen operací u dvou předků, potomek musí definovat obě

6 Objekt má OID, stav (vlastnosti) a chování (metody) lze definovat klíč(e), index(y) každému objektu unikátní název v rámci "scope" vlastnosti (určují stav) - atributy a relace operace (určují chování) - metody životnost - v proceduře, programu, databázi

7 Atributy objektu definovány na typu (třídě) objektu dvojice typ a hodnota atributu age: Integer sex: Enumeration("male", "female") height: Integer nastavení a získání hodnoty set_value(new_value:literal) get_value() -> existing_value:literal

8 Relace mezi objekty namají ani OID, ani jméno definovány mezi dvěma (mutable) objekty podporované typy vztahů - 1:1, 1:N, M:N 1:N a M:N relace mohou být setřízené typ M:N implikuje M relací 1:N a N relací 1:M relace 1:N implikuje N relací typu 1:1

9 Příklad relace mezi objekty Student se účastní několika kurzů, jednoho kurzu se účastní několik studentů. (relace typu M:N) interface Student { takes: Set<Course> inverse Course::is_taken_by } interface Course { is_taken_by Set<Student> inverse Student::takes }

10 Metody objektu formálně nazývány operace, určují chování signatura název - unikátní v rámci objektu parametry - literály i objekty návratový typ - objekt, literál i nil potenciální chyby při výpočtu (Java)

11 Správa chyb hierarchie typů chyb a jejich podtypů chyby jsou odchytávány "handlery" "handler" chybu zpracuje, nebo pošle dál raise -> catch -> dispose (-> abort) po zpracování chyby program pokračuje ve vykonávání příkazu, který následoval po příkazu, jehož volání vyvolalo tu chybu

12 Datové typy Objekty (Person, Company,..., nil) Literály Boolean (true, false) Integer (111), Float (314.16e-2) Char ('a'), String ("xyz") Date, Time, DateTime, Interval - jako v SQL-92 Enumerátory Strukturované typy Kolekce (Bag, Set, List, Array) Struktury lze definovat vlastní podtypy

13 Strukturované typy Struktury předem známá velikost - počet a typ objektů může obsahovat objekty různých typů pojmenované pozice objektů address.zip_code = "14800" Kolekce počet objektů v kolekci není předem znám prvky stejného typu (nebo alespoň stejného předka) umístění objektu v kolekci je určeno při vkládání na začátek, na konec, relativně, absolutně,... Bag, Set, List, Array

14 Kolekce generické kolekce, typ určen deklarací List<Course> - seznam kurzů ve škole přídání, změna či mazání prvku nevytváří novou kolekci lze je indexovat dotaz nad kolekcí vrací jinou kolekci stejného typu Iterování přes kolekce - pomocí iterátorů next(), first(), last(), more?() create_iterator operace na kolekci kolekci lze měnit během iterace u netříděných funguje vždy u tříděných funguje, pokud je prvek změněn před iterátorem (tzn. bude se přes něj ještě iterovat)

15 Kolekce - změna během iterace class Part { components : Bag<Part>;... } all_components : Bag<Part>; p: Part; all_components := 'some Part'; foreach p in all_components do { all_components := all_components UNION p.components }

16 Type Set<T> nesetříděná kolekce prvků (pod)typu T,nedovoluje duplicity pokud vkládaný prvek již v kolekci existuje, nic se nestane operace sjednocení dvou kolekcí (union) vrací novou kolekci s unikátními prvky původních kolekcí operace průniku dvou kolekcí (intersect) vrací novou kolekci s prvky, které leží v průniku kolekcí operace rozdílu (differenece) vrací prvky kolekce, které nejsou v kolekci, která byla předána jako parametr operace operace kopie dvou kolekcí (copy) vytváří novou kolekci s prvky původní kolekce - jde o mělkou kopii!!!

17 Type Bag<T> nesetříděná kolekce prvků (pod)typu T, dovoluje duplicity pokud vkládaný prvek již v kolekci existuje, vloží se znovu operace mazání prvku z kolekce (remove) vymaže jeden výskyt prvku v kolekci operace změny prvku (update) změní všechny výskyt operace rozdílu, sloučení, průniku a kopie jsou stejné jako pro Set<T>

18 Type List<T> setříděná kolekce prvků (pod)typu T,dovoluje duplicity pořadí prvků v kolekci je dáno jejich pořadím při vkládání přehled o současné pozici (current_position) vkládání nastaví pozici na vložený prvek vkládání vloží prvek na současnou pozici mazání nastaví pozici na prvek přes smazaným

19 Type Array<T> jednodimenzionální pole proměnné délky pole se automaticky zvětší při vložení prvku mimo pole mazání prvku nastaví v poli na jeho pozici nil

20 ODL-Object definition language není programovací jazyk, jen jeho specifikace popisuje interface pro objekty v Objektovém Modelu ODMG cílem je zajistit přenositelnost databázových schémat mezi jednotlivými implementacemi ODBMS (v C++, Smalltalku) podporuje všechny konstrukce Objektového Modelu ODMG kompatibilní s Interface Definition Language (OMG IDL) rozšiřitelný jak pro budoucí funkcionality, tak pro optimalizace Data Definition Language pro objekty ODBMS

21 ODL - mapování

22 OQL - Object query language Základy OQL Dotazovaní Operátory Konverze Indexy

23 OQL - Object query language je založen na objektovém modelu ODMG je silně typovaný jazyk důvodem jeho vzniku je neefektivnost jazyka SQL na objektových databázích OQL je nadmnožina dotazovacího jazyka SQL, proto každý dotaz, který funguje nad relační databázi funguje i nad OQL OQL se na rozdíl od SQL jazyka nezabývá tvorbou datových struktur (například jako create table), jedná se o čistě dotazovací jazyk

24 OQL - Object query language OQL může být voláno přímo z programovacího jazyka pro který je definován ODMG binding (OQL může naopak volat funkce napsané v těchto jazycích) je využíván jako dotazovací jazyk v mnoha softwarových aplikacích existují různé implementace objektových databází, nad kterými vytváříme v OQL dotazy (EyeDB, O 2, ODABA...) OQL poskytuje primitiva pro práci s kolekcemi

25 OQL - Object query language Příklad volání OQL v jazyce Java OQLQuery oql; QueryResults results; db.begin(); // začátek tranzakce oql = db.getoqlquery("select p FROM Product WHERE Group=$1"); oql.bind(groupid); Product product results = oql.execute(); // zavolání dotazu s parametrami while (results.hasmore()) { product = (Product) results.next(); // operace nad objektem Product } results.close(); oql.close(); db.close(); // konec tranzakce

26 Konstrukce objektů v OQL množina: set(e 1, e 2,..., e n ) seznam: list(e 1, e 2,..., e n ) multi-množina: bag(e 1, e 2,..., e n ) pole: array(e 1, e 2,..., e n ) objekt třídy T: <T> (p 1 : e 1, p 2 : e 2,..., p n : e n ) Person (name: "Petr", age: 22) struktura: struct (p 1 : e 1, p 2 : e 2,..., p n : e n ) p i... název vlastnosti e i... výraz, který chceme dosadit do p i

27 Příklad objektu v C++ deklarace objektu v C++ class Person { public: d_string name; int age; d_set<d_ref<person>> friends; d_list<d_ref<person>> children; char* getname() { return name; } };

28 Dotazy Jednoduché dotazy zahrňují různé typy hodnot atomické hodnoty - 2 * 2, strukturní hodnoty - User.name list, pole - User.children[0] volání metod - User.getName Objekt User se nazývá databázový vstupní bod. Operátor. (->) se smí použít jenom na jeden objekt, nikdy na kolekci objektů. User vrací celý objekt User typu Person.

29 Select... from... where SELECT - definuje strukturu výsledku na dotaz distinct a order by mění výslednou strukturu FROM - definice kolekcí kolekce join WHERE - definuje predikáty, které filtrují kolekce

30 Kolekce Set, Bag - nesetřídená množina dat select e from e in User.friends where e.name = "Peter" List, Array - setřídená kolekce dat User.children[1] User.children[1:2] [d_set<d_ref<person>> friends;] [d_list<d_ref<person>> children;]

31 Kolekce a nil testovaní na nil select x.name from x in User.friends where x!=nil and x.age > 18 OQL přeskakuje nil objekty proto select x.name from x in User.Friends where x.age > 18 je ekvivalentní předchozímu dotazu

32 Konstrukce výsledku dotazu Výsledkem dotazu může být multi-množina, množina, seznam nebo pole Implicitní forma je multi-množina(bag) po použití klíčového slova distinct vytváří výsledek jako množinu (Set) při použití třídění se výsledek vrací jako seznam (List)

33 Příklady select struct (friend: e.name, age: e.age) from e in User.friends select e.name, e.age (ekvivalentní s prvním dotazem) from e in User.friends select * from User.friends (* vrací všechny atributy prvku v kolekci)

34 Operátory Základní operátory setříděné od nejvyšší priority - (unární minus) *, / OR AND NOT =, <>, <, >, <=, >= +, - porovnání dvou objektů O1 = O2 je vždy FALSE. pro porovnání všech atributů se používá *O1 = *O2. komentáře v OQL jsou značeny pomocí -- nebo //

35 Operátory Základní operátory pro dotazování agregační operátory (count, min, max,...) Define Element Exists Group by Like Order by množinové operace (sjednocení, průnik,...)

36 Agregační operátory Count (určuje počet prvků vyhovujících dotazu) count (User.friends) návratovou hodnotou dotazu je integer Mezi další agregační operátory v OQL patří min (select e.age from e in User.friends) max (select x.age from x in User.children) sum (User.children) avg (select e.age from e in User.friends)

37 Operátory použití operátoru Exists name TheCompanies: list (Company) select c.name from c in TheComapnies where exists e in c.employees: e.age < 23 Použití operátoru Define a operátoru Like define MyFriends as select e from e in User.friends where e.name like "Sp*" (znovupoužitelné jenom v rámci jedné session)

38 Operátory Použití operátoru Element element ( select e from e in User.friends where e.name = "Jan Novák" ) Použití operátoru Order by select e from e in User.friends order by e.name, e.age výsledkem dotazu je vždy list, i když je zdrojem set

39 Operátor Group by seskupuje objekty kolekce se stejnou hodnotou jistých atributů select * from e in User.friends group by e.age Výsledkem tohoto dotazu je n-tice dvou-atributových struktur. Prvním atributem je atribut podle kterého agregujeme a druhým atributem je množina nazývána partition.

40 Operátor Group by příklad struktury výsledku bag(struct (age: real, partition: bag (struct (e: Person)))) využití operátorů s atributem partition select age, number: count (partition) from e in User.friends group by e.age vrací pro každou hodnotu age dvojici [age, počet přátel s věkem age]

41 Operátor Group by výsledek operátoru Group by je možné filtrovat při filtrovaní jsou vybrána jenom skupiny, které vyhovují podmínce v klauzule having select age, number: count (partition) from e in User.friends group by e.age having count(partition) > 1 vrací jenom skupiny, v kterých jsou aspoň dvě osoby se stejným věkem

42 Množinové operace standardní množinové operace jsou definovány na datových typech Set a Bag mezi množinové operace v OQL patří union (+)... sjednocení intersect (*)... průnik except (-)... rozdíl

43 Množinové operace define MyFriends as select m from m in User1.friends define YourFriends as select y from y in User2.friends příklad použití operace průnik pro zjištění společných přátel MyFriends * YourFriends

44 Operátor pick operátor pick je definován na typech Set a Bag vrací element kolekce je vybrán náhodně příklad pick (MyFriends)

45 Konverze OQL obsahuje několik operátorů sloužících na konverzi mezi některými datovými typy listtoset - slouží na konverzi seznamu nebo pole na množinu name Users : list (Person) //vytvoření kolekce uživatelů listtoset (User.children) intersect listtoset (Users[3].children)

46 Konverze Konverze množiny nebo multi-množiny na seznam pro vytvoření seznamu musíme množinu (multimnožina) setřídit select e from e in User.friends order by e.name vrací seznam setřídění podle jména pro případ, když nás nezajímá výsledné setřídění můžeme použít následující řešení select e from e in User.friends order by *

47 Konverze flatten - slouží na konverzi kolekce, která obsahuje další kolekce, na jednu velkou kolekci flatten (select distinct e.friends from e in Users) vrací množinu všech přátel uživatelů

48 Indexy index mapuje klíč na jeden nebo více elementů kolekce kdykoliv program vyhledává v kolekci podle klíče, systém používá index pro rychlejší nalezení elementu tento proces je pro uživatele transparentní přítomnost/nepřítomnost indexu neovlivňuje kód dotazu přístup pomocí indexu zaručuje konstantní čas přístupu nezávisle na velikosti kolekce

49 Indexy definice indexu create index MyFriends on age; následující dotaz bude díky definovanému indexu optimalizován select e from e in MyFriends where e.age > 18 and e.age < 30 display index - pomocí tohto příkazu jsme schopný vidět jak OQL využíva indexy při našich dotazech

OQL. (Object Query Language) Michal Bartoš Filip Bureš

OQL. (Object Query Language) Michal Bartoš Filip Bureš OQL (Object Query Language) Michal Bartoš Filip Bureš Obsah (1) ODMG Základní vlastnosti OQL Struktura dotazu Datové typy Práce s objekty Tvorba objektů Objektová databáze Rozdíly oproti relační databázi:

Více

ODMG OQL. Jan Forch. Dotazovací jazyky, MFF UK

ODMG OQL. Jan Forch. Dotazovací jazyky, MFF UK ODMG OQL Jan Forch Dotazovací jazyky, MFF UK Obsah Objektově orientované databáze Úvod do ODMG-93 Motivace Idea Datový model OQL Gramatika OQL Literatura Dotazy 2 Jan Forch - ODMG OQL Objektově orientované

Více

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 OBJECT DEFINITION LANGUAGE Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 ODL a OQL ODL Objektové Object Definition Language popis objektového schéma SQL DDL Relační Data Definition Language příkazy CREATE,

Více

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

Analýza a modelování dat. Přednáška 5 Analýza a modelování dat Přednáška 5 Objektově orientované databáze Relační databáze data uložena v logicky provázaných tabulkách přes cizí klíče výhoda jednoduchost, intuitivnost, naplnění myšlenky oddělení

Více

Object Query Language. Daniel Fromek Miroslav Novotný

Object Query Language. Daniel Fromek Miroslav Novotný Object Query Language Daniel Fromek Miroslav Novotný MFF UK 2005 Relace vs. Objekty Z psychologického hlediska nám jsou bližší objekty. Žijeme v objektovém světe milionům let evoluce vděčíme za to, že

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

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

Ú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

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

12. Postrelační databázové systémy

12. Postrelační databázové systémy 12. Postrelační databázové systémy 12.1. Nové oblasti aplikací databázových technologií... 2 12.2. Objektově-orientované databáze... 5 12.3. Objektově-relační databáze... 12 12.4. Další typy databází a

Více

12. Postrelační databázové systémy

12. Postrelační databázové systémy 12. Postrelační databázové systémy 12.1. Nové oblasti aplikací databázových technologií... 2 12.2. Objektově-orientované databáze... 5 12.3. Objektově-relační databáze... 12 12.4. Další typy databází a

Více

Dolování v objektových datech. Ivana Rudolfová

Dolování v objektových datech. Ivana Rudolfová Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

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

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

Ú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

Ú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

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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

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

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

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

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

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

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

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

Databázové systémy. Cvičení 6: SQL

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

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

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

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

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

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

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

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

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

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

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4. Základy programování 4 - C# - 8. cvičení Radek Janoštík Univerzita Palackého v Olomouci 3.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.2017 1 / 10 Reakce na úkoly

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15 Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle

Více

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

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

Více

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

Použití databází na Webu

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

Více

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

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

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

XQuery: dotazovací jazyk nad XML

XQuery: dotazovací jazyk nad XML XQuery: dotazovací jazyk nad XML Jakub Lysák Tomáš Hradecký XML vs. relační model dat XML nepravidelná struktura metadata jsou uložena společně s vlastními daty stromová struktura data mají určené pořadí

Více

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

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

Více

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

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

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

Temporální databáze. Jan Kolárik Miroslav Macík

Temporální databáze. Jan Kolárik Miroslav Macík Temporální databáze Jan Kolárik Miroslav Macík 2012 Úvod jak zachytit časově proměnnou povahu jevů konvenční databáze stav pouze v jednom bodě časové linie aktuální obsah ~ statický snímek (snapshot) temporální

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků

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

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2005 2008 Michal Krátký Tvorba informačních systémů 1/39 Konceptuální

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti

Více

Jazyk PL/SQL Úvod, blok

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

Více

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.

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

Dotazovací jazyk pro řazená data

Dotazovací jazyk pro řazená data Dotazovací jazyk pro řazená data NDBI006 2011 Martin Chytil Motivace - dotazy závislé na pořadí Úvod do jazyka AQuery Datový model Algebra Transformace dotazů - optimalizace Výsledky experimentů Podobné

Více

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE Upozornění: Pro práci s RDF Oracle daty je třeba mít nainstalován Oracle Spatial Resource Description Framework (RDF). 1. Vytvoření tabulkového

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

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Objektové databáze. Martin Švec. 1. července 2003

Objektové databáze. Martin Švec. 1. července 2003 Objektové databáze Martin Švec 1. července 2003 1 Proč objektové databáze? Univerzální databázové systémy (database management systems DBMS) v současné době představují nejrozšířenější prostředek pro uchovávání

Více

PROSTOROVÉ DOTAZOVACÍ JAZYKY. (Maroš Kasinec, Jakub Kúdela)

PROSTOROVÉ DOTAZOVACÍ JAZYKY. (Maroš Kasinec, Jakub Kúdela) PROSTOROVÉ DOTAZOVACÍ JAZYKY (Maroš Kasinec, Jakub Kúdela) ÚVOD dotazovací jazyk hlavní prostředek interakce s databází klíčoví požadavek SŘBD (DBMS) SQL populární, komerční dotazovací jazyk pro relač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

Nerelační databázové modely. Helena Palovská

Nerelační databázové modely. Helena Palovská Nerelační databázové modely Helena Palovská palovska@vse.cz Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Materializované pohledy

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

Více

PRG036 Technologie XML

PRG036 Technologie XML PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu

Více

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

IB111 Programování a algoritmizace. Objektově orientované programování (OOP) IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,

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

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

9 - Map/filter/reduce OMO. Ing. David Kadleček, PhD

9 - Map/filter/reduce OMO. Ing. David Kadleček, PhD 9 - Map/filter/reduce OMO Ing. David Kadleček, PhD kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Map/filter/reduce v Java Map/filter/reduce v Java = Java 1.8 streams API Funkcionální přístup (řetězíme

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

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

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

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

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

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

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

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

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

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

Objektově relační databáze a ORACLE 8

Objektově relační databáze a ORACLE 8 Objektově relační databáze a ORACLE 8 Ludmila Kalužová VŠB - TU Ostrava, Ekonomická fakulta, Katedra informatiky v ekonomice, Sokolská 33, 701 21 Ostrava 1 Abstrakt V současné době existuje velký počet

Více

SEZNÁMENÍ SE STANDARDEM STEP A JEHO OBJEKTOVĚ ORIENTOVANÝM JAZYKEM EXPRESS

SEZNÁMENÍ SE STANDARDEM STEP A JEHO OBJEKTOVĚ ORIENTOVANÝM JAZYKEM EXPRESS SEZNÁMENÍ SE STANDARDEM STEP A JEHO OBJEKTOVĚ ORIENTOVANÝM JAZYKEM EXPRESS Martin Molhanec, Filip Gottwald, Roman Mík České vysoké učení technické FEL, Technická 2, 166 27 PRAHA 6, Dejvice, ČR tel.: (++420)

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více