OQL. Jakub Kýpeť, Ondřej Heřmánek
|
|
- Miroslav Kučera
- před 7 lety
- Počet zobrazení:
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š 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í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í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í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íceObject 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í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í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í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í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í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í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í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í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í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í 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu
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 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í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í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í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í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í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í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í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í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íceUniverzita 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í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í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íceVyuž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í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íce7.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í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íce1. 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íceUniverzita 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í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í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íceMichal 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í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í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íceDatabá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ícePouž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íceSQL 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íce20. 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íce7.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í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íceXQuery: 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í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íceVzorové 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í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í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í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í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í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ícePG 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íceTemporá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íceTvorba 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íceMichal 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íceSeznamy 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ů
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íceTvorba 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íceGenerické 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í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í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íceJazyk 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í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í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íceDotazovací 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í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 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íce14.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íceObjektové 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ícePROSTOROVÉ 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í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íceNerelač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í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íceMaterializované 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í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í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í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ícePB161 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íce9 - 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í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ícePB161 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í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íceJ. 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í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í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íceDě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íceSQL 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í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Ú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íceUJO 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í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íceSEZNÁ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í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í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íce