Č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 ( 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 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() 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 SQLSRV driver

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

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

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 ]. < [8] Alberton, Lorenzo. Extracting META information from SQL Server [online]. [cit ]. < [9] SQLSRV API Reference [online]. [cit ]. < [10] Juřík, Kamil. Microsoft SQL Server 2008 licencování od A do Z [online]. [cit ]. < eru% pdf>. [11] SQL Server 2008 [online]. [cit ]. < 41

52 [12] Vrána, Jakub. Adminer [online]. [cit ]. < [13] PHPUnit [online]. [cit ]. < [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

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

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

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

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

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

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

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Anotace sady: Dynamické internetové stránky, VY_32_INOVACE_PRG_PHP_01 Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Stupeň a typ vzdělávání: gymnaziální vzdělávání, 4. ročník

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

FIREBIRD relační databázový systém. Tomáš Svoboda

FIREBIRD relační databázový systém. Tomáš Svoboda FIREBIRD relační databázový systém Tomáš Svoboda xsvobo13@fi.muni.cz Firebird historie 80. léta - Jim Starkey (DEC) InterBase 1994 - odkoupila firma Borland 2000 - Borland uvolnil zdrojové texty InterBase

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

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

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

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

Více

IW3 MS SQL SERVER 2014

IW3 MS SQL SERVER 2014 Instalace a konfigurace IW3 MS SQL SERVER 2014 Ing. Peter Solár, MCITP EA solar@pocitacoveskoleni.cz 1 OSNOVA 1. příprava instalace SQL serveru 2. instalace SQL serveru 3. základní konfigurace SQL serveru

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

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

HelpDesk. Co je HelpDesk? Komu je aplikace určena? Co vám přinese?

HelpDesk. Co je HelpDesk? Komu je aplikace určena? Co vám přinese? Aktivity Správce IT HelpDesk HelpDesk Co je HelpDesk? HelpDesk je uživatelsky vstřícná webová aplikace, která výrazně usnadňuje firemní komunikaci a plánování úkolů k řešení. Svou přehledností umožňuje

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

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

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

O2 Managed Backup & Restore Power

O2 Managed Backup & Restore Power O2 Managed Backup & Restore Power Příručka uživatele Verze: 1.0 Obsah 1. TSM Backup / Archive Client...2 1.1 Základní popis Menu...3 1.2 Backup...4 1.3 Restore...5 1.4 Archive, Retrieve...5 2. TSM Data

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

Instalace Microsoft SQL serveru 2012 Express

Instalace Microsoft SQL serveru 2012 Express Instalace Microsoft SQL serveru 2012 Express Podporované OS Windows: Windows 7, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Server 2012,

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

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

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

HelpDesk. Co je HelpDesk? Komu je aplikace určena? Co vám přinese?

HelpDesk. Co je HelpDesk? Komu je aplikace určena? Co vám přinese? HelpDesk Co je HelpDesk? HelpDesk je uživatelsky vstřícná webová aplikace, která výrazně usnadňuje firemní komunikaci a plánování úkolů k řešení. Svou přehledností umožňuje rychlou orientaci v přidělených

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

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

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

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

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

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

Více

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

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

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul... Obsah 1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW... 1 1.1 Databázový server... 1 1.2 Webový server... 1 1.3 Stanice pro servisní modul... 1 1.4 Uživatelské stanice... 1 1.5 Monitorované počítače...

Více

Administrace Oracle. Práva a role, audit

Administrace Oracle. Práva a role, audit Administrace Oracle Práva a role, audit Filip Řepka 2010 Práva (privileges) Objekty (tabulky, pohledy, procedury,...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma

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

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

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

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

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

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

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

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

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

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

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

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

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

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008 KAPITOLA 1 Představení platformy Microsoft SQL Server 2008 Krátký pohled do historie SQL Serveru Souhrnný přehled novinek, které přináší verze SQL Server 2008 Optimalizovaná instalace a konfigurace Vynucení

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

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

[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

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

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Tento návod popisuje možnost provozovat Docházku 3000 pod zdarma dostupným operačním

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

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

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

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

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Ví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

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

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

Operátory ROLLUP a CUBE

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

Více

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

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

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

Verzování a publikace dat na webu za pomoci PostgreSQL

Verzování a publikace dat na webu za pomoci PostgreSQL Prague PostgreSQL Developers' Day 2013 Verzování a publikace dat na webu za pomoci PostgreSQL Jan Pěček Kdo jsem? Jan Pěček Programátor PostgreSQL Jyxo, s.r.o. (Blog.cz) MAFRA, a.s. - Internet Trading

Více

Jazyk PL/SQL Úvod, blok

Jazyk PL/SQL Úvod, blok Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových

Ví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

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é 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

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

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

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

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

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

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

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

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

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

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

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

Fides Software Storage Administrator

Fides Software Storage Administrator Trade FIDES, a.s. Fides Software Storage Administrator 1.0.2.0 (aktualizace - 7/2014) Popis programu Manuál správce systému 2 Fides Software Storage Administrator manuál správce Obsah 1 Úvod... 3 1.1 Popis

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

Windows 2008 R2 - úvod. Lumír Návrat

Windows 2008 R2 - úvod. Lumír Návrat Windows 2008 R2 - úvod Lumír Návrat 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 8 Windows 8.1 Windows 10

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

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

Instalace a konfigurace

Instalace a konfigurace Instalace a konfigurace Seminář ELZA Ing. Jiří Kala, Ph.D. 28. listopadu 2016 Architektura 2 Schéma systému Klient (prohlížeč) HTTP(S) Webový server Aplikační server TCP/IP Databáze 3 Požadavky Klient

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

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional

Více

Vazba ESO9 na MS Outlook a MS Exchange

Vazba ESO9 na MS Outlook a MS Exchange Vazba ESO9 na MS Outlook a MS Exchange Zpracoval: Kočíbová Jana U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 24.6.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne:

Více