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

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

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

Transkript

1 ODMG OQL Jan Forch Dotazovací jazyky, MFF UK

2 Obsah Objektově orientované databáze Úvod do ODMG-93 Motivace Idea Datový model OQL Gramatika OQL Literatura Dotazy 2 Jan Forch - ODMG OQL

3 Objektově orientované databáze Objektový datový model V souladu s viděním světa (entita objekt) Definice složitých objektů a jejich manipulace OOSŘBD 3 Jan Forch - ODMG OQL

4 Úvod do ODMG-93 - historie 1993: konsorcium vůdčích výrobců OOSŘBD návrh standardu ODMG-93. Nadmnožina obecnějšího modelu Common Object Model (COM) vytvořeného skupinou OMG. Převzat byl jeho definiční jazyk IDL. Dotazovací část Object Query Language (OQL), která souvisí s koncepcí dotazovací části standardu SQL92. Rozhraní k OO PJ C++, Smalltalk (k Java: nahrazeno Java Data Objects (JDO)) 2001: skupina rozpuštěna (verze ODMG 3.0) OOPJ + SŘBD = OOSŘBD 4 Jan Forch - ODMG OQL

5 Úvod do ODMG-93 Třída (nebo typ), instance (nebo objekt), atribut, metoda a integritní omezení Třída - šablona pro instance (objekty), které mohou sdílet atributy a metody. Doména atributů: primitivní typ dat, abstraktní typ dat (ADT), nebo odkaz na třídu. Metoda je funkce (její implementace je skryta) aplikovatelná na instance třídy (výpočet založený na hodnotách atributů). Identifikátor objektu (OID) Každý objekt má jednoznačný identifikátor, prostřednictvím kterého lze z databáze získat odpovídající objekt. 5 Jan Forch - ODMG OQL

6 Idea Zapouzdření Data jsou zabalena spolu s metodami. Jednotkou zapouzdření je objekt. Metody jsou platné pouze na příslušných objektech, se kterými jsou zapouzdřeny. hierarchie tříd, dědění Podtřída hierarchie Dědění je proces znamenající pro podtřídu osvojení všech atributů a metod z nadtřídy. Vícenásobné dědění ( problémy např. řešení konfliktů stejných jmen zděděných atributů a metod). 6 Jan Forch - ODMG OQL

7 Datový model - standard ODMG (Object Data Management Group) standard pokrývá: Objektový model ODL (Object definition language), pro objektový model a jeho syntax, verze ODL pro C++ a Smalltalk OQL (Object query language) pro objektový model Propojení s C++, umožňující programům v C++ operovat nad databázemi splňující standard Propojení se SmallTalkem umožňující programům ve Smalltalku operovat nad databázemi splňující standard 7 Jan Forch - ODMG OQL

8 Datový model objektový model Objektový model ODMG je podporován ODMGcompliant object data management systems (ODBMS) Pokrývá: Charakteristiku objektů Jak spolu mohou objekty vzájemně souviset Jak mohou být objekty pojmenované a identifikované 8 Jan Forch - ODMG OQL

9 Datový model objektový model - požadavky Objektový model specifikuje tyto konstrukce: Základní modelovací primitiva jsou objekty a literály každý objekt má unikátní identifikátor. Literály nemají žádný identifikátor Objekty a literály jsou kategorizovány pomocí jejich typů Stavy objektů jsou definovány hodnotami jejich atributů Chování objektu je definováno množinou operací, které mohou být vykonány na jeho instancích nebo přímo instancemi samotnými ODMS ukládá objekty a umožňuje jejich sdílení více uživateli ODMS je založeno na datovém schématu ODMG a obsahuje instance objektů typů definovaných objektovým schématem ODMG 9 Jan Forch - ODMG OQL

10 Datový model - OQL Dotazovací jazyk nad objekty podle standardu ODMG Velmi podobný SQL Klausule select, from, where, group by, použity podobně jako v SQL (příklady později) Volnější syntaxe -> jednodušší gramatika 10 Jan Forch - ODMG OQL

11 Datový model - standard ODMG objektový model podporuje. Zápis tříd, objektů s atributy a metodami Dědičnost Klasické typy používané v databázích (string, date, ) Podporuje zápis vztahů pomocí mechanismu referencí Kolekce (set, list, ) Třídy použité pro praktickou realizaci spojení ODL a C++ importovány do zdrojových souborů jako knihovna 11 Jan Forch - ODMG OQL

12 Datový model příklad C++ class Person{ d_string name; d_date birthdate; d_set < d_ref<person> > parents inverse children; d_list < d_ref<person> > children inverse parents; d_ref<apartment> lives_in inverse is_used_by; }; Person(); int age(); void marriage( d_ref<person> spouse); void birth( d_ref<person> child); d_set< d_ref<person> > ancestors;; virtual d_set<d_string> activities(); 12 Jan Forch - ODMG OQL

13 Datový model - příklad C++ class Employee: Person{ float salary; }; virtual d_set<d_string> activities(); class Student: Person{ d_string grade; }; virtual d_set<d_string> activities(); 13 Jan Forch - ODMG OQL

14 Datový model - příklad C++ class Address{ int number; d_string street; }; class Building{ Address address; d_list< <d_ref<apartment> > apartments inverse building; d_ref<apartment> less_expensive(); }; class Apartment{ int number; d_ref<building> building; d_ref<person> is_used_by inverse lives_in; }; d_set< d_ref<person> > Persons; d_set< d_ref<apartment> > Apartments; d_set< d_ref<apartment> > Vacancy; d_list< d_ref<apartment> > Directory; }; 14 Jan Forch - ODMG OQL

15 OQL - principy OQL je založen na objektovém modelu ODMG OQL je nadmnožina dotazovací části SQL což umožňuje použití OQL pro dotazování nad databází Jakýkoliv dotaz, který funguje na relační databázi funguje i nad OQL Rozšíření zahrnují značení pro objektově orientovaný přístup k datům, identitu objektů, vyjádření cesty k datům tečkovou notací, polymorfismus, volání operací, pozdní vazbu v případě použití polymorfických struktur OQL poskytuje primitiva pro práci s kolekcemi (množinami, multi-množinami, seznamy, poli) 15 Jan Forch - ODMG OQL

16 OQL - principy OQL je funkcionální jazyk, kde operátory mohou být volně používány a spojovány pokud jejich operandy dodržují očekávaný typ operátorů To je důsledek toho, že jakýkoliv výsledek dotazu v OQL odpovídá standardu ODMG, a tudíž nad ním může být volán další dotaz OQL není výpočetně úplný jazyk, je to jednoduchý dotazovací jazyk pro přístup do objektových databází OQL může být voláno přímo z programů napsaných v jazyce, pro které je definován ODMG binding (C++, SmallTalk) Naopak OQL může volat operace napsané v těchto jazycích 16 Jan Forch - ODMG OQL

17 OQL - principy OQL neposkytuje explicitní aktualizační operátory ale raději používá volání operací definovaných pro tento účel přímo na objektech Neporušuje sémantiku objektové databáze, která je podle definice spravovaná pomocí metod definovaných na objektech Dotazy OQL jsou výrazy sestavené pomocí typovaných operandů spojených rekurzivně do dotazu pomocí operátorů 17 Jan Forch - ODMG OQL

18 OQL základy syntaxe Spojení funkcionálního programování, SQL a OO programovacího jazyka (C++) Dále popis syntaxe OQL ve formátu popis jednotlivé funkcionality podporované OQL + příklad 18 Jan Forch - ODMG OQL

19 OQL přístup k atributům p.lives_in.building.adddress.street Přístup k atributům a metodám objektů pomocí. a -> notace Přístupy je možno řetězit libovolně za sebe p je instance třídy Person 19 Jan Forch - ODMG OQL

20 OQL atomické literály Literály v OQL mají obvyklý význam Objektový literál: nil Logický literál: false, true Integer literál: sekvence číslic, např. 27 Float literál: např nebo e-2 Znakový literál: znak mezi apostrofy, např. z Řetězcový literál: řetězec mezi uvozovkami např.,"a string" 20 Jan Forch - ODMG OQL

21 OQL select, from select c.name from c in p.children Klasický tvar dotazu Dotaz: Vrať jména dětí osoby p select distinct c.name from c in p.children Eliminace duplicit ve výsledku select c.lives_in.building.address from p in Persons, c in p.children V OQL může kolekce ve from části dotazu dědit od předchozí kolekce použitím cesty, která začíná v položce předchozí kolekce p se v tomto kontextu nazývá iterátorem 21 Jan Forch - ODMG OQL

22 OQL formát výsledku dotazu select může vracet záznamy ve formě seznamu, množiny, multi-množiny, pole Implicitní forma je multi-množina (Bag) Záznamy se mohou opakovat Použitím klíčového slova distinct se změní forma výsledku na množinu (Set) Pořadí prvků při procházení je nedefinováno Použitím klíčového slova order by v dotazu se změní forma výsledku na seznam (List) Pořadí definováno tělem order by sekce dotazu 22 Jan Forch - ODMG OQL

23 OQL where select c.lives_in.building.address from p in Persons, where c in p.children p.lives_in.building.address.street = "Main Street" and count(p.children) >= 2 and c.lives_in!= p.lives_in where klauzule realizována predikátem, který eliminuje nevyhovující záznamy Dotaz: Vrať adresy dětí rodičů majících trvalé bydliště na "Main Street, kteří mají alespoň 2 děti, kde dítě bydlí jinde než rodič 23 Jan Forch - ODMG OQL

24 OQL join select p from p in Persons, b in (select distinct a.building from a in Apartments) where p.name = b.address.street Spojení lze provést i mezi entitami, které nejsou provázány přímo na objektové úrovni Pomocí vnořeného dotazu Dotaz: Vrať osoby se jménem stejným jako ulice, na které se nachází některý z bytů 24 Jan Forch - ODMG OQL

25 OQL manipulace s daty select struct(me: p.name, from p in Persons my_address: p.lives_in.building.address, my_children: (select struct(name: c.name, from c in p.children)) address: c.lives_in.building.address) Když potřebujeme výsledná data zformátovat do určité datové struktury Klíčové slovo struct slouží k označení sekce s definicí struktury Struktury mohou být libovolně zanořené do sebe viz. příklad 25 Jan Forch - ODMG OQL

26 OQL volání metod OQL dovoluje volat metody s/bez parametrů kdekoliv, kde výsledný typ metody odpovídá požadovanému typu v dotazu V případě, že metoda nemá žádné parametry, její volání se neliší od přístupu k atributům objektu Tento volný syntax uvolňuje práci jazykem (Uživatel nemusí vědět, zda je daná hodnota přímo atributem, či zda je spočítaná.) select max(select c.age from c in p.children) from p in Persons, where p.name = "Paul" 26 Jan Forch - ODMG OQL

27 OQL polymorfismus Hlavním přínosem objektové technologie je možnost manipulace s polymorfickými strukturami Příklad: třídy Person, Employee, Student Každá má jinou implementaci metody activities() vracející aktivity typické pro daný typ osoby select p.activities from p in Persons Persons je pole polymorfických struktur dědících od třídy Person Při volání daného selectu z příkladu se pokaždé zavolá správná implementace metody activities v závislosti na konkrétním typu instance 27 Jan Forch - ODMG OQL

28 OQL přetypování Pokud potřebujeme jít v hierarchii tříd níže od předků k potomkům, je možné použít mechanismu přetypování. Interpret OQL musí korektně zkontrolovat, zda daná instance může být přetypována na potomka Motivací je nutnost dostat se k metodám, které jsou v potomkovy implementovány select ((Student)p). grade from p in Persons where "course of study" in p.activities 28 Jan Forch - ODMG OQL

29 OQL pojmenování výsledků dotazů OQL umožňuje pojmenovat výsledky dotazů Takto pojmenované výsledky je poté možno použít v jiných dotazech jako vstupy define Employees as select (Employee) p from p in Persons where "has a job" in p.activities define salary_map as select street, average_salary: avg (select p.e.salary from partition p) from e in Employees group by e.lives_in.building.address.street 29 Jan Forch - ODMG OQL

30 OQL testování na nil Poté co uživatelská aplikace změní data v OOSŘBD, některé objekty (reference na ně) mohou nabývat hodnoty nil Je možné testovat objekt proti této hodnotě a zjišťovat tak validitu instance objektu select c.name from c in Globe.clients where c!=nil and count (c.order) = 3 Kvůli zjednodušení probíhá tento test v souladu se standardem implicitně, predikát where je v případě nil objektu vyhodnocen vždy na false, záznam je tedy automaticky přeskočen Se stejnou sémantikou je tedy možno psát: select c.name from c in Globe.clients where count (c.order) = 3 30 Jan Forch - ODMG OQL

31 OQL přístup k prvkům pole Pro přístup k prvkům pole se používá klasická syntaxe ve formátu: Globe.clients[2] 31 Jan Forch - ODMG OQL

32 OQL vytváření objektů OQL umožňuje vytváření dočasných objektů Atributům je přiřazena hodnota odpovídající položky s parametrů Client (name: "Trent") o2_list_client (list(client(name:"john"), (Client(name:"Jack"))) 32 Jan Forch - ODMG OQL

33 OQL operátory - count Vrací počet prvků kolekce Parametrem je kolekce, pro níž chceme znát její mohutnost count (Globe.employees) Jedná se o agregační operátor (podobně jako v SQL je možné použít nad řádky agregovanými podle nějaké domény) Podobně se chovají i operátory min, max, sum and avg 33 Jan Forch - ODMG OQL

34 OQL operátory - element Pokud má uživatel strukturu množiny výsledků dotazu o jednom prvku, může jej přímo extrahovat ze struktury pomocí operátoru element element ( select e from e in Globe.employees where e.name = "Tintin") 34 Jan Forch - ODMG OQL

35 OQL operátory - exists Existenční operátor ve smyslu predikátové logiky s podobnou sémantikou jako jeho ekvivalent v SQL select c.name from c in TheCompanies where exists e in c.employees: e.age < Jan Forch - ODMG OQL

36 OQL operátory group by Seskupuje dohromady objekty kolekcí se stejnou hodnotou určitých atributů Nad atributy, podle kterých neprobíhá agregace je možno volat ve výsledku dotazu agregační operátory select * from e in Globe.employees group by e.salary Výsledek dotazu je tvaru: bag (struct (salary: real, partition: bag (struct (e:employee)))) První složka struktury je hodnota atributů určité skupiny, přes které se agreguje (plat), druhá složka je ve standardu pojmenovaná partition obsahuje množinu objektů (zaměstnanců) se stejnou hodnotou atributu, přes který se agregovalo (plat) select salary, number: count (partition) from e in Globe.employees group by e.salary having count (partition) > Jan Forch - ODMG OQL

37 OQL operátory having Podobně jako v SQL umožňuje filtrovat agregované skupiny podle hodnot vrácených agregačními operátory select salary, number: count (partition) from e in Globe.employees group by e.salary having count (partition) > Jan Forch - ODMG OQL

38 OQL operátory like Podobně jako v SQL umožňuje porovnávat řetězcové atributy proti zjednodušeným regulárním výrazům select distinct e.salary from e in Globe.employees where e.name like "Sp*" 38 Jan Forch - ODMG OQL

39 OQL operátory order by Podobně jako v SQL umožňuje řadit výsledky dotazů podle určených atributů select e from e in Globe.employees order by e.name, e.age 39 Jan Forch - ODMG OQL

40 OQL operátory množinové OQL umožňuje na množiny objektů aplikovat operace sjednocení, průnik, rozdíl + (union) sjednocení * (intersect) průnik - (difference) rozdíl Je možné použít libovolně jak znaménkový tak slovní zápis MyEmployees + YourEmployees Sémantikou operátoru pick je získání libovolného prvku množinové kolekce pick (MyEmployees) 40 Jan Forch - ODMG OQL

41 OQL konverze list to set OQL umožňuje převádět kolekce (množina, list, ) mezi sebou Důležité v případě nutnosti použití kolekce jako parametru metody či operátoru Očekává parametr určitého typu Funkce listtoset konvertuje list nebo pole na množinu listtoset (Globe.clients) intersect listtoset (TheCompanies[2].clients) Operátor order by použitý v dotazu konvertuje implicitní formát výsledku dotazu (množinu nebo multimnožinu) na seznam (list) select e from e in the_employees order by e.salary Pokud nám jde jen o formát výsledku je možné použít zápis: select e from e in the_employees order by * 41 Jan Forch - ODMG OQL

42 OQL konverze flatten OQL umožňuje převádět kolekce kolekcí na ploché kolekce pomocí operátoru flatten (spojení obsahu kolekcí do jedné velké) flatten (select distinct c.clients from c in TheCompanies) 42 Jan Forch - ODMG OQL

43 Gramatika OQL - ukázka OQL je definována pomocí BNF (Backus Naur Form), froma bezkontextové gramtiky query_program ::={define_query;} query define_query ::=define identifier as query query ::= nil query ::= true query ::= false query ::= integer_literal query ::= float_literal query ::= character_literal query ::= string_literal query ::= entry_name query ::= query_name query ::= bind_argument1 query ::= from_variable_name query ::= (query) query ::= query + query2 query ::= query - query query ::= query * query query ::= query / query query ::= - query query ::= query mod query query ::= abs (query) query ::= query query query ::= query comparison_operator query query ::= query like string_literal comparison_operator ::= = comparison_operator ::=!= comparison_operator ::= > comparison_operator ::= < comparison_operator ::= >= 43 Jan Forch - ODMG OQL

44 Gramatika OQL priorita operátorů Výpis operátorů sestupně podle priority (operátory se stejnou prioritou se vyhodnocují zleva doprava): () []. -> not - (unarní) + (unární) i n * / mod intersect + - union except < > <= >= < some < any < all (atd.... pro všechny porovnávací operátory) =!= like and exists for all or.. :, (identifikátor) operátor přetypování order having group by where from select 44 Jan Forch - ODMG OQL

45 Literartura ODMG OQL User Manual Release 5.0 February 1998 The Object Data Standart: ODMG 3.0 (R.G.G Catell, Douglas K. Barry) 45 Jan Forch - ODMG OQL

46 Otázky??? 46 Jan Forch - ODMG OQL

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

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í

Více

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

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

Více

Object Query Language. Daniel Fromek Miroslav Novotný

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

Více

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

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

Více

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

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

Více

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

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

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

Databázové systémy I

Databázové systémy I Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

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

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

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické

Více

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

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

Více

Operátory ROLLUP a CUBE

Operátory ROLLUP a CUBE Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor

Více

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

Databáze I. Přednáška 6 Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC

Více

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

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

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:

Více

Dotazování v relačním modelu a SQL

Dotazování v relačním modelu a SQL Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační

Více

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

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

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

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

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

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu

Více

Úvod do programovacích jazyků (Java)

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

Více

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

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

Více

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

Databáze I. Přednáška 7 Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují

Více

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

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

Více

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

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

Více

Generické programování

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

Více

Dědění, polymorfismus

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

Více

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

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

Více

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

PB161 Programování v jazyce C++ Přednáška 9 PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky

Více

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

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

Více

typová konverze typová inference

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

Více

6. blok část B Vnořené dotazy

6. blok část B Vnořené dotazy 6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování

Více

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

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

Více

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT -SELECT Informační a znalostní systémy 1 - Structured Query Language norma pro dotazování nad relačními databáze díky přenositelnosti- rozmach relačních databází zahrnuje jak dotazování na data, tak změny

Více

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

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

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Paměť počítače. alg2 1

Paměť 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íce

PRG036 Technologie XML

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

Více

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

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

Více

Objektově orientované databáze. Miroslav Beneš

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

Více

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

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

Více

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

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

Tvorba informačních systémů

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

Více

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

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

Více

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

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

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

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í

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. 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íce

Databázové systémy Cvičení 5

Databázové systémy Cvičení 5 Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání

Více

6 Objektově-orientovaný vývoj programového vybavení

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

Více

Tvorba informačních systémů

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

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

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

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

Více

Kapitola 4: SQL. Základní struktura

Kapitola 4: SQL. Základní struktura - 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají

Více

XQuery: dotazovací jazyk nad XML

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

Více

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT

Více

Databázové systémy Cvičení 5.2

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT KIV/ZIS - SQL dotazy stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb SQL dotazy textové příkazy pro získání nebo manipulaci s daty SELECT - výběr/výpis INSERT - vložení UPDATE - úprava DELETE - smazání

Více

Objektové programová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

Více

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 Jazyk SQL 2 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ M.Valenta (FIT ČVUT) Jazyk

Více

5 Přehled operátorů, příkazy, přetypování

5 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íce

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d KMA/PDB Prostorové databáze Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Sylabus předmětu KMA/PDB Úvodní přednáška Základní terminologie Motivace rozdíl klasické

Více

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

Více

Funkcionální programování. Kristýna Kaslová

Funkcionální programování. Kristýna Kaslová Funkcionální programování Kristýna Kaslová Historie Alonzo Church (30. léta) Netypovaný lambda kalkul Základ prvních funkcionálních jazyků Jeho konstrukce i v mnoha současných programovacích jazycích (Python)

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

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

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

Více

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

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

Více

Úvod do programovacích jazyků (Java)

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

Více

XQuery. Jirka Kosek. Visual FoxPro DevCon 21. 23. června 2005. Praha. Copyright 2005 Jiří Kosek

XQuery. Jirka Kosek. Visual FoxPro DevCon 21. 23. června 2005. Praha. Copyright 2005 Jiří Kosek XQuery Jirka Kosek Visual FoxPro DevCon 21. 23. června 2005 Praha úvod do XQuery základy XPath 2.0 FLWOR výrazy typový systém implementace XQuery Agenda 2 / 38 Úvod 3 / 38 Proč potřebujeme XQuery? XML

Více

Základy objektové orientace I. Únor 2010

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

Více

Databázové systémy Tomáš Skopal

Databázové systémy Tomáš Skopal Databázové systémy Tomáš Skopal - SQL * úvod * dotazování SELECT Osnova přednášky úvod do SQL dotazování v SQL příkaz SELECT třídění množinové operace 2 SQL 3 structured query language standardní jazyk

Více

1. Dědičnost a polymorfismus

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

Více

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

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

Více

PB161 Základy OOP. Tomáš Brukner

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

Více

Teoretické minimum z PJV

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

Více

Algoritmizace a programování

Algoritmizace 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íce

PRG036 Technologie XML

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

Více

Formální sémantika SQL dotazování

Formá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íce

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

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

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/40 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/40 Úvod

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

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

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

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

Více

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

UML. Unified Modeling Language. Součásti UML

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

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

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

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

Více

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

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

Více

Programování v C++ 1, 6. cvičení

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é

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

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

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í

Více

Obsah. Ú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

Obsah. Ú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íce

Základní přehled SQL příkazů

Základní přehled SQL příkazů Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact

Více

KIV/ZIS - SELECT, opakování

KIV/ZIS - SELECT, opakování KIV/ZIS - SELECT, opakování soubor 4_databaze.accdb (lze použít ten z minula) http://home.zcu.cz/~krauz/zis/4_databaze.accdb minule: SELECT FROM WHERE ORDER BY SELECT sloupce jaké sloupce chceme vybrat

Více

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 1 - PHP. 03. Proměnné, konstanty S třední škola stavební Jihlava Sada 1 - PHP 03. Proměnné, konstanty Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a

Více

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

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

Více

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

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

Více