Přístup k databázi z webové aplikace v PHP. Martin Klíma
|
|
- Zuzana Veselá
- před 9 lety
- Počet zobrazení:
Transkript
1 Přístup k databázi z webové aplikace v PHP Martin Klíma
2 DATABÁZE ÚVOD
3 Relační databáze - pojmy Databázový systém program pro práci a správu DB Databáze souhrn datových struktur obsahující data Tabulky databáze se skládá z tabulek, tabulka má sloupce a řádky Sloupec popis vlastnosti objektu Řádek, záznam konkrétní data uložená v tabulce Primární klíč množina sloupců, které jednoznačně identifikují záznam Relace vztah mezi objekty v databázi
4 Databáze - relace Relace 1:1 ID_Objednavky Mnozstvi Produkt 1 10 Okurky 2 15 Papriky ID_Transakce ID_Objednavky Datum Relace 1:N ID_Objednavky Mnozstvi Produkt ID_Zakaz nika 1 10 Okurky Papriky 102 ID_Zakaznika Jmeno 102 Novák 103 Omáčka
5 Databáze - relace Relace M:N ID_reky Jmeno 1 Labe 2 Vltava ID_Zeme Nazev 102 CR 103 Nemecko Převod na 1:N ID_reky Jmeno 1 Labe 2 Vltava ID_reky ID_Zeme ID_Zeme Nazev 102 CR 103 Nemecko
6 Manipulace s databází Jazyk SQL (Structured Query Language) DDL = Data Definition Language DML = Data Manipulation Language DDL Create Alter Drop DML Select INSERT Update Delete
7 Příklad použití databáze Databáze zboží Kategorie zboží Kategorie může mít N podkategorií Kazdá podkategorie patří do jedné kategorie (strom) Každé zboží může patřit do více kategorií
8 DB - příklad zbozi ID Jmeno Cena 1 Jablka č Jablka z. 38 kategorie ID Nazev Nadkategorie 1 Ovoce null 2 Zelenina null 3 Okurky 103 zbozi_kategorie 4 Potraviny null ID IDZbozi IDKategorie
9 MYSQL
10 MySQL Velice úspěšný RDBMS systém Open source Poskytovaný skoro všude Vlastnosti několik různých engine rychlé i pomalé transakční i netransakční podpora různých kódování uložené procedury kninovny, PHP podpora od vzniku PHP
11 Databázové enginy MyISAM InnoDB MERGE MEMORY EXAMPLE FEDERATED ARCHIVE NDB Zjistit aktuálně instalované enginy můžeme takto: SHOW ENGINES\G
12 MyISAM Engine Velmi rychlý Není transakční (proto je také rychlý) Nepodporuje ref. integritu Syntakticky ano, fakticky ne Každá tabulka je v samostatném souboru soubor se jmenuje podle jména tabulky
13 Innodb engine - přehled vlastností Plně transakční zpracování ACID kompatibilní = commit, rollback, zotavení Zamykání záznamů (po řádcích) Podporuje cizí klíče (FOREIGN KEY) Je součástí základní distribuce Rychlý engine, ale ne tak rychlý jako MyISAM GNU GPL License Version 2
14 Innodb vlastnosti Tabulky jsou uloženy ve společném souboru (souborech) a to včetně indexů Tabulky mohou být uloženy ve více souborech i na více různých discích Tabulky mohou být uloženy i separátně, každá v jednom souboru pozor, chová se to jinak než MyISAM nelze jen tak kopírovat
15 Připojení k MySQL Pomocí klienta PHP Pomocí řádkového klienta v adresáři bin/mysql Pomocí klienta třetí strany mysql h localhost u xklima p xklima Host, default je localhost jméno uživatele budu zadávat heslo interaktivně jméno databáze, kterou otevírám
16 PHP A DATABÁZE
17 PHP a DB PHP má nativní podporu pro většinu existujících DB MySQL v první řadě Čtyři způsoby, jak může DB podporovat 1. Nativní podpora pomocí dynamické knihovny např. mysql.dll, mysqli.dll 2. Nativní podpora v jádře PHP je nutné zkompilovat 3. Pomocí ODBC je nutné mít podporu ODBC 4. Pomocí abstraktní vrstvy, např. PDO
18 Naše DB CREATE TABLE `zbozi` ( `ID` int(11) NOT NULL auto_increment, `Nazev` varchar(100) NOT NULL, `Popis` text, `ObrazekURL` varchar(50) default NULL, `Cena` double NOT NULL default '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; GRANT ALL PRIVILEGES ON x36www.* TO x36www_user@localhost IDENTIFIED BY "x36heslo"; FLUSH PRIVILEGES; set names utf8; insert into `zbozi` (`ID`,`Nazev`,`Popis`,`ObrazekURL`,`Cena`) values (1,'Myš','Počítačová myš','mys.jpg',100), (2,'HDD 500','Harddisk s kapacitou 500GB','hdd1.jpg',1200), (3,'HDD 750','Harddisk s kapacitou 750 GB','hdd2.jpg',1400), (4,'Monitor 1','Monitor s rozlišením 1024x768','monitor1.jpg',1000);
19 Nutné kroky při práci s DB 1. Připojení k databázovému stroji URL databáze ověření uživatele 2. Výběr databáze body 1 a 2 lze sloučit 3. Sestavení a poslání dotazu 4. Čtení resultsetu (pokud ho daný dotaz vrací) 5. Uvolnění resultsetu 6. Uzavření spojení Pozor!!! Každá operace může skončit chybou, musím na to správně reagovat
20 Implementace define ("DB_HOST", "localhost"); define ("DB_NAME", "x36www"); define ("DB_USER", "x36www_user"); define ("DB_PASSWD", "x36heslo"); // pokusim se pripojit k DB stroji $link = mysqli_connect(db_host, DB_USER, DB_PASSWD); if (!$link) { echo "Nepodařilo se spojit s DB.<br>"; echo mysqli_connect_error(); exit(); // pokusim se vybrat si spravnou databazi $success = mysqli_select_db($link, DB_NAME); if (!$success) { echo "Nepodařilo se přepnout na správnou databázi"; exit();
21 Implementace // sestavim si dotaz $sql = "SELECT * FROM zbozi WHERE zbozi.cena <=100 ORDER BY zbozi.cena, zbozi.nazev"; // provedu dotaz $result = mysqli_query($link, $sql); if ($result) { // iteruj vysledek a vypis ho na obrazovku while ($row = mysqli_fetch_assoc($result)) { echo "\n<div>"; echo htmlspecialchars($row['nazev']); echo ": "; echo $row['cena']; echo "</div>"; // uvoni resultset mysqli_free_result($result); // uzavri spojeni s db mysqli_close($link);
22 Co vrací mysqli_query Pro dotazy SELECT, SHOW, DESCRIBE a EXPLAIN vrací mysqli_query() výsledek (objekt s tabulkou dat), který musí být zpracován dalšími funkcemi. Pro UPDATE, INSERT, DELETE, DROP a další dotazy pro manipulaci s DB vrací mysqli_query() hodnotu typu boolean.
23 Zpracování výsledku z mysqli_query Mnoho funkcí na zpracování $result mysqli_fetch_array Fetch a result row as an associative, a numeric array, or both mysqli_fetch_assoc Fetch a result row as an associative array mysqli_fetch_field_direct Fetch meta-data for a single field mysqli_fetch_field Returns the next field in the result set mysqli_fetch_fields Returns an array of objects representing the fields in a result set mysqli_fetch_lengths Returns the lengths of the columns of the current row in the result set mysqli_fetch_object Returns the current row of a result set as an object mysqli_fetch_row Get a result row as an enumerated array
24 SQL injection Často sestavujeme dotaz z parametrů zadaných uživatelem. Musíme počítat s tím, že uživatel nemusí zadat "pěkná" data. Uživatel může zničit sql dotaz. Uživatel může pozměnit dotaz tak, že vrátí jiný výsledek.
25 SQL Injection zkuste url: sql_injection.php?max=aaa // sestavim sql dotaz z $_GET parametru // predpokladam, ze uzivatel ve formulari zadal max cenu zbozi // parametr max // spatne sestaveny sql dotaz $sql_spatne = "SELECT * FROM zbozi WHERE Cena <= ".$_GET['max']." ORDER BY Nazev"; $cena_max = intval($_get['max']); $sql_spravne = "SELECT * FROM zbozi WHERE Cena <= ".$cena_max." ORDER BY Nazev"; echo htmlspecialchars("spatne: ".$sql_spatne); echo "<br/>"; echo htmlspecialchars("spravne: ".$sql_spravne); echo "<br/>";
26 SQL Injection zkuste URL: sql_injection.php?search=dd'%20or%20true%20or%20nazev%20like% 20'% // predpokladam, ze uzivatel zadal vyhledavaci retezec nazvu // param search // rekneme, ze v systemu jsou dve role: 1: admin, 2: obyc uzivatel $sql_spatne2 = "SELECT * FROM zbozi WHERE Priv = 2 AND Nazev like '%".$_GET['search']."'"; $search = mysql_real_escape_string($_get['search']); $sql_spravne2 = "SELECT * FROM zbozi WHERE Priv = 2 AND Nazev like '%".$search."'"; echo htmlspecialchars("spatne 2: ".$sql_spatne2); echo "<br/>"; echo htmlspecialchars("spravne 2: ".$sql_spravne2);
27 Veškeré skripty musí být ošetřeny na SQL Injection..je to zápočtová podmínka
28 PDO
29 Co to jepdo PDO je rozšíření PHP modulu o databázovou vrstvu Abstraktní přístup k DB Implementace pro nejběžnější DB (mysql, oracle, pg, ) Podpora transakcí Objektový přístup
30 <?php $user = "x36www_user"; $pass = "x36heslo"; try { $dbh = new PDO('mysql:host=localhost;dbname=x36www', $user, $pass, array( PDO::ATTR_PERSISTENT => true )); $dbh->begintransaction(); $dbh->exec("insert into zbozi (Nazev, Popis, ObrazekURL, Cena) values ('Podložka', 'Podložka pod myš', 'podlozka.jpg', '46')"); $dbh->commit(); catch (Exception $e) { $dbh->rollback(); echo "Failed: ". $e->getmessage();?>
31 PREPARED STATEMENTS
32 Zpracování dotazu databází Typické fáze zpracování Cache lookup Parse Check access rights. Optimize Execute Query Cache Náročná fáze, znovupoužitelý výsledek PreparedStatement provádí optimalizaci jednou, dále posílá data do fáze execute
33 $dbh->begintransaction(); $stmt = $dbh->prepare("insert INTO zbozi (Nazev, Popis, ObrazekURL, Cena) VALUES (:nazev, :popis, :url, :cena)"); $stmt->bindparam(':nazev', $nazev); $stmt->bindparam(':popis', $popis); $stmt->bindparam(':url', $url); $stmt->bindparam(':cena', $cena); // vloz jeden zaznam $nazev = 'DVD mechanika'; $popis = 'DVD vypalovačka'; $url = 'dvdobrazek.jpg'; $cena = '350'; $stmt->execute(); // vloz dalsi zaznam $nazev = 'DVD mechanika 2'; $popis = 'DVD vypalovačka 2'; $url = 'dvdobrazek2.jpg'; $cena = 190; $stmt->execute(); $dbh->commit();
34 $dbh->begintransaction(); $stmt = $dbh->prepare("insert INTO zbozi (Nazev, Popis, ObrazekURL, Cena) VALUES (?,?,?,?)"); $stmt->bindparam(1, $nazev); $stmt->bindparam(2, $popis); $stmt->bindparam(3, $url); $stmt->bindparam(4, $cena); // vloz jeden zaznam $nazev = 'DVD mechanika'; $popis = 'DVD vypalovačka'; $url = 'dvdobrazek.jpg'; $cena = '350'; $stmt->execute(); $dbh->commit();
35 Doctrine ORM
36
37 Cíl mapování objektového modelu a ER Objekový model Relační model
38 Ukázka navázání spojení bootstrap require_once('../doctrine/branches/1.2/lib/doctrine.php'); spl_autoload_register(array('doctrine', 'autoload')); $dsn = 'mysql:dbname=testdb;host= '; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password); $conn = Doctrine_Manager::connection($dbh); Lazy verze // At this point no actual connection to the database is created $conn = Doctrine_Manager::connection('mysql://username:password@localhost/test'); // The first time the connection is needed, it is instantiated // This query triggers the connection to be created $conn->execute('show TABLES');
39 Ukázka použití $conn->export->createtable('test', array('name' => array('type' => 'string'))); $conn->execute('insert INTO test (name) VALUES (?)', array('martin')); $stmt = $conn->prepare('select * FROM test'); $stmt->execute(); $results = $stmt->fetchall(); print_r($results); Výsledek Array ( [0] => Array ( [name] => Martin [0] => Martin ) )
40 Definice dat Model // models/book.php class Book extends Doctrine_Record { public function settabledefinition() { $this->hascolumn('booktitle as title', 'string'); Použití // test.php //... $book = new Book(); $book->title = 'Some book'; $book->save();
41 Relační závislosti Forum_Board 1 N Forum_Thread Model Forum_Board // models/forum_boadr.php class Forum_Board extends Doctrine_Record { public function settabledefinition() { $this->hascolumn('name', 'string', 100); $this->hascolumn('description', 'string', 5000); public function setup() { $this->hasmany('forum_thread as Threads', array( 'local' => 'id', 'foreign' => 'board_id' ) ); Model Forum_Thread // models/forum_thread.php class Forum_Thread extends Doctrine_Record { public function settabledefinition() { $this->hascolumn('user_id', 'integer'); $this->hascolumn('board_id', 'integer'); $this->hascolumn('title', 'string', 200); $this->hascolumn('updated', 'integer', 10); $this->hascolumn('closed', 'integer', 1); public function setup() { $this->hasone('forum_board as Board', array( 'local' => 'board_id', 'foreign' => 'id' ) ); $this->hasone('user', array( 'local' => 'user_id', 'foreign' => 'id' ) ); User definován jinde
42 Ukázka použítí $board = new Forum_Board(); $board->name = 'Some board'; $board->threads[0]->title = 'new thread 1'; $board->threads[1]->title = 'new thread 2'; $user = new User(); $user->username = 'jwage'; $board->threads[0]->user = $user; $board->threads[1]->user = $user; $board->save();
43 Práce s modelem // test.php $user = new User(); $user['username'] = 'jwage'; $user['password'] = 'changeme'; $ = $user-> ; $ = $user->get(' '); $ = $user[' ']; Ekvivalentní Ekvivalentní $user->save();
44 Dotazování a další operace // select pres primarni klic $user = Doctrine_Core::getTable('User')->find(1); echo $user-> ['address']; echo $user->phonenumbers[0]->phonenumber; // query $q = Doctrine_Query::create() ->from('user u') ->leftjoin('u. e') ->leftjoin('u.phonenumbers p') ->where('u.id =?', 1); $user = $q->fetchone(); echo $user-> ['address']; echo $user->phonenumbers[0]['phonenumber']; // test.php // update $user-> ['address'] = 'koskenkorva@drinkmore.info'; $user->phonenumbers[0]['phonenumber'] = '123123'; $user->save(); // smazani $user-> ->delete();
45 DB A OBJEKTOVÉ PROG. VZORY
46 Abstrakce Aplikační logika DB abstraktní vrstva MySQL PosgreSQL Oracle Sybase...
47 Vzor Factory Abstraktní vrstva DBLayer connect($param) query($sql) Implementace X Implements Implementace Y PGDBLayer connect($param) query($sql) MYSQLDBLayer connect($param) query($sql) kuk kosik_objektovy1.5.php
48 Vzor Factory Používá se tehdy, když chceme získat instanci nějakého objektu, ale nechceme se starat o to, jak tento objekt vytvořit Příklad: chceme přistupovat k databázi databází je ale mnoho různých druhů (mysql, oracle, ) všechny db implementují stejné rozhraní
49 Vzor Factory Impl 1/2 interface DBLayer { public function connect($param); public function query($sql); class MySQLDBLayer implements DBLayer { public function connect($params) { // mysql_connect(...) public function query($sql) { // mysql_query(...) class PGDBLayer implements DBLayer { public function connect($params) { //pg_connect(...) public function query($sql) { // pg_query(...)
50 Vzor Factory Impl 2/2 // vzor factory = tovarna na objekty class DBFactory { // zde to prijde! // vim, ze vratim rozhrani typu DBLayer public static function getdblayer($type){ switch ($type) { case "MySQL": return new MySQLDBLayer(); break; case "PG": return new PGDBLayer(); break; default: return new MySQLDBLayer(); Poznámka: často se setkáme s implementací factory bez parametru. Ten je potom zjištěn v těle metody například z nějakého konfirugračního souboru. Rozhodnutí o použíté DB udělá uživatel při instalaci systému.
51 Jen jedno připojení k databázi Vzor Singleton pro připojení k DB Připojení je obecně drahá záležitost Nepřipojuji se tehdy, když uz spojením mám
52 // jedina trida, ktera umi vsechno s DB class DB { private static $instance = null; private $db_link = null; private $result = null; private function construct() { public static function getinstance() { if (self::$instance == null) { self::$instance = new DB(); self::$instance->connect(); return self::$instance; public function connect() { if ($this->db_link == null) { $link = mysqli_connect(db_host, DB_USER, DB_PASSWD, DB_NAME); if (!$link) { throw new DBException(mysqli_errno($link)); mysqli_select_db($link,db_name); $this->db_link = $link; return $this->db_link;
53 // pokračování public function query($sql) { $this->connect(); $this->result = mysqli_query($this->db_link,$sql); if (mysqli) if (!$this->result) { throw new DBException(mysqli_error($this->db_link), $sql); return $this->result;
54 Martin Klíma DĚKUJI ZA POZORNOST
Tvorba webu 1. Přístup k databázi Martin Klíma. Tvorba Webu 1 1
Tvorba webu 1 Přístup k databázi Martin Klíma 1 DATABÁZE ÚVOD 2 Relační databáze - pojmy Databázový systém program pro práci a správu DB Databáze souhrn datových struktur obsahující data Tabulky databáze
X36WWW. Přístup k databázi Martin Klíma. Tvorba Webu 2 1
X36WWW Přístup k databázi Martin Klíma 1 DATABÁZE ÚVOD 2 Relační databáze - pojmy Databázový systém program pro práci a správu DB Databáze souhrn datových struktur obsahující data Tabulky databáze se skládá
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é
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
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á
2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE
2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy
George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce
Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální
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
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
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
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í
Databázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
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é
Ú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
Jazyk SQL databáze SQLite. připravil ing. petr polách
Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty
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
Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
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
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
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
Příklady a návody. Databázová vrstva
Příklady a návody Databázová vrstva Konceptuální datový model Popis dat.struktur pomocí entit, atributů, vazeb a integritních omezení ER-model nebo OO-diagramy (class diagram) ER model zdůrazňuje vztahy
Univerzita Pardubice. Centrální správa dokumentů
Univerzita Pardubice Fakulta ekonomicko-správní Centrální správa dokumentů Martina Bendová Bakalářská práce 2010 Prohlášení autora Prohlašuji: Tuto práci jsem vypracovala samostatně. Veškeré literární
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
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í
Semináˇr Java X JDBC Semináˇr Java X p.1/25
Seminář Java X JDBC Seminář Java X p.1/25 Úvod JDBC API poskytuje základní rozhraní pro unifikovaný přístup k databázím Programátor je odstíněn od specifického API databáze Jednotné rozhraní JDBC pro všechny
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
SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)
SQL strukturovaný dotazovací jazyk Structured Query Language (SQL) SQL - historie 1974-75 - IBM - 1.prototyp - SEQUEL od 1979 - do praxe - ORACLE (1979) IBM - SQL/DS (1981), DB/2 (1983) postupně přijímán
Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz
Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných
4IT218 Databáze. 4IT218 Databáze
4IT218 Databáze Pátá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Pátá přednáška SQL - DDL - dokončení SQL - DCL Vlastnosti relačních databázových systémů. Princip
Databázové systémy a SQL
Databázové systémy a SQL Daniel Klimeš Autor, Název akce 1 About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2,
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
Databázové systémy úvod
Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/
Sada 1 - PHP. 14. Úvod do jazyka SQL
S třední škola stavební Jihlava Sada 1 - PHP 14. Úvod do jazyka SQL Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a
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í
J z a yk y PH P P P p o p k o r k.
Jazyk PHP pokr. Martin Klíma OOP & PHP 5 V PHP 5 konečně značné rozšíření OOP Blíží se to moderním programovacím jazykům jako Java nebo C# Výhody OOP Zapouzdření (nové modifikátory public, protected, private)
8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
Databázové a informační systémy
Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které
MySQL sežere vaše data
MySQL sežere vaše data David Karban @davidkarban AWS Certified http://davidkarban.cz/ It s not a bug, it s a feature syndrome Pravděpodobně znáte indexy. Urychlují dotazy. Mohou být řazené, vzestupně i
MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');
MySQLi (objektově) Rozšíření PHP MySQL - základní rozšíření umožňující práci s MySQL. Doporučuje se ho používat pouze do verze MySQL 4.1.3. I když je funkční i u novějších verzí, neumožňuje využití nových
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
Michal Krátký, Miroslav Beneš
Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah
2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.
2 přednáška 2 října 2012 10:32 Souborově orientované uchování dat Slabý HW Není možné uchovávat "velká data" - maximálně řádově jednotky MB Na každou úlohu samostatná aplikace, která má samostatná data
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í
Tabulka fotbalové ligy
Semestrální práce na X36DB2 Michal Rezler Jan Zmátlík Tabulka fotbalové ligy a tabulka střelců 8. prosinec 2011 Obsah 1 Zadání....................................................... 3 1.1 Stručný popis.............................................
Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))
Vzorové příklady SQL Tabulka: Kniha CREATE TABLE kniha název VARCHAR(50, PRIMARY KEY (id Tabulka: Autoři CREATE TABLE autoři jméno VARCHAR(10, příjmení VARCHAR(20, titul VARCHAR(7, prostřední VARCHAR(10,
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:
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
Optimalizace dotazů a databázové transakce v Oracle
Optimalizace dotazů a databázové transakce v Oracle Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 22. dubna 2015 Marek Rychlý
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
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
Nasazení Object Relation Mapping nástrojů nad legacy datovým modelem
Nasazení Object Relation Mapping nástrojů nad legacy datovým modelem 1 Ondřej Berger, Pavel Janečka, 2 Lukáš Černovský 1 Univerzita Hradec Králové Fakulta informatiky a managementu KIKM Hradecká 1249/6,
OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013
OBJECT DEFINITION LANGUAGE Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 ODL a OQL ODL Objektové Object Definition Language popis objektového schéma SQL DDL Relační Data Definition Language příkazy CREATE,
Marian Kamenický. Syntea software group a.s. marian.kamenicky. kamenicky@syntea.cz. MFFUK Praha 2012/13
Datové a procesní modely Relační databáze Přednáška 5 Marian Kamenický Syntea software group a.s. marian.kamenicky kamenicky@syntea.cz MFFUK Praha 2012/13 1 Poddotazy OsoReg Jm Poh St Pepa m CZ Franz m
X36 WWW Šablony Martin Klíma xklima@fel.cvut.cz Čtryřvrstvá architektura Server Klient Prezentační logika Aplikační Logika Databáze 2 Výhody Jednotlivé vrstvy jsou nezávislé Lze je samostatně spravovat
PG 9.5 novinky ve vývoji aplikací
PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu
KIV/ZIS cvičení 6. Tomáš Potužák
KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP
Databáze I. Přednáška 7
Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují
Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza
Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické
Bezpečnost a bezpečné programování
Bezpečnost a bezpečné programování 9. Databáze a bezpečnost Ing. Tomáš Zahradnický, EUR ING, Ph.D. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava
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
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é
Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP
Databázové systémy, MS Access Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP Název školy: Číslo a název projektu: Číslo a název šablony klíčové aktivity:
16. února 2015, Brno Připravil: David Procházka
16. února 2015, Brno Připravil: David Procházka Skrývání implementace Základy objektového návrhu Připomenutí návrhu použitelných tříd Strana 2 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura
SQL. relační databázový systém. v 5.0.45. 2007 úvodní kurz jazyka SQL -----------------------------------------------------------
2007 úvodní kurz jazyka SQL ----------------------------------------------------------- SQL relační databázový systém v 5.0.45 (c) 2007 Ing. Jan Steringa Úvodní kurz jazyka SQL. Tento studijní materiál
Konceptuální modelování a SQL
Konceptuální modelování a SQL přednáška č.? 1/90 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2/90 Proč modelovat/analyzovat? Standardizované pracovní
6. SQL složitější dotazy, QBE
6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření
DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný
DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.
RELAČNÍ DATABÁZOVÉ SYSTÉMY
RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení
Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013
Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013 1. Nástroje programu MS Word a) vysvětlete pojmy šablona, styl (druhy stylů) význam a užití, b) vysvětlete pojem oddíl (druhy oddílů),
Databázové systémy I
2015 Databázové systémy I PROJEKT 2 ČÁST MIROSLAV POKORNÝ Stránka 0 z 21 Zadání Implementujte datový model vytvořený v první části projektu do relační databáze a vytvořte pohledy a uloženou proceduru dle
Object-relational mapping (JPA, Hibernate)
Vysoká škola báňská - technická univerzita Ostrava 17. března 2010 Obsah 1 2 3 4 namapovat chování objektového světa do relačních struktur a naopak, tak aby spolu mohli jednoduše komunikovat většina moderních
Plánování a vývoj základního frameworku
Shrnutí KAPITOLA 2 Plánování a vývoj základního frameworku Nyní, když máme jasno v tom, co nás v této knize čeká a proč, můžeme začít s vývojem našeho sociálního webu. Abychom zajistili rychlý postup vývoje,
public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());
Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového
KIV/ZIS cvičení 5. Tomáš Potužák
KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí
Databázové systémy I. 1. přednáška
Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50
Jazyk SQL 3 - DML, DDL, TCL, DCL
Jazyk SQL 3 - DML, DDL, TCL, DCL Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře
PostgreSQL Vzniká jako akademický projekt Experimentální vlastnosti Podpora dědičnosti Rozšiřitelnost vlastní datové typy Univerzální nasazení ve vědecké sféře Obsahuje podporu polí (časové řady) Geotypy
RMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.
Základy programování 4 - C# 7. cvičení Radek Janoštík Univerzita Palackého v Olomouci 26.3.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.2017 1 / 14 Reakce na úkoly
Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15
Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle
Uložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
Úvod do databází. Modelování v řízení. Ing. Petr Kalčev
Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost
Administrace Oracle Práva a role, audit. Kukhar Maria 29.10.2012
Administrace Oracle Práva a role, audit Kukhar Maria 29.10.2012 Ve výchozím nastavení, uživatel Oracle nemůže nic dělat, ani připojit se k databázi. Aby uživatele měli přistup k DB, je třeba vytvořit uživatelské
SQL injection princip a ochrana
SQL injection princip a ochrana Základ injektáže Základní ochrana Proces zpracování SQL dotazu Prepared statements Minimalizace dopadu průniku nastavením práv Detekce průniku Kladení pastí 1 Cíle SQL injektáže
Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName
8 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Jazyk Transact-SQL, syntaxe, proměnné, struktury,
DUM 12 téma: Příkazy pro tvorbu databáze
DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací
Čipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
http://skola.ajina.eu/admin/report/unittest/dbtest.php
Stránka č. 1 z 5 Jste přihlášeni jako Rostislav Mikulecký (Odhlásit se) Čeština (cs) e-škola Ajina.eu Titulní stránka Správa stránek Vývoj Testy funkčnosti databáze Zapnout úpravu bloků Navigace Titulní
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
Zápisování dat do databáze
Zápisování dat do databáze Informační a znalostní systémy 1 2 záznamů Pro vkládání záznamů do tabulky- příkaz INSERT INSERT INTO tabulka VALUES ( výčet hodnot záznamu ) záznamů Pro vkládání záznamů do
Základy informatiky. 08 Databázové systémy. Daniela Szturcová
Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,
PHP a Large Objecty v PostgreSQL
PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších
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
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz
1. Relační databázový model
1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky
Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti
Práce s databází Specifikace JDBC Pro práci s relačními databázemi poskytuje Java rozhraní JDBC Java Database Connectivity. Specifikace tohoto rozhraní má několik verzí. Verze 1.x je součástí SDK již od
Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D.
Databáze 2011/2012 T-SQL - kurzry, funkce RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva T-SQL kurzry T-SQL funkce Cvičení Kurzr Datvá struktura umžňující pracvat s výsledkem dtazu Smyslem kurzru