Databázové systémy I. 7. Přednáška
|
|
- Vít Kučera
- před 6 lety
- Počet zobrazení:
Transkript
1 Databázové systémy I. 7. Přednáška
2 Co nás dnes čeká Uživatelské pohledy (Views) Optimalizace SQL dotazů Zpracování dotazu Naplnění tabulek daty (DML) Sekvence Transakce Indexy
3 Pohledy (views) představují zobecnění tabulek jde o virtuální tabulky definované pomocí dotazů nad jinými tabulkami nebo pohledy (nazýváme je základními tabulkami) neobsahují vlastní data obvykle jen pro čtení (read only), protože nelze jasně definovat zpětný rozpad na původní sloupce) při dodržení určitých pravidel můžeme vytvořit zapisovatelný (updatable) pohled
4 Proč používat pohledy? omezují přístup k datům základní tabulky, protože pohled může zobrazovat selektivní sloupce či řádka z původní tabulky v případě často opakovaných spojení usnadní uživateli dotazování poskytují uživatelům (skupinám uživatelů) přístup k údajům podle jejich konkrétních oprávnění
5 Jak na pohledy v SQL CREATE OR REPLACE VIEW jméno (definice pohledu) AS dotaz Definice pohledu představuje přehled sloupců, integritních omezení těchto sloupců a vícesloupcových integritních omezení na pohled Lze užít přejmenování sloupců dotazu V rámci dotazu nelze použít klauzuli ORDER BY Část s definicí pohledu vč. () lze vypustit
6 Vytvoření pohledu CREATE [OR REPLACE] [FORCE NOFORCE] VIEW view_name [(alias [, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]];
7 Typy pohledů Vlastnost Jednoduchý pohled Komplexní pohled Počet tabulek z nichž jsou získávána data Jedna Jedna nebo více Smí obsahovat funkce Ne Ano Smí obsahovat seskupování Lze provádět DML operations (INSERT, UPDATE, DELETE) prostřednictvím pohledu Ne Ano Ano Ne vždy
8 Modifikace pohledu K modifikaci pohledu dochází prostřednictvím přetvoření pohledu Použitím klauzule OR REPLACE při vytváření pohledu dojde k nahrazení staré verze nově definovaným pohledem
9 Omezení DML operací Nelze použít: víceřádkové funkce (D, U, I) GROUP BY (D, U, I) DISTINCT (D, U, I) pseudosloupec ROWNUM (D, U, I) sloupce definované pomocí výrazů (U, I) Neosahuje NOT NULL sloupce ze zdrojové tabulky (I)
10 Optimalizace dotazů Optimalizace de facto znamená nalezení optimální strategie zpracování dotazu Relační SŘBD je tak dobrý, jak je dobrý jeho optimalizátor dotazů. Optimalizace je vedena ve dvou krocích: Konstrukce alternativních plánů vyhodnocení. Odhad ceny alternativních plánů a volba plánu s nejnižší odhadnutou cenou. Optimalizaci provádí SŘBD, má více informací než programátor
11 Strategie optimalizace dotazů Algebraická optimalizace Indexy a velikost relace Řízené cenou operace Syntaxí řízená optimalizace
12 Algebraická optimalizace Nahrazuje jeden relační výraz druhým za účelem efektivnějšího přímého vyhodnocení. Zásada zmenši před operací spojení co nejvíce řádků a sloupců. Optimalizátor vyžaduje jisté informace o databázi. Je vhodná znalost, jak jsou podmínky omezující.
13 Algebraická optimalizace Prakticky se provádí transformacemi stromů dotazů. Listy jsou tvořeny základními relacemi, ostatní uzly reprezentují operace relační algebry Pravidla pro převod vycházejí z komutativních a distributivních zákonů vyplývajících z definice relačních operací.
14 Zákony
15 Zákony
16 Příklad Nalezněte jména filmů, u nichž existují kopie, které mají být vráceny do Pokorný (2007)
17 Příklad Použitím pravidel 1 a 2 rozdělíme čtyři spojení do dvou, nahradíme je kartézskými součiny a použijeme přejmenování atributů. Pokorný (2007)
18 Příklad Poslední výskyt spojení přepíšeme také pomocí kartézského součinu. Pokorný (2007)
19 Příklad Aplikací zákona 3 na selekci (DATUM_V > ) obdržíme záměnu selekční podmínky projekcí [K.JMÉNO_F, REŽISÉR, ROK, JMÉNO, ADRESA, V.Č_KOPIE, V.ROD_Č, DATUM_V], následně zaměníme danou selekci se selekcí V.Č_KOPIE=K. Č_KOPIE a po použití zákona 4 dostaneme danou selekci až k levému kartézskému součinu. Další aplikací zákona 3 a ze zákona 4 dostaneme tutéž selekci do kartézského součinu VÝPŮJČKY ZÁKAZNÍCI. Zároveň také podle 8 se zredukovaly po sobě jdoucí závěrečné projekce v jednu. Pokorný (2007)
20 Příklad Výsledek předchozích operací Pokorný (2007)
21 Příklad Další aplikací zákona 3 dostaneme před podmínku V.Č_KOPIE=K. Č_KOPIE projekci [K.Č_KOPIE, K.JMÉNO]. Pokorný (2007)
22 Příklad Nakonec je patrné, že první argument vnějšího kartézského součinu lze zjednodušit na VÝPŮJČKY (DATUM_V< )[V.Č_KOPIE] J. Pokorný. Databázové systémy 2. Praha: ČVUT, ISNB
23 Optimalizace založená na indexech a velikostech relací Problém bývá určit optimální pořadí operací spojení. Většina SŘBD používá jako základní algoritmy pouze binární spojení => vícenásobné spojení je nutné rozložit na posloupnost binárních. Řešení pomocí technik dynamického programování případně heuristických přístupů
24 Optimalizace řízená cenou Jedná se o jeden z heuristických přístupů pro spojení n relací, kde n > 2, generuje plány ve tvaru (((R 1 R 2 ) R 3 ) R n ). Vybere nejlepší plán pro spojení dvou relací, potom plám pro spojení třetí atd. Mají-li podmínky realizující spojení dvou relací R 1 a R 2 resp. R 3 a R 4 nízké ceny, je vhodnější zvolit způsob zpracování (R 1 R 2 )* (R 3 R 4 ).
25 Syntaxí řízená optimalizace Zde se předpokládá, že uživatel zahrne informaci pro optimalizaci od textu dotazu. SELECT * FROM zaměstnanci WHERE plat > 6700 AND adresa= 'Zemědělská 1 SELECT * FROM zaměstnanci WHERE adresa= 'Zemědělská 1' AND plat > 6700
26 Optimalizace v Oracle Oracle disponuje vlastním optimalizátorem dotazů Nastavení režimu optimalizace ALTER SESSION SET OPTIMIZER_MODE = {FIRST_ROWS FIRST_ROWS_ n ALL_ROWS RULE CHOOSE } Volíme Cíle optimalizace Minimální doba odezvy Maximální propustnost Přístup k optimalizaci Založený na statistikách (doporučený) Založený pouze na pravidlech
27 Data modification language Prostředek pro zanášení změn do databáze (modifikace relací) Nemůže ovlivnit datový slovník Musí realizovat tři základní operace: INSERT DELETE UPDATE Provádění operace musí být atomické, konzistentní a nesmí porušit integritu
28 Úplná kopie tabulky Je realizováno kombinací příkazů CREATE a SELECT CREATE TABLE copy_názevtabulky AS (SELECT * FROM názevtabulky) Omezení, příkaz nekopíruje primární klíče a IO cizího klíče Pro kontrolu takto zkopírovaných dat provedeme DESCRIBE copy_názevtabulky; SELECT * FROM copy_názevtabulky;
29 Vkládání nových záznamů Je realizováno přidáváním nových řádků do tabulky příkazem INSERT Existují dvě varianty vkládání: jeden řádek specifikovaný hodnotami více řádků určených dotazem Při vkládání se kontrolují integritní podmínky tabulky (definovanost, implicitní hodnoty, omezení, klíče) a provádí se současně potřebné definované indexování
30 Vkládání nových záznamů
31 Jak na to v SQL INSERT INTO tabulka [ (sloupce) ] VALUES (hodnoty) dotaz Počet hodnot musí odpovídat počtu sloupců (včetně domén), analogicky počet sloupců dotazu musí odpovídat počtu sloupců v definici INSERT Než začneme vkládat, zkontrolujeme si cílovou tabulku (DESCRIBE) Neuvedením sloupců se uvažují všechny sloupce z tabulky v pořadí odpovídající definice
32 Kontrola tabulky
33 Jak na NULL Při vkládání je nutné uvést hodnoty všech sloupců pro které vkládáme hodnoty Pro vložení nedefinovaných hodnot, lze použít NULL, pro chybějící údaje se používá prázdný řetězec ( )
34 Vkládání speciálních hodnot Typicky se jedná o hodnoty jako SYSDATE nebo USER SYSDATE, vloží aktuální datum a čas USER, vloží jméno uživatele aktuální session U APEXu to bude OAE_PUBLIC_USER
35 Vkládání speciálních hodnot Kromě funkcí (př. SYSDATE), lze vkládat rovněž výrazy
36 Použití zanořených dotazů Pro vkládání více údajů z jiné tabulky je možné požít vnořeného dotazu Představte si přesun banned uživatelů na fóru Namísto 100 samostatných insertů tak spustíme jeden Při tomto způsobu není potřeba uvádět VALUES klauzuli
37 CREATE TABLE lidi (id NUMBER(5) NOT NULL PRIMARY KEY, jmeno VARCHAR2(50) NOT NULL, login VARCHAR2(8) UNIQUE, vek NUMBER(3) CHECK (vek > 0)); INSERT INTO lidi (id,jmeno,vek) VALUES (1, Metuzalém,784) INSERT INTO lidi VALUES (1, Metuzalém, xmetuz,784) Příklad použití INSERT
38 Problém primárního klíče Často řešený problém co je primárním klíčem redukuje se na tvorbu sloupce ID Tento sloupec je číselný, vždy definovaný a označený jako primární klíč (a tedy automaticky také indexovaný) Jak zajistit přidělování čísel záznamům? Problém MAX(id) při kolizi dvou uživatelů Řešením jsou sekvence
39 Sekvence Představují jediný nástroj nezávislý na transakcích a relacích uživatele Jdou napříč celým DBS Sekvence na zavolání vždy vrátí další číslo v řadě (podle stanovených podmínek) V jednom SQL příkazu vrátí sekvence vždy jen jedno číslo (tzv. nextval) Nelze získat aktuální stav sekvence
40 Práce se sekvencí v SQL Součást datového slovníku (DDL): CREATE SEQUENCE jméno Pro získání nové hodnoty slouží funkce sekvence.nextval Pro získání hodnoty již jednou vytvořené v SQL příkazu slouží sekvence.currval Příklad použití: INSERT INTO lidi (id,jmeno) VALUES (lidi_seq.nextval, Eva )
41 Rušení záznamů Je realizováno vyhledáním a rušením existujících řádků tabulky příkazem DELETE Existují dvě varianty rušení: vybraných řádků určených podmínkou všech řádků tabulky Při rušení se kontroluje konzistence integritních omezení, rušení tak může být zakázáno nebo vyvolá kaskádové rušení Co se stane když vynecháme podmínku WHERE?
42 Jak na to v SQL DELETE [ FROM ] tabulka [ WHERE podmínka ] Neuvedením části WHERE dojde k vymazání celé tabulky (ovšem pouze obsahu, vlastní tabulka je součástí datového slovníku nemůže jí zrušit DML) Klíčové slovo FROM je nepovinné pouze v Oracle
43 Neopomenout IO
44 Určení podmínky v DELETE Lze užít část dotazovacího jazyka SQL Kombinujeme sloupce z příslušné tabulky, relační operátory, konstanty, závorky a logické spojky (AND, OR, NOT) Můžeme použít množinový vnořený dotaz pomocí operátoru IN (ptáme se, zda je hodnota obsažena v množině) Můžeme použít množinový poddotaz o jedné hodnotě místo konstanty v relaci
45 Použití zanořených dotazů v DELETE
46 DELETE FROM lidi DELETE FROM lidi WHERE vek < 18 DELETE FROM lidi WHERE vek < 18 OR vek > 62 DELETE FROM lidi WHERE vek IN (15,18,21) DELETE FROM lidi WHERE vek < (SELECT prah FROM limity WHERE typ = plnoletost ) Příklad použití DELETE
47 Změna (modifikace) záznamů Je realizováno vyhledáním a změnou existujících řádků tabulky příkazem UPDATE Existují dvě varianty rozsahu změn: vybraných řádků určených podmínkou všech řádků tabulky Při modifikaci se též kontroluje veškerá konzistence integritních omezení a všechny podmínky jako při vkládání nových záznamů
48 Který z řádků bude změněn? Kontrolní otázka?
49 Jak na to v SQL UPDATE tabulka SET změnový seznam [ WHERE podmínka ] Neuvedením části WHERE dojde ke změně v celém rozsahu tabulky Změnový seznam je čárkou oddělená posloupnost údajů tvaru jméno sloupce = hodnota Podmínka se určuje stejným způsobem jako u DELETE
50 Použití vnořeného dotazu
51 Update 2 sloupců 2 vnořenými dotazy
52 MERGE Umožňuje provést současně INSERT i UPDATE a to ve 2 případech Chybí-li vkládaná hodnota, pak je vložena nová Je-li nutné aktuální hodnotu nahradit novou Pro provedení těchto změn je nutné disponovat právy pro pro příkazy INSERT a UPDATE MERGE umožňuje použití aliasů
53 MERGE v příkladu
54 Datové typy Znakové typy CHAR(n), pevný počet znaků, až do 2000 znaků VARCHAR2(n), variabilní počet znaků, až do 4000 znaků CLOB, variabilní počet znaků, až do 128 TB Číselné typy NUMBER(prec, scale), variabilní počet číslic, až do 38 desetinných míst Typ datum a čas DATE, TIMESTAMP, INTERVAL Binární objekty (jako JPG, WAV, MP3 atd.) RAW(n), variabilní délka, až do 2000 bytů BLOB, variabilní délka, až do 128 TB
55 Datové typy Best practices Pro znakové typy je lepší použití VARCHAR2 nebo CLOB na místo CHAR (úspora místa) NUMBER ukládá kladná i záporná čísla, např. NUMBER(6,2) > uloží +9999,99 i -9999,99 TIMESTAMP WITH LOCAL TIME ZONE uloží hodiny včetně odchylky od Universal Coordinated Time (UCT), dříve GMT Při použití v SELECT je čas automaticky převeden na aktuální čas v dané časové zóně
56 CREATE TABLE time_example (first_column TIMESTAMP WITH TIME ZONE, second_column TIMESTAMP WITH LOCAL TIME ZONE); INSERT INTO time_example (first_column, second_column) VALUES ('15-NOV :00:00 AM -05:00, '15-NOV :00:00'); Uživatel v Istanbulu provede: a uvidí... LOCAL TIME ZONE TIMESTAMP WITH
57 Intervalové datové typy Pro uchování uběhlého času, nebo intervalu času mezi dvěma dny-časovými hodnotami INTERVAL YEAR TO MONTH, uloží časovou periodu měřenou rokem a měsícem INTERVAL DAY TO SECOND, uloží časovou periodu měřenou ve dnech, hodinách, minutách a sekundách
58 Intervalové datové typy
59 Co si představíte pod pojmem transakce?
60 Transakce provedení, uzavření obchodu, převod ( je dohoda, komunikace, přenos nebo výměna čehokoliv mezi dvěma samostatnými entitami nebo objekty. (
61 Bankovní transakce
62 Databázová transakce Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. (
63 Bankovní transakce
64 Vlastnosti transakcí Atomicity (atomičnost) Consistency (zajištění konzistence) Isolation (izolovanost) Durability (trvalost)
65 Atomičnost transakce Databázová transakce je jako operace dále nedělitelná (atomární). Provede se buď jako celek, nebo se neprovede vůbec. Při neprovedení transakce dochází zpravidla k chybovému hlášení
66 Konzistence Databáze zůstává neustále konzistentní. Při a po provedení transakce nesmí být porušeno žádné integritní omezení.
67 Izolovanost Transakce musí být vzájemně nezávislé, dílčí efekty transakce neovlivní jiné transakce. Operace uvnitř transakce jsou skryty před vnějšími operacemi. Vrácením transakce není zasažena jiná transakce, jinak i tato musí být vrácena. V důsledku tohoto chování může dojít k tzv. řetězovému vrácení.
68 Trvalost Změny, které se provedou jako výsledek úspěšných transakcí, jsou skutečně uloženy v databázi a již nemohou být ztraceny. Efekt celé transakce je trvalý perzistentní.
69 Způsoby ukončení transakce COMMIT veškeré změny transakce jsou přijaty, od okamžiku potvrzení se stávají viditelné pro všechny ostatní transakce v databázovém systému ROLLBACK situace se vrací do okamžiku před zahájením transakce, všechny změny jsou označeny za neplatné
70 Příkazy pro řízení transakce SAVEPOINT: Vytvoří značku v transakci, která rozděluje transakci na menší kousky. ROLLBACK TO SAVEPOINT: Umožňuje uživateli vrátit zpět aktuální transakci do zadaného bodu. Byla-li k chybě, uživatel může použít příkaz ROLLBACK TO SAVEPOINT, čímž zahodí pouze ty změny, které byly provedeny poté, co byl založen SAVEPOINT.
71 Co se stane v této transakci?
72 Dva režimy práce s databází Sekvence transakcí první transakce je zahájena operací BEGIN TRANSACTION, poté probíhají jednotlivé transakce zakončené COMMIT či ROLLBACK, přičemž ukončení jedné transakce má za následek začátek další transakce Tzv. autocommit režim každá operace je chápána za samostatnou transakci, která implicitně končí COMMIT, pokud nenastala chyba
73 Aktualizace aplikace App1 je ztracena, jakmile aplikace App2 provede svou aktualizaci, proto se takovému problému říká Ztráta aktualizace. Ztráta aktualizace IBM DB2 Express-C
74 App2 čte nepotvrzená, neplatná data. Této situaci se také říká nepotvrzené čtení. Nepotvrzené čtení IBM DB2 Express-C
75 V tomto případě nemůže být znovu reprodukována původní datová sada, App1 nedostane stejná data při čtení; těmto problémům se říká neopakovatelné čtení. Neopakovatelné čtení IBM DB2 Express-C
76 V tomto případu App1 nedostane stejná data při opakovaném čtení, získá jich více, proto je tento problém nazývaný fantomové čtení. Fantomové čtení IBM DB2 Express-C
77 Řešení uvedených problémů Definujme pojem rozvrh jako celkový plán posloupnosti všech operací v rámci všech uvažovaných transakcí Řešení uvedených problémů pak spočívá v tzv. uspořádatelnosti rozvrhu Hledáme takový způsob uspořádání operací v jednotlivých transakcích, aby byly všechny stanovené ACID vlastnosti (zejména izolace) z vnějšího úhlu pohledu zachovány
78 Konkrétní řešení Pro uvedené problémy je jediné možné uspořádání serializace rozvrhu spojení operací odečtení a přičtení N v T1 do jedné posloupnosti nepřerušené jinou transakcí Serializace potláčí paralelní zpracování transakcí snižuje tedy významně výkon databázového serveru
79 Jiné způsoby uspořádání rozvrhu Mimo serializaci (vysoce neefektivní způsob) by hledání jiných způsobů uspořádatelnosti rozvrhů bylo časově velmi neefektivní (iterativní úloha) Využívá se konstrukcí rozvrhů podle předem stanovených pravidel soubor těchto pravidel označujeme jako protokol Nejčastěji se tyto protokoly konstruují na základě zamykání a odemykání objektů K zamčenému objektu (LOCK) nemá jiná transakce přístup (ochrana izolace)
80 Dobře formovaná transakce před přístupem k objektu provádí jeho uzamknutí (LOCK) neprovádí LOCK na objekty, které už zamkla neprovádí UNLOCK na objekty, které nezamkla před koncem provede UNLOCK na všechny objekty, které ve svém průběhu zamkla a jsou dosud zamčené
81 Dvoufázový uzamykací protokol Dvoufázová transakce v první fázi uzamyká vše, co bude potřebovat při svém průběhu Druhá fáze začíná okamžikem prvního odemknutí Ve druhé fázi se zamčené objekty pouze odemykají, tj. nelze již použít žádné operace LOCK Tedy transakce musí mít všechny objekty uzamčené před tím, než nějaký objekt odemkne
82 Uspořádatelnost 2F protokolu Pokud všechny transakce ve vstupní množině transakcí jsou současně: dobře formované transakce dvoufázové transakce pak každý jejich rozvrh je uspořádatelný Stále ovšem existuje nebezpečí tzv. deadlocku vzájemného uváznutí, tj. vzájemné čekání na dokončení některé operace druhé transakce
83 Uváznutí
84 Definice uváznutí Uváznutí (deadlock) je situace, kdy pro každou transakci ze skupiny transakcí jsou splněny následující podmínky: každá transakce ze skupiny je blokována čekáním na objekt databáze (na jeho odemknutí) ukončení všech transakcí mimo uvedenou skupinu transakcí neumožní odblokování žádné transakce ve skupině
85 Uváznutí (deadlock) Jedná se o situaci, kdy jednotlivé transakce nekonečně dlouho čekají na uvolnění zamknutého objektu
86 Problémy souběhu transakcí Definujme si následující zjednodušené operace: read(x) načtení hodnoty X z databáze write(x) zápis hodnoty X do databáze commit potvrzení transakce rollback odmítnutí transakce Zkusme porovnat souběh dvou transakcí užívajících zjednodušené operace
87 Řešení problému uváznutí Protože uváznutí je stav, který neumožňuje úspěšně pokračovat v korektním plnění požadavků, je nutné zabránit vzniku uváznutí nebo toto uváznutí detekovat a odstranit ho detekci uváznutí a následné odstranění užíváme při uzamykacím protokolu předcházení uváznutí řešíme metodou časových razítek
88 Metoda časových razítek I Metoda zajišťující uspořádatelnost rozvrhu Ke každému objektu jsou přiřazena dvě tzv. časová razítka: čas posledního čtení (TSR) čas posledního zápisu (TSW) Každá transakce T dostane na svém začátku svou vlastní hodnotu TS(T), která je unikátní a stále roste (např. pořadové číslo transakce razítko)
89 Metoda časových razítek II Pokud transakce T volá operaci write(x) jestliže TSR(X) > TS(T), zruš transakci T a proveď rollback(t) (nějaká transakce s razítkem větším než TS(T) již četla X před tím, než T mělo šanci provést zápis) jestliže TSW(X) > TS(T), zruš operaci write(x)a pokračuj (nějaká transakce s razítkem větším než TS(T) již zapisovala X, náš zápis by byl přepsán) jinak proveď write(x), TSW(X) := TS(T)
90 Metoda časových razítek III Pokud transakce T volá operaci read(x) jestliže TSW(X) > TS(T), zruš transakci T a proveď rollback(t) (nějaká transakce s razítkem větším než TS(T) již zapisovala X před tím, než T mělo šanci číst) jinak proveď read(x), TSR(X) := max(ts(t),tsr(x)) Metoda časových razítek umožňuje rozšíření na metodu nezpůsobující uváznutí (deadlock)
91 Detekce uváznutí Využívá teorie grafů (předmět v navazujícím stupni studia) Při zamykání vytváří tzv. čekací graf (která transakce čeká na kterou) Pokud v grafu vznikne cyklus, došlo k uváznutí a je nutné cyklus přerušit (ukončit některou transakci obvykle nejstarší nebo nejnovější) Oracle využívá detekce uváznutí
92 Předcházení uváznutí Některé metody umožňují zabránit vzniku uváznutí Obvykle se jsou tyto metody charakteristické nepovolením přístupu k objektu, se kterým pracuje jiná transakce Významným způsobem redukují paralelizaci rozvrhů a tedy snižují výkon databázového systému Nepodporuje sdílení objektů (např. pro čtení) více různými transakcemi
93 Implementace v Oracle Základní systém transakcí podporuje ACID, využívá dvoufázového zamykání a provádí detekci uváznutí (deadlocků) s jejich přerušením formou výjimky Implicitní režim transakcí bývá dán aplikací (dbman autocommit, SQL*Plus transakční režim) Existuje možnost stanovení úrovně izolace transakcí pro operace čtení (DQL)
94 Stanovení úrovně izolace Pomocí parametru relace (session) ALTER SESSION SET ISOLATION LEVEL režim Podporované režimy: READ COMMITED běžný režim (není žádná izolace v rámci DQL) READ UNCOMMITED nepotvrzené čtení REPEATABLE READ čtecí stabilita SERIALIZABLE vytváří větší prostor pro deadlock
95 Porovnání úrovní izolace Oracle, PgSQL, MSSQL, MySQL IBM DB2 Nepotvrzené čtení Neopakovatelné čtení Fantomové čtení Read uncommitted Read committed Uncommited Read možné možné možné Cursor Stability - možné možné Repeatable read ReadStability - - možné Serializable Repeatable Read - - -
96 Indexy Index je seřazená sada klíčů, které vedou k řádku v tabulce. Index bere v potaz jedinečnost a také vylepšuje výkon. Index může být řazen vzestupně nebo sestupně Indexové klíče mohou být unikátní nebo neunikátní Pro index může být použito několik sloupců Pokud jsou index a fyzická data klastrovány v podobné indexové sekvenci, jsou klastrovaným indexem CREATE UNIQUE INDEX artno_ix ON artists (artno)
97 Typy indexů Unique index definován automaticky při použití PRIMARY KYE nebo UNIQUE KEY Nonuniquie index pro rychlejší přístup k řádkům např. FOREIGN KEY Function based index použití UPPER nebo LOWER v klauzuli WHERE CREATE INDEX d_evnt_dt_indx ON d_events (to_char(event_date, mon ))
98 Kdy použít indexy Rozsáhlé hodnoty ve sloupci Sloupec obsahuje vysoký počet NULL hodnot Jeden nebo více sloupců jsou často využívány dohromady v klauzuli WHERE nebo JOIN Velká tabulka ze které chceme dotazem vrátit méně než 2-4% z celkového počtu řádků K zapamatování: každá DML operace (INSERT, UPDATE, DELETE) nad tabulkou s indexem znamená, že také index musí být přepočítán!
99 B-stom je druh stromu. Je specifický tím, že má řád n a limity na maximální (n), i minimální (n/2) počet potomků vrcholu. B-strom je díky této vlastnosti vyvážený, operace přidání, vyjmutí i vyhledávání tedy probíhají v logaritmickém čase. (
100 Projekt 2 Odevzdat do :00 Samostatná práce Převod do fyzického modelu Vytvoření tabulek a integritních 18 dotazů zajímají mě pouze výsledky
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í
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
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
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
Architektura SW pro transakční zpracování se skládá ze 3 modulů: - manažer dat - rozvrhovač - manažer transakcí
Transakce = programová jednotka, která: - zachovává konzistenci databáze - končí v konečném čase - se provede celá nebo vůbec Architektura SW pro transakční zpracování se skládá ze 3 modulů: - manažer
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
Ú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
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
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ý
Ú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í
Transakce a zamykání Jiří Tomeš
Transakce a zamykání Jiří Tomeš Administrace MS SQL Serveru (NDBI039) O čem to dnes bude Úvodní opakování základních pojmů Jištění transakcí Speciální konstrukce Typy transakcí Závěrečný souhrn, použité
Databá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í
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í
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á
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é
Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):
Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit
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/
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
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
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
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ů
Transakce. Ing. Marek Sušický, RNDr. Ondřej Zýka
Transakce Ing. Marek Sušický, RNDr. Ondřej Zýka 1 Obsah Definice Savepoint, autonomní transakce Transakční módy Izolační úrovně Implementace pomocí zámků Implementace pomocí snapshotů Oracle, Microsoft
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
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 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,
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é
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:
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é
Operátory ROLLUP a CUBE
Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor
6. blok část B Vnořené dotazy
6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování
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ázové systémy Cvičení 5.3
Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu
Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.
Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina
Informační systémy ve zdravotnictví. 6. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace
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/
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í
Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
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é
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é
Transakční zpracování Bezpečnost databází. Vladimíra Zádová, KIN, EF TUL- DBS 1
Transakční zpracování Bezpečnost databází Vladimíra Zádová, KIN, EF TUL- DBS 1 Transakce Transakce systém zpracování transakcí vlastnosti ACID stavy transakce SŘBD a transakční zpracování Řešení transakcí
Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12
Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT
DBS transakční zpracování
DBS transakční zpracování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2010 BI-DBS, ZS 2010/11 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal
Databáze I. 1. přednáška. Helena Palovská
Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat
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
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í
9. Transakční zpracování
9. Transakční zpracování 9.1. Transakce... 3 9.1.1. Vlastnosti transakce... 3 9.1.2. Stavy transakce... 4 9.2. Transakce v SQL... 6 9.3. Zotavení po chybách a poruchách... 10 9.3.1. Zotavení využívající
Ú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
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
Kapitola 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é
Databázové systémy Cvičení 5
Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání
Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška
Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená
Transakční zpracování
Transakční zpracování Transakční zpracování Dva základní požadavky na SŘBD: chránit data organizovaná pod daným SŘBD, poskytnout korektní a rychlý asynchronní přístup většímu množství uživatelů. Řešení:
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
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é 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ů
Úvod do databázových systémů. Ing. Jan Šudřich
Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1. Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných
Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23
Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod
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
04 - Databázové systémy
04 - Databázové systémy Základní pojmy, principy, architektury Databáze (DB) je uspořádaná množina dat, se kterými můžeme dále pracovat. Správa databáze je realizována prostřednictvím Systému pro správu
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
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
Oracle XML DB. Tomáš Nykodým
Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových
6. blok část C Množinové operátory
6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.
Struč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
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
Fakulta 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í
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
Zotavení z chyb. Databázové systémy
Zotavení z chyb Databázové systémy Zotavení z chyb v DBS Úloha: Po chybě obnovit poslední konzistentní stav databáze Třídy chyb: 1. Lokální chyba v ještě nepotvrzené transakci 2. Chyba se ztrátou hlavní
TÉMATICKÝ OKRUH TZD, DIS a TIS
TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 15. Otázka : Paralelní procesy v databázích. Transakce, zamykání, uváznutí. Dvoufázový protokol, časová razítka. Obsah : 1 Úvod 2 Paralelní procesy v databázích
Databá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),
Transformace konceptuálního modelu na relační
Transformace konceptuálního modelu na relační 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
Optimalizace SQL dotazů
Optimalizace SQL dotazů Michal Kopecký Výběr ze slajdů k 2. přednášce předmětu Databázové Aplikace (DBI26) na MFF UK Indexy Plány provedení dotazu Ovlivnění optimalizátoru Optimalizace SQL dotazů Indexy
Ú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
Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant
Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant 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ů,
IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for
IDS optimalizátor Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Agenda Optimalizační plán dotazu Typy přístupových plánů Metody pro spojení tabulek Určení optimalizačního plánu Vyhodnocení přístupových
1. Databázové systémy (MP leden 2010)
1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou
01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980
01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980 02. Kdy přibližně vznikly první komerční relační databázové servery?
Kritéria hodnocení praktické maturitní zkoušky z databázových systémů
Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné
Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19
3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,
Základní přehled SQL příkazů
Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact
Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata
Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat
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í
Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou
Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním
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.
12. blok Fyzický návrh databáze
12. blok Fyzický návrh databáze Studijní cíl Tento studijní blok se zabývá metodologií fyzického návrhu databáze. Především se zabývá fází převodu logického modelu na model fyzický. Bude vysvětlen účel
Deklarativní 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
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
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
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,
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
Databáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů
Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod
Paralelní přístup k databázi
Paralelní přístup k databázi Motivační příklad: Bankovní převod 100,- Kč z účtu "A" na účet "B" a současný výběr 200 Kč z účtu "B". Transakce Hodnota A Hodnota B Stav účtu A Stav účtu B 1000,- 1000,- T1:
Dotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.
Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.
Maturitní témata Školní rok: 2015/2016
Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní
4IT218 Databáze. 4IT218 Databáze
4IT218 Databáze Osmá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Osmá přednáška Normalizace dat - dokončení Transakce v databázovém zpracování Program přednášek