Object Query Language. Daniel Fromek Miroslav Novotný
|
|
- Libor Šmíd
- před 9 lety
- Počet zobrazení:
Transkript
1 Object Query Language Daniel Fromek Miroslav Novotný MFF UK 2005
2 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 umíme objekty rozeznávat, přiřazovat jim jejich vlastnosti a chování. Tohoto faktu již dávno využívají různé modelovací prostředky jako nap ř. UML. Když proto budeme používat objekty na úrovni implementace databáze, snadněji se nám bude provádět mapování nějakého schématu databáze navrženého pomocí nap ř. UML na konkrétní implementaci. Při použití objektové databáze zabráníme jevu, který se v anglické literatuře označuje jako Impedance mismatch. Nastává, když chceme spojit dva systémy navzájem velmi konceptuáln ě rozdílné (když přistupujeme k relační databázi pomocí objektového programu)
3 Objektově-orientované koncepty Objektově-orientované databázové modely přejímají koncept objektově- orientovaných programovacích jazyk ů. Neexistuje však žádná dohoda o přesné definici toho, jak mají objektově- orientované systémy vypadat Následující definice jsou nejtypičtější
4 Koncepty - pokračování Komplexní objekty Databáze by měla sestávat z jednotlivých objekt ů. Tyto objekty v sob ě mohou obsahovat další objekty. Každý objekt v sob ě obsahuje unikátní interní identifikátor (OID), jež ho jednoznačn ě identifikuje. Dále obsahuje jedno nebo více externích jmen, které používají programátoři pro přístup k objektu. Vztahy, asociace, linky Objekty jsou mezi sebou propojeny konceptuálními linky (nap ř. Zaměstnanec a oddě lení jsou spojeny linkem pracuje_v). Na úrovni datových struktur se konceptuální linky realizují pomocí ukazatelů Zapouzdření, skrývání dat Data objektu jsou rozdělena na privátní a veřejná. Z vnějšku jsou vidět jen data veřejná (viz. C++)
5 Koncepty pokračování 2 Abstraktní datové typy (ADT) Třídy, typy, rozhraní Vztah mezi třídou a objektem je stejný jako v C++. K objektu se přistupuje pomocí jeho rozhraní. Rozhraní poskytuje úplnou informaci nutnou k používání daného objektu Operace, metody a zprávy S objektem je svázána sada operací (stejn ě jako v OOP se jim říká metody). Objekt danou operace vykoná po přijetí zprávy s jejím jménem a parametry Dědičnost Funguje stejn ě jako v OOP
6 Koncepty pokračování 3 Polymorfismus, přetěžování Operace, která se má provést se vybírá dynamicky poté, co objekt obdrží zprávu se jménem operace. Stejná zpráva pro různé objekty může vyvolat různé metody (viz. C++) Persistence Databázové objekty jsou persistentní mohou přežít programy, ve kterých byly vytvořeny.
7 Koncepty dokončení Různé představy vývojá řů o technických detailech, které nejsou pokryty v předchozích konceptech, ale jsou nutné při konkrétní realizaci mohou vyústit v to, že se dané koncepty (třída, typ, ADT ) v jednotlivých produktech velmi liší (jak po technické tak i po praktické stránce) Nedostatek obecn ě akceptovaných definic týkajících se objektového modelu je považována za velký nedostatek objektově-orientovaných databází.
8 ODMG Standard Object Data Management Group Standard sestává z následujících částí Object Model definuje význam základních element ů (třídy, objekty, rozhraní, vztahy viz. předchozí slajdy). Snaží se být nezávislý na konkrétním programovacím jazyku Object Definition Language (ODL) je v podstat ě rozšířením CORBA IDL. Definuje schéma databáze objekty, vztahy mezi nimi, atributy objekt ů, operace, které se s danými objekty dají provádět, atd. ODL je nezávislé na konkrétním programovacím jazyku. Object Interchange Format definuje reprezentaci objekt ů pro vzájemnou výměnu mezi různými OOSŘBD
9 ODMG Standard Object Query Language (OQL) analogie SQL pro objektov ě orientované databáze Vazby na programovací jazyky C++, Smalltalk, Java. Definuje, jak naroubovat ODL a OQL na konstrukce výše zmíněných programovacích jazyků
10 Příklady OOSŘBD + praxe Mezi čist ě objektové SŘBD můžeme zařadit: Jasmine (Fujitsu), GemStone, Odapter (HP), O2 (ODMG), ObjectStore, Poet Na druhé stran ě autoři relačních databází do svých produkt ů přidávají objektové prvky (ADT, ) a vznikají tak produkty označované jako Objektově-relační databáze Obecn ě se očekává, že oba proudy čist ě objektový i objektově-relační v budoucnosti splynou (resp. Objektově-relační proud přejde v objektový). Kdy se tak stane, se ale přesn ě neví.
11 Object Query Language
12 OQL principy OQL je nadmnožina té části SQL, která umožňuje pokládat dotazy do databáze. Tedy stejná konstrukce select která v SQL pracuje nad tabulkami může v OQL pracovat nad kolekcemi objekt ů. OQL nezahrnuje žádné modifikační operátory. O modifikaci objekt ů by se měly starat metody definované v přímo objektech. OQL může být voláno přímo z programovacích jazyk ů v kterých je definován objektový model.
13 OQL schéma class Klient public type jmeno: String, objednavka: list(tuple( nazev: String, cena: Real)) end; class Zamestnanec public type jmeno: String, datum_narozeni: Date, pozice: String, plat: Real, method age: integer end;
14 OQL schéma class Mnozina_zamestnancu public type unique set (Zamestnanec) end; class Seznam_klientu public type list (Klient) end; class Spolecnost public type jmeno: String, zamestnanci: Mnozina_zamestnancu, klient: Seznam_klientu end;
15 OQL schéma Každý dotaz do databáze potřebuje vstupní bod. Nad databází může být definováno více vstupních bod ů. Jsou to pojmenované objekty nebo hodnoty. name Globe: Spolecnost; constant name zamestnanci: Mnozina_zamestnancu;
16 OQL základní dotazy. Vracejí atomické hodnoty, struktury nebo objekty. Cesta k elementu začínajicí nějakým vstupním bodem. Příklad: Jméno prvního klienta společnosti Globe. Globe.klient[0].jmeno;
17 OQL select OQL přebírá z SQL konstrukci 'select'. Zde slouží k získání element ů splňující podmínky z kolekce dat. Výsledek je opět kolekce. Příklady kolekcí: set neuspořádaná množina bez duplikat ů. bag neuspořádaná množina s duplikáty. list uspořádaný seznam s duplikáty.
18 OQL select Příklad dotazu na zaměstnance společnosti Globe s platem větším než Výsledek dotazu je kolekce zaměstnanc ů typu 'bag'. Při použití klíčového slova distinct získáme kolekci typu 'set'. select e from e in Globe.zamestnanci where e.plat > 20000;
19 OQL select Spojovaní kolekcí join. Málo používané. Příklad: Zaměstnanci společnosti Globe, kteří mají stejné jméno jako některý z klient ů. select e from e in Globe.zamestnanci, c in Globe.klienti where e.jmeno = c.jmeno;
20 OQL select Můžeme položit dotaz, který pracuje s více než s jednou kolekcí a spojovat je specifikováním cesty. Příklad: Názvy objednávek klienta 'Novák'. select distinct obj.nazev from k in Globe.klienti, obj in k.objednavka where k.name = 'Novák'; výsledek typu: set(string);
21 OQL konstrukce výsledk ů. Pomocí konstruktoru struct, bag, set a list můžeme ovlivnit strukturu výsledku dotazu. Příklad: select struct (zamestnanec: struct( jmeno: e.name, vek: e.vek), plat: e.plat) from e in Globe.zamestnanci; zamestnanec jmeno Novák vek 41 plat 21000
22 OQL agregační operátory Agregační operátory count, sum, max, min, avg. Aplikované na kolekce. <op>(výraz) max ( select e.plat from e in Globe.zamestnanci where e.pozice = 'reportér' ); select count(k.objednavka) from k in Globe.klienti;
23 OQL operátor define Slouží k pojmenování výsledku dotazu. Jedná se pouze o pojmenování výsledku a ne dotazu samotného. Pojmenovaný výsledek můžeme použít v dalších dotazech. define moji_zamestnanci as select e from e in Globe.zamestnaci where e.jmeno like 'N*'; select e.plat from e in moji_zamestnanci;
24 OQL operátor element Pokud máme kolekci obsahující pouze jeden element můžeme daný element získat použitím operátoru element. element ( select e from e in Globe.zamestnanci where e.jmeno = 'Svoboda');
25 OQL existenční kvantifikátor Příklad: Jména všech společností s nějakým zaměstnancem mladším 23 let. name VsechnySpolecnosti: list(spolecnost); select c.jmeno from c in VsechnySpolecnosti where exists e in c.zamestnanci: e.vek < 23;
26 OQL operátor exists operátor exists(exp), kde exp je kolekce vrací true pokud kolekce exp obsahuje alespo ň jeden prvek. operátor unique(exp) vrací true pokud kolekce obsahuje práv ě jeden prvek. Navrženy tak aby umožňovali vnořené dotazy tak jak jsme na n ě zvyklý z SQL. select c.jmeno from c in VsechnySpolecnosti where exists ( select e from e in c.zamestnanci where e.vek < 23)
27 OQL univerzální kvantifikátor Podobn ě jako existenční kvantifikátor se použije i univerzální kvantifikátor. Příklad: Test jestli všichni zaměstnanci společnosti mají alespo ň minimální plat. for all e in Globe.zamestnanci: e.plat > 10000; Vrací true pokud všichni zaměstnanci společnosti Globe mají plat větší než
28 OQL operátor group by Seskupuje objekty kolekce se stejnou hodnotou vybraných atribut ů. Ve výsledku jsou atributy podle kterých se seskupovalo a kolekce objekt ů nazvána partition. select * from e in Globe.zamestnaci group by e.plat; Výsledek je typu: bag ( struct ( plat: Real, partition: bag(zamestnanec))));
29 OQL operátor group by Objekt partition může využít pro další výpočty pro každou skupinu. select e.plat, pocet: count(partition) from e in Globe.zamestnanci group by e.plat; Výsledek je typu: bag ( struct ( plat: Real, pocet: Integer));
30 OQL operátor group by Lze sjednocovat podle více atributu. Výsledek po sjednocení lze filtrovat operátorem having. select * from e in Globe.zamestnaci group by nizky: e.plat < 10000, stredni: e.plat >= and e.plat < 50000, vysoky: e.plat >= výsledek je typu: bag ( struct ( nizky: boolean, stredni: boolean, vysoky: boolean, partition: bag(zamestnanec)));
31 OQL operátor order by Pokud chceme jako výsledek dotazu setříděný seznam místo množiny použijeme operátor order by. select e from e in Globe.zamestnanci order by e.jmeno, e.vek; Výsledek je typu: list ( zamestnanec );
32 OQL množinové operátory Množinové operátory jsou definovány na kolekcích 'set' a 'bag'. Operátory: sjednoceni (union nebo +) průnik ( intersect nebo *) rozdíl ( except nebo -) libovolný prvek ( pick ) Příklad: libovolný zaměstnanec, který není v množin ě moji_zamestnanci. pick( select e from e in Globe.zamestnanci - moji_zamestnanci);
33 OQL množinové operátory Inkluze a < b a leží v b, a se nerovná b. a < = b a leží v b. a > b a > = b Vracejí true/false moji_zamestnanci < Globe.zamestnanci; vrací true.
34 OQL konverze Konverze seznamu obsahující jeden prvek na jeden prvek. element(exp) Konverze seznamu na množinu. listtoset(list) Konverze množiny na seznam. nutno definovat uspořádaní operátorem order by. select e from e in množina order by e.a1; Odstranění duplikát ů. distinct (exp)
35 OQL konverze Zploštění kolekce flatten(exp) Přetypování (typ)exp flatten(list(set(1,2,3),set(3,4,5,6),set(7)) vrací: set(1,2,3,4,5,6,7)
36 OQL práce se seznamy Získaní i-tého prvku seznamu. list(a,b,c,d) [2] vrací c Získaní části seznamu. list(a,b,c,d) [1:2] vrací list (b,c) Získaní prvního/posledního prvku seznamu. last( list(a,b,c,d)) vrací d obdobn ě operátor first.
37 OQL - dodatky
38 Schéma class Osoba { d_string jmeno; d_date datum_narozeni; d_set< d_ref< Osoba > > rodice; d_list< d_ref< Osoba > > deti; d_ref< Byt > zije_v; }; Osoba(); int vek(); void svatba(d_ref< Osoba > chot); void porod(d_ref< Osoba > dite); virtual d_set< d_string > aktivity();
39 Schéma - pokračování class Zamestnanec : Osoba { float plat; virtual d_set< d_string > aktivity(); }; class Student : Osoba { d_string rocnik; virtual d_set< d_string > aktivity(); };
40 Schéma - pokračování class Adresa { int cislo; d_string ulice; }; class Dum { Adresa adresa; d_list< d_ref< Byt > > byty; d_ref< Byt > nejlevnejsi(); };
41 Schéma - dokončení class Byt{ int cislo; d_ref<dum> dum; d_ref<osoba> je_obyvan; }; d_set<d_ref<osoba>> Osoby; //Vsechny Osoby, Zamestnanci a studenti d_set<d_ref<byt>> Byty; //Vsechny byty d_set<d_ref<byt>> Volne; //Vsechny volne byty d_list<d_ref<byt>> Adresar; //Byty serazene podle cisel`
42 Cestování mezi objekty Pro přístup k jednotlivým položkám v objektu OQL používá tečkovou notaci (stejn ě jako C++; lze užít i -> ve stejném smyslu) Osoba.vek = Osoba->vek Vzhledem k tomu, že vztahy jsou realizovány pomocí ukazatel ů, není problém pomocí tečkové notace adresovat i je (alespo ň 1-1 vztahy, komplikovanější vztahy viz. dále) P ř. Mějme objekt p třídy Osoba (viz. schém a) p.zije_v.dum.adresa.ulice Nám dá adresu ulice, kde daná osoba (objekt p ) bydlí
43 Cestování M-N Vztahy Pokud bychom chtěli jména všech dětí osoby p, nemůžeme jednoduše napsat p.deti.jmeno, protože deti je seznam ukazatel ů (nic nám ovšem nebrání adresovat jedno konkrétní dít ě takto: p.deti[0]. jmeno). Abychom dostali seznam jmen, musíme použít select-from-where klauzuli, podobn ě jako v SQL: select c.jmeno from c in p.deti výsledek je typu Bag<String>. Pokud chceme množinu (Set), použijeme klíčové slovo distinct stejn ě jako v SQL
44 Cestování - dokončení Nyní máme k dispozici prostředky pro navigaci mezi jakýmikoli objekty přes jakékoli vztahy a umíme adresovat jakékoli členské položky objektu. Malý příklad: Chceme znát adresy všech dětí každé osoby v databázi (pojmenovaná kolekce Osoby obsahuje všechny osoby v databázi) select c.zije_v.dum.adresa from p in Osoby, c in p.deti
45 Manipulace s daty Jeden z hlavních rozdíl ů mezi OQL a SQL je ten, že OQL musí umět manipulovat s komplexními hodnotami. Díky tomu umí OQL vytvořit jakoukoli komplexní hodnotu jako výsledek dotazu anebo i uvnit ř dotazu jako mezivýsledek Při konstrukci dané komplexní hodnoty OQL využívá těchto konstruktor ů: Struct - struktura Set množina (v matematickém smyslu - prvku se neopakují) Bag uspořádání prvk ů jako u množiny, ale prvky se mohou opakovat Array pole (dynamické) List seznam (uspo ádané pole, u kterého máme metody pro ř manipulaci insert, delete, atd )
46 příklad select struct (ja: p.jmeno, moje_adresa: p.zije_v.dum.adresa moje_deti: (select struct(jmeno: c.jmeno, adresa:c.zije_v.dum.adresa) from c in p.deti)) from p in Osoby Tento dotaz nám pro každou osobu vedenou v databázi dá její jméno, adresu a jméno a adresu všech jejích dětí. Výsledek je typu: struct {String ja; Adresa moje_adresa; Bag<struct{String jmeno; Adresa adresa}> moje_deti; }
47 Manipulace a objekty OQL umí také vytvářet jednotlivé objekty. Pro vytvoření objektu nějaké třídy se použije jméno třídy jako konstruktor (čili OQL umí vytvořit jen ty objekty, jejichž třídy jsou definovány v databázi). Atributy vytvářeného objektu mohou být inicializovány libovolným platným výrazem.
48 Příklad Vytvoříme budovu se dvěma byty Předpokládejme, že ve schématu databáze je definován typ List_apart takto: Typedef List<Ref<Byt> > List_byt; Dotaz pak bude mít tento tvar: Dum( adresa: Adresa(cislo: 10, ulice: Elm Street ), byty: List_byt(list(Byt(cislo:1), Byt(cislo: 2))))
49 Vyvolávání metod Metody objekt ů se vyvolávají stejným způsobem, jako se přistupuje k ostatním položkám objektu pomocí tečkové notace. Pokud daná metoda nemá žádné parametry, vyvolání vypadá stejn ě, jako přístup k nějaké členské proměnné. dum.nejlevnejsi.je_obyvan.jmeno nám vrátí jméno osoby, která bydlí v nejlevnějším byt ě v daném dom ě. nejlevnejsi je přitom metoda objektu dum, která vrátí jako návratovou hodnotu objekt typu Byt (ten nejlevně jší byt). Kdyby v objektu dum byla členská promě nná nejlevnejsi typu Byt, dotaz by vypadal naprosto stejn ě. Pokud metoda má nějaké parametry, dávají se do závorek za jménem metody
50 Polymorfismus Filosofie polymorfismu u OQL je stejná jako u OOP. select p.aktivity from p in Osoby V předcházejícím příklad ě se polymorfismus projevuje jednak v tom, že je v podstat ě uživateli skryto, že kolekce Osoby obsahuje 3 typy objekt ů (Osoba, Zamestnanec a Student) a jednak v tom, že je vždy zavolána správná virtuální metoda aktivity (mechanismu, který to zajišťuje se říká pozdní vazba)
51 Polymorfismus - dodatek Navíc uživatel může v dotazu explicitn ě specifikovat třídu u objektu, kde nemůže být odvozena staticky. (jako to bylo u objektu p v předchozím dotazu). To se děje pomocí tzv. Indikátoru třídy Interpret musí potom za běhu ověřovat, zda daný objekt je daného typu P ř.: select ((Student)p).rocnik from p in Osoby where prubeh studia in p.aktivity
52 Kompozice operátorů Pro používání operátor ů v OQL platí jednoduché pravidlo: operátor lze umístit kdekoliv, pokud typy jeho operand ů jsou korektní. Říkáme, že pravidla pro kompozici operátor ů jsou ortogonální k typovému systému V tom se OQL liší od SQL, kde toto neplatí na 100%
53 příklad Chceme znát jméno ulice, kde žijí zaměstnanci s nejnižším průměrným platem. Budeme postupovat krok za krokem a budeme používat define pro mezivýsledky
54 Příklad pokračování 1) Vytvoříme si seznam (přesněji Bag) všech zaměstnanců Define Zamestnanci as Select (Zamestnanec)p from p in Osoby where ma praci in p.aktivity
55 Příklad pokračování 2) Roztřídíme zaměstnance podle ulic a spočítáme průměrný plat pro každou ulici define plat_map as select ulice, prumerny_plat: avg(select p.e.plat from partition p) from e in Zamestnanci group by e.zije_v.dum.adresa.ulice Výsledek dotazu má typ: Bag<struct{String ulice, float prumerny_plat;}>
56 Příklad dokončení 3) předchozí výsledek utřídíme podle platu define setrideny_plat_map as select s from s in plat_map order by s.prumerny_plat Typ výsledku je: List<struct{String ulice, float prumerny_plat;}> 4) snadno zjistíme nejmenší hodnotu v seznamu první prvek setrideny_plat_map[0].ulice
57 Příklad jednou větou (select ulice, prumerny_plat: avg (select p.e.plat from partition p) from e in (select (Zamestnanec)p from p in Osoby where has a job in p.aktivity) group by e.zije_v.dum.adresa.ulice order by avg (select p.e.plat from partition p) )[0].ulice
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:
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í
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,
OQL. 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í
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é
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í
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
Ú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í
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
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
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
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
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ý
Ú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í
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í
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ý'
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
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
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é
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ý'
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.
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á
Ú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
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é
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í
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
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,
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
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
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
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é
Diagramy tříd - základy
Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
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
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:
Databázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
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
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ář
Ú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
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
UML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9
Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií
Ú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
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
Ú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
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
6 Objektově-orientovaný vývoj programového vybavení
6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).
PB161 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
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
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
Databá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
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í
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í
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
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření 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 příkazům balíčkům, grafickému
Programová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
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í
Ú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
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á
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í
KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT
KIV/ZIS - SQL dotazy stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb SQL dotazy textové příkazy pro získání nebo manipulaci s daty SELECT - výběr/výpis INSERT - vložení UPDATE - úprava DELETE - smazání
InterSystems Caché Post-Relational Database
InterSystems Caché Post-Relational Database Martin Holoubek xholoub@fi.muni.cz Úvod InterSystems byla založena shodou okolností ve stejném roce jako její největší konkurent Oracle 1978 Caché je velmi vyspělý
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ý
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
KIV/ZIS - SELECT, opakování
KIV/ZIS - SELECT, opakování soubor 4_databaze.accdb (lze použít ten z minula) http://home.zcu.cz/~krauz/zis/4_databaze.accdb minule: SELECT FROM WHERE ORDER BY SELECT sloupce jaké sloupce chceme vybrat
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
Common Object Request Broker Architecture
Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální
Třída. Atributy. Operace
Class Diagrams Třída Atributy Operace Třída Třída je jakýsi prototyp objektů. Za třídou si můžeme představit množinu jejích instancí. Každý objekt dané třídy má stejnou množinu atributů (proměnných) a
6. blok část B Vnořené dotazy
6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
Dynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
Unifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
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í
MATURITNÍ 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
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í
Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)
Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod
Databázové systémy Cvičení 5.3
Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu
Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)
Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Objektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
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
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
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
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy 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 diagramům tříd, asociaci,
Základní přehled SQL příkazů
Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact
Objektově orientované databáze. Miroslav Beneš
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace
Abstraktní datové typy: zásobník
Abstraktní datové typy: zásobník 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 Abstraktní datové typy omezené rozhraní
Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.
23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,
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 =
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í
24. listopadu 2013, Brno Připravil: David Procházka
24. listopadu 2013, Brno Připravil: David Procházka Dědičnost Základy objektového návrhu Časná a pozdní vazba Strana 2 / 22 Obsah přednášky 1 Časná a pozdní vazba 2 Rozhraní pro dědičnost 3 Konstruktory
Obsah 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
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
Programování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
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
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
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
Vyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
Teoretické 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