České vysoké učení technické v Praze. Fakulta elektrotechnická
|
|
- Božena Kučerová
- před 8 lety
- Počet zobrazení:
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á 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íceNá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íce1. 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íceInformač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íceStored 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íce1 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íceInnoDB 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íceObsah 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íceVladimí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íceKlíč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íceBc. 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íceFIREBIRD 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íceInstalace 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íceZá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íceB0M33BDT 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íceIW3 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íceImplementace 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íceInformač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íceHelpDesk. 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íceStř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íceKurz 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íceSQL - 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íce4. 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íce7. 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íce7. 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íceO2 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íceSemestrá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íceInstalace 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ícePouž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íceO 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íce5. 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íceInstalace 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íceHelpDesk. 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íceMySQL. 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íceInstalace. 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íceVyuž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íceObchodní 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íceDatabá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íceInformač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íceStř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íce1. 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íceAdministrace 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íceMěří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íceDatabá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íce1 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íceMaturitní 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íceDatabá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
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íceSemestrá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íceAPS 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íceSOFTWARE 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íceCYCLOPE 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íceFAKULTA 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ů
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íceAPS 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íce1. 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íceKAPITOLA 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íceRegistrač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íceSouč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 2010 Instalace Stránka 1 z 11 Obsah Instalace Runtime Access 2010... 2 Instalace klienta (programu)...
VíceInstrukce 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íceInstalace 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íceRezervač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íce17. č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íceZabezpeč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íceInovace 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íceUniverzita 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íceMaturitní 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íceDATABÁ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íceSQL 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íceOperá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íceDatabá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íceVstupní 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ícePL/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íceVerzová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íceJazyk 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ícePRŮ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íceDatabá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íceDatabá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íceUká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íceKonfigurace 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íceOpe 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íceDatabá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íceInovace 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íceINOVACE 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íceWORKWATCH 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íce9. 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íceSenseLab. 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ícePorovná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íceStř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íceAIDA64 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íceFides 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íceJak 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íceWindows 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íceZabezpeč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ícePOŽ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íceInstalace 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íceMATLABLINK - 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ícemonolitická 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íceVazba 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