České vysoké učení technické v Praze. Fakulta elektrotechnická

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

Download "České vysoké učení technické v Praze. Fakulta elektrotechnická"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Správa MSSQL databáze přes webové rozhraní pomocí programu Adminer Jakub Černohubý Vedoucí práce: Mgr. Jakub Vrána Studijní program Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika květen 2011

2 ii

3 Poděkování Děkuji velmi panu Mgr.. Jakubu Vránovi a Ing. Martinu Klímovi, Ph.D. za jejich odborné konzultace, návrhy a připomínky, které mi umožnily dovést mou práci k úspěšnému zakončení. iii

4 iv

5 Prohlášení Prohlašuji, že bakalářskou práci na téma Správa MSSQL databáze přes webové rozhraní pomocí programu Adminer jsem vypracoval samostatně a použil jsem jen pramenů, které cituji a uvádím v přiloženém soupisu literatury. Souhlasím, aby práce byla uložena v knihovně Českého vysokého učení technického v Praze a zpřístupněna ke studijním účelům. V Praze, dne Podpis v

6 vi

7 Abstract This work deals with the differences of database servers between MySQL and MSSQL, which are applied to the source program Adminer. This allows use of both database servers with the same user interface. Abstrakt Práce se zabývá rozdíly mezi databázovými servery MySQL a MSSQL, které jsou aplikovány do zdrojových kódů programu Adminer. Ten umožní používat oba databázové servery se stejným uživatelským rozhraním. vii

8 viii

9 1 Obsah Poděkování... iii Prohlášení... v Abstract... vii Abstrakt... vii 2 Zadání Cíle Analýza Vlastnosti Admineru Funkce Admineru Analýza GUI Admineru verze MSSQL vs. MySQL Podpora operačních systemů Omezení serverů Datové typy Zobrazení informací z DB Licence Komunita MSSQL a PHP Licenční ujednání programu Adminer ix

10 4 Řešení Funkce souboru mssql.inc.php Funkce SQL jazyka Instalace Konfigurace SQL Server SQLSRV Uživatelská práva Testování Způsob testování Instalace Spuštění testu Závěr Literatura Přílohy Ukázky z programu Adminer Vývojové prostředí x

11 2 Zadání 2.1 Cíle Projekt Správa MSSQL databáze přes webové rozhraní (dále jen projekt) byl zadán v rámci pilotních prací Laboratoře Interoperability na Fakultě elektrotechnické ČVUT. Časový horizont projektu byl od listopadu 2009 do února Zadavatelem projektu je prostřednictvím Laboratoře Interoperability firma MICROSOFT s. r. o. Projekt byl vypracován jako studentská semestrální práce s možnou návazností na bakalářskou práci. Vzhledem k tomu, že byl tentýž projekt vypracováván nezávisle více studenty, bylo zadání práce dále upřesněno do následující podoby. Rozšiřte open source produkt Adminer (www.adminer.org) o možnost správy Microsoft SQL databáze. Pro připojení k databázi použijte ovladač SQLSRV 1.1. Pokud to bude možné, nezasahujte do původního kódu. Výsledný produkt otestujte vhodnou metodou, například unit testy. Svůj produkt dobře zdokumentujte tak, aby bylo možné ho dále rozšiřovat v rámci open source komunity. Program Adminer verze není připraven na použití jiného databázového serveru než je MySQL. Bude potřeba refaktorovat stávající kód do podoby, kdy budou části kódu pro jednotlivé databázové servery odděleny a bude možné co nejjednodušším způsobem přidat nový databázový server (např. MSSQL) nebo nový ovladač databázového serveru. Mezi databázovými servery MySQL a MSSQL jsou rozdíly, které je potřeba eliminovat a to jak v rámci SQL příkazů, tak v rámci kódu PHP. Uživatelé programu Adminer by neměli poznat rozdíl v uživatelském rozhraní mezi jednotlivými databázemi. Takto vzniklý kód je potřeba otestovat, aby při případných dalších rozšiřování programu Adminer bylo jasné, že nevznikla žádná změna v kódu, která poruší původní funkčnost.

12 2

13 3 Analýza Adminer 1 je PHP 2 aplikace, vzniklá z potřeby rychlého, malého nástroje pro správu databázového serveru. V současné verzi spolupracuje s databázovým serverem MySQL 3. Adminer byl vytvořen Ing. Jakubem Vránou 4. Přístup k SQL Serveru můžeme uskutečnit přes několik protokolů TCP/IP, Named Pipes, Shared Memory, a VIA. Každý z těchto protokolů je potřeba povolit či zakázat pro každého uživatele SQL Serveru pomocí SQL Server Configuration Manager. Pro MySQL je standartním portem TCP/IP port 3306 a pro MSSQL je port V současné době lze ovládat databázový server například pomocí podobných nástrojů jako je Management Studio, OSQL nebo SQLCMD, které komunikují přes různé protokoly. Management Studio je program s grafickým rozhraním, díky kterému jde v databázi SQL Serveru spouštět skripty, zálohovat databázi, spravovat uživatelské účty a další. OSQL a SQLCMD jsou programy bez grafického rozhraní. Ovládají se pomocí příkazové řádky, dokážou zpracovávat skripty a transakce, ale jejich použití je omezené. Tento způsob nemusí být vždy pohodlný z důvodu nutnosti využívat systém Microsoft Windows s programy, které nejsou v základní instalaci systému. 3.1 Vlastnosti Admineru Program Adminer je psaný v jazyce PHP. Ke spuštění je potřeba tento program mít na webovém serveru s nainstalovanou podporou jazyka PHP od verze Na obrázku (Obr. 1) je patrná komunikace mezi klienty a webovým serverem, kde dynamický obsah představuje program Adminer. Klienti zasílají požadavek z různých 1 Adminer 2 PHP 3 MySQL - 4 Ing. Jakub Vrána 3

14 počítačů a operačních systémů pomocí webového prohlížeče a čekají na odpověď. IIS nebo Apache, kteří zabezpečují službu webového serveru, dle požadavku vygenerují dynamický obsah nebo statický zobrazí. Generování dynamického obsahu se děje za pomoci skriptovacího jazyka PHP, který obsluhuje databázi pomocí určitého ovladače. Obr. 1 Webový server Obr. 2 Kompilace programu Adminer 4

15 Program Adminer je velice uživatelsky vstřícný díky přívětivému uživatelskému rozhraní a jednoduchostí ovládání. Pro administrátora serveru je také výhoda, že je to pouze jediný dlouhý soubor PHP (ve verzi má velikost pouze 180kB), který se jediný umístí na server. Jedná se o zkompilovaný soubor obsahující všechna potřebná data, jejich struktura a způsob přeměny na poskytovanou verzi je zobrazena na obrázku (Obr. 2). Mezi těmito daty jsou různé jazyky včetně češtiny a slovenštiny. 3.2 Funkce Admineru Adminer poskytuje webové GUI (grafické uživatelské rozhraní) pro správu databáze. V tomto rozhraní zvládá velkou řadu funkcí, mezi ty hlavní patří: Připojení k databázovému serveru pod zadaným uživatelským jménem a heslem Výběr databáze, vytvoření nové databáze Seznam sloupců, indexů, cizích klíčů a triggerů tabulky Změna názvu, úložiště, porovnávání, auto_increment a komentáře tabulky Změna názvu, typu, porovnávání, komentáře a výchozí hodnoty sloupců Přidání a smazání tabulek a sloupců Vytvoření, změna, smazání a vyhledávání podle indexů včetně fulltextových Vložení, úprava a smazání záznamu Podpora všech datových typů, práce s BLOB přes nahrávání souborů Provedení libovolného SQL příkazu zadaného přímo nebo nahraného ze souboru Přehled uživatelů a práv s možností jejich nastavení Další funkční vlastnosti lze nalézt na webových stránkách projektu. 5 5 Projekt Adminer 5

16 3.3 Analýza GUI Admineru verze Verze po spuštění nabízí možnost výběru jednoho z velkého množství jazyků. K přihlášení jsou vyžadovaná data: server, uživatelské jméno, heslo. Pokud se tyto údaje nevyplní, Adminer použije údaje ze souboru php.ini. Při neúspěšném přihlášení vypíše chybovou hlášku, kterou vrátí databázový server. Po úspěšném přihlášení vypíše verzi MySQL serveru, jméno uživatele, adresu serveru a přes jaký ovladač je program připojen. Ovladače mají svou prioritu od nejvyšší: MySQLi, MySQL a PDO_MySQL. Dále lze vidět na stejné stránce jednotlivé databáze a jejich porovnávání. Z této stránky je také možnost vytvoření nové databáze, odstranění databáze, změny oprávnění, vypsání seznamu procesů, proměnné serveru, aktuální stav databáze a její export. Pokud během používání programu Adminer vznikne potřeba jiného dotazu nad databází, než jsou naimplementované, pak je možnost vlastního SQL příkazu. V detailu databáze je výpis tabulek a jejich vlastností, jako je úložiště, porovnávání, velikost dat, velikost indexů, volné místo, auto increment, počet záznamů v tabulce a komentář. Kromě základních úkonů, jako jsou změna názvu a porovnávání databáze, vykreslení schématu databáze, hledání, tvorba tabulek, pohledu, procedur, funkcí a událostí, vypsání dat, jsou zde také možnosti analyzování, optimalizování a kontroly tabulek. Samozřejmostí je zobrazení struktury jednotlivých tabulek s možností jejch úpravy. Program Adminer má přizpůsobitelný vzhled díky existenci několika základních CSS stylů, které lze nahrát k souboru Adminer.php na server a používat. Lze si také vytvořit vlastní styl, který by vzhledově vyhovoval nejlépe. Na obrázku (Obr. 3) je vidět ukázka již připravených stylů převzatá ze stránek 6

17 Obr. 3 Náhledy různých vzhledů programu Adminer 7

18 3.4 MSSQL vs. MySQL MySQL je multiplatformní databázový systém, vytvořený švédskou firmou MySQL AB, nyní vlastněný společností Sun Microsystems, dceřinou společností Oracle Corporation. K dispozici je pod bezplatnou licencí GPL. MSSQL je relační databázový systém, vytvořený společností Microsoft. Je nabízený v několika různých verzích. Každá je jinak omezena, např. maximálním množstvím procesorů a velikostí dat. Rozdíly mezi těmato serverama jsou mnohem menší než dříve. MSSQL byl určen hlavně pro velké firmy, kde je potřeba zpracovávat velice rychle velké objemy dat. V tomto směru mělo MSSQL jasnou výhodu, která byla kompenzována vysokou pořizovací cenou. Na druhé straně MySQL se využívalo převážně pro webové aplikace např. servery Yahoo Finance a Slashdot dodnes MySQL využívají, což svědčí o její kvalitě. V současné době jsou tyto systémy stále podobnější. MySQL v současné verzi 5.6 dokáže se postupně vyrovnávat v rychlosti s MSSQL verze 2008 a na druhé straně společnost Microsoft dává k dispozici verzi zdarma i pro komerční použití a to s omezením do 4GB dat a využitím maximálně jednoho procesoru. Dřívější verze MySQL nižší než 5 nepodporovala triggery, uložené procedury a další, toto vše je již naimplementované. MySQL nabízí několik typů úložných enginů (storage engine), které se liší svými možnostmi, použitím a způsobem ukládání dat do souborů dle požadavků zákazníků. MSSQL má navíc podporu schémat. Tato schémata umožňují seskupit objekty a poskytují bezpečnostní hranici. Slouží jako oddělující vrstva mezi uživatelem databáze a objekty v rámci databáze (uživatelé vlastní schémata, ta vlastní jednotlivé objekty). Tím pádem lze udělat, aby schéma mohlo vlastnit více uživatelů. Přidělením schématu pro uživatele získá všechna oprávnění, která dané schéma v sobě obsahuje. Také MSSQL má možnost využívání kursorů. Kurzory umožňují sekvenčně zpracovávat 8

19 řádky dotazu. Toho se využívá např. v uložených procedurách a triggerech, kdy se příkazy SELECT potřebují postupně získat a zpracovat. Jak MySQL tak MSSQL využívají pro komunikaci jazyk SQL 6, ale do jeho standardů (SQL92) si každý přidal svou jedinečnou implementaci, většinou dle požadavků zákazníků. Rozdíly jsou jak na bázi syntaxe, tak sémantiky. Sémantické rozdíly můžeme vidět na příkladu jiného návratového typu. Příklad syntaktického rozdílu: MySQL využívá zpětných uvozovek `tabulka`, ale MSSQL používá hranaté závorky [tabulka]. Další ukázky rozdílů jsou v tabulce (Tab. 1). Tab. 1 Rozdíly mezi MySQL a MSSQL MySQL MSSQL Komentáře # komentář -- komentář Generování jedinečného numerického klíče AUTO_INCREMENT IDENTITY(1,1) Současný čas CURRENT_TIMESTAMP() GETDATE() Výpis databází SHOW DATABASES EXEC sp_databases Výpis jednotlivých kolekcí Zjištění aktuálně přihlášeného uživatele SHOW COLLATION SELECT USER() SELECT name FROM fn_helpcollations() SELECT SUSER_NAME() 6 SQL jazyk - 9

20 Počet tabulek v databázi Získání informací o sloupcích tabulky Výpis způsobu porovnávání databáze Výpis pohledů nad tabulkou Informace o triggeru SHOW TABLES IN databáze SHOW FULL COLUMNS FROM tabulka SHOW CREATE DATABASE databáze SHOW CREATE VIEW tabulka SHOW TRIGGERS WHERE `Trigger` = trigger USE databáze SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES SELECT c.*, t.name type, d.definition [default] FROM sys.all_columns c JOIN sys.all_objects o ON c.object_id = o.object_id JOIN sys.types t ON c.user_type_id = t.user_type_id LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id WHERE o.type IN ('S', 'U', 'V') AND o.name = tabulka SELECT collation_name FROM sys.databases WHERE name = databáze SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = tabulka SELECT s.name [Trigger], CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event], CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing], c.text FROM sysobjects s JOIN syscomments c ON s.id = c.id WHERE s.xtype = 'TR' AND s.name = trigger 10

21 Informace o triggerech nad tabulkou SHOW TRIGGERS LIKE tabulka SELECT sys1.name, CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event], CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing] FROM sysobjects sys1 JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id WHERE sys1.xtype = 'TR' AND sys2.name = tabulka Výpis tabulek SHOW TABLES EXEC SP_TABLES List sloupců a typů DESCRIBE tablename HELP tablename Funkce pro délku řetězce CHARACTER_LENGTH() LEN() Určení proměnné SELECT VERSION() SELECT Deklarace proměnné declare test int int Výběr vrchních záznamů LIMIT TOP Úplné spojení není FULL JOIN Přirozené spojení NATURAL JOIN není Vložení s ošetřením kolize REPLACE() REPLACE() 11

22 záleží na velikosti písmen nezáleží na velikosti pismen Vytvoření triggeru CREATE TRIGGER trigger AFTER INSERT ON table FOR EACH ROW BEGIN trigger_body END CREATE TRIGGER trigger ON tabulka AFTER INSERT AS BEGIN Trigger_body END Microsoft pro své produkty počítá, že nejvíce uživatelů přistupuje k programům pomocí grafického uživatelského rozhraní. Proto většina ovládání databázového serveru MSSQL se provádí pomocí nabídek v programech Management Studio nebo Configuration Manager. Např. vytváření uživatelských práv je primárně od Microsoftu doporučováno spravovat přes Management Studio. Sice existuje několik uložených procedur, které na úrovni SQL jazyka některé úkony ovládají a daly by se použít přes příkazovou řádku, ale nezvládají všechny úkony a je potřeba vždy oprávnění administrátora Podpora operačních systemů MSSQL je produkt společnosti Microsoft, pro spuštění serveru je zapotřebí mít nainstalovaný některý operační systém Microsoft Windows, jehož verze je spojena s minimální verzí pro MSSQL. Společnost Microsoft doporučuje spustit SQL Server 2008 na počítačích s formátem souborů NTFS. Naproti tomu MySQL lze spustit jak na systému Microsoft Windows, tak také Mac OSX, Linux, Unix, BSD, Solaris, OpenSolaris, AmigaOS a dokonce na Symbianu. Jelikož MySQL má otevřené zdrojové kódy, můžeme ho pomocí vlastní kompilace zdrojových kódů spustit na mnoha různých operačních systémech. 12

23 3.4.2 Omezení serverů Maximální velikost MSSQL databáze je určena na TB (32767 souborů násobena 16 TB maximální velikost souboru). U MySQL je tato velikost neomezená, resp. záleží pouze na velikosti pevných disků na serveru, kde je databáze spuštěná. Velikost tabulek a záznamů je v tabulce (Tab. 2). Tab. 2 Omezení velikostí tabulek a záznamů MSSQL MySQL Velikost tabulky TB 256 TB (MyISAM) 64 TB (Innodb) Velikost záznamu omezena velikostí tabulky 64 kb Innodb byte Sloupců na záznam Velikost názvu sloupce 128 znaků 64 znaků Omezení pro různé datové typy jsou také rozdílná. Velikost datového typu CHAR je u MSSQL až 2 GB za předpokladu, že využijeme konstrukci VARCHAR(MAX). MySQL je omezen na 64 kb. U čísel má také MSSQL větší možnou velikost (126 bitů) než MySQL (64 bitů). Typ DATE končí u obou serverů rokem 9999, ale u MSSQL začíná rokem 0001 a u MySQL rokem

24 3.4.3 Datové typy Datové typy jsou také rozdílné a to jak různým pojmenováním a různou velikostí, tak mají své vlastní datové typy. Veškeré detaily jsou vidět v tabulce (Tab. 3). Tab.3 Datové typy jednotlivých databází MSSQL MySQL Celá čísla TINYINT, SMALLINT, INT, BIGINT TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit) Desetinná čísla FLOAT, REAL FLOAT (32-bit), DOUBLE (64- bit) Řetězce CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT CHAR, BINARY, VARCHAR, VARBINARY, TEXT TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT Dekadické NUMERIC, DECIMAL, SMALLMONEY, MONEY DECIMAL Datum, Čas DATE, DATETIMEOFFSET, DATETIME2, SMALLDATETIME, DATETIME, TIME DATETIME, DATE, TIMESTAMP, YEAR 14

25 Binární BINARY, VARBINARY, IMAGE, FILESTREAM TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB Další CURSOR, TIMESTAMP, HIERARCHYID, UNIQUEIDENTIFIER, SQL_VARIANT, XML, TABLE ENUM, SET, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon) 15

26 3.4.4 Zobrazení informací z DB V každé databázi je potřeba zjistit informace o jednotlivých databázích, tabulkách, triggerech atd. Nejznámější metodou získávání metadat (informací) z různých databází je použití INFORMATION SCHEMA, kde jsou jinak tyto informace k dispozici přes nestandartní příkazy. V relačních databázích se toto schéma využívá jako ANSI standart pro čtení všech informací z tabulek, pohledů, sloupců a procedur. Např. pro zobrazení informací o tabulkách v databázích se využívá část information_schema - TABLES, která je u obou databází stejná, ale každá má i svojí vlastní podobu: MSSQL: MySQL: EXEC = "'TABLE'"; SHOW TABLES; U některých objektů neexistuje stejná varianta pomocí information schema, ale je potřeba využívat pouze vlastní příkazy. Pokud chceme například získat výpis triggerů, použijeme tyto příkazy: MSSQL: MySQL: SELECT name FROM sys.triggers WHERE is_ms_shipped = 0; SHOW TRIGGERS; Podobné je to při zjištění uživatelů na serveru: MSSQL: MySQL: EXEC sp_who 'active'; SELECT * from mysql.user; 16

27 3.4.5 Licence MySQL MySQL je Open Source software. To znamená, že má jak technickou dostupnost kódu, tak legální dostupnost - licenci software, která umožňuje, při dodržení jistých podmínek, uživatelům zdrojový kód využívat, například prohlížet. Také nabízí možnost šířit tyto změny do té doby, dokud je software stále Open Source, a to díky licenci GPL. Při dodržení požadavků GPL je MySQL zdarma MSSQL U MSSQL je licenčních jednání více dle nabízené edice: Enterprise Edition (Server + CAL, Pre processor) Standard Edition (Server + CAL, Pre processor) Workgroup Edition (Server + CAL, Pre processor) Express Edition (zdarma) Compact Edition 3.5 s SP1 (zdarma) Web Edition (Pre processor) Standard Edition for Small Business (Server + CAL) Developer Edition (licence na uživatele) Licence Server + CAL (Client Access Licence) znamená, že před spuštěním instance serverového softwaru musí být licence přiřazena serveru. Server je fyzické hardwarové zařízení. Tento server je licencovaným serverem pro tuto konkrétní licenci. Stejnému serveru můžete přiřadit i jiné softwarové licence, stejnou licenci však nemůžete přiřadit více než jednomu serveru. Pro každou přiřazenou licenci můžete spustit současně jednu instanci serverového softwaru v jednom POSE nebo VOSE na licencovaném serveru. Pre processor dle společnosti Microsoft znamená, že před spuštěním instance serverového softwaru na serveru musíte určit požadovaný počet softwarových licencí a přiřadit je serveru. Server je fyzické hardwarové zařízení. Tento server je 17

28 licencovaným serverem pro tuto konkrétní licenci. Celkový počet softwarových licencí požadovaných pro server je dán součtem softwarových licencí pro každý fyzický procesor používaný prostředím POSE a každý virtuální procesor používaný prostředími VOSE. Pokud prostředí VOSE používá část virtuálního procesoru, tato část se počítá jako celý virtuální procesor. Stejnému serveru můžete přiřadit i jiné softwarové licence, stejnou licenci však nemůžete přiřadit více než jednomu serveru Komunita Každý z těchto serverů má různou základnu uživatelů. Původní rozložení uživatelů bylo následující: MSSQL kvůli vysoké cenně a nemožnosti běhu na jiném operačním systému než Microsoft Windows využívaly výhradně velké firmy, naopak MySQL využíval uživatel, kterému stačilo si do databáze uložit pár svých tabulek pro osobní webové stránky. V současné době se oba tyto servery snaží protlačit i do sféry, kde se používá konkureční řešení. Např. MSSQL vydalo edice, které jsou i pro komerční použití zdarma, a MySQL má i placené verze, které se mohou pyšnit velkou podporou. Díky původnímu rozložení uživatelů se také vyvinuly různé druhy komunit okolo daného serveru. MySQL má rozsáhlá uživatelská fóra na internetu, kde se zkušenějsí uživatelé snaží pomoci uživatelům méně zkušeným. Vznikají blogy, na kterých uživatelé MySQL školí svými články bez nároku na honorář. Naproti tomu MSSQL má komunitu ještě poměrně velmi uzavřenou. Jednotlivé firmy si najímají programátory, kteří jim řeší problémy, a jelikož tato řešení musí platit, tak zůstávají firemním know how jednotlivých firem nebo programátorů. Existuje velké množství školení, kde se lze dozvědět mnoho informací, ale stojí nemalé částky. Existují také oficiální dokumentace na stránkách jednotlivých serverů, ale i zde je znát vliv komunit. Oproti MSSQL má MySQL možnost uvádět příklady z praxe i na velkém fóru, kde se dá kromě definic nalézt i příklady jiných a konkrétních řešení. 18

29 3.5 MSSQL a PHP Pro připojení k SQL Serveru 2008 lze v jazyce PHP využít několik různých ovladačů. Nejpoužívanější je ovladač MSSQL 7, který je populární díky podobnosti s ovladači pro MySQL a zatím jako jediný z ovladačů má velkou podporu i ze strany uživatelů PHP. Další alternativou je ovladač SQLSRV 8, který byl v době zadávání a práce na projektu ve verzi 1.1. SQL Server Driver je rozšíření PHP 5, které umožňuje přístup k datům na SQL Server 2005 a novější verze. Rozšíření poskytuje procedurální rozhraní (SQLSRV prodloužení) a nejnovější verze 2.0 také objektově-orientované rozhraní (rozšíření PDO) pro přístup k datům ve všech verzích (včetně Express) začínající s SQL Server Díky němu můžeme ověřovat systém Windows, podporovat transakce, streaming, metadata a výpis chyb. Implementace se liší od ovladače MySQL ve větší míře a některé funkce úplně chybí. V tabulce (Tab. 4) jsou základní rozdíly a popis funkcí je zde pouze pro ukázání rozdílů mezi ovladači. Není to úplná syntaxe funkcí. Tab. 4 Rozdíly ovladačů PHP MySQL SQLSRV pozn. Připojení k DB mysql_connect (server, username, passwoord, new_link, client_flags) sqlsrv_connect(servername, connectioninfo (UID, PWD, Database, )) Verze serveru mysql_get_server_info (resource) array sqlsrv_server_info (resource) Sqlsrv vrátí asociované pole a v něm je hodnota SQLServerVersion 7 MSSQL driver - 8 SQLSRV driver - 19

30 Výběr databáze mysql_select_db (db, resource) neexistuje U sqlsrv nutno nahradit posláním query s SQL dotazem Získání záznamu z výsledku dotazu mysql_result (result, row, field) array sqlsrv_fetch_array (result, SQLSRV_FETCH_NUMERIC, SQLSRV_SCROLL_NEXT) Sqlsrv vrátí číselné pole a lze na pozici pole field získat buňku Informace o poslední chybě mysql_error (resource) array sqlsrv_errors () Sqlsrv pro každou chybu vrací pole hodnot: SQLSTATE, kód a zprávu 3.6 Licenční ujednání programu Adminer Program Adminer je zdarma pro komerční i nekomerční použití. Tento program je pod licencí Apache 9. Jedná se o OPEN SOURCE program. 9 Licence Apache - 20

31 4 Řešení Program Adminer byl původně psaný pouze pro ovladač MySQL a nepočítal s budoucí podporou jiné databáze. Z tohoto důvodu bylo nutné překonat několik problémů, které se vyskytly během implementace: neoddělené funkce pro konkrétní databázi a pro jádro Adminera refaktoring stávajícího kódu rozdílnost logiky ovladače MySQL a SQLSRV a s tím spojená absence funkcí neexistence jazykových konstrukcí jazyka jednotlivých serverů např. SHOW SQL Server lze ovládat pomocí některého nástroje (např. Management Studio) pomocí přístupu přes internet, pokud je tato možnost povolena. Problém vzniká, pokud je před místní sítí (INTRANET) s počítačem s SQL Serverem firewall, který blokuje přístupy pro nestandardní porty. Problém je popsán na obrázku (Obr. 4). Během práce s programem Adminer se může na straně klienta využívat pouze webový prohlížeč, který komunikuje s webovým serverem pomocí portu 80, který je standardní pro prohlížení webových stránek a tedy firewall neblokuje přístupu do sítě. 21

32 Obr. 4 Připojení k MSSQL pomocí webového prohlížeče (WB) přeš webový server (WS) V ideálním případě by struktura propojení k databázi pomocí programu Adminer vypadala jako na obrázku (Obr. 5). Všechny funkce a SQL příkazy takto byly odděleny mimo vlastní jádro Admineru. Bohužel tomu tak ve většině případů nebylo a bylo nutné zasahovat i do jádra. Vytvořil se soubor mssql.inc.php, který obsahuje veškeré nutné funkce pro ovládání MSSQL pomocí programu Adminer. Velká část kódu byla přenesena z vlastního jádra, aby bylo možné tyto funkce používat i pro další databázové servery. 22

33 Obr. 5 Architektura propojení databází k programu Adminer 4.1 Funkce souboru mssql.inc.php Po přihlášení do programu Adminer pomocí formulářové nabídky, kde si vyberete databázi MSSQL, se tato informace uloží do proměnné GET a poté se v souboru bootstrap.inc.php rozhodne, který soubor ovladače pro databázi v programu Adminer se bude používat. Pokud je nainstalováno rozšíření SQLSRV v PHP pro práci s databází MSSQL, bude využito s nejvyšší prioritou. Pokud by nebylo nainstalované, využije se rozšíření MSSQL. Oboje rozšíření se nacházejí v souboru mssql.inc.php, který obsahuje přepis funkcí pro ovládání databáze MSSQL. Po porovnání proměnné GET se vytvoří objekt Min_DB dle použitého rozšíření, který obsahuje základní funkce pro práci s MSSQL. Connect připojení k databázi Tato funkce se připojí k databázi s přihlašovacími údaji získanými na úvodní stránce. Původní verze pouze pro MySQL četla v případě, že se tyto údaje nezadaly, ze souboru php.ini, kam si tyto informace může ukládat. Ovladač SQLSRV tuto možnost nepoužívá. Po úspěšném připojení se získá informace o serveru, ke kterému jsme připojeni. Ze všech informací, které server vrací pomocí funkce 23

34 sqlsrv_server_info(), je využita pouze informace o verzi kvůli podobnosti s MySQL. V případě jakékoliv chyby je ta chyba hned zobrazena uživateli. Quote Tato funkce převádí řetězec, který chceme poslat databázi, na escapovaný ohraničený apostrofem. Pokud se znak apostrofu objeví i uvnitř řetězce, pak je zdvojen. Je to pro obranu vůči sql injection, což je útok vsunutím jiného kódu přes neošetřené vstupy do databáze. Select_DB Pokud chceme vybrat k používání databázi, v MySQL existovala přímo funkce pro tento úkon. SQLSRV toto neumožňuje, proto je potřeba poslat databázi SQL příkaz v podobě: USE databáze. Query, multi query, store result a result Tyto funkce zpracují poslaný příkaz v jazyce SQL, získají o něm informace, jako je počet záznamů ovlivněných, a ke každému získají informace o jednotlivých sloupcích. Pokud proběhne příkaz bez chyb, pak se vytvoří objekt Min_result, díky kterému můžeme pomocí dalších funkcí získat výsledek dotazu nad databází. Min_result Funkce tohoto objektu jsou velice podobné běžně využívaným funkcím ovladače pro MySQL. Jsou to fetch_assoc(), vracející asociované pole hodnot, fetch_row, vracející číselné pole hodnot, a fetch_field(), která načte informace o sloupci z výsledku do proměnné objektu. 4.2 Funkce SQL jazyka Jako další funkce v souboru mssql.inc.php jsou funkce pro základní dotazy nad databází. Jsou obecné a nezávislé na použitém ovladači pro databázový server MSSQL. Většina byla původně umístěna ve všech souborech programu Adminer a 24

35 nebyla oddělena. Pokud jsou ale umístěny zvlášť, lze použít program Adminer pro různé databázové stroje. idf_escape Pro vstupní parametr typu string převede na escapovaný tvar pro databázi (identifikátor databáze). table Převede vstupní string na escapovaný tvar pro název tabulky, pohledu a schématu. connect Připojí se k databázi vytvořením instance objektu Min_DB. Tuto instanci má jako návratovou hodnotu, v případě chyby vrátí string. get_databases Získá pole stringů s názvy všech databázích, které jsou na připojeném serveru. limit Formuluje SQL požadavek do databáze na selekci s omezeným počtem ůdajů. Příklad použití pro vypsání dvou položek z tabulky TEST s podmínkou, že TEST_ID není rovno hodnotě 500: limit(" * from [TEST]", " where `TEST_ID`!= '500'", "2"); limit1 Stejný případ jako výše uvedený, jen určuje formulaci pro vypsání jednoho řádku tabulky. db_collation Vstupem je název databáze a pro MSSQL prázdný druhý parametr, funkce získá kolekci dané databáze. 25

36 engines Vrací pole enginů databáze, MSSQL nepodporuje a tak vrací prázdné pole. logged_user Získá přihlášeného uživatele, jeho login. tables_list Před voláním této funkce je potřeba pomocí select_db() vybrat databázi. Z této databáze získá asociované pole s klíčem jako jméno tabulky a hodnotou typem objektu. count_tables Pro vstupní parametr pole s názvy databází vypíše počet tabulek, které v těchto databázích se nachází. table_status Vrací asociované pole s názvem a druhem tabulek v aktivní databázi. Před použitím této funkce je nutné použít select_db(). is_view Vrací pravdivostní hodnotu, jestli je daný objekt pohled. Využívá výše uvedenou funkci table_status(). fk_support Zjišťuje, jestli je podpora cizích klíčů. Používá se hlavně pro MySQL, kde cizí klíče podporuje pouze InnoDB. fields Získá informace o sloupcích tabulky název, datový typ, velikost, nulovost, identitu a další. 26

37 indexes Pomocí této funkce lze získat informace o indexech tabulky, jejíž název je předán funkci jako parametr. view Získá SQL příkaz SELECT, pomocí kterého byl vytvořený pohled. collations Vrátí pole se způsobem porovnávání, které na daném serveru jsou k dispozici. information_schema Informuje, zda-li databázový server podporuje klasické information_schema. error Vrací escapovanou informaci o poslední chybě na serveru. exact_value Definuje výraz pro binární porovnání. create_database Vytvoří databázi s názvem a kolekcí, které vstupují do funkce jako parametry. drop_databases Smaže databáze, které jsou předané funkci jako položky pole. rename_database Přejmenování databáze na nové jméno a změna způsobu porovnávání. Je potřeba před voláním této funkce mít definovanou konstantu DB, ve které bude současný název databáze. 27

38 auto_increment Vrací syntaxi příkazu pro generování unikátního klíče. Lze nastavit první číslo záznamu a to uložením této hodnoty do proměnné $_POST["Auto_increment". alter_table Tato funkce umožňuje tři operace: vytvoření tabulky, přejmenování tabulky a změnu tabulky a jejich sloupců. Vše je závislé na vstupních parametrech: $table(string), $name(string), $fields(array), $foreign(array), $comment(string), $engine(string), $collation(string), $auto_increment(int), $partitioning(string). Příklad použití: $col = array( " TEST_NAME ", " varchar(5) ", " NOT NULL ", "", "", "", "" ); alter_table("", "tabulka", array(array("", $col, "")), array(), "", "", "", "", ""); Takto vytvoří tabulku s názvem tabulka a sloupcem TEST_NAME. alter_indexes Může vytvořit nebo odstranit index. Záleží na vstupních parametrech. alter_indexes("numbers", array(array("index", "(EN)"))); - takto vytvoří index v tabulce NUMBERS nad sloupcem EN. alter_indexes("numbers", array(array("index", $name, DROP))); - takto tento index smaže. begin 28

39 Definuje začátek transakce. insert_into Definuje syntaxi SQL příkazu pro vložení záznamu do tabulky. insert_update Vloží nebo upraví záznamy v tabulce. last_id Získá poslední ID, které bylo určeno jako auto_increment (generovaný unikátní klíč). explain Zobrazí informaci, jak server provede příkaz SELECT. foreign_keys Vrátí pole s informace o cizích klíčích, které se nachází v dané tabulce. truncate_tables Vrátí syntaxi SQL příkazu na vyprázdnění tabulky od záznamů. drop_view Smaže všechny pohledy, které jsou uvedené ve vstupním poli. drop_tables Smaže všechny tabulky, které jsou uvedené ve vstupním poli. move_tables Přesune tabulky a pohledy do jiného schématu nebo databáze. 29

40 trigger Získá informace o triggeru ze systémových objektů. V MySQL je kód pouze SHOW TRIGGERS LIKE název_tabulky. Server MSSQL nemá konstrukci SHOW a tedy je potřeba tyto informace získat ze systémových objektů a tím pádem se SQL příkaz změní na: SELECT sys1.name, CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event], CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing] FROM sysobjects sys1 JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id WHERE sys1.xtype = 'TR' AND sys2.name = název_tabulky triggers Získá informace o všech triggerech, které souvisí a tabulkou. trigger_options Zobrazí možnosti triggerů, které umožňuje server timing a type. schemas Získá jména všech schémat. set_schema Informuje o možnosti nastavení schématu. get_schema Získá aktuální schéma pro aktuální databázi. 30

41 use_sql Definuje syntaxi SQL příkazu pro změnu databáze. show_variables Ukáže proměnné serveru, MSSQL nemá naimplementované. show_status Ukáže proměnné stavu serveru, MSSQL nemá naimplementované. support Lze zjistit, jaké části jsou na serveru naimplementované. 31

42 Další rozdílné kontrukce jsou uvedené v tabulce (Tab. 5). Tab. 5 Další funkce SQL MySQL MSSQL Logged_user Select user() Select suser_name() Get_databases Show databases Exec sp_databases Tables_list Show full tables Select table_name, table_type from information_schema.tables Count_table Show tables in databáze Select count(*) from information_schema.tables Collation Show collation Select name from fn_helpcollations() 32

43 5 Instalace Pro instalaci Admineru s SQL Server 2008 na hostitelském PC je potřeba mít nainstalováno následující software, bez tohoto nelze spustit serverovou část: Microsoft Windows Vista/7 Microsoft Visual Studio 2008 Microsoft. NET Framework 3.5 Windows PowerShell 1.0 (v případě Windows Vista) Microsoft SQL Server 2008 PHP IIS7/Apache SQL Server Driver for PHP 1.1 Minimální konfigurace počítače je závislá pouze na požadavcích jednotlivého softwaru. Největší důraz je kladen na SQL Server Pro využívání programu Adminer pouze pro vzdálenou správu stačí použít jakýkoliv webový prohlížeč. 5.1 Konfigurace SQL Server 2008 V nastavení SQL Serveru 2008 je nutné nastavit mixed mode, který dovolí se přihlásit pomocí SQL autentifikace. Původní konfigurace povoluje přístup pouze pomocí přihlašovacích údajů systému Windows. 33

44 5.2 SQLSRV K instalaci ovladače SQLSRV verze 1.1, který zprostředkuje komunikaci mezi vlastní PHP aplikací a MSSQL, je zapotřebí stáhnout soubor EXE 11, který je potřeba rozbalit do adresáře rozšíření PHP (např. C:\php\ext). Ten je nastaven v souboru php.ini. Do něj je potřeba přidat, který dll soubor použijeme viz přiložená dokumentace. Ověření funkčnosti se provádí spuštěním funkce phpinfo(). 5.3 Uživatelská práva V současné době není implementované rozhraní pro správu práv, proto je potřeba nastavit práva vlastníka databáze pomocí MS Management Studia. V SQL Server 2008 máme tři základní skupiny práv administrátor, vlastník databáze a běžný uživatel. Pokud provedeme operaci, na kterou nemáme oprávnění, pak nám SQL Server 2008 vypíše chybovou hlášku. 10 SQLSRV Download SQLSRV - 34

45 6 Testování Testování samotného PHP kódu ovladače MSSQL pro program Adminer je psáno za pomocí PHPUnit testů. PHPUnit je framework pro vytváření Unit testů pro jazyk PHP. Princip testování pomocí Unit testů spočívá ve spouštění sad testů, které by měly prověřit všechny aspekty testovaných částí kódu. Takových testů je nutno napsat celou řadu a měly by zkoušet především to, povedlo-li se objekt vytvořit a provádí-li správně požadované operace. 6.1 Způsob testování Při spuštění testu s projde adresář s ovladači a načte si všechny. Poté postupně spouští testy vytváří instanci objektu drivertesting. Nastavení testovací databáze se dá projít v souboru settesting.php. Otestují se jednotlivé funkce tříd Min_DB a Min_result. Některé jsou na sobě závislé, a proto je nejde testovat všechny samostatně. Dále jsou testované obecné funkce jazyka SQL, které jsou totožné jak pro ovladač SQLSRV, tak i pro další spojené se serverem MSSQL. Aby tyto funkce byly správně otestované, je potřeba si pro testy vytvořit vlastní databázi na serveru MSSQL a do ní vložit testovací data. 6.2 Instalace Instalace se provádí pomocí instalačního nástroje pro PEAR v PHP, který představuje distribuční systém balíčků pro PHP od verze Pro instalaci PHPUnit testů verze 3.6 je potřeba mít PHP alespoň ve verzi , nejlépe ve verzi a vyšší. Do PEAR je potřeba přidat nové kanály za pomocí následujících příkazů: pear channel-discover pear.phpunit.de pear channel-discover components.ez.no 35

46 pear channel-discover pear.symfony-project.com Nyní je možné spustit samostatnou instalaci, při které se využijí přidané kanály: pear install phpunit/phpunit Po úspěšném provedení by měli být nainstalované soubory v adresáři PEAR (např.: /usr/lib/php/phpunit nebo C:\xampp\php). 6.3 Spuštění testu Abychom mohli testy spustit, je potřeba provést následující operace. Pod operačním systémem unixového typu stačí pouze spustit program phpunit následovně: phpunit UnitTest MujTest.php Kde MujTest.php jsou naše testy. Program phpunit umožňuje mnohem více věcí: phpunit --help PHPUnit by Sebastian Bergmann. Usage: phpunit [switches] UnitTest [UnitTest.php] phpunit [switches] <directory> --log-junit <file> --log-tap <file> --log-dbus --log-json <file> Log test execution in JUnit XML format to file. Log test execution in TAP format to file. Log test execution to DBUS. Log test execution in JSON format. --coverage-html <dir> Generate code coverage report in HTML format. --coverage-clover <file> Write code coverage data in Clover XML format. --testdox-html <file> --testdox-text <file> Write agile documentation in HTML format to file. Write agile documentation in Text format to file. 36

47 --filter <pattern> Filter which tests to run. --group... Only runs tests from the specified group(s). --exclude-group... Exclude tests from the specified group(s). --list-groups List available test groups. --loader <loader> --repeat <times> TestSuiteLoader implementation to use. Runs the test(s) repeatedly. --tap --testdox Report test execution progress in TAP format. Report test execution progress in TestDox format. --colors Use colors in output. --stderr Write to STDERR instead of STDOUT. --stop-on-error Stop execution upon first error. --stop-on-failure Stop execution upon first error or failure. --stop-on-skipped Stop execution upon first skipped test. --stop-on-incomplete Stop execution upon first incomplete test. --strict Mark a test as incomplete if no assertions are made. --verbose Output more verbose information. --wait Waits for a keystroke after each test. --skeleton-class --skeleton-test Generate Unit class for UnitTest in UnitTest.php. Generate UnitTest class for Unit in Unit.php. --process-isolation --no-globals-backup --static-backup --syntax-check Run each test in a separate PHP process. Do not backup and restore $GLOBALS for each test. Backup and restore static attributes for each test. Try to check source files for syntax errors. --bootstrap <file> A "bootstrap" PHP file that is run before the tests. --configuration <file> Read configuration from XML file. --no-configuration Ignore default configuration file (phpunit.xml). 37

48 --include-path <path(s)> Prepend PHP's include_path with given path(s). -d key[=value] Sets a php.ini value. --help --version Prints this usage information. Prints the version and exits. V operačním systému Windows je postup odlišný. V adresáři s testy se vytvoří následující soubor RunTest.bat, který obsahuje následující příkaz: c:\php\phpunit.bat./ Soubor RunTest.bat spustíme v příkazové řádce. Spustí všechny testy, které jsou končí v názvu na Test.php (např. MujTest.php). 38

49 7 Závěr V této práci jsem se zabýval správou MSSQL databáze přes webové rozhraní pomocí programu Adminer. Ten byl původně psaný pro databázový server MySQL a nebyl připraven pro použití s více databázemi. Cílem bylo, aby uživatel programu Adminer mohl používat stejný program se stejným uživatelským rozhraním jak pro databázi MySQL, tak pro MSSQL. Většina toho se povedla, vyjímky tvoří správa uživatelských účtů a sledování statistik serverů. Tyto věci jsou primárně podle společnosti Microsoft v databázi MSSQL určeny k úpravě přes grafické uživatelské rozhraní, ale ne přes SQL příkazy. Práce na projektu se skládala původně ze tří částí: přepsání nízkoúrovňových metod pro komunikaci s databází, vyčlenění funkcí specifických pro jednotlivé databázové systémy z hlavního jádra aplikace a implementace těchto funkcí. První a třetí část byla splněna i přes zdržení, které bylo způsobeno kvůli nedostatečné dokumentaci k nové verzi ovladače SQLSRV. Druhá část nebyla po konzultaci s Ing. Martinem Klímovou, Ph.D. implementována, jelikož její vyhotovení by vyžadovalo zásadní změny původního kódu, což by bylo v rozporu se zadáním bakalářské práce. Nyní s programem Adminer můžeme provádět základní operace nad databází MSSQL jako je práce s databází, s tabulkou, změnou dat, triggery, indexy, cizími klíči, zobrazování a editaci záznamů a psaní vlastního SQL dotazu. Testování je prováděno pomocí frameworku PHPUnit. Ke konci vývoje byl využit protokol Git pro správu verzí. Aplikace se neustále vyvíjí a jsou přidávány další funkčnosti v závislosti na tom, jak se snaží firma Microsoft podporovat standardy SQL. Aplikace vznikla ve spolupráci s laboratoří Interoperability Lab pro společnost Microsoft a ve spolupráci s Mgr. Jakubem Vránou. Vizí do budoucna je správa práv a možnosti sledování statistik o SQL Serveru, které se opírají o možnosti či nemožnosti vlastností MSSQL. 39

50 40

51 8 Literatura [1] Hotek, Mike. Microsoft SQL Server 2008 Step by step. Microsoft Press, ISBN-10: [2] Brust, Andrew. Forte, Stephen. Mistrovství v programování SQL Serveru Computer Press, ISBN: [3] Lacko, Luboslav. Jak vyzrát na Microsoft SQL Server Computer Press, ISBN: [4] Lacko, Luboslav. SQL Hotová řešení. Computer Press, ISBN: [5] PHP [online]. [cit ]. < [6] MySQL [online]. [cit ]. < [7] Comparison of different SQL implementations [online]. [cit ]. <http://troels.arvin.dk/db/rdbms/>. [8] Alberton, Lorenzo. Extracting META information from SQL Server [online]. [cit ]. <http://www.alberton.info/sql_server_meta_info.html>. [9] SQLSRV API Reference [online]. [cit ]. <http://msdn.microsoft.com/en-us/library/cc296152(sql.90).aspx>. [10] Juřík, Kamil. Microsoft SQL Server 2008 licencování od A do Z [online]. [cit ]. <http://www.prosharepoint.cz/downloads/licensing/licencování%20sql%20serv eru% pdf>. [11] SQL Server 2008 [online]. [cit ]. <http://msdn.microsoft.com/enus/sqlserver/bb aspx>. 41

52 [12] Vrána, Jakub. Adminer [online]. [cit ]. <http://adminer.org>. [13] PHPUnit [online]. [cit ]. <http://www.phpunit.de/>. [14] Vrána, Jakub tipů a triků pro PHP. Computer Press, ISBN:

53 9 Přílohy 9.1 Ukázky z programu Adminer Obr. 6 Přihlášení do aplikace Adminer 43

54 Obr. 7 Výpis struktury tabulky 44

České vysoké učení technické v Praze. Fakulta elektrotechnická

České vysoké učení technické v Praze. Fakulta elektrotechnická České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Správa MSSQL databáze přes webové rozhraní pomocí programu Adminer Jakub Černohubý Vedoucí práce: Ing. Martin Klíma, Ph.D.

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

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL 4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená

Více

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports , Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 9. dubna 2014 Marek Rychlý Stored Procedures & Database Triggers, Demo-cvičení

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD 1. Příprava k instalaci SQL Serveru 2. Instalace SQL Serveru 3. Základní konfigurace SQL Serveru Vychází ze Sybase SQL Server Verze Rok Název Codename 7.0 1998

Více

Vladimír Mach. @vladimirmach 2. 1. 2013

Vladimír Mach. @vladimirmach 2. 1. 2013 Vladimír Mach @vladimirmach 2. 1. 2013 SQL Server Compact Edition Jednoduchá relační databáze Použití i v malých zařízeních s omezenými zdroji Dříve pod názvem SQL Server Mobile Časté využití při programování

Více

Instalace SQL 2008 R2 na Windows 7 (64bit)

Instalace SQL 2008 R2 na Windows 7 (64bit) Instalace SQL 2008 R2 na Windows 7 (64bit) Pokud máte ještě nainstalovaný MS SQL server Express 2005, odinstalujte jej, předtím nezapomeňte zálohovat databázi. Kromě Windows 7 je instalace určena také

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

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním

Více

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0 Implementace LMS MOODLE na Windows 2003 Server a IIS 6.0 Obsah 1 ÚVOD... 3 1.1 Instalace PHP... 3 1.1.1 Nastavení práv k adresáři PHP... 3 1.1.2 Úprava souboru php.ini... 4 1.1.3 Proměnné prostředí...

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

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

SQL - trigger, Databázové modelování

SQL - trigger, Databázové modelování 6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz

Více

4. lekce Přístup k databázi z vyššího programovacího jazyka

4. lekce Přístup k databázi z vyššího programovacího jazyka 4. lekce Přístup k databázi z vyššího programovacího jazyka Studijní cíl Tento blok popisuje základní principy přístupu k databázi z vyššího programovacího jazyka. Doba nutná k nastudování 2-3 hodiny Průvodce

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.02 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 02 WAMP - prostředí pro běh dynamických stránek ve Windows DUM je pro žáky průvodcem instalací běhového prostředí

Více

Měřící systém se vzdáleným přístupem. Databáze

Měřící systém se vzdáleným přístupem. Databáze ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA MĚŘENÍ Měřící systém se vzdáleným přístupem Databáze Jiří Javůrek 2003/2005 0. Obsah 0. Obsah...1 1. Požadavky...2 2. Struktura databáze...2

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

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

Více

[Zadejte název společnosti.] Instalace. SOFTWARE 5P pro správu bytového fondu 2010. Oldřich Florian

[Zadejte název společnosti.] Instalace. SOFTWARE 5P pro správu bytového fondu 2010. Oldřich Florian [Zadejte název společnosti.] Instalace SOFTWARE 5P pro správu bytového fondu 2010 Oldřich Florian 2010 Instalace Stránka 1 z 11 Obsah Instalace Runtime Access 2010... 2 Instalace klienta (programu)...

Více

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován. Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen

Více

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec) MySQL přes MySQL Command Line Client Zobrazení existujících databází mysql> SHOW DATABASES; Database test Vytvoření databáze mysql> CREATE DATABASE krouzek; Query OK, 1 row affected (0.00 sec) mysql> SHOW

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

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření

Více

Instrukce pro vzdálené připojení do učebny 39d

Instrukce pro vzdálené připojení do učebny 39d Instrukce pro vzdálené připojení do učebny 39d Každá skupina má k dispozici jedno sdílené připojení, prostřednictvím kterého se může vzdáleně připojit do učebny 39d a pracovat na svých semestrálních projektech

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

1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS:

1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS: 1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS: Ověřte prosím následující nastavení (tento postup se může nepatrně lišit podle operačního systému Vašeho pc). Pro lepší viditelnost

Více

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi 2010. Oldřich Florian

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi 2010. Oldřich Florian SOFTWARE 5P Instalace SOFTWARE 5P pro advokátní praxi 2010 Oldřich Florian 2010 Instalace Stránka 1 z 16 Obsah Instalace Runtime Access 2010... 2 Instalace klienta (programu)... 3 Instalace databáze...

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

APS 400 nadministrator

APS 400 nadministrator APS 400 APS 400 nadministrator Balík programů pro správu systému APS 400 Instalační příručka 2004 2008,TECH FASS s.r.o., Plavecká 503, 252 42 Jesenice, www.techfass.cz, techfass@techfass.cz (vydáno dne

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

Více

APS Administrator.OP

APS Administrator.OP APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,

Více

Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32

Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32 Informační systém ISOP 7-13 Vypracováno pro CzechInvest Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32 vypracovala společnost ASD Software, s.r.o. Dokument ze dne 20.2.2015, verze 1.00 Konfigurace

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled Windows 2008 R2 - úvod Jan Žák Operační systémy Windows Stručný přehled Klientské OS Windows 95, 98, ME Windows NT Windows 2000 Windows XP Windows Vista Windows 7 Windows CE, Windows Mobile Windows Phone

Více

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA Obsah Cyclope Print Management Software- uživatelská příručka... 1 1. Přehled produktu... 2 2. Stručný popis produtku CPMS... 2 2.1. Stažení CPMS...

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

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

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

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML 10 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Export a import dat Formát XML a SQL server Zálohování a obnova

Více

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

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

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ 17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru

Více

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS 1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS Pro přístup do administrace služby GTS Bezpečný Internet používejte zákaznický WebCare GTS Czech, který je přístupny přes webové

Více

ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA

ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA Vážený zákazníku, máte k dispozici médium, s jehož pomocí můžete na svém systému zprovoznit funkce čipové karty ProID+. Pro správnou funkčnost

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí, 9. Sítě MS Windows MS Windows existoval ve 2 vývojových větvích 9x a NT, tyto později byly sloučeny. V současnosti existují aktuální verze Windows XP a Windows 2003 Server. (Očekává se vydání Windows Vista)

Více

Zabezpečení proti SQL injection

Zabezpečení proti SQL injection Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz

Více

Administrace služby - GTS Network Storage

Administrace služby - GTS Network Storage 1. Návod k ovládání programu Cisco VPN Client (IP SECový tunel pro přístup GTS Network Storage) Program Cisco VPN client lze bezplatně stáhnout z webových stránek GTS pod odkazem: Software ke stažení http://www.gts.cz/cs/zakaznicka-podpora/technicka-podpora/gtspremium-net-vpn-client/software-ke-stazeni.shtml

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři CeMaS, Marek Ištvánek, 22.2.2015 SenseLab z / from CeMaS Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři Open Sensor Monitoring, Device Control, Recording and Playback

Více

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Bakalářská práce 2014 Autor: Adam Schreier Garant práce: Jan Růžička Obsah prezentace 1.Seznámení s řešeným problémem

Více

AIDA64 Extreme. Příručka k nastavení. v 1.1 30. 07. 2014.

AIDA64 Extreme. Příručka k nastavení. v 1.1 30. 07. 2014. Příručka k nastavení v 1.1 30. 07. 2014. je vyvíjen společností FinalWire s.r.o. Copyright 1995-2014 FinalWire s.r.o. Tento dokument byl vytvořen společností ABSEIRA s.r.o. Všechna práva vyhrazena. Copyright

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

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6 APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,

Více

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL 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áze Základní seznámení s MySQL

Více

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického počítače...2 Výběr aplikace na virtualizaci počítače...2

Více

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years SQL v14 4D Developer konference Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL SQL v14 porovnání Definice dat - struktury Manipulace s daty Definice dat Vytvoření

Více

Fingerprint Verification Control

Fingerprint Verification Control Pantek Productivity Pack Fingerprint Verification Control Verze 1.1 10. října 2001 Obsah ÚVOD... 3 Charakteristika produktu... 3 Systémové požadavky... 3 Instalace... 4 Licencování... 4 POPIS ROZHRANÍ...

Více

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

VirtualBox desktopová virtualizace. Zdeněk Merta

VirtualBox desktopová virtualizace. Zdeněk Merta VirtualBox desktopová virtualizace Zdeněk Merta 15.3.2009 VirtualBox dektopová virtualizace Stránka 2 ze 14 VirtualBox Multiplatformní virtualizační nástroj. Částečně založen na virtualizačním nástroji

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

eliška 3.04 Průvodce instalací (verze pro Windows 7) w w w. n e s s. c o m

eliška 3.04 Průvodce instalací (verze pro Windows 7) w w w. n e s s. c o m eliška 3.04 Průvodce instalací (verze pro Windows 7) Příprava Při instalaci elišky doporučujeme nemít spuštěné žádné další programy. Pro instalaci elišky je třeba mít administrátorská práva na daném počítači.

Více

plussystem Příručka k instalaci systému

plussystem Příručka k instalaci systému plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015

Více

MySQL manuál. Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/

MySQL manuál. Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/ MySQL manuál Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/ 1. ÚVOD - MySQL je relační databázový systém skládající se z jedné nebo více databází - databáze je tvořena

Více

MAXScript výukový kurz

MAXScript výukový kurz MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...

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

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

Instalace a první spuštění Programu Job Abacus Pro

Instalace a první spuštění Programu Job Abacus Pro Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových

Více

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5); Programovací jazyk PHP 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 Třídy a objekty Výjimky Webové aplikace

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName 8 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Jazyk Transact-SQL, syntaxe, proměnné, struktury,

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Návrh uživatelských rozhraní NOV-WEB. Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka

Návrh uživatelských rozhraní NOV-WEB. Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka Návrh uživatelských rozhraní D3 NOV-WEB Web pro stránky předmětů Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka Prototyp - Prototyp je vytvořen formou webové stránky. Výchozí stránka prototypu

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím)

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Object 12 3 Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Obor: Mechanik Elektronik Ročník: 4. Zpracoval(a): Bc. Martin Fojtík Střední

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

BRICSCAD V15. Licencování

BRICSCAD V15. Licencování BRICSCAD V15 Licencování Protea spol. s r.o. Makovského 1339/16 236 00 Praha 6 - Řepy tel.: 235 316 232, 235 316 237 fax: 235 316 038 e-mail: obchod@protea.cz web: www.protea.cz Copyright Protea spol.

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Univerzální rezervační systém. Uživatelská příručka

Univerzální rezervační systém. Uživatelská příručka Univerzální rezervační systém Uživatelská příručka Obsah I. Instalace... 3 II. První spuštění aplikace... 4 III. Hlavní okno aplikace... 5 IV. Nastavení aplikace... 6 1. Přidání místností... 6 2. Uživatelské

Více

Platební systém XPAY [www.xpay.cz]

Platební systém XPAY [www.xpay.cz] Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uložené procedury Úvod ulehčit správu zabezpečení rychleji Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen

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

Jak nainstalovat SQL Server 2005 Express Edition

Jak nainstalovat SQL Server 2005 Express Edition 1 z 13 9.3.2006 9:39 Jak nainstalovat SQL Server 2005 Express Edition Popis problému Instalace SQL Serveru 2005 Express Edition (dříve MSDE) Popis řešení 1. Systémové požadavky pro SQL Server 2005 Express

Více

4x standardní vstupy

4x standardní vstupy Uvedení do provozu Toto DVR je speciálně vyrobeno pro USB rozhraní, USB3104 převádí videosignál pomocí USB do počítače. Má vkusný černý design a malou velikost, umožňuje jednoduché připojení k počítači.

Více

POŽADAVKY NA INSTALACI

POŽADAVKY NA INSTALACI DATAPOINT POŽADAVKY NA INSTALACI Verze 1.0 Status: Rozpracováno Konica Minolta BCZ Jana Babáčková OBSAH OBSAH... 2 1. ÚVOD... 2 2. Hardwarové požadavky, operační systém... 3 3. SharePoint... 6 4. servisní

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