Kód v databázi. RNDr. Ondřej Zýka
|
|
- Alois Navrátil
- před 8 lety
- Počet zobrazení:
Transkript
1 Kód v databázi RNDr. Ondřej Zýka 1
2 Obsah Jazyk Skripty Funkce Procedury Triggery Správa chyb Java, CLR, apod.. Dobré a špatné praktiky 2
3 PL/SQL Jazyk Oracle Inspirovaný jazykem ADA Objektový Samostatné jednotky pro PL/SQL a SQL Typy vlastní jenom PL/SQL Transact SQL Microsoft, Sybase Rozšíření SQL 3
4 PL/SQL - příklad declare l_au_id author.au_id%type; l_fullname varchar2(300); begin l_au_id := '8915'; select L_NAME ',' F_NAME into l_fullname from author where AU_ID = l_au_id; DBMS_OUTPUT.PUT_LINE(l_fullname); end; / 4
5 PL/SQL - Příklad Deklarace před blokem Definice typu podle struktury databáze Středník za příkazy Oddělený select Výstup jako dataset neexistuje Použití textového výstupu / za příkazem 5
6 PL/SQL příklad DBMS_OUTPUT.PUT_LINE('výstup'); begin DBMS_OUTPUT.PUT_LINE('výstup'); end; / call DBMS_OUTPUT.PUT_LINE('výstup'); 6
7 Transact SQL - příklad int = 8915 = 8915 select L_NAME + ',' + F_NAME from author where au_id Deklarace kdekoliv Přísnější kontrola typů Výstup společně s kódem Středníky jsou nepovinné 7
8 Skripty Základní artefakty dodávek Problematické oblasti Dokumentovatelnost Posloupnost nahrávání Zjištění existence objektu Nastavení výstupu Proměnné Programovací jazyk skriptů & 8
9 Skripty Autor, verze, historie změn, popis Skript x Batch x Statement Opakovatelnost spuštění Strategie drop x create, alter Strategie create or replace Jak zapsat do databáze, že skript byl nahrán (v jaké verzi) 9
10 Práce s katalogem Informace o existenci objektů Oracle select * from USER_TABLES USER_TABLES ALL_TABLES DBA_TABLES Microsoft select * from dbo.sysobjects select * from INFORMATION_SCHEMA.TABLES 10
11 Opakovatelnost declare l_count int; begin select count(*) into l_count from USER_TAB_COLUMNS where TABLE_NAME = 'T_PROFILE' and COLUMN_NAME = 'PARK_ID'; if l_count = 0 then execute immediate 'alter table T_PROFILE add PARK_ID VARCHAR2(255)'; DBMS_OUTPUT.PUT_LINE('Column T_PROFILE.PARK_ID added.'); else DBMS_OUTPUT.PUT_LINE('The column T_PROFILE.PARK_ID exists.'); end if; / 11
12 Opakovatelnost if not exists (select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='author' and COLUMN_NAME='note' ) begin alter table author add note varchar(255) print 'Column note to table author added...' end else print 'Column note into table author exists...' 12
13 Skalární funkce Vrací jednu hodnotu Dataset funkce Funkce Vrací dataset (tabulku) Použití v select klauzuli Použití ve where klauzuli 13
14 Funkce Nezávislé na datech (deterministické) create function weekago return timestamp as begin return systimestamp - 7; end weekago; 14
15 Funkce Závislé na datech (nedeterministické) Velice náchylné k psaní neefektivního kódu create function avg_sale return NUMBER as ret_val number; begin select avg(sale_qty) into ret_val from (select sum(qty) as sale_qty from sales_detail group by store_id,ord_num) aux_table; return ret_val; end avg_sale; / select * from (select store_id,ord_num,sum(qty) as sale_qty from sales_detail group by store_id,ord_num) aux_table where sale_qty < avg_sale 15
16 Procedury Package x jmenné konvence Podpora ladění Debug parametr Ladící výpisy Design Logování průběhu nutno logovat i data Systémové procedury Vytváření objektů v procedurách 16
17 Parametry procedur Návratové hodnoty Parametry Error code Dataset Procedury Verze procedur v serveru Invalidní stav procedur Procedury psané v jiném jazyce (CRL, Java, ) 17
18 DML Triggery V okamžiku DML příkazu Použití Údržba denormalizovaných údajů Správa statistiky Počítané hodnoty Zabránění chybným transakcím Logování změn auditing, Vynucení složitých autorizačních schémat Vynucení referenční integrity Vynucení složitých business pravidel 18
19 DML Triggery Typy Befor After Statement Rows Instead of Problematické oblasti Zřetězení triggerů Přístup k datům Řízení transakcí 19
20 Pořadí Before statement Before row After row After statement Triggery Oracle Přístup k datům pouze row trigerrech create trigger triu_publisher after insert or update on publisher for each row begin DBMS_output.put_line('Stare jmeno: ' :OLD.NAME ',Nove jmeno: ' :NEW.NAME); end; 20
21 Transakce Triggery Oracle Rollback, commit nelze použít Jak zapsat počet updatovaných řádků? Možno více trigerrů stejného typu a definovat pořadí Mutating Triggers trigger chce použít data, která se měnila 21
22 Triggery Microsoft Pouze after trigger Vždy přístup k datům pomocí tabulek inserted, deleted CREATE TRIGGER triu_publisher ON publisher AFTER INSERT,UPDATE AS BEGIN select inserted.name, deleted.name from inserted left join deleted on inserted.pub_id = deleted.pub_id END 22
23 Triggery Microsoft Možnost řídit transakce v triggerech (rollback) Pouze after triggery Neexistuje problém Mutating Triggers Možnost zacyklení trigger se podruhé nevolá 23
24 Triggery na úrovni databáze Schopnost reagovat na události v databázi Přihlášení uživatele Vytvoření/úprava objektu Přidání práv Výskyt chyby Velmi rozdílné v jednotlivých verzích Využití spíše pro administraci než pro vývoj aplikací Neprogramujte existující funkcionalitu 24
25 Triggery Shrnutí Komplikovaná problematika s mnoha proprietárními specialitami Efektivní využití vyžaduje podrobnou znalost možností daného serveru a konkrétní verze Extrémně špatné možnosti ladění 25
26 Správa chyb Požadavek na celkovou architekturu řešení Kdo generuje jaké chyby, kdo na jaké chyby reaguje a jak které chyby až do GUI které chyby do logu které chyby jsou překryté funkcionalitou gui které chyby jsou překryté funkcionalitou aplikace Jednotný přístup ke správě chyb v sql i aplikaci 26
27 Možné výsledky chyby v serveru Chyby na úrovni Hardware Software Aplikace Kódu Výsledky chyby Kód je ukončen, transakce je ukončena Kód je ukončen, transakce pokračuje Kód pokračuje, transakce ukončena Kód pokračuje, transakce pokračuje 27
28 SQL server možné chyby při vkládání řádku Error Duplicate primary key. NOT NULL violation. Violation of CHECK or FOREIGN KEY constraint. Most conversion errors, for instance conversion of non-numeric string to a numeric value. Attempt to execute non-existing stored procedure. Missing or superfluous parameter to stored procedure to a procedure with parameters. Superfluous parameter to a parameterless stored procedure. Aborts Statement Statement Statement BATCH Statement Statement BATCH Exceeding the maximum nesting-level of stored procedures, triggers and functions. BATCH Being selected as a deadlock victim. Permission denied to table or stored procedure. ROLLBACK or COMMIT without any active transaction. Mismatch in number of columns in INSERT-EXEC. Declaration of an existing cursor Column mismatch between cursor declaration and FETCH statement. Running out of space for data file or transaction log. BATCH Statement Statement BATCH Statement Statement. BATCH 28
29 Java Možnosti psát procedury v java Možnost využívat funkcionality standardních java package Možnost ukládání java objektů v databázi Využití zejména pro práci s XML Nutnost konverze datových typů Neefektivní integrace s SQL enginem 29
30 CLR Common Language Rutines MS SQL server 2008 Možnost psát procedury, triggery a funkce v.net Možnost definovat uživatelské typy na úrovni.net Integrace CLR funkcí do Transact SQL agregační funkce Podpora ve Visual Studiu 30
31 Dobré praktiky - návrh Zapouzdření přístupu k datům Není nutné zapouzdřovat vše Není vhodné používat zapouzdření v procedurách Oddělení vlastníka schématu od uživatelů Používání jmenných konvencí, standardů, guidelines Definování templates pro standardní části kódu Provádějte revize kódu, ptejte se, pracujte společně 31
32 Template SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name> ON <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name> AFTER <Data_Modification_Statements,, INSERT,DELETE,UPDATE> AS -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here END GO 32
33 Template Procedure template.sql 33
34 Dobré praktiky - kód Podpora kompilátoru Přímé předávání parametrů Konstanty jako proměnné Transakční uzávěr Přebrání rozhodování při selektech typu serch do kódu Rozumná hierarchie view Porovnávat/dosazovat vždy stejné typy Používání exists vždy, když to jde Set nocount on na začátku každé procedury Nezapomínat na hodnotu null Omezovat zbytečné testy pro řízení toku zpracování 34
35 Dobré praktiky - kód < 7000 = 'A' <do something> = 7000 <do something> > 7000 = 'CA <do something else> < 7000 = 'A' <do something> else = 7000 <do something> else > 7000 = 'CA <do something else> 35
36 Dobré praktiky - kód = 7000 <do something> else <do something else> is null <do something special> else = 7000 <do something> else <do something else> 36
37 Špatné praktiky - kód Ukládání ROWID pro pozdější reference Použití sekvencí jako počítadla Nahrazení null hodnotami jako N/A nebo Unknown Použití select * from Použití výrazů v join klausuli Použití identifikátorů vyžadující uvozovky 37
38 Špatné praktiky - kód declare "a + b" varchar(30); begin "a + b" := 'a + b'; DBMS_OUTPUT.PUT_LINE ("a + b" ' ' 'a + b'); end; / 38
39 Dobré praktiky - SQL Použití UNION ALL místo UNION Nepoužívat zbytečně SELECT DISTINCT Nepoužívat zbytečně ORDER BY Používat plně kvalifikované jména objektů 39
40 Dobré praktiky - výkon View zachovává datové typy Jen odůvodněné použití kurzorů Použití Bulk operací Jen odůvodněné použití smyček Neukládat prázdné BLOB hodnoty Rozumná implementace práce s transakcemi Používání pouze krátkých transakcí Nikdy nepřipusťte komunikaci s uživatelem během transakce Nikdy nepřipusťte komunikaci s aplikací během transakce 40
41 Dobré praktiky - výkon Podpora výkonu Sdružování příkazů select Sdružování deklarací Nepoužívat exception pro řízení toku zpracování Nepoužívat nedeterministiké funkce ve where klausuli Používat optimalizator hints s rozvahou vždy uveďte důvod Nechte si otestovat výkonnost kódu někým jiným (někde jinde) 41
42 Dobré praktiky - údržba Minimalizovat hard-coding SQL Zapouzdření do views Údržba kódu x údržba schématu Nepoužívat zbytečně Hard-coding datových typů Dokumentovat změny v kódu Dokumentovat každý složitější SQL příkaz a konstrukci Psát vícenásobně spustitelné skripty Generovat kód pokud to je možné Formátovat Neexistuje dobrý standard
43 Doporučená literatura 43
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName
8 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Jazyk Transact-SQL, syntaxe, proměnné, struktury,
Ví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íceDatabá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í
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íceUložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
Více2. 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
Více4IT218 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
VíceDotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...
Jazyk SQL 1 Přehled SQL 1) jazyk pro definici dat (DDL), 2) jazyk pro manipulaci dat (DML), 3) jazyk pro definice pohledů 4) jazyk pro definice IO 5) jazyk pro přiřazení přístupových práv (DCL) 6) řízení
VíceSQL. 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
VícePG 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
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í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í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íceDatabá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
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íceJazyk 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/
VíceJazyk S Q L základy, příkazy pro práci s daty
Jazyk S Q L základy, příkazy pro práci s daty Základní pojmy jazyk množina řetězců nad abecedou gramatika popisuje syntaxi výrazů jazyka pravidla, jak vytvářet platné řetězce jazyka. dotazovací jazyk je
Více6. 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
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í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íceVzorové 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,
VíceDatabá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
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íceDotazovací jazyk SQL I
Dotazovací jazyk SQL I Historický vývoj I IBM - 70. léta - prototyp relačního DBMS - System R 80. léta - základ 2 komerčních DBMS: SQL/DS, DB2 SQL jako standard Standardizační instituce ANSI: American
VíceFirebird Verze 1.5. Release Notes v.1.5 5 Únor 2004
Firebird Verze 1.5 Release Notes v.1.5 5 Únor 2004 Obsah Úvod Nové vlastnosti Kompatibilita se staršími verzemi Rozšíření jazyka! Datové typy! Metadata! DSQL! PSQL! Firebird 1.0.x Nová rezervovaná slova
VíceDatabá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é
VíceDeklarativní IO shrnutí minulé přednášky
Deklarativní IO shrnutí minulé přednášky Existují následující typy omezení: NOT NULL UNIQUE Key PRIMARY KEY FOREIGN KEY CHECK Pro zobrazení všech definic a názvů IO se použije dotaz na pohledy data dictionary
VíceMarian 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
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í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íceJazyk SQL slajdy k přednášce NDBI001
Jazyk SQL slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Dotazovací jazyky 1 Přehled SQL92 1) jazyk pro definici dat, 2) interaktivní jazyk pro manipulaci dat, 3) jazyk
Víceří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
Více3. Jazyky relačních databázových systémů
3. Jazyky relačních databázových systémů 3.1. Tabulky ilustračního příkladu - Spořitelna... 3 3.2. Jazyk SQL... 5 3.2.1. Úvod... 5 3.2.2. Definice dat... 7 3.2.3. Manipulace s daty... 14 3.2.4. Pohledy...
Více1. 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
VíceDatabázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE
Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE 1 KONZISTENCE DATABÁZE Jedním z velkých nebezpečí při provozu IS je porušení konzistence databáze. Konzistence databáze je vzájemný
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íceDatabá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é
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íceSQL. Pohledy, ochrana dat,... Pavel Tyl
SQL Pohledy, ochrana dat,... Pavel Tyl 25. 4. 2013 ANY, ALL, SOME SOME == ANY (od SQL92 obě varianty) Př.: Najdi zaměstnance, kteří mají plat větší, než všichni zaměstnanci z Prahy ALL, ANY, SOME SOME
VíceTabulka 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.............................................
Více10. 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
Více10. 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
VíceMySQL 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
Více1) vložení záznamu o smlouvě a jeho atributy (rozumí se i možnost opravy záznamu)
V Praze dne 10.4.2014 Čj.: 568-15 /2014 - ÚVN Věc: Dodávka systému elektronické evidence smluv Ústřední vojenská nemocnice Vojenská fakultní nemocnice Praha vyhlašuje poptávku na dodání systému elektronické
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íceDatabá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
VíceRELAČ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í
VíceDatové modelování. Datové modely v GIS. Úrovně abstrakce reality
Datové modelování Úrovně abstrakce reality Reálný svět Datový model Datová struktura Struktura datových souborů Datové modely v GIS Klasické datové modely (vznikly jako výsledek transformace mapy do GIS)
VíceNasazení 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,
VíceDatabázovéa informačnísystémy NÁVRH IMPLEMENTACE 4 DOPLNĚNÍ DAT A ALGORITMŮ MODULOVÉSCHÉMA
Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 4 DOPLNĚNÍ DAT A ALGORITMŮ MODULOVÉSCHÉMA 1 Návrhimplementace Doplnění algoritmů víceuživatelský provoz identifikace transakcí řešení transakcí zamykáním
VíceDatabázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33
Databázové systémy Integritní omezení Vilém Vychodil KMI/DATA1, Přednáška 9 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Přednáška 9: Přehled 1 Relační
VíceOptimalizace 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ý
VíceDATABÁ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í
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íceStručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307
Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola
VíceCo se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny.
1. Je spušťen následující anonymní PL/SQL blok: BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END;
VíceInformač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
VíceSQL. 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
VíceArchitektura DBMS. RNDr. Ondřej Zýka
Architektura DBMS RNDr. Ondřej Zýka 1 Obsah Cíle DBMS Zdroje DBMS Limity DBMS Paralelní architektury Životní cyklus uživatelského požadavku Implementace procesů Příklady architektury 2 Cíle DBMS DBMS Data
Více95 101 117 133 149 157 191 197 203 209 213 217 233 241 257 XML
Stručný obsah Úvod 33 Výběr vhodné databáze 35 Základy databázové teorie 45 Základy jazyka SQL 63 Databázové tabulky 71 Normalizace databází 89 Pohledy 95 Vkládání, aktualizace a mazání údajů 101 Výběr
VíceDatabáze II. 2. přednáška. Helena Palovská
Databáze II 2. přednáška Helena Palovská palovska@vse.cz SQL a aplikace Program přednášky Řízení transakcí v SQL Integritní omezení v SQL Triggery a uložené procedury Zpracování množin záznamů Řízení
VíceJazyk 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
VíceObsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting
Cvičení 5 SQL 1 Obsah SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting 2 2 Oracle Model 3 3 Načtení modelu z katalogu Napojení: IP adresa: 193.85.191.165 Port:
VíceDatabá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á
VíceStructured Query Language SQL
Structured Query Language SQL Spouště DML Řízení transakcí Vložené a dynamické SQL SQL DDL Spouště Integritní omezení Bezpečnost Přístupová práva SQL SEQUEL-XRM, IBM v roce 1974 Neprocedurální jazyk říkáme
VíceTekla Structures Multi-user Mode
Tekla Structures Multi-user Mode Úvod V programu Tekla Structures můžete pracovat buď v režimu jednoho uživatele (single-user) nebo v režimu sdílení modelu (multi-user mode). Sdílení modelu umožňuje současný
VíceObjektově orientované databáze
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Co potřebujeme modelovat? Identifikace entit v~relačních SŘBD Co je to objektová
Vícezobrazení délky ve výpisu v psql
zobrazení délky ve výpisu v psql postgres=# \dt+ codebooks.* List of relations Schema Name Type Owner Size Description -----------+----------+-------+-------+------------+------------- codebooks lau1 table
VícePL/pgSQL. Pavel
PL/pgSQL Pavel Stěhule @2017 Ukázka 1 CREATE OR REPLACE FUNCTION german_date(d date) RETURNS text AS $$ SELECT to_char($1, 'DD.MM.YYYY'); $$ LANGUAGE sql; postgres=# SELECT german_date(current_date); german_date
VíceÚVOD DO DATABÁZÍ II (DISTANČNÍ VÝUKOVÁ OPORA)
UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY Přírodovědecká fakulta ÚVOD DO DATABÁZÍ II (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová Ostravská univerzita OBSAH 1 Databázové struktury v Oracle... 4 1.1 Tabulky... 4
VíceFakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná
ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení
VíceDatabá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í
VíceMySQL manuál. Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/
MySQL manuál Copyright: Adam Jun 2003 E-mail: jun@gene.cz Stránky manuálu: http://mm.gene.cz/ 1. ÚVOD - MySQL je relační databázový systém skládající se z jedné nebo více databází - databáze je tvořena
VíceDatabázové systémy. 9. přednáška
Databázové systémy 9. přednáška Procedury Jsou pojmenovaným blokem PL/SQL kódu (i posloupnost SQL příkazů ohraničena BEGIN END je PL/SQL kód) Založí se příkazem CREATE OR REPLACE PROCEDURE jméno (parametry)
Víceprůvodce správou, využitím a programováním
Oracle průvodce správou, využitím a programováním David Procházka Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3575. publikaci Odpovědná redaktorka Eva Grillová Sazba Eva Grillová Návrh
VíceInformač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),
VíceDATABÁ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
VíceText ú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ů
Více3. Jazyky relačních databázových systémů
3. Jazyky relačních databázových systémů 3.1. Tabulky ilustračního příkladu - Spořitelna... 3 3.2. Jazyk SQL... 5 3.2.1. Úvod... 5 3.2.2. Definice dat... 7 3.2.3. Manipulace s daty... 14 3.2.4. Pohledy...
VíceDatabáze I. Přednáška 9
Databáze I Přednáška 9 Programování s SQL interaktivní verze SQL zadávání dotazů v operátorské konzoli konzole MySQL, Oracle SQL Developer hostitelská verze SQL (Embedded SQL) SQL začleněno do nějakého
VíceDatabá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,
VíceKapitola 6: Omezení integrity. Omezení domény
- 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované
VíceRNDr. 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í
VíceStručný obsah Úvod Úvod do SQL 1. Seznámení s jazykem SQL 2. Začínáme s dotazy 3. Výrazy, podmínky a operátory
Stručný obsah Úvod 25 ČÁST I Úvod do SQL 29 1. Seznámení s jazykem SQL 31 2. Začínáme s dotazy 45 3. Výrazy, podmínky a operátory 61 4. Klauzule v dotazech jazyka SQL 103 5. Spojování tabulek 135 6. Vkládání
VíceUniverzita 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í
VíceAplikace počítačů v provozu vozidel 9
Aplikace počítačů v provozu vozidel 9 2 Databázové systémy Rozvoj IS je spjatý s rozvojem výpočetní techniky, především počítačů. V počátcích se zpracovávaly velké objemy informací na jednom počítači,
VíceKapitola 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
VíceDatabá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/
VíceVirtual 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
VíceDJ2 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.
VíceDatabá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é
VíceDatabázové systémy a SQL
Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 CREATE TABLE Vytvoření tabulky (ORACLE) DDL příkazem v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1),
Více2-3 hodiny. Při studiu tohoto bloku se předpokládá, že čtenář je obeznámen s jazykem SQL a zná základy jazyka PL/SQL.
9. blok Databázové spouště pro DML operace Studijní cíl Tento blok je věnován vytváření a využití databázových spouští na DML operacích INSERT, UPDATE a DELETE nad tabulkami či pohledy. Doba nutná k nastudování
VíceZákladní stavební prvky algoritmu
Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká
Více- sloupcové integritní omezení
CREATE TABLE - CREATE TABLE = definice tabulek a jejich IO - ALTER TABLE = změna definice schématu - aktualizace - INSERT INTO = vkládání - UPDATE = modifikace - DELETE = mazání CREATE TABLE Základní konstrukce
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íceMaturitní 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ů),
Více