COMPARISON OF OBJECT-RELATIONAL MAPPING WITH OBJECT-ORIENTED APPROACH. Jaroslav Ševčík

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

Download "COMPARISON OF OBJECT-RELATIONAL MAPPING WITH OBJECT-ORIENTED APPROACH. Jaroslav Ševčík"

Transkript

1 SROVNÁNÍ OBJEKTOVĚ RELAČNÍHO MAPOVÁNÍ S OBJEKTOVĚ ORIENTOVANÝM PŘÍSTUPEM COMPARISON OF OBJECT-RELATIONAL MAPPING WITH OBJECT-ORIENTED APPROACH Jaroslav Ševčík Mgr. Jaroslav Ševčík, Katedra informatiky a počítačů, Přírodovědecká fakulta, Ostravská univerzita v Ostravě, 30. dubna 22, Ostrava, jaroslav.sevcik@osu.cz Abstract This thesis compares two different methods to data storage in a database. The first method of object mapping into relational database uses Hibernate framework. The second method uses the object-oriented approach to data storage using object database Caché. This thesis describes how to use and the possibilities of these technologies. Keywords: Java, J2EE, ORM, Hibernate, Caché, Jalapeño 1 Úvod V dnešní době pracuje řada vývojářů na podnikových informačních systémech. Tyto systémy pracují s obrovským množstvím informací, které musí nějakým způsobem uchovávat, zpracovávat a zobrazovat. Jedním z nejpoužívanějších způsobů uchování dat jsou relační databáze. V oblasti programování se přešlo ze strukturovaného k objektovému programování. Objektově orientovaný pohled na svět je člověku více bližší a přirozenější, má plno benefitů a tak usnadňuje způsob programovaní. V relačním a objektově orientovaném přístupu existují značné rozdíly. Bylo prokázáno, že programování kódu, který se zabývá udržením perzistentních dat zabere až 70% času, jenž je na daný projekt vyhrazen. Proto se objevily snahy tento problém řešit. V první řadě bylo potřeba oddělit aplikační logiku od způsobu uložení dat. Tak, aby se programátor nemusel natolik zabývat způsobem uložení dat a mohl se věnovat především práci na aplikační logice. První variantou bylo samotné ukládání do relační databáze co nejvíce zautomatizovat. Což vedlo ke vzniku specializovaných frameworků, které se tento problém snaží řešit cestou objektově-relačního mapování. Druhou variantou bylo nahradit relační databázi za objektovou. Což umožňovalo přímé ukládání objektů s jednoduššími vazbami na programovací jazyk. Článek se zabývá srovnáním těchto dvou přístupů v oblasti vývoje Java aplikací. Byli zvoleni dva zástupci, kteří jsou ve své kategorii asi nejvíce rozšířeni. Za mapování to byl open-source projekt Hibernate a za objektové databáze je tu komerční systém Caché. 2 Objektově relační mapování Technika zvaná objektově-relační mapování, známá též pod zkratkou ORM (Object Relational Mapping), tvoří pomyslný most k překlenutí propasti mezi objektovým a relačním modelem. Překlenout propast mezi oběma modely není lehké. Vychází z myšlenky vytvořit prostředníka, který by řídil automatické transformace z jedné podoby do druhé bez nutnosti, aby programátor musel sám konvertovat objekty do nebo z relačního formátu. 808

2 Relační databáze uchovávají data ve formě dvourozměrných tabulek s řádky a sloupci. Řádek odpovídá jednomu záznamu a sloupec jeho atributu. Sloupec je určen datovým typem, kterých je omezené množství. Atribut může uchovávat jen jednu hodnotu. Vztahy mezi entitami jsou reprezentovány porovnáváním hodnot speciálních polí, nazývaných cizí klíče, s hodnotami identifikátorů záznamů v jiných tabulkách. Objektově orientovaný přístup pohlíží na vše kolem jako na objekt. Objekt má určité vlastnosti a určité operace. Jeho vlastnosti netvoří jen základní datové typy, ale mohou to být i jiné objekty. To umožňuje skládat objekty z jednotlivých částí. Objekty se mohou dědit a tak se rozšiřovat o vlastnosti a schopnosti svých předchůdců. Je to mnohem přirozenější způsob modelovaní reality než v případě relačních modelů. Mnoho podniků provozuje starší informační systémy, které stojí na relačních databázích. Při návrhu nových aplikací pak často zaznívá podmínka, aby se nová aplikace integrovala do stávajícího systému. V takovém případě poskytují ORM nástroje velkou výhodu a těžko zastupitelnou roli. Dalším důležitým faktorem při volbě správy dat hrají možnosti dotazování. Jazyk SQL (Structured Query Language) se těší velké popularitě a jedná se o standard pro manipulaci s daty. Možnosti ORM nástrojů jsou v zásadě omezeny databázovým schématem. Mapování ve srovnání s nativním přístupem přináší určitou ztrátu výkonu. ORM frameworky se tuto ztrátu snaží minimalizovat použitím různých vyrovnávacích pamětí a dalších optimalizací. 2.1 Hibernate Hibernate je profesionální open-source (LGPL v2.1) projekt napsaný v Javě, který představuje ORM řešení pro Javu. Jedná se o middleware, software, který slouží jako konverzní nebo překladatelská vrstva. Hibernate umožňuje teoreticky pracovat s libovolnou databází, ke které existuje JDBC ovladač. Jednotlivé SQL databáze se od sebe liší množstvím svých schopností, syntaxí pro značení identity sloupců, datových typů, dostupných SQL funkcí a používají lehce rozdílné verze SQL jazyka. Proto se v Hibernate všechny rozdíly abstrahovaly do tzv. dialect tříd. Každá podporovaná databáze má tak svůj vlastní dialekt. Těchto tříd je více než 20 a jsou umístěny v balíčku org.hibernate.dialect. Protože navázání spojení s databází může chvíli trvat, Hibernate sám řeší správu připojení tzv. Connection Pool, tedy vytvoření spojení a jeho sdílení mezi aplikacemi. Hibernate lze použit nejen u nových projektů, ale také u již vytvořených. Není fixován jen na platformu J2EE, ale lze ho využít i mimo toto prostředí. Má své vlastní API, ale od verze 3.2 se používá Java Persistence API (JPA), což je standard pro objektově relační mapování a rozhraní pro správu persistence v platformě Java EE 5.0. Je to část specifikace EJB 3.0 (JSR 220), které vychází z původního Hibernate díky účasti dvou jeho tvůrců na přípravě této specifikace. Hibernate umožňuje použit skoro vše co databáze nabízejí. 2.2 Mapování tříd Základem Hibernate mapování jsou třídy označované jako POJO (Plain Old Java Object). Jedná se o jednoduché Java objekty, které neimplementují žádné speciální rozhraní. Tyto objekty pak reprezentují entity, které jsou ukládány do databáze. Tak jako ostatní ORM nástroje i Hibernate potřebuje metadata, které určují způsob transformace dat z jedné reprezentace do druhé. Existují dva základní způsoby zápisu mapovacích metadat. Prvním jsou XML soubory umístěné v adresáři s mapovanými třídami. Obvykle každé třídě odpovídá jeden XML soubor. Druhá varianta je použití anotací 809

3 uvedených přímo v mapovaných třídách. Ve starších verzích Hibernate 2.x bylo možné používat doplněk Xdoclet, který umožňoval vygenerovat XML soubor popisující mapování z metadat zapsaných pomocí speciálních tagů komentáře Javadoc. Později po zavedení anotací do Javy, se začaly používat anotace specifikace EJB 3.0/JPA. Existují také Hibernate extension anotace, které se používají pro zvýšení výkonu, různé optimalizace a speciální mapování. Tyto anotace jsou dostupné z balíčku org.hibernate.annotations. Forma zápisu mapovacích metadat pomocí anotací, je výhodná v tom, že všechna data jsou pohromadě a v případě změn v mapované třídě nehrozí, že vývojář zapomene upravit také jejich mapování. Ve vývojových prostředí Java IDE existuje řada funkcí, které umožňují z existujícího databázového schématu automaticky vygenerovat POJO třídy včetně jejich mapování. Tyto funkce jsou dostupné pro mapování pomocí anotací i pomocí XML souborů. 2.3 Práce s perzistentními objekty Pro správu persistence jsou dostupné dvě API. Nativní Hibernate API, který pokrývá všechny funkce Hibernate a standard podle specifikace Java Persistence API. Obě API poskytují služby jako jsou základní CRUD operace (Create, Retrieve, Update, Delete), vykonávání dotazů (Query), ovládání transakci, správu persistentního kontextu. Hibernate kvůli zvýšení výkonu nerealizuje změny ihned, ale vykonává je po skupinách. Proto, pokud není nastaveno automatické vykonávání, musíme tyto změny potvrdit manuálně. Java Persistence API specifikuje programové rozhraní, pravidla životních cyklů persistentních objektů. Hibernate implementuje tuto část JPA pod názvem Hibernate EntityManager. Práce se standardizovaným rozhraním umožňuje pracovat s jakýmkoliv aplikačním serverem, kompatibilním s EJB 3.0. Avšak JPA funkcionalita tvoří jen podmnožinu toho, co dokáže nativní Hibernate. Lze jej nastavit pomocí konfiguračních souborů nebo přímo v Java kódu. Pro načtení instance z databáze obě API poskytují metody, jejichž parametry tvoří požadovaná třída instance a její primární klíč. Pro vyjádření dotazů v Hibernate existují tři cesty: Hibernate Query Language (HQL) a JPA QL, Criteria API a pojmenované dotazy Hibernate Query Language (HQL) je objektově orientovaný dotazovací jazyk podobný SQL. Obsahuje i stejné klauzule jako SELECT, FROM a WHERE. Na rozdíl od SQL slouží pouze pro vyhledávání objektů. Aktualizace, vkládání a mazání nejsou možné. Je mnohem kompaktnější než SQL. Například využívá vztahy definované pomocí mapování. JPA nabízí jazyk označovaný jako JPA QL. Jedná se o podmnožinu HQL. Criteria API je dostupné jen v rámci Hibernate. Java Persistence API tento způsob načítaní objektů nestandardizovala. Je to alternativa pro dotazovaní perzistentních objektů. Pokud naše dotazy vyjádříme pomocí kritérií, tyto dotazy mohou být lépe čitelné, samo dokumentující a jejich syntaxe bude parsovatelná a ověřitelná při kompilaci. Pokud toto API použijeme, ztratíme část vyjadřovací schopnosti a síly dotazů HQL. Kriteria, která pomocí metody vkládáme mohou být dvojího druhů. Dotazování pomocí kriterií (QBC - query by criteria) Tento způsob vrací seznam instancí dle definovaných restrikcí (kriterií). Dotazování pomocí příkladu (QBE - query by example) Tento způsob dotazování nabízí načtení objektů na základě příkladu. Vytvoříme objekt námi hledaného typu s několika známými vlastnostmi. Pojmenované dotazy Hibernate API i JPA umožňují načítat objekty na základě dotazů, které byly nadefinovány během mapování a označit unikátním jménem na základě, kterého jsou pak volány. 810

4 Mapování objektu do relační databáze ve srovnání s nativním přístupem je pomalejší. Aby se toto zpomalení co nejvíce eliminovalo, využívá Hibernate několik druhů cache. Nevýhodou cache je vyšší paměťová spotřeba, vyšší fragmentace a více dlouho žijících objektů. Komplikací může být také detekce změn. 3 Objektově orientovaný přístup Objektový přístup umožňuje přirozenější reprezentaci složitých struktur reálného světa. Objekty nabízí bohatší datové struktury, které mnohem přirozeněji popisují skutečná data. Návrh objektové databáze tvoří podstatnou část celkového návrhu aplikace, protože objektové třídy aplikace jsou zároveň používané v databázi. 3.1 Caché systém Systém Caché je plně objektově orientovaná databázová technologie. Společnost InterSystems ji uvedla na trh koncem roku Data v systému Caché jsou uložena v transakčním vícerozměrném databázovém stroji. Caché obsahuje unifikovanou datovou architekturu, která poskytuje jednu společnou vrstvu nejen pro objektový přístup k datům, ale také pro přístup prostřednictvím jazyka SQL. A proto řeší dilema vývojářů, zda použít relační nebo objektové úložiště dat. Dostupná je také projekce objektů do formátu XML souborů. Nabízí podporu datových pohledů a rozhraní pro oba datové modely. Tyto možnosti přístupu umožňují vývojáři vyhnout se časově náročné práci s objektově-relačním mapováním. Objektový model Caché je založen na standardu ODMG (Object Database Management Group) a podporuje tak všechny principy objektových technologii pro ukládaní objektů. Nabízí mnoho pokročilých funkcí včetně vícenásobné dědičnosti. 3.2 Caché třídy Základ tvoří definice Caché tříd, které jsou kompilátorem převedeny do spustitelné podoby. Mohou být generovaný z různých formátů jako jsou programovací jazyk pro definování Caché tříd CDL (Class Definition Language), jazyk pro definici dat DDL (Data Definition Language for SQL) a XML. Caché podporuje neomezený počet datových typů pro vlastnosti objektů. Každý datový typ je reprezentován třídou, každá Caché třída je platným datovým typem. Vývojář může použít základní datové typy Caché nebo si může vytvořit vlastní. Vlastnosti třídy mohou být definovány jako vypočítávané, tedy jejich hodnota se vypočítává za běhu programu. Vlastnosti tříd mohou být také vícerozměrné, ty však mají omezení v podobě, že nemohou být reprezentovány pomocí SQL tabulek. V třídách mohou být definovány také metody s různou funkčností. Jejich kód je možné formulovat v jazycích Caché ObjectScript, Caché Basic a Java. První dva jazyky se překládají do spustitelného kódu Caché a jsou prováděny v rámci běhového prostředí Caché. Java kód je exportován a prováděn v rámci virtuálního stroje Javy. Pro usnadnění tvorby Caché tříd se používá integrované vývojové prostředí Caché Studio. Toto prostředí, kromě samotné podpory vývoje tříd, umožňuje jejich export do různých formátů. Caché třídy je také možné vytvořit na základě importu definic relačních tabulek či přímo relačních databází. Caché umožňuje využívat její objekty také v jazyku Java. Buď objekty řízené aplikací nebo kontejnerem Enterprise JavaBeans. Pro vývoj Java aplikací založených na databázi Caché může vývojář zvolit ze dvou základních způsobů propojení: nativní projekce Caché tříd 811

5 do Java proxy tříd nebo persistence Java tříd pomocí technologie Jalapeño. 3.3 Nativní projekce Caché tříd do Java tříd Jedná se o starší způsob propojení Javy a Caché. Třídy definované v Caché se doplní o informace, které jsou při kompilaci interpretovány. Překladač pak automaticky vygeneruje projekce typu Java proxy tříd. Tyto třídy se vloží do Java projektu a využívají se k práci s databází. K dispozici jsou i projekce pro Enterprise JavaBeans. Tato metoda po Java vývojáři vyžaduje, aby nejprve nadefinoval a vytvořil své datové objekty v Caché. Což předpokládá znalosti prostředí Caché se schopností definovat datový model v tomto prostředí. 3.4 Technologie Jalapeño Od verze 2007 obsahuje databáze Caché nový softwarový modul Jalapeño, což je akronym pro JAva LAnguage PErsistence with NO mapping. Tento modul umožňuje přidat persistenci POJO objektům bez nutnosti objektově-relačního mapování. Vývojář tak může používat své oblíbené Java vývojové prostředí a přitom uchovávat své objekty v databázi Caché. Nemusí ho zajímat, jakým mechanizmem jsou data uchovávána. Nevyžaduje podrobné znalosti prostředí Caché, ani jejich vývojových nástrojů, což významně zkracuje dobu vývoje. Další výhodou přístupu je také lepší výkon, protože není potřeba rozkládat a sestavovat tedy serializovat či deserializovat objekty při ukládání a čtení. Jalapeño lze použít i v kombinaci s relační databází, ale s databází Caché dosahuje nejvyššího výkonu. Jalapeño persistentní knihovna se skládá z komponenty Jalapeño SchemaBuilder což je nástroj, který analyzuje Java třídy a poté vytváří databázové Caché schémata. Druhá komponenta Jalapeño Runtime library je běhová Java knihovna poskytující API pro připojení k databázi, ukládání, získávání dat a dotazování. Pomocí anotací, tedy určitých metadat, doplněných do POJO se nadefinuje jak se mají objekty v databázi uchovat. Anotované POJO Jalapeño SchemaBuilder analyzuje a vytvoří požadované databázové Caché schéma. Anotace neovlivňují chování tříd za běhu programu, určují pouze chování kompilátoru Caché a nejsou povinné. Každá z anotací má různě dlouhý seznam volitelných atributů. Nativní projekce Caché Java tříd i technologie Jalapeño pracují na principu asociace Java objektů v paměti s příslušnými Caché objekty v databázi. Jalapeño Java objekty se však liší od standardních Java proxy objektů použitých v rámci nativní projekce. U Nativní Caché Java projekce se začíná u Caché tříd, ze kterých se později generují Java proxy třídy. Ty jsou navrženy pro těsnou součinnost s Caché. Každá Java proxy třída obsahuje všechny nezbytné nástroje pro interakci s příslušným Caché objektem. Naproti tomu technologie Jalapeño pracuje s již existujícími Java třídami, které nezahrnují tyto metody. Nejprve se z Java tříd vygenerují příslušné Caché třídy a poté se pomocí správce persistence s nimi pracuje. Na správu persistence v technologii Jalapeño se využívá instance třídy ObjectManager. Slouží k manipulaci s perzistentními objekty jako je vytváření, načítaní, aktualizace a odstranění objektů. Lze jej využít také k různému nastavením chování objektů. K vytvoření spojení s databází Caché se využívá JDBC driverů. Správce persistence umožňuje řízení transakcí. Existují také další doplňkové rozhraní pro ostatní činnosti. Rozhraní ExtentManager je určeno pro práci na úrovni rozsahu Caché tříd a nabízí například možnost generování testovacích dat. Pro XML serializaci a deserializaci tříd slouží rozhraní Utilities. Pro načtení instance z databáze poskytuje ObjectManager metody, jejíž parametry tvoří 812

6 požadovaná třída instance a identifikátor. Objekt může být načten také pomocí primárního klíče. Caché umožňuje získávat informace z databáze také na základě SQL dotazů. Caché má svou modifikaci s názvem Caché SQL, která nabízí plnou sadu standardních relačních funkcí. Správce persistence ObjectManager má pro tento úkol vyhrazenu metodu, která vrací výsledek, který splnil kritéria dotazu, ve formě iterátoru. 4 Závěr Cílem této práce bylo srovnat objektově relační mapování s objektově orientovaným přístupem. Oba tyto přístupy, ve srovnání s čistě relačním mapováním, znamenají pro vývojáře obrovskou úsporu jeho drahocenného času. Umožňují mu plně se zaměřit na vývoj samotné funkčnosti aplikace. Nemusí mapovat jednotlivé atributy relačních tabulek do spousty proměnných v Javě. Nemusí se na nejnižší úrovni starat o jednotlivé databázové činnosti. Tyto technologie řeší řadu činností za něj. Značná nevýhoda relačních databází je v potřebě vytváření různých pomocných asociačních tabulek, které reprezentují vazby mezi entitami. Což samotný model dosti komplikuje, snižuje jeho přehlednost a vzdaluje ho od reality. Následné změny nebo rozšíření schématu může u relačních databází znamenat, že se musí celý model přepracovat. To může být dosti nelehké a hlavně časově náročné. Naproti tomu model v objektové databázi je tvořen pouze skutečnými objekty. Nejsou tam žádné pomocné objekty. Model je možné rozšířit pomocí dědičnosti bez potřeby výraznější změny modelu. Proto jsou objektově orientované databáze vhodnější na reprezentaci složitějších modelů. Relační databáze jsou vhodné pro mnoho druhů aplikací, které jsou však charakterizovaný spíše množinou jednoduchých tabulek. Hibernate je standardem pro objektově relační mapování v Javě. Je značně rozšířený a existuje k němu velké množství dokumentace, knih a návodů s příklady řešení. Toto u Caché a především Jalapeño, jako poměrně nové technologie, určitě neplatí. Velkou roli v tom hraje zcela jistě fakt, že relační databáze jsou nejrozšířenější úložiště dat. Může to být také způsobeno tím, že Hibernate je open source projekt na rozdíl od databáze Caché, která je proprietární, respektive komerční produkt. Stejné je to i s existencí různých doplňků a nástrojů, které vývojáři usnadňuji práci. Výhodou Hibernate je jeho nezávislost na databázi. Umožňuje vybrat si databázi s parametry, které nejlépe vyhovují danému projektu. Popřípadě ji mohu změnit s tím, že nebudu muset měnit samotnou aplikaci. Důležitý faktor, který hraje ve prospěch Hibernate je také situace, kdy zákazník trvá na podmínce, že nová aplikace musí využívat databázi již existujícího informačního systému. V tomto případě lze z databáze vygenerovat mapování a databázi používat. Další příjemnou vlastnost nabízí Hibernate v podobě možnosti testovat části aplikace bez potřeby samotné databáze. Hibernate nabízí také několik zajímavých způsobů, jak získat kolekce objektů z databáze. Caché databáze poskytuje výhodu objektového modelu. Také výhodu přístupu k datům jako k objektům nebo k tabulkám pomocí mocného jazyka SQL. To vše v rámci jedné architektury. Tato kombinace z ní děla velmi perspektivní způsob uchovávání dat. Velkou výhodu ve srovnání s Hibernate spatřuji také v menší míře konfigurace před zahájením jejího používáni. Díky tomu lze dříve začít se samotnou prací na aplikaci, což má za následek vyšší produktivitu z hlediska tvorby aplikace. Caché nabízí nástroje pro generovaní schématu ze schématu relační databáze nebo připojené databáze. Snadný export instancí do XML souborů přináší také velkou výhodu. Vývojář není omezen jen datovými typy databáze, ale může si nadefinovat vlastní. Podpora vícerozměrných dat může najít uplatnění v modelování 813

7 složitého systému. Možnost generování testovacích dat a refaktoring schématu Caché tříd bez ztráty již uložených dat může velmi usnadnit vývoj. Technologie Caché Jalapeño umožňuje vývojáři uchovávat a používat své objekty v Caché databázi bez nutnosti znalosti mechanismu ukládání dat. Ovšem jako mladá technologie ještě není tolik vyzrálá jako Hibernate. Hardwarová náročnost Caché je o něco větší něž u MySQL, ale poloviční ve srovnání s Oracle. Je uváděno, že výkonnost je porovnatelná s MySQL a při větší databází (nad 1GB) je výrazně lepší. Výkonnější je také při vykonávání složitějších dotazů a hromadných updatech. 5 Literatura BAUER, Christian; KING, Gavin. Java Persistence with Hibernate. New York:Manning Publications Co., s KIRSTEN, W.; IHRINGER, M.;KUHN, M.; ROHRIG, B.. Caché Databáze postrelačního typu a tvorba aplikací. Brno: CP Books, a.s., s ŠEVČÍK, J. Srovnání objektově relačního mapování s objektově orientovaným přístupem. Ostrava s. Diplomová práce. Ostravská univerzita v Ostravě. Recenzent: doc. Ing. František Huňka, CSc., Katedra informatiky a počítačů, Přírodovědecká fakulta, Ostravská univerzita v Ostravě, 30. dubna 22, Ostrava, frantisek.hunka@osu.cz 814

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ Technologie Jalapeño od InterSystems Andreas Dieckow, Principal Product Manager, Strategic Planning InterSystems Corporation Úvod Programovací jazyk Java má díky

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Použití databází na Webu

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

Více

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer Jalapeño: pekelně ostrá Java persistence v Caché Daniel Kutáč Senior Sales Engineer Co je Jalapeño Pár slov ředitele vývoje software Klikni! Tak tedy, o čem dnes budeme mluvit Architektura Instalace Anotace

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

InterSystems Caché Post-Relational Database

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ý

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy 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 Jak ukládat a efektivně zpracovávat

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

Úvod. Boj se zavlečeným impedančním nesouladem na úrovni databáze

Úvod. Boj se zavlečeným impedančním nesouladem na úrovni databáze Boj se zavlečeným impedančním nesouladem na úrovni databáze ABSTRACT: Impedanční nesoulad může být zmírněn správnou volbou databázové technologie. Článek vysvětluje, co to impedanční nesoulad je a uvádí

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

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/

Více

Přizpůsobení JSTL pro Google App Engine Datastore

Přizpůsobení JSTL pro Google App Engine Datastore Přizpůsobení JSTL pro Google App Engine Datastore Vítězslav Novák Katedra Aplikovaná informatika Ekonomická fakulta, VŠB-TU Ostrava 1 Google App Engine Google App Engine je zástupcem distribučního modelu

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/18 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/18 Úvod

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

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

Tvorba informačních systémů

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

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

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

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

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

Úvod do Entity Frameworku

Úvod do Entity Frameworku PV178 Úvod do Entity Frameworku Mgr. David Gešvindr MVP MSP MCSD: Windows Store MCSE: Data Platform gesvindr@mail.muni.cz Osnova 1. Úvod do Entity Frameworku 2. Návrh databáze s využitím Entity Framework

Více

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ČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

(Enterprise) JavaBeans. Lekce 7

(Enterprise) JavaBeans. Lekce 7 (Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.

Více

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

Úvod. Programovací paradigmata

Úvod. Programovací paradigmata .. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

Více

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging 1. Vhodnost nasazení jednotlivých webových architektur - toto je podle Klímy

Více

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL Vít Holub Anotace Článek poskytne čtenáři základní přehled v datových modelech, ukáže výhody a nevýhody

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ů, 2006/2007 c 2006 2008 Michal Krátký Tvorba informačních systémů 1/17 Úvod XML

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Anotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký

Anotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace a Hibernate Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace v Javě novinka Javy 5 umožňují k Java kódu přidávat dodatečné informace (podobně jako JavaDoc) za předchůdce anotací je možné považovat

Více

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

Více

Databáze v MS ACCESS

Databáze v MS ACCESS 1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,

Více

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974 základní informace Databázové systémy Úvodní přednáška předměty: KI/DSY (B1801 Informatika - dvouoborová) KI/P502 (B1802 Aplikovaná informatika) ukončení: Zápočet + Zkouška / 5kb ki.ujep.cz termínovník,

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Stránka předmětu: https://edux.fit.cvut.cz/courses/bi-dbs/parttime/start

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní

Více

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 Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source Univerzální datové rozhraní UDS for ELO UDS pro ELO je univerzální datové rozhraní, schopné napojit systém pro archivaci a správu dokumentů ELO na libovolný datový zdroj a to bez nutnosti programování.

Více

Common Object Request Broker Architecture

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í

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é a informační systémy Jana Šarmanová

Databázové a informační systémy Jana Šarmanová Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

IOPC2. Petr Čermák Vedoucí RNDr. Michal Kopecky, Ph.D.

IOPC2. Petr Čermák Vedoucí RNDr. Michal Kopecky, Ph.D. IOPC2 Petr Čermák Vedoucí RNDr. Michal Kopecky, Ph.D. Obsah Cíle práce Vývoj knihovny Design a implementace Porovnání s předchozími verzemi Shrnutí a další vývoj Cíle práce Návrh a implementace knihovny

Více

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací

Více

Požadavky pro výběrová řízení TerraBus ESB/G2x

Požadavky pro výběrová řízení TerraBus ESB/G2x Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu

Více

Geografické informační systémy p. 1

Geografické informační systémy p. 1 Geografické informační systémy Slajdy pro předmět GIS Martin Hrubý hrubym @ fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 61266 Brno akademický rok 2004/05

Více

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

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

Více

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

Tvorba informačních systémů

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

Více

Stěhování aplikací. Michal Tomek, Sales Manager

Stěhování aplikací. Michal Tomek, Sales Manager Stěhování aplikací Michal Tomek, Sales Manager Agenda Co míníme stěhováním Typické situace Role InterSystems Příležitosti Migrace Stěhování informačního systému Nová budova. HW a OS Získáme nové vlastnosti

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

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

Archivace relačních databází

Archivace relačních databází Archivace relačních databází Možnosti, formát SIARD, nástroje, tvorba, prohlížení, datové výstupy Martin Rechtorik 30.11.2018 Archivace relačních databází 1. Možnosti archivace relačních databází 2. Formát

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI Cyril Klimeš a) Jan Melzer b) a) Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR E-mail: cyril.klimes@osu.cz b) DC Concept

Více

POKROČILÉ POUŽITÍ DATABÁZÍ

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním

Více

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,

Více

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Úvod Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Organizace předmětu Materiály k předmětu -Web stránky: http://cw.felk.cvut.cz/doku.php/courses/x33eja/start

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

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

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody 37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat

Více

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307 Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

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

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

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Databázové systémy I. 1. přednáška

Databázové systémy I. 1. přednáška Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50

Více

Programování v jazyku C# II. 5.kapitola

Programování v jazyku C# II. 5.kapitola Programování v jazyku C# II. 5.kapitola Obsah O ADO.NET Spojení s DB Příkazy Jednoduché čtení DataSet 2/28 ADO.NET ADO - ActiveX Data Object Orientováno na webové aplikace neexistence stavu v HTTP Obecný

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 20. Otázka : Datová vrstva informačního systému. Nezávislý přístup k datům - standardy ODBC/JDBC. Architektura a použití ADO.NET. Obsah : 1. ODBC 2. JDBC 2.1

Více

Databázové systémy trocha teorie

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ů

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více