OQL. (Object Query Language) Michal Bartoš Filip Bureš
|
|
- Vladimíra Pokorná
- před 5 lety
- Počet zobrazení:
Transkript
1 OQL (Object Query Language) Michal Bartoš Filip Bureš
2 Obsah (1) ODMG Základní vlastnosti OQL Struktura dotazu Datové typy Práce s objekty Tvorba objektů
3 Objektová databáze Rozdíly oproti relační databázi: Data nejsou ukládána jako jednotlivé primitivní typy, ale jako objekty s vlastnostmi Lépe odpovídá lidskému chápání reálného světa Koresponduje s objektovými programovacími jazyky
4 ODMG Object Data Management Group Object Data Management Systems (ODMSs) Systémy podporující standardy ODMG Základní součásti ODMG specifikace Object Model Object Definition Language (ODL) Object Query Language Object Interchange Format (OIF) Programing Language Binding
5 Object model Vychází z Object Management Group (OMG) Jedná se o společný základ objektových prostředí Jazykově nezávislý Obsahuje: Abstraktní datové typy (ADT) Atributy, vazby Zapouzdření, dědičnost, polymorfismus Rozhraní, metody...
6 Object Definition Language Vychází z OMG Interface Definition Language (IDL) Definuje jednotlivé objekty a jejich vlastnosti v souladu s ODMG objektovým modelem Nezávislý na programovacím jazyce
7 Object Interchange Format Specifikační jazyk pro definici formátu uložení stavu ODMS Nezávislý na implementaci ODMS Obsahuje definice: Identifikátoru objektu Typového omezení Hodnoty atribut Vazby na jiný objekt
8 Základní vlastnosti OQL Vystavěno nad ODMG objektovým modelem, přebírá tedy typy definované v příslušném modelu Velmi blízké normě SQL-92, rozšířeno o konstrukce týkající se objektů Neobsahuje modifikační operátory jako SQL, modifikace objektů je prováděna prostřednictvím jejich metod OQL je funkcionální jazyk
9 Příklad objektového modelu (1) class Adresa { attribute string město; attribute string ulice; attribute short číslo_domu; }; class Osoba { attribute string jméno; attribute date datum_narození; attribute Osoba partner; attribute set<osoba> děti; attribute Adresa adresa; set<string> aktivity (); short věk (); };
10 Příklad objektového modelu (2) class Zaměstnanec (extent Osoba) { attribute int plat; attribute Firma zaměstnání; set<string> aktivity(); }; class Student (extent Osoba) { attribute int student_id; attribute string škola; attribute set<kurz> navštěvuje; set<string> aktivity(); }; class Firma { attribute string jméno; attribute set<zaměstnanec> zaměstnanci; }; class Kurz { attribute Zaměstnanec učí; };
11 Struktura dotazu Obdobná jako u SQL s ohledem na objektové rozšíření Operátory mohou být libovolně skládány, dokud odpovídají typové kontrole
12 Struktura dotazu (1) select [distinct] f(x 1,, x n, x n+1,, x n+p ) fromx 1 in e 1 (x n+1,, x n+p ) x 2 in e 2 (x 1, x n+1,, x n+p ) x n in e n (x 1,, x n-1, x n+1,, x n+p ) [where p(x 1,, x n, x n+1,, x n+p )] [order by f 1 (x 1,, x n, x n+1,, x n+p ),, f q (x 1,, x n, x n+1,, x n+p )]
13 Struktura dotazu (2) select [distinct] f(y 1,, y m, partition) from x 1 in e 1 (x n+1,, x n+p ) x 2 in e 2 (x 1, x n+1,, x n+p ) x n in e n (x 1,, x n-1, x n+1,, x n+p ) [where p(x 1,..., x n, x n+1, x n+p )] group by y 1 : g 1 (x 1,..., x n+p ),, y m : g m (x 1,..., x n+p ) [having h(y 1,, y m, partition)] [order by f 1 (y 1,, y m, partition),, f q (y 1,, y m, partition)]
14 Struktura dotazu - příklad Najděte jméno ulice s nejmenším průměrným platem zaměstnanců co v ní žijí. first(select ulice, prum_plat: avg(select e.plat from partition) from (select (Zaměstnanec)p from Osoby p where ma praci in p.aktivity) as e group by ulice: e.adresa.ulice order by prum_plat).ulice
15 Datové typy Typy objektů jsou přebírány z modelu Druhy kolekcí: Set pořadí vkládání nemá vliv, bez opakování Bag pořadí vkládání nemá vliv, s opakováním List prvky dle pořadí vkládání, s opakováním Array klasické pole Typy literálů: Atomický jedna základní hodnota Strukturovaný složený z atomických literálů Kolekce kolekce složena z literálů
16 Kompatibilita datových typů Definována rekurzivně: 1) T je kompatibilní s T 2) Je-li T kompatibilní s T', pak jsou i kolekce vzniklé z těchto typů kompatibilní (př.: set<t> a set<t'>) 3) Existuje-li T takové, že je nadtypem T' i T'', pak jsou T' a T'' kompatibilní Literály jsou kompatibilní pouze pokud obsahují stejnou hodnotu (kolekce musí být stejného typu a musí se shodovat všechny jejich hodnoty)
17 Přístup k položkám objektů Pro strukturované objekty Pomocí tečky nebo šipky (jsou ekvivalentní) př.: o.partner.adresa.město, kde o je typu Osoba Také zpřístupňuje metody objektu př.: o.věk, kde věk je metoda objektu Osoba Přístup na atribut nebo k metodě na neexistujícím objektu (tedy na hodnotě nil) má za výsledek vrácení speciální hodnoty UNDEFINED př.: o.partner.jméno, pokud o nemá partnera
18 Průchod prvků kolekce Pomocí dotazu (select) př.: select d.jméno from o.děti d kde o je typu Osoba a tedy o.děti je typu kolekce Alternativní způsoby zápisu: o.děti as d d in o.děti
19 Identifikace objektů Unikátní identifikátor (OID) Výběr přes rovnost atributu s literálem Pojmenovaný objekt Slouží jakožto přístupový bod do databáze Je potřeba odněkud dotaz začít (obdoba určení zdroje dat ve from klauzuli v SQL)
20 Získávání objektů z databáze Přímo přes pojmenovaný objekt Typicky jeden konkrétní objekt nebo kolekce př.: Ředitel pojmenovaný objekt typu Zaměstnanec Ředitel.partner partner pojmenovaného objektu typu Zaměstnanec, který je typu Osoba
21 Získávání objektů z databáze Získání objektů z DB pomocí select příkazu Vrací kolekci objektů Typ kolekce je: bag standardně set je-li použito klíčové slovo distinct list je-li výsledek setřízen použitím order-by
22 Tvorba objektů Konstruktor pojmenován stejně jako jméno typu objektu který tvoří Hodnoty atributů jsou předány jako parametry volání konstruktoru Atributy které nejsou nastaveny dostanou standardní hodnotu př.: Adresa(město: Praha, ulice: Dlouhá, ) struct(a: Novák, b: 10)
23 Tvorba objektů Tvorba objektu jako výsledku dotazu Příklady (předpokládám existenci pojmenovaného objektu Osoby obsahující kolekci všech Osob): typedef bag<osoba> Nov; Nov(select * from Osoby where jméno = Novák ) class detail {attribute string j; attribute Adresa a;}; typedef bag<detail> detaily; detaily(select detail(j: jméno, a: adresa) from Osoby where jméno = Novák )
24 Tvorba objektů Tvorba základních objektů a kolekcí: struct(jméno: Novák, věk: 10) set(1, 2, 3, 5) list(3, 4, 5) je stejný jako list(3..5) Zkrácený zápis pomocí.. lze použít i pro písmena bag(1, 2, 2, 3, 3, 3) array(3, 4, 2, 1, 1)
25 Operace nad kolekcemi typu list a array Získání jednoho konkrétního prvku: list(a, b, c, d) [1] b first(list(a, b, c, d)) a last(list(a, b, c, d)) d Získání podkolekce: list(a, b, c, d) [1:3] list(b, c, d) Spojení dvou kolekcí: list(a, b) + list(b, c) list(a, b, b, c)
26 Obsah (2) Kvantifikátory UNDEFINED Agregační funkce, Group by, Order by Pojmenované dotazy Skládání operátorů Polymorfismus Další konstrukce jazyka
27 Kvantifikátory Univerzální for all x in e 1 : e 2 true, false, UNDEFINED for all x in Studenti: x.student_id > 0 Existenční exists x in e 1 : e 2 true, false, UNDEFINED exists x in Doe.navštěvuje: x.učí.jméno= Turing exists(e) true, pokud v kolekci e existuje alespoň jeden prvek
28 Speciální hodnota Platí následující pravidla UNDEFINED is_undefined(undefined) je true Pokud podmínka ve where vrátí UNDEFINED bere se to jako by podmínka byla false UNDEFINED je platná hodnota při vytváření kolekcí nebo objektů UNDEFINED je platná hodnota pro agregační funkci count Výsledek ostatních operací, které mají jako operand UNDEFINED, je UNDEFINED
29 UNDEFINED (příklad) select e.adresa.město from Zaměstnanci e { Paříž, Praha, UNDEFINED } select e.adresa.město from Zaměstnanci e where is_defined(e.adresa.město) { Paříž, Praha } select e from Zaměstnanci e where is_undefined(e.adresa.město) Zaměstnanci, kteří nemají žádnou adresu
30 Agregační funkce Aplikují se na kolekce min, max, count, sum, avg max(select plat from Zaměstnanci) Lze aplikovat na číselné kolekce (integer, float) Pokud kolekce obsahuje UNDEFINED hodnotu, tak výsledek operace je UNDEFINED Vyjímku tvoří count count({ Praha, Paříž, UNDEFINED})
31 Group by operátor Rozdělí výsledek dotazu na množiny (partition) dle zadaných parametrů set<attributes, partition: bag<t>> V dotazu lze k jednotlivým množinám přistupovat pomocí klíčového slova partition select ulice, průměrný_plat: avg( select x.e.plat from partition x) from Zaměstnanci e group by ulice: e.adresa.ulice
32 Group by operátor Množiny můžeme tvořit za použití více atributů select * from Zaměstnanci e group by low: plat < 1000 medium: plat >= 1000 and plat < high: plat >= 10000
33 Group by operátor Pro modifikaci jednotlivých množin lze použít having select firma, průměrný_plat: avg(select x.e.plat from partition x) from Zaměstnanci e group by firma: e.zaměstnání.jméno having avg(select x.e.plat from partition x) > Dotaz vrací dvojice firma a průměrný plat zaměstnanců těchto firem, pokud je tento průměr vyšší než 30000
34 Order by operátor Slouží k setřídění výsledku dotazu select p from Osoby p order by p.věk, p.jméno
35 Pojmenované dotazy define, undefine Identifikátor dotazu musí být unikátní Pojmenované dotazy zustávají aktivní dokud nejsou přepsány nebo smazány define věk(string x) as select p.věk from Osoby p where p.jméno=x define novákovi() as select p from Osoby p where p.name= Novák
36 Skládání operátorů Operátory můžou být volně skládány, ale musí být dodrženy datové typy define Zaměstnanci() as select (Zaměstanec) p from Osoby p where má práci in p.aktivity
37 Skládání operátorů define mapa_platů() as select ulice, průměrný_plat:avg( select x.e.plat from partition x) from Zaměstnanci() e group by ulice: e.adresa.ulice define setříděná_mapa_platů() as select s from mapa_platů() s order by s.průměrný_plat first(setříděná_mapa_platů()).ulice
38 Skládání operátorů first(select ulice, průměrný_plat:avg( select e.plat from partition) from (select (Zaměstnanec) p from Osoby p where má prácí in p.aktivity) as e group by ulice: e.adresa.ulice order by průměrný_plat).ulice
39 Polymorfismus Filosofie polymorfismu v OQL je stejná jako u objektově orientovaných jazyků Objekt lze použít na místě kde lze použít jeho předka Konverze nastává automaticky je-li to třeba a je to možné
40 Pozdní vazba (Late binding) select p.aktivity from Osoby p Metoda aktivity má tři verze v závislostí nad jakým objektem je volána (Student, Zaměstnanec, Osoba) Pří zpracování dotazu je zavolána správná verze metody v závislosti na typu, který má zrovna zpracovávaná osoba p
41 Přetypování Správný typ kontrolován až během zpracování dotazu select ((Student)p).škola from Osoby p where přednášky in p.aktivity
42 Literály Objektové: nil Boolovské: false,true Znaky: 'a' Řetězce: řetězce Datum: date ' ' Čas: time '14:23:05.3' Timestamp: timestamp ' :23:05.3' Long, Double: 27, 3.14, e -2
43 Operátory (unární) aritmetické: +, -, abs podmínkové: not
44 Operátory (binární) Aritmetické celočíselné: +, -, *, /, mod Aritmetické reálné: +, -, *, / Porovnávací: =,!=, <, <=, >, >= Podmínkové: andthen, and, orelse, or andthen, orelse deterministické vyhodnocování and, or nedeterministické vyhodnocení Řetězcové:, +, c in s, s[i], s[low:up] s like pattern (?, _, *, %, \) a nice string like %nice%str_ng
45 Množinové operace union, except, intersect Lze použít na kolece typu bag a set Operandy musí mít kompatibilní typy Pokud je jeden operand typu set a druhý typu bag, je první převeden na bag a výsledek bude také bag Porovnání: <, <=, >, >= e 1 < e 2 je true, pokud e 1 je obsažena v e 2, ale není s ní shodná e 1 <= e 2 je true, pokud e 1 je obsažena v e 2
46 Množinové operace Distinct Unique Odtraní duplicitní prvky z kolekce distinct(list(1, 4, 2, 3, 2, 4, 1) výsledek: list (1, 4, 2, 3) Vrací true, pokud kolekce obsahuje pouze jediný prvek
47 Množinové operace Element Flatten Převede kolekci obsahující pouze jediný prvek na tento prvek Pokud kolekce obsahuje více prvků vyvolá výjimku element(select x from Učitelé where x.jméno= Turing ) Převádí kolekci kolekcí typu t na kolekci typu t flatten(list(list(1, 2), list(1, 2, 3))) výsledek: list(1, 2, 1, 2, 3)
48 Spojení select p from Osoby p, Květiny f where p.jméno =f.jméno select p from Osoby r, p in r.potomci where r.jméno = p.jméno
49 Jmenné prostory import jmennýprostor.jménotřídy import jmennýprostor.jménotřídy as jiné_jménotřídy import příklad.univerzita.databáze.profesor as PProfesor select ((PProfesor)e).hodnost from Zaměstnanci e where e.id > 10000
50 Metody tříd Metody lze volat tam kde jejich návratový typ odpovídá očekávanému typu Metody s parametry žije_v( Paříž ) Metody bez parametrů věk() věk Metody lze používat stejně jako atributy P.nejstarší_dítě.adresa.ulice
51 Dotazy?
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íceOQL. Jakub Kýpeť, Ondřej Heřmánek
OQL Jakub Kýpeť, Ondřej Heřmánek Obsah Historie Objektový model Dotazovací jazyk Příklady Historie 1993 - vzniká standard ODMG-93 nadmnožina obecného modelu od OMG převzat definiční jazyk IDL dotazovací
VíceOBJECT 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íceODMG 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íceAnalý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íceKurz 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Ú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Ú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ů
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íceInformač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íceInformač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íceKIV/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íceDatabá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íceDatabá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íceJak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
VíceNá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íceOperátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
VíceÚ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íceXMW4 / 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íceDatabá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Ú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íceZá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íceAlgoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Více8.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íceDatabá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íceDolová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íceZápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
VíceUklá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íceDatabá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íceKapitola 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íce12. 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íce12. 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íce5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
VícePŘ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íceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceIB111 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íce5. blok Souhrnné a skupinové dotazy
5. blok Souhrnné a skupinové dotazy Studijní cíl Tento blok je věnován základům při vytváření souhrnných a skupinových dotazů s využitím agregačních funkcí SUM(), AVG(), MIN(), MAX() a COUNT() a klauzulí
VíceAlgoritmizace 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íceDatabá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ícePaměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
VíceJazyk 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íce8 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ícePOSTUP 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íceDatabázové systémy. * relační kalkuly. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření
VíceDatabázové systémy. Dotazovací jazyk SQL - II
Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING
VíceDatabá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íceB0M33BDT 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íceDatabá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íceInformač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ícePascal. 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íceDatabá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íce6. 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íceFormální sémantika SQL dotazování
Formální sémantika SQL dotazování Elina Hazaran Zuzana Vytisková 6.11. 2012 podle M. Negri, G. Pelagatti, L. Sbattela, 1991 Základní pojmy Formální logický model Pravidla pro překlad SQL dotazů do tohoto
VíceADT/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íceZá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íceProgramová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ícePRG036 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íceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
VíceAlgoritmizace 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ícePočítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
VíceAnalýza a modelování dat 6. přednáška. Helena Palovská
Analýza a modelování dat 6. přednáška Helena Palovská Historie databázových modelů Jak je řešena temporalita? Temporalita v databázích Možnosti pro platnost faktu (valid time): platí nyní, je to aktuální
VíceInovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceCo 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íceDatové typy strana 29
Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo
VíceMichal 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íceProgramování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
VíceÚ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ícetypová 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íce7.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íce1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
VíceÚ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íceOperá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íceVýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
VíceJava reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické
Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1
VíceKMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45
KMI / TMA Tvorba mobilních aplikací 6. seminář 2.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Ukládání dat Ukládání dat Jaké jsou možnosti? SharedPreferences jednoduchá data databáze SQLite relační
VíceMATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
VíceObjektově 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íceInformač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íceDatabá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íceObsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13
Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací
VíceDatabáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata
Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat
VíceJazyk 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íceDatabá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íceDatové 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íce7.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ícePB161 Základy OOP. Tomáš Brukner
PB161 Základy OOP Tomáš Brukner Sylabus - Co je to OOP? Jaké jsou základní principy OOP? Jak se projevují v C++? https://cs.wikipedia.org/wiki/strahovská_knihovna SELECT * FROM books WHERE pages < 250
VícePlatforma 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íce6. 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íceInformač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íceRELAČ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íceJaký 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íceStručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307
Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola
VíceEmbedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská
Embedded SQL v C/C++ úvod Administrace Oracle Kateřina Opočenská Motivace potřeba začlenit komunikaci s databází do aplikace v nějakém vyšším programovacím jazyce řešení (na Oracle): a) OCI (Oracle Call
VíceDotazová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íceZá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Ú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ícePostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře
PostgreSQL Vzniká jako akademický projekt Experimentální vlastnosti Podpora dědičnosti Rozšiřitelnost vlastní datové typy Univerzální nasazení ve vědecké sféře Obsahuje podporu polí (časové řady) Geotypy
Více- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.
Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,
VícePří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