:20 1/13 Techniky T-SQL
|
|
- Štěpán Marek
- před 8 lety
- Počet zobrazení:
Transkript
1 :20 1/13 Techniky T-SQL Techniky T-SQL Transact-SQL (T-SQL) je proprietární rozšíření pro SQL od společností Microsoft a Sybase. Microsoft tento jazyk pužívá ve svých produktech Microsoft SQL Server. T-SQL poskytuje širokou škálu funkcionality pro programáory nebo databázové administrátory. Transact SQL umožňuje řízení SQL dotazů, podmíněné zpracování konstrukcemi IF, ELSE, CASE, nebo WHILE, využití zabudovaných funkcí MSSQL serveru, nebo také sekvenční zpracování pomocí kurzorů. Velká síla T-SQL je v uložených procedurách díky nimž mohou programátoři definovat dávky SQL a znovuvyužívat kód, definovat triggery, nebo například řešit část aplikační logiky už na databázovém serveru. Administrátoři moho pomocí systémových uložených procedur administrovat server, sytémové procedury totiž umožňují pomocí T-SQL nastavovat velkou škálu parametrů SQL serveru, vytvářet databáze, zálohovat, nastavovat práva atd Podmíněné zpracování T-SQL umožňuje vracet hodnoty dotazu na základě dalšího zpracování a logického vyhodnocení výrazů. Můžeme vykonat blok příkazů pokud je splněna podmínka, nebo vykonat úplně jiný kód pokud podmínka splněna není. Na základě získaný hodnot můžeme tyto hodnoty dále zpacovávat nebo úplně měnit či transformovat. IF, ELSE Struktura IF, ELSE umožňuje vyhodnotit logický výraz a dle jeho výsledku vykonat dotaz. IF Boolean_expression { sql_statement statement_block } [ ELSE { sql_statement statement_block } ] INT = 250 > 100 SELECT TOP 100 * FROM TABLE ELSE SELECT * FROM TABLE
2 Last update: :16 programming:mssql:t-sql CASE Funkce CASE umožňuje vracet hodnotu na základě vyhodnocení jednoho, nebo více výrazů. CASE input_expression WHEN when_expression THEN result_expression [...n ] [ ELSE else_result_expression ] Příklad SELECT firstname, surname, CASE gender WHEN 'male' THEN 'M' WHEN 'female' THEN 'F' ELSE 'UNKNOWN' age, birthdate FROM peoples Řízení toku T-SQL umožňuje zpracovávat bloky příkazů opakovaně, pohybovat se v nich, nebo je s nějakou podmínkou okamžitě opouštět. Pomocí cyklu WHILE můžeme vykonávat blok příkazů dokud není splněná námi definovaná podmínka, pomocí příkazu GOTO se můžeme dle uvážení pohybovat v bloku příkazů nebo bloky opouštet pomocí pžíkazu RETURN RETURN RETURN umožňuje okamžitě opustit aktuální dotaz, dávku, nebo proceduru a vrátit se do nadřazeného bloku s návratovou hodnotou. RETURN [ integer_expression ] SELECT firstname,surname FROM anytable IF (@@ROWCOUNT = ) RETURN UPDATE... Printed on :20
3 :20 3/13 Techniky T-SQL... WHILE Umožňuje v cyklu vykonávat příkaz nebo dávku příkazů. WHILE Boolean_expression { sql_statement statement_block BREAK CONTINUE } INT FROM anytable WHERE columna>10) BREAK UPDATE anytable SET columna=(columna+1) GOTO Umožňuje provádět skoky v dávkách SQL. GOTO label... UPDATE anytable SET columna=1 = GOTO endblock UPDATE anytable SET columnb= endblock: RETURN
4 Last update: :16 programming:mssql:t-sql Kurzory Kurzory umožňují sekvenčně zpracovávat řádky dotazu. Někdy je zapotřebí zpracovávat řádky jeden po druhém a ne celou sadu a právě k tomu kurzory slouží. Nicméně pokud to není nezbytně zapotřebí je lépe použít jiné konstrukce. Kurzory mohou totiž způsobit při svém běhu některé problémy, jedním z nich je velká paměťová náročnost, kurzory mohou způsobit i vyčerpání veškeré dostupné paměti, další problém nám může způsobit zamykání prostředků, ale asi největším jejich nedostatkem je rychlost, MSSQL server je založen na práci se sadami řádků a ne se sekvenčním zpracováním, proto je práce se sadami vždy rychlejší. Někdy však vaše aplikace použití kurzorů vyžaduje a vy jejich funkcionalitu velmi oceníte. Kurzor se definuje SQL dotazem, který vrací sadu řádků. Řádky se pak z něj dají brát postupně po jednom, nebo po blocích a to v obou směrech podle definice kurzoru. Když skončíte práci s kurzorem je nutné ho explicitně uzavřít a dealokovat, aby jste uvolnili veškeré prostředky, které kurzor alokoval. Pokud tak neučiníte kurzor zůstane v paměti a bude jí blokovat. Problém může také nastat pokud by jste alokovali dva stejně pojmenované kurzory (i když nejsou ve stejném bloku!), je lépe tomu předcházet a v každé proceduře pojmenovávat kurzor dle jeho funkce jiným názvem. Životní cyklus kurzoru deklarace kurzoru otevření kurzoru práce s řádky uzavření kurzoru dealokace kurzoru Deklarace kurzoru už při deklaraci kurzoru definujeme jak s ním budeme pracovat a také se kterými daty, při jeho deklaraci určujeme SQL dotazem se kterými daty budem pracovat a dodatečným deklaracemi můžeme určit jestli budem kurzor otevírat pouze pro čtení, jestli se budem pohybovat pouze dopředu nebo i zpět, nebo třeba viditelnost kurzoru DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY UPDATE [ OF column_name [,...n ] ] } ] [;] Transact-SQL Extended Syntax DECLARE cursor_name CURSOR [ LOCAL GLOBAL ] [ FORWARD_ONLY SCROLL ] [ STATIC KEYSET DYNAMIC FAST_FORWARD ] [ READ_ONLY SCROLL_LOCKS OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [,...n ] ] ] [;] Printed on :20
5 :20 5/13 Techniky T-SQL DECLARE cursorabc CURSOR FOR SELECT columna,columnb,columnc FROM anytable Otevření kurzoru příkazem OPEN kurzor naplníme OPEN { { [ GLOBAL ] cursor_name } cursor_variable_name } OPEN cursorabc Práce s řádky pracovat s řádky můžeme pomocí příkazu FETCH kterým načítáme do proměnných hodnoty z jednotlivých řádků, výsledek volání fetch je uložen v (0 úspěch, -1 neúspěch, -2 chybějící řádek) FETCH [ [ NEXT PRIOR FIRST LAST ABSOLUTE { } RELATIVE { } ] FROM ] { { [ GLOBAL ] cursor_name } [ [,...n ] ] FETCH NEXT FROM cursorabc Zavření a dealokace kurzoru příkazem CLOSE uvolníme paměť, kterou alokoval kurzor pro načtení rádků
6 Last update: :16 programming:mssql:t-sql příkazem DEALOCATE uvolníme veškeré prostředky, které kurzor alokoval CLOSE { { [ GLOBAL ] cursor_name } cursor_variable_name } DEALLOCATE { { [ GLOBAL ] cursor_name } CLOSE cursorabc DEALLOCATE cursorabc Komplexní příklad: -- deklarace proměnných INT VARCHAR(10) DECIMAL(10,2) -- deklarace kurzoru DECLARE cursorabc CURSOR FORWARD_ONLY FOR SELECT columna,columnb,columnc FROM anytable -- otevření kurzoru OPEN cursorabc -- načte řádek do kurzoru FETCH NEXT FROM cursorabc -- cyklus pro zpracování všech řádek = -- zde můžeme zpracovávat řádky -- načte další řádek FETCH NEXT FROM cursorabc -- uzavření kurzoru CLOSE cursorabc -- dealokace kurzoru DEALLOCATE cursorabc Uložené procedury Uložené procedura je seskupení příkazů T-SQL do jediného objektu uloženého na SQL serveru. Když se Printed on :20
7 :20 7/13 Techniky T-SQL procedura vykonává poprvé po nastartovaní instance SQL serveru, uloží se do cache plán optimálního přístupu k datům, server pak tento plán využívá při každém dalším spuštění, čímž může urychlit vykonání dotazu. To je jedna a ne jediná z výhod uložených procedur. Další výhodou je znovupoužitelnost kódu, namísto aby jste všude kde je potřeba definovali jednoúčelový blok příkazů je lepší využít uloženou proceduru. Pokud by se tento kód měl vykonávat v nějaké z vašich aplikací jejich výhody se znásobí. Pokud by se třeba změnilo uložení dat v tabulkách, musíte vaši aplikaci popřípadě více aplikací na všech místech přepsat a v horším případě i překompilovat, ale pokud používáte uloženou proceduru, stačí ji změnit a pro aplikace se v podstatě nic nestalo. Použití procedur je také z pohledu db administrátora bezpečnější než přímý přístup do tabulek. Vytvoření uložené procedury CREATE { PROC PROCEDURE } [schema_name.] procedure_name [ ; NUMBER ] [ [ type_schema_name. ] data_type } [ VARYING ] [ = DEFAULT ] [ OUT OUTPUT ] [READONLY] ] [,...n ] [ WITH <procedure_option> [,...n ] ] [ FOR REPLICATION ] AS { <sql_statement> [;][...n ] <method_specifier> } [;] <procedure_option> ::= [ ENCRYPTION ] [ RECOMPILE ] [ EXECUTE AS Clause ] <sql_statement> ::= { [ ] statements [ ] } <method_specifier> ::= EXTERNAL NAME assembly_name.class_name.method_name CREATE PROCEDURE INT,@other INT,@sometext VARCHAR(100) AS IF ISNULL(@pid,)= RETURN EXEC IF ISNULL(@other,)<> INT
8 Last update: :16 programming:mssql:t-sql FROM anytable WHERE AND UPDATE sometable SET WHERE Úprava a odstranění uložené procedury -- úprava procedury ALTER { PROC PROCEDURE } [schema_name.] procedure_name [ ; NUMBER ]... same AS CREATE -- odstranění procedury DROP { PROC PROCEDURE } { [ schema_name. ] PROCEDURE } [,...n ] Zašifrování uložené procedury někdy je potřeba proceduru zabezpečit, aby nikdo nemohl neoprávněně získat její definici, zejména pokud řešíme část aplikační logiky uloženými procedurami. po zašifrování uložené procedury už si nelze prohlídnout její obsah! CREATE PROCEDURE [dbo].[myprocedure] WITH ENCRYPTION AS... Uživatelsky definované funkce uživatelsky definované funkce mají stejně jako uložené procedury mnoho výhod - ukládání do cache, znovupoužití kódu atd narozdíl od procedur však můžeme funkce použít i tam kde procedury ne (například v klauzuli SELECT) Typy uživatelsky definovaných funkcí Skalární uživatelsky definované funkce Přímé tabulkové uživatelsky definované funkce Vícepříkazové uživatelsky definované funkce Skalární uživatelsky definované funkce mohou přebírat nula nebo více argumentů vrací jedinou hodnotu Printed on :20
9 :20 9/13 Techniky T-SQL CREATE FUNCTION [ schema_name. ] function_name ( [ [ AS ][ type_schema_name. ] parameter_data_type [ = DEFAULT ] [ READONLY ] } [,...n ] ] ) RETURNS return_data_type [ WITH <function_option> [,...n ] ] [ AS ] function_body RETURN scalar_expression [ ; ] CREATE FUNCTION dbo.udf_dayofweek(@dtdate DATETIME) RETURNS VARCHAR(10) AS VARCHAR(10) = CASE DATEPART(weekday,@dtDate) WHEN 1 THEN 'Monday' WHEN 2 THEN 'Tuesday' WHEN 3 THEN 'Wednesday' WHEN 4 THEN 'Thursday' WHEN 5 THEN 'Friday' WHEN 6 THEN 'Saturday' WHEN 7 THEN 'Sunday' RETURN (@rtdayofweek) GO -- použití funkce SELECT udf_dayofweek(getdate()) Přímé tabulkové uživatelsky definované funkce mohou přebírat nula nebo více argumentů vrací data na základě jediného příkazu SELECT odkazuje se na ně z klauzule FROM
10 Last update: :16 programming:mssql:t-sql CREATE FUNCTION [ schema_name. ] function_name ( [ [ AS ] [ type_schema_name. ] parameter_data_type [ = DEFAULT ] [ READONLY ] } [,...n ] ] ) RETURNS TABLE [ WITH <function_option> [,...n ] ] [ AS ] RETURN [ ( ] select_stmt [ ) ] [ ; ] CREATE FUNCTION dbo.getbycity(@city VARCHAR(100)) RETURNS TABLE AS RETURN ( SELECT * FROM peoples WHERE city=@city ( GO -- použití funkce SELECT * FROM GetByCity('Prague') Vícepříkazové uživatelsky definované funkce narozdíl od přímých tabulkových funkcí, které jsou omezeny na jediný příkaz select, mohou vícepříkazové funkce vrátit výsledek definovaný pomocí více príkazů T-SQL CREATE FUNCTION [ schema_name. ] function_name ( [ [ AS ] [ type_schema_name. ] parameter_data_type [ = DEFAULT ] [READONLY] } [,...n ] ] ) TABLE <table_type_definition> [ WITH <function_option> [,...n ] ] [ AS ] function_body Printed on :20
11 :20 11/13 Techniky T-SQL [ ; ] RETURN Odchytávání vyjímek pokud chceme v našich SQL příkazech nebo procedurách odchytávat vyjímka, dává nám k tomu T-SQL nástroj v podobě konstrukce TRY CATCH. Tato konstrukce je schopná zachytit vyjímky, které mohou nastat při vykonávání našeho kódu a vykonat nějakou reakci na vzniklou chybu. Například vygenerovat zprávu o chybě nebo anulovat transakci. Nastaneli v bloku TRY nějaká vyjímka, skončí SQL server v místě kde nastala a vykoná příkazy v bloku catch. Výhoda této konstrukce je, že se do sebe může libovolně vnořovat Konstrukce TRY nezachytí syntaktické chyby, nebo chybné názvy objektů Funkce poskytující informace o chybách ERROR_LINE - číslo řádky kde došlo k chybě ERROR_MESSAGE - chybová zpráva ERROR_NUMBER - číslo chyby ERROR_PROCEDURE - název procedury kde došlo k chybě ERROR_SEVERITY - závažnost chyby ERROR_STATE - stav chyby Konstrukce TRY...CATCH TRY { sql_statement statement_block } TRY CATCH [ { sql_statement statement_block } ] CATCH [ ; ] TRY INSERT anytable (columna,columnb,columnc) VALUES (1,2,3)
12 Last update: :16 programming:mssql:t-sql TRY CATCH print 'Chyba při vykonávání příkazu!' CATCH Vytváření vlastních vyjímek někdy potřebujeme na chyby reagovat vlastními vyjímkami, i na to má T-SQL nástroj, vlastní vyjímku můžeme přidat pomocí systémové procedury sp_addmessage a vyjímku vyvolávat příkazem RAISERROR sp_addmessage = ] msg_id, = ] severity, = ] 'msg' [, = ] 'language' ] [, = ] { 'TRUE' 'FALSE' } ] [, = ] 'replace' ] -- úprava vlastní vyjímky sp_altermessage = ] message_number, = ] 'write_to_log', = ] 'value' -- odstraněni vyjímky sp_dropmessage = ] message_number [, = ] 'language' ] EXEC sp_addmessage , 20, N'Došlo k mojí vyjímce!' Vyvolávání vlastních vyjímek vyvolat vlastní vyjímku můžeme pomocí RAISERROR RAISERROR ( { msg_id } {,severity,state } [,argument [,...n ] ] ) [ WITH OPTION [,...n ] ] Printed on :20
13 :20 13/13 Techniky T-SQL RAISERROR (123456, 20, 1, N'any.anytable' ) Zdroje Velká kniha T-SQL & SQL Server 2005, Joseph Sack, Zonerpress From: - wiki.borovicka.name Permanent link: Last update: :16
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,
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
Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D.
Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Motivace 2 Základy syntaxe 3 Procedury a Funkce 4 Kurzory 5 Výjimky Studijní
TVORBA DATABÁZOVÝCH APLIKACÍ. Studijní opory
Operační program Vzdělávání pro konkurenceschopnost PROJEKT Integrovaný systém modulární počítačové podpory výuky ekonomicko technického zaměření CZ.1.07/2.2.00/28.0300 TVORBA DATABÁZOVÝCH APLIKACÍ Studijní
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
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
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
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
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é
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
10. Architektura klient/server a třívrstvá architektura
10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře
10. Architektura klient/server a třívrstvá architektura
10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře
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í
Text úlohy. Systémový katalog (DICTIONARY):
Úloha 1 Částečně správně Bodů 050 / 100 Systémový katalog (DICTIONARY): a Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM b Všechny tabulky vlastní uživatel SYS c Se skládá z tablek a pohledů
Virtual private database. Antonín Steinhauser
Virtual private database Antonín Steinhauser Základní princip VPD Rozšíření bezpečnostní politiky Oracle o omezení na úrovni jednotlivých řádků a sloupců Pro uživatele, kterého se bezpečnostní politika
Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports
, Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 9. dubna 2014 Marek Rychlý Stored Procedures & Database Triggers, Demo-cvičení
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
Databázové systémy. Tomáš Skopal. * embedded SQL * externí aplikace. - Databázové aplikace
Databázové systémy Tomáš Skopal - Databázové aplikace * embedded SQL * externí aplikace Osnova přednášky vnitřní programovací konstrukce (Embedded SQL) uložené procedury kurzory triggery vnější programování
RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague
seminář: Administrace Oracle (NDBI013) LS2017/18 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague Rozšíření bezpečnostní
Z. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
Informační systémy 2008/2009. Radim Farana. Obsah. Bezpečnost uložených procedur
9 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, Systémové procedury a funkce Spouště (Trigger),
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í
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
Kód v databázi. RNDr. Ondřej Zýka
Kód v databázi RNDr. Ondřej Zýka 1 Obsah Jazyk Skripty Funkce Procedury Triggery Správa chyb Java, CLR, apod.. Dobré a špatné praktiky 2 PL/SQL Jazyk Oracle Inspirovaný jazykem ADA Objektový Samostatné
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
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í
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á
6 Příkazy řízení toku
6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní
XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky
XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených
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
Administrace Oracle. Práva a role, audit
Administrace Oracle Práva a role, audit Filip Řepka 2010 Práva (privileges) Objekty (tabulky, pohledy, procedury,...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma
Zápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
Databázové systémy. Dotazovací jazyk SQL - III
Databázové systémy Dotazovací jazyk SQL - III Vnořený select: kam všude Vytvoření kopie existující tabulky I Vytvoření kopie existující tabulky II Integritní omezení III SQL tříhodnotová logika SQL tříhodnotová
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
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
6. Příkazy a řídící struktury v Javě
6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return
Zabezpečení proti SQL injection
Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz
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
2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
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
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
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06
Audit DB Referát Vypracoval: Zdeněk Doležal zdenek.dolezal@gmail.com MFF UK Praha 11/5/06 Obsah 1.Audit databáze...3 Co to je audit db?...3 Kdy a jaký audit bychom měli použít?...3 Udržování informací
Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT
Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,
Ú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
Virtuální privátní databáze
Virtuální privátní databáze umožňuje nastavit zásady v podobě predikátu (klauzule WHERE) připojených ke všem dotazům, které uživatelé zadávají do DB zabezpeční se vztahuje na data, nikoliv na aplikaci
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
SQL - trigger, Databázové modelování
6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz
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ů,
DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY
Databázové a informační systémy 1/9 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013 Databázové a informační systémy 2/9 TABULKA ST U D E N T Pokud nebude
Stěhování aplikací. Michal Tomek, Sales Manager
Stěhování aplikací Michal Tomek, Sales Manager Agenda Co míníme stěhováním Typické situace Role InterSystems Příležitosti Migrace Stěhování informačního systému Nová budova. HW a OS Získáme nové vlastnosti
Virtual Private Database (VPD) Jaroslav Kotrč
Virtual Private Database (VPD) Jaroslav Kotrč Co je VPD Bezpečnostní politika pro přístup k databázi na úrovni řádků a sloupců. Bezpečnost přímo nad tabulkami. Není způsob, jak to obejít. SQL dotaz upraven
PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK
PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam
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
Popis souboru pro generování reportů *.report
Popis souboru pro generování reportů *.report [Main]... 1 Create... 1 Description... 1 Protect... 1 Nazev... 2 PopisX... 2 PopisY... 2 GRAFDATAOD... 2 GRAFDATADo... 2 GRAFOSAX... 2 TYP_GRAFU... 2 GRAF_VEDLEJSI_OSA...
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
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
Informační systémy 2008/2009. Radim Farana. Řešený příklad. Struktura navržené databáze
Pr Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Řešený příklad Vytvořte aplikaci pro sledování pracovních výkonů jednotlivých
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í
Funkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY
Databázové a informační systémy 1. Úvod, PL/SQL I 1/62 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Michal Krátký, Radim Bača Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013 Databázové a informační
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík
Transakce a zamykání Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Základní pojmy Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. Transakční
Jazyk PL/SQL Úvod, blok
Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových
Vladimír Mach. @vladimirmach 2. 1. 2013
Vladimír Mach @vladimirmach 2. 1. 2013 SQL Server Compact Edition Jednoduchá relační databáze Použití i v malých zařízeních s omezenými zdroji Dříve pod názvem SQL Server Mobile Časté využití při programování
Dotazovací jazyk SQL a PL/SQL. 8. Přednáška
Dotazovací jazyk SQL a PL/SQL 8. Přednáška Úvod do PL/SQL Proprietární rozšíření firmy Oracle Usazuje se i v ne-oracle RDBMS Procedurální rozšíření SQL Přidává základní programátorskou logiku a kontrolu
Struktura pamětí a procesů v DB Oracle. Radek Strnad
Struktura pamětí a procesů v DB Oracle Radek Strnad radek.strnad@gmail.com 1 Základní rozdělení paměti Software codes area Chráněná část spustitelného kódu samotné DB. System global area (SGA) Sdílená
Zabezpečení proti SQL injection
Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz
for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při
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é
Embedded SQL. Tomáš Skalický. Říjen 2010
Embedded SQL Tomáš Skalický Říjen 2010 Osnova Motivace Embedded SQL Syntaxe Příklady jednoduchých SQL příkazy Deklarace proměnných - hostitelské proměnné a indikátory Připojení k databázi Kurzory Zpracování
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í
Operační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
Mechanismus obarvení řádků browse
Mechanismus obarvení řádků browse Zpracoval: Roman Rajnoha U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 27.6.2008 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Tomáš Urych www.eso9.cz Dne: 25.6.2018
Databáze pro evidenci výrobků
Databáze pro evidenci výrobků Databáze ve formátu Microsoft Access je součástí systému, který řídí automatizovanou výrobní linku. Tabulka tblcharge obsahuje data o výrobcích a je plněna automaticky řídicím
Kapitola 4: SQL. Základní struktura
- 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice
Embedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská
Embedded SQL v C/C++ úvod Administrace Oracle Kateřina Opočenská Motivace potřeba začlenit komunikaci s databází do aplikace v nějakém vyšším programovacím jazyce řešení (na Oracle): a) OCI (Oracle Call
Databáze I. 5. přednáška. Helena Palovská
Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma
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é
Algoritmus. Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému.
ZAL 2. cvičení 2016 Algoritmus Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému. Algoritmus na vstupu přijímá instanci problému a na výstupu dává řešení zadané instance. U algoritmu
Soubor jako posloupnost bytů
Soubory Soubor je množina údajů uložená ve vnější paměti počítače, obvykle na disku Pro soubor jsou typické tyto operace. otevření souboru čtení údaje zápis údaje uzavření souboru Přístup k údajům (čtení
Databázové systémy I
Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnoř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:
Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2
Univerzita Pardubice Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2 Jan Bartocha 2012 / 2013 IT 1. Základní charakteristika Téma mé semestrální práce se zaměřuje na vypůjčování
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
Monitoring SQL Server, Resource Governor, Tracing SQL Server
Monitoring SQL Server, Resource Governor, Tracing SQL Server 1. Monitoring Monitoring cíl Zrychlení odezvy. Hledání úzkého hrdla. Identifikace často prováděných dotazů. Úprava dotazu, změna indexu, Sledování
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
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
Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.
Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu
ANOTACE vytvořených/inovovaných materiálů
ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a
řízení transakcí 2-3 hodiny
7. blok - část A Jazyk PL/SQL - zpracování chyb, řízení transakcí Studijní cíl Tento blok je věnován ošetření chyb a řízení transakcí v kódu PL/SQL. Doba nutná k nastudování 2-3 hodiny Průvodce studiem
InterSystems Caché Post-Relational Database
InterSystems Caché Post-Relational Database Martin Holoubek xholoub@fi.muni.cz Úvod InterSystems byla založena shodou okolností ve stejném roce jako její největší konkurent Oracle 1978 Caché je velmi vyspělý
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
Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;
Typy a proměnné zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text; Typy Hodnoty, kterých mohou nabývat vlastnosti prvků nejsou
VISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy