ARCHITEKTURY SRBD. Centralizované platformy. Po absolvování přednášky Architektury SŘBD budeme umět

Rozměr: px
Začít zobrazení ze stránky:

Download "ARCHITEKTURY SRBD. Centralizované platformy. Po absolvování přednášky Architektury SŘBD budeme umět"

Transkript

1 Arch itekturysri3d v ARCHITEKTURY SRBD Po absolvování přednášky Architektury SŘBD budeme umět vyjmcnovatjednodivé typy architektury SŘBD vysvětlit, v čem spočívá základní rozdíl mezi archi tekturam i stručně charakterizova t j ednotlivé typy z hlediska zpracování dat vysvětlit základní výhody a nevýhody jednotlivých typll architektur. Centralizované platformy Zásadní rozdíl mezi jednotl ivými architekmrami SŘBD je určen místem, kde probíhá vlastní zpracování dat. Typ architektury zpravidla přímo ncpopisujc, na jakých počítačích (PC,..., mainframe) bude databáze provozována. V centralizovaných systémech budeme rozlišovat dva základní prvky: hostitelský počítač tenninály. Na hostitelském počítači se zpracovávají všechny programy - SŘ BD, apli kace, uživa telské roz hraní a komunikační software přenášející informace na uživa telské term inály a z nich. Uživatelé přismpují k databázi z terminá lů. Terminály zpravidla nemají žádné, nebo jen omezené mož nosti l okálního zpr acování. V nejjednodušších plípadech se skládají pouze z monitoru, klávesnice a hardware pro komunikaci s hostitelským počítačem. Inteligentní terminály mohou přejímat část zodpovědnosti za manipulaci s obsahem obrazovky a zpracování vstupních dat uživatele. Stfedlskovy poěltaě

2 ArchitekturySRBD 2 V centralizovaném systému probíhá veškeré zpracování na hostitelském počítači. Na hostitelském počítači musí být spuštěn SŘBD. Uživatel po zapnutí tcm1inálu musí zadat své pfiblašovací jméno a heslo a tím získá přístup k aplikacím na hostitelském počítači. Po spuštění databázové aplikace jsou obsahy jednotlivých obrazovek vysílány z hostitelského počítače na terminál. Aplikace i SŘBD j sou spuštěny na hostitelském počítači a komunikují spolu navzájem v operační paměti hostitelského počítače: k tennmólum. - k dlskovym pamtt6m : ktonmnalum OBA Pamtf počltooo SŘBD odpoví dá za přenos dat na disk a z disku s využitím služeb operačního systému. SŘBD může být založen na libovolném databázovém modelu - nejčastěj i ale na síťovém nebo relačním. Výhody centralizovaných systémů: centrá lní zabezpečení uložení velkého množství dat možnost současné práce mnoha uživa tclí1 (i více než I 000) Nevý hod y central izovaných systém ů: vysoké náklady na pořízení a údržbu systémů o nutnost specializovanýc h technických zařízení (klim atizace,...) o tým kvalifikovaných systémových administrátoiů I.Kde probíhá zpracování databázové aplikace v centralizovaném systému? Systémy na osobních počítačích Běží-li SŘBD na PC, pracuj e PC současně j ako hostitelský počítač i terminál -veškeré zpracová n í probíh á na PC. V nejjednodušších případech bývají SŘBD a databázová aplikace spojeny do je dnoho programu. Databázová aplikace často zpracovává vstup od uživatele, výstup na obrazovku i

3 ArchitekturySRBD 3 pfístup k datům na disk. Toto řešení má několik výhod : flexibilita aplikace rychlost aplikace ale i n evýh od: nízká bezpečnost a integrita dat malé objemy zpracovávaných informací. Většina SŘBD na PC je založena na relačním modelu, ale často v ních není implementována část relačních principů. Velmi často tyto systémy ncmají integrovány mechanismy integrity dat. Jednodušší systémy často umožňují i přímý přísn1pk datiun (bez použití příslušného SŘBD). Tak mohou být v datech prováděny různé změny narušující integritu dat, kterou jinak kontroluje SŘBD. PC bývají velmi často propojen y do lokálních sítí (LAN). V lokální síti jsou data uložena na serveru souborů. Server zajišťuje uživatelům LAN sdílený přístup k datům na svých pevných discích. LAN umožňuje uživatelům databáze na PC sdílet společné datové soubory, ale nemění princip zpracová ní- veškeré zpracování dat probíhá na PC, na němž je spuštěna databázová aplikace. Souborový server pouze vyhledává požadované soubory na discích a po síťovém médiu je posílá na PC. Data zpracovává SŘBD na PC. Každá změna v databázi vyžaduje, aby PC poslalo celý soubor s daty na server, který jej uloží na disk: Nevý hody víceuživa tel ského pfístupu v systémech na PC: výkonnost systému není závislá na výkonnosti serveru, ale na výkonu koncového PC zpomalení práce sítě- pokud pracuje s databází více uživatelů, musí server poslat tytéž soubory na každé PC, které je používá nutnost řešit současný pfístup více uživatelů k databázi. Pokud chce více uživatelů současně provádět změny dat,je nutné měněný soubor uzamknout, aby k němu měl pfístup pouze j eden z nich (více podrobností o této problematice se dozvíme v

4 ArchitekturySRBD 4 kapitole věnované paralelnímu zpracování dat) Jaké jsou výhody SŘBD 11a PC? Databázové systémy klient/server Databáze klient/server rozděluje zpracován í mezi dva systém y: klient (např. PC) na nčmž bčží databázová aplikace. databázový server na nčmž běží SŘBD, Databázový server může běžet na témže stroji jako server souborů nebo na vlastním stroji. K l ientský stroj (PC) je označován j ako systém front-end a zajišťuje zpracován í obrazovek a uživa telských vstupů a výstupí'1. Systém ba ck-end na databázovém servem zajišťuje zpracování dat a přístup na disk. P1incip fungování systému : uživatel na počítači front-end vytvoří požadavek (dotaz) na data z databázového serveru, aplikace front-end vyšle požadavek po síti na server databázový server provede vlastní vyhledán í dat a pošle zpět pouze data, která odpovídají uživatelovu dotazu PC Po síti tedy neputují celé datové soubory, ale pouze dotazy (nejčastěji SQL příkazy- o velikosti řádově desítek bytů) a odpovědi na tyto dotazy (nejčastěji jeden nebo několik datových záznamů z databáze). Kl ientské systémy obvykle běží na PC,j ako databázový server může být použito PC i počítače vyšší kategor ie. V současní době mají obrovský pfínos webové služby (web se1vice), které se dají využít

5 - ArchitekturySRBD 5 - téměř při jakékoli úrovni distribuce aplikace mezi klienta a sc1vcr. Webová služba zpravidla obaluje datový zdroj a komunikuje s uživatelem. Tento koncept je výhodný z hlediska zabezpečení. Mezi největší výhody architektury klient/server patří: rozdělení práce mezi klienta (aplikaci) a databázový server redukce množství dat posílaných po síti udržení integrity dat. Nevýhodou systémů klient/server je skutečnost, že ve své základní variantě nepodporuje rozdělení dat mezi několik lokalit, tzn. data musí být uložena na jediném databázovém sc1vcru. 3. Jaf.ý. je rozdíl mezi objemem údaj1i posílaných po síti mezi architekturou databázi na PC (v síti) LAN a architekturou klient/server? Systémy distribuovaného zpracování Systémy distribuovaného zpracování umožňují transparentní přístup k datům. V takovémto systému požádá uživatel o data svůj lokální databázový server. Pokud server nemá požadovaná data k dispozici, pošle po síti požadavek počítači, na němž jsou tato data uložena. Tento počítač (server) pošle data zpět uživateli, aniž by se uživatel dozvěděl, že data pocházejí z jin ého než jeho lokálního Serveru. Mezi hlavní výhody patří dostupnost (např. pobočky pojišťovny), výpadky většinou neohrozi korektní přístupnost na další uzly (transparentnost). Využívají se převážně v bankovn ictví či ve zdravotn ictví. V případě bankovnictví jsou tak účty klientů spravovány lokálně, ale jsou přístupné z jin ých poboček. Distribuovaná databáze je tedy jediná logická databáze, která je fyzicky rozmístěna na více počítačích spojených komunikační sítí. Distribuované databázové systémy tedy kombinují dvě technologie- databáze a komunikace. Distribuované databázové systémy je možné posuzovat ze tří základních pohledů: autonomie. Autonomie je týká distribuce řízeni. o Může se jednat o těsné spojení, kdy je distribuovaná databáze vytvořena nad lokálními databázemi a každé místo má úplnou znalost o všech datech v celé distribuované databázi. o Při volnější autonomii jsou sdílena pouze určitá data z lokálních databází. o V případě úplné izolace jsou jednotlivé lokální databáze autonomní a navzájem o sobě neví. Distribuovaná databáze pak tvoří speciální vrstvu nad lokálními systémy. transparence distribuce- určuje, do jaké míry je distribuce dat v jednotlivých místech viditelná uživatelů. heterogennost. Může se jednat o 1ůznorodý hardware v různých místech, o různé typy lokálních SŘBD nebo dokonce i různé databázové modely.

6 ArchitekturySRBD 6 Různé systém y mohou využíva t různé drul1y distribuce: replikace - na všech místech jsou uložena stejná data- kopie jedné a téže databáze objektové (horizontální) členění- na jednotlivých místech jsou uloženy informace o různých objektech, ale se stejnou strukturou t t f--j t-+- - funkční(vertikál ní) členění)- na jednotliv ých místech jsou uloženy informace s různou strukturou

7 Arch itekturysri3d 7 t +- t! < '-t i Pokuste se definovat pojem distribuovaná databáze. Databázové aplikační programovací jazyky Aby mčl SŘBD praktický význam,musí uživatelů umožni t přístup k datům. Možnosti, které SŘBD poskytuje pomocí vlastních prostředků, zpravidla nejsou příliš komfortní a proto uživatel využívá databázovou aplikaci. Databázová aplikace je program umožňující komunikaci uživatele s daty (zadáváni,změny, rušení a vyhledávání uložen ých údajů). Aplikace sestavují programá toři v univerzálních nebo specializovaných programovacích jazycích. Pro tvorbu databázových aplikací je možné využívat objektově orientované jazyky SQL ostatní jazyky. Běžné hybridní jazyky (jako Delphi, C++) mohou být využity pro tvorbu databázových aplikací prostředn ictvím API {Application Programm ing Intcrfacc- aplikační programové rozhraní). API se skládá z množiny funkcí rozšiřujících jazyk o prostředky přístupu k datům s využitím SŘBD. Vyšším programovacím jazyki'lm, které mohou být použity pro tvorbu programu (a tedy i databázové aplikace) se říká 3GL (jazyky 3.generace). Něktcré programovací jazyky jsou specifické pro určitý SŘBD. Takovýmto jazykům se obvykle říká 4GL (jazyky 4.generace). Pomocí objektově-orientovaných jazykl' (C#, Java,...)se program nepíše jako řada procedur, ale definují se objekty a akce nad těm ito objekty. SQL (Structured Query Language - strukturovaný dotazovací jazyk) je neprocedurální jazyk, který nepopisuje, j ak je třeba operace provést, ale co je od databáze požadováno. Pomocí jazyka SQL je možné definovat data a manipulovat s nimi. SQL neobsahujc žádné

8 - ArchitekturySRi3D 8 - prostředky pro manipulaci s obrazovkami a pro uživatelský vstup a výstup. SQL má trojí využití - SQL jako dotazovací (manipulační) jazyk pro relační databáze -SQL jako složka hostitelského jazyka pro programován í databázových aplikací - SQL jako jazyk komunikace mezi různými zdroji dat. Mezi ostatn í jazyky patří například jazyky maker. Makrojazyky umožňují nahradit posloupnost kláves, kterou by uživate l musel stisknout, kratší pos loupností- makrem. Tímto způsobem je možné zautomatizovat některé jednoduché operace. Makra se používají spíše u jednodušších SŘBD. Dalším představ itelem této skupiny je QBE (Query-By-Example). QBEje uživatelské rozhraní, které umožňuje uživateli snadno vytvářet dotazy, aniž by znal syntaxi příkazů SQL. Zpravidla je jej možné využít i k tvorbě jednoduchých výstupních sestav. Pii tvorbě aplikací je velmi vhodné využívat jmennou konvenci DB schémat: Názvy tabulek v jednotném čísle, malými písmeny, bez diakritiky Názvy atributů malým i písmeny, oddělovat podtržítkem Sloupec reprezentující jed noznačný identifikátor (umělý PK) by se měl patřičně jmenovat- název tabulky + _id (employce_id) Cizí klíč by se měl jmenovat stejně jako primární, včetně postfixu id-pokud to dává smysl. Pokud je třeba vyjádřit skutečnost, že se jedná o zodpovědného zaměstnance projektu, určitě by nemělo zmizet minimálně _id (responsible_employee_id) Názvy uložených procedur, pohledů... s odpovídajícím prefixem (sp_inscrt_ employec, vw_employcc_programmers) 5. K jakému účelu se pou ž ívají databázové aplikační ja zyky? Doporučená literatura: Salemi J. -Databáze klient/server, str Pokorný J. - Databázová abeceda - str ; ; ; Connoly T. - Databasc Systems, str Date C.J.- An Introduction to Database systems, str ; Řešení úkoll : I.V centralizovaném systému je databázová aplikace (stejně j ako SŘBD a uživatelské rozhran í) spuštěna na hostitelském počítači. 2. Uživatelské rozhraní, databázová apl ikace i SŘBD běží na PC. Mezi výhody tohoto řešení patií flexibilita a rychlost aplikace. Tyto výhody ale platí pouze pro malé aplikace.

9 ArchitekturySRi3D 9 3. V případč architektmy databází na PC se po síti posílají celé databázové soubory. V architektuře klient/server se po síti posílají dotazy a odpovědi na ně (tzn. vybrané údaje z databáze). Objem zasílaných informací je u architektmy klient/server mnohonásobně menší. 4. Distribuovaná databáze je jediná logická databáze, která je fyzicky rozmístěna na více počítačích. Uživatel, který plistupuje k disnibuované databázi nemusí vědět, na kterém z propojených počítačů j sou data uložena. vyhledáni dat zajistí distribuovaný databázový systém. S. Databázové aplikační se používají pro tvorbu uživatelského rozhraní.

10 - Benchmarking BENCHMARKING Po prostudování přednášky Benchmark ing budeme umět: popsat princ ip měření výkonu databázových systémů vysvětlit funkci společnosti TPC vyjmenovat základní TPC testy a vybrané z nich stručně charakterizovat najít na Internetu aktuální výsledky testování výkonu databázových systémů. Měření výkonu DBS Měření výkonu databázových systémů se provádí prostřednictvím soustavy standard i:lovaných testů. Tyto testy slouží k vytvoření měřítek pro objektivní porovnávání různých systému provozovaných na n1zných platformách. Výsledkem testování jsou konk rétní informace, které představují reá lné možnosti systému. Standardizovaným testováním databázových systémů se zabývá TPC ( Tnmsaction pro cessing Performance Council). Pod zkratkou TPC se skrývá společnost pro měření výkonu transakčního zpracování. Toto společenství bylo založeno v roce 1988 osmi velkými sofiwarovými a hardwarovým i firmami a dnesje tvořen více než 30 členy ze severn í Ameriky, Asie. Austrálie a Evropy. Členy TPCjsou: loatareturn ldebis Systemhaus IDell Compute rs IEiectronic Data Systems lltnformix lloracle IEMC Corporation lltntel IIProgress Software sec IFujitsu UITOM lnternational IIFujitsu/Sieme ns IHarris Teeter UMicrosoft USGI IHewlett-Packard IIMorgan Stanley IFI-:s=u=n 7 M""'ic= =os=y=s""te=m=s== UHitachi UNCR llsybase UtBM UNEC ITIo!!s:'h:":iba===== UIDEAS lnternational IINetwork Appliance UUnisys Úko lem výboru je vydávat přesné specifikace standardtl pro jednot livé testy,jím navržené testy tvoří všeobecně uznávaný standard v oblasti měření výkonu databázových systému. Testy TPC TPC za dobu své existence vyv inula řadu testů na měření výkonu databázových systému. TCP- A,TCP- B Prvními testy byly TCP A a TCP B. Tyto testy by ly používány v letech 1989 až 1995.Jejich úkolem by lo simu lovat práci banky. Datové prostřed í tvořily čtyři tabulky. Transakce, které v tomto prostředí probíhaly příliš neodpovída ly reálnému prostředí. Výkon systému mčři v transakcích za sekundu (TPS - Transact ion Per Second). TCP - C Test TPC C je realističtějš í než TPC-A a TPC-B.Datové prostředí je tvořeno devíti navzájem propojenými tabulkami a test simuluje práci u term inálu (včetně prod lev). Test je založen na OLTP (5 základních transakcí).

11 Benchmarking 2 Výstupem testu je hodnota vyjádřená poměrem cena/výkon. TPC definovala a používá řadu dalších testů: TPC D TPC H TPC R TPCW Benchmarks S výsledky testování je možné seznámit se na adrese K I byly ak tuální výsledky : Pořadí podle výkonu Database pmc Price/tpmC Operating System Oracle Oatabase 10g Enterprise Edition Oracle Oatabase 10G Enterprise Edition Microsoft SQL Server 2000 Enterprise Ed.64-bit Date Submitte 1,008, US$ HP UX 11.iv2 64-Bit Base OS 11/04/03 824, US$ HP UX 11.iv2 64-Bit Base OS 07/30/ ,646 Microsoft Windows Server 6.49 US$ 2003 Oatacenter Edition 64-bit 08/27/03 Oracle Oatabase 10g 4 768,839 8.SS US$ IBM AIX SL VS.2 09/12/03 Enterprise Edition s IBM OB2 UOB , S US$ IBM AIX SL VS.2 06/30/03 Microsoft SQL Server 2000 Microsoft Windows , US$ 09/19/01 Enterprise Edition V..dvanced Server 7 Microsoft SQL Server 2000 Enterprise Ed. 64-bit Microsoft Windows Server 707, US$ 2003 Oatacenter Edition OS/20/03 8 IBM OB2 UOB , US$ IBM AIX SL VS.2 OS/09/03 Oracle Oatabase 10g 9 Enterprise Edition S9S, US$ Sun Solaris 8 10/31/03 10 Microsoft SQL Server 2000 Enterprise Ed.64-bit Microsoft Windows Server S77,S US$ 2003 Oatacenter Edition 64-bit 10/09/03 Pořadí podle poměru cena/výkon 1 2 EJ EJ loatabase Microsoft SQL Server 2000 Standard Ed.SP3 Microsoft SQL Server 2000 Standard Ed. Microsoft SQL Server 2000 Microsoft SQL Server 2000 Standard Ed.SP3 s Microsoft SQL Server lltpmc IPrice/tpmC Operating System 20, US$ 20, US$ 119,S S US$ 119, US$ 18, US$ Microsoft Windows Server 2003 Standard Edition Microsoft Windows Server 2003 Server Microsoft Windows Server 2003 Microsoft Windows Server 2003 Standard Edition IOate.Subm1tted 109/08/03 07/14/03 IOS/12/03 107/1S/03 Microsoft Windows Server IIOS/29/03 I I

12 Benchmarking Standard Edition Microsoft Windows Server 2003 Standard Edition Microsoft Windows Server 2003 Enterprise Server SQL Server O Standard Ed.SP3 Pro dobrou orientaci na trhu je nutné zvážit prioritu výsledků testů. V případč požadav l.:u na absolutní výkon a spolehlivost bez ohledu na cenu systému jsou preferovány maximální propustnost a výkon. Dttležitým faktorem pro včtšinu zákazníků je ale pomčr cena/výkon. Z výsledků testů je zřejmé, že vyšší cena nemusí automaticky znamena t vyšší výkon. Doporu čen á literatura :

13 - Bezpečnost dat v BEZPECNOST DAT Po absolvovátú přednášky Bezpečnost dat budeme umět charakterizovat jednotli vé složky bezpečnosti dat definovat pojem integritní omezení vysvětlit mechanismus fungování integritních omezení aplikovat získané teoretické poznatky v rámci konkrétního SŘBD Složky bezpečnosti dat Oblast bezpečnosti dat zahrnuje velmi širokou problematiku. Pro potřeby této přednášky můžeme bezpečnost dat v databázi sledovat ze čtyř různých pohledů: integrita dat ochrana dat zotavení z chyb paralelní zpracování. Integrita da t (Integrity) zabezpečuje přesnost a korektnost dat v databázi. Jejím úkolem je zajistit, aby uložená data odpovídala skutečnosti. Úkolem ochrany dat (Security) je zabezpeči t databázi před neautorizovaným přístupem. Zotavení z ch yb (Recovery) zajišťuje obnovu stavu databáze v případě zhroucení systému. Paralelní zpracová ní (Concurrency) umožňuje současnou práci s daty různým uživatelům. 1. Jakéjsou základní složky bezpečností dat? Integrita dat Integrita dat zabezpečuje přesnost a korektnost dat v databázi. Na rozdíl od ochrany dat není integrita uživatelsky závis lá. Pravidla, která ji tvoli platí pro kategorie uživatelů naprosto stejně. Integrita je definována množ inou pravidel, která se nazývají integritní omezení. Integritní omezení (IO) jsou tvrzení, která mají platit o datech v databázi. IO by mčla být v úzkém vztahu k tvrzením na konceptuá lní úrovní, která platí o objektech reálného svčta. 10 zabezpečují, že data uložená v databázi j sou odrazem reality. Někdy se mohou nazývat také "bussines rules".

14 - Bezpečnost dat 2 - Aby tedy mohla být zajištěna integrita da t, musí být známa pravid la (10), která uživatel nesmí narušit. Tato pravidla musí být specifikována. Definici 10 provádí zpravidla návrhář databáze (data administrator) při návrhu schématu databáze. Protože IO se ověřují neustále, musí být v databázi zaznamenána. Jsou v zapsána v nějakém jazyku (podle konkrétního SŘBD) a uložena v systémovém katalogu. SŘBD musí sledovat veškeré uživatelovy operace a kontrolovat, zda při nich nedochází k narušení 10. K tomuto účelu musí m ít SŘBD integritní subsystém, který sleduje uživatelov y UPDATE operace (INSERT, UPDATE a DELETE ) a zjišťuje, zda nebyla některá 10 narušena. Příklad CREATE INTEGR ITY RULE prav idl o1 FOR osoba (osoba.vaha >O) ON ATIEMPTED VIOLATION reject ; Příkladje zapsán v hypotetickém jazyce: definice 10 I. 1'ádek - zadánijména pravidla. Pod tímtojménemje JO uloženo v systémovém katalogu a v případě porušeiií se totojmé no objevuje v chybových hlášeních. 2. řádek- definice logické podmínl.,y. Vpřípadě nesplnění této podmín/..y je JO narušeno. Podmínka se kontroluje při každé UPDATE operaci. 3. řádek- říká systému, co dělat ph porušení podmínky. Po spuš tění příkazu CREATE.. systém musí nejprve zkontrolovat aktuální stav databáze. Pokud je podmínka ale 'jjoií vjednou případě p orušena, musí se pravidlo zamítnou t,jinak je akceptováno a uloženo do systémového katalogu. Dále musí SIUJD monitorovat všechny operace vkládající nebo měnící hodnotu atributu váha v tabulce osoba a v případě pokusu o vložení hodnoty O nebo zápomého čísla musí tuto aktualizaci odmítnout. 2. V čem spočívá hlavní úkol integrity dat? Kategorie integritních omezení Integritní omezení můžeme rozdělit do čtyř kategorií: doménová pravidla atributová pravidla relační pravidla databázová pravid la Doménová pravid la Doménová pravidla definují množinu hodnot přípustn ých pro danou dom énu. Pravidlu se nepřiděluje žádné zvláštní jm éno,jeho jméno je stejné jako jméno vytvářené domény. Příklad y CREATE DOMAIN množství NUMERIC(9) FORALL (množství> O AND množství < 5000 AND MOD(množství,50)=0)

15 Bezpečnost dat 3 VytvoN doménu množství. Prvky této domény jsou nezáporná čísla menší než dělítelná 50. CREATE DOMAIN barva CHAR(5) VALUES ("černá", "žlutá", "bílá","modrá") Vy tvoří doménu barva. Jedná se v podstatě o výčtový typ. M1iže nabývat hodnot čemá, žlutá, bílá a modrá. Atributová pravidla Atributová pravidla specifikují doménu pro daný atribut. Nepoužívá se pro nč žádný explicitní příkaz CREATE ATTRIBUTE INTEGRITY RULE,ale j sou specifikovány přímo píi specifikaciatributů. Jméno pravidla je stejné jako jméno pliřazované domény. Pikaždé UPDA TE operaci se provádí bezprostřední kontrola hodnoty attibum,pokudje atributové pravidlo porušeno (pokoušíme se do sloupec v tabulce vložit jinou než povolenou hodnom), je operace zamítnuta. Zrušení pravidla se provádí automaticky při zrušení příslušného atributu. Relační pravidla Relační pravidla jsou pravidla,která se týkají atributů jedné relace (tzn. mohou dávat do vzájemného vztahu údaje v několika sloupcích jedné tabulky). Kontrola pravidla se provádí bezprostředně pliupdate operaci. PříkJady CREATE INTEGRITY RULE prav 1 FORALL s (IF s.město = "Pardubice" THEN s.psč = "532 03") ON ATIEMPTED VIOLATION REJECT; Definuje JO prav/. Totopravidlo se vztahuje k tabulce S. Pokud je ve sloupci město vložen text Pardubice, musí být ve sloupci PSČ hodnota Pokud by došlo k pokusu o vložení jiné hodnoty než , bude prováděná operace odmítnuta. CREATE INTEGRITY RULE prav2 s.status > O AND s.status < 100; Definuje JO prav2. Totopravidlo se vztahuje k tabulce S. Do atributu statusje možné vložit pouze nezápomé číslo menší než 100. CREATE INTEGRITY RULE prav3 IF sx.s# = sy.s# THEN sx.město = sy.město; Definuje JO prav3. Totopravidlo se vztahuje opět k tabulce S. Pokud se do atributu s# vložena stejná hodnota, musí být stejná hodnota i v atriblllu město. CREATE INTEGRITY RULE prav4 COUNT (p WHERE p.barva = "žlutá") > 1;

16 - Bezpečnost dat 4 Definuj e JO prav4. Toto pravidlo se vztahuje k tabulce P. V tabulce mus í bý t v každém okamžiku alespoň dva záz namy obsahující v atributu barva hodnotu žlutá. Databázová pravidla Databázová pravidla umožňují definovat omezení, která spojují dvč nebo více různých relací (tabulek) v databázi. V rámci definice omezujících podm ínek musí být definována i podmínka spojení tabu lek. Tato 10 se nekontroluji bezprostřednč,jejich konn ola se odkládá na skončeni transakce (COMMIT) a defaultní akcí při porušení prav idla není REJECT (odmítnutí operace) ale ROLLBACK (zrušení celé transakce). Poznámka - bliž$/ informace o transakcích budou tématem následujících pfedná$ek. Příklad CREATE INTEGRITY RULE prav5 IF prod.status < 20 AND prod.s# = zam.s# THEN zam.plat > Definuje JO pr av5. Toto pr avidlo se vztahuje k tabulkám Prod a lam. Pravidl o určuje, že žádný zaměstnanec se statusem menším než 20 nemzlže mít plat menší než JO Sja ký m typ em JOj ste se setkali v SŘDB MS Access? Doporu čená literatura: Pokorný J.. - Databázová abeceda, str Date Řešení úkolů: 1. Integrita dat, ochrana dat, zotavení z chyb, paralelni zpracování 2. Integrita dat zabezpečuje korektnost dat. Je definována množinou integritních omezeni. Pokud není žádné integritní omezení porušeno,je databáze konzistentní.

17 Datové modely DATOVÉ MODELY Po absolvování přednášky Datové modely budeme umčt popsat funkci databázového systém u charakter i zovat jednotl i vé složky databázového systému vyjmen ovat a stručně objasn it funkce SŘBD vysvčtli t Ílčcl datového modelování charakterizovat jednotlivé databázové modely Databázové systémy (DBS) Databázový systém (DBS) umožňuje shromažďovat různé informace. Tyto info mace ukládá a udržuje v plamém stavu na centrál ním místě. Databázový systém se skládá z několika částí : DBS = SŘBD + OBA + DB SŘBD- systém řízení báze dat- program,jebož Ílkol em je pracovat s uloženými informacem i (organizuje je a udržuje je v platném stavu), OBA- databá zová aplikace- program umožňujíc í manipulaci s daty (výbčry, prohlí žení a aktuali zace infom1aci) prostl-ed nictvím SŘBD, DB- databáze (báze dat)- množina infonnací, o nichž chceme mit přehled. Jednotlivé části DBS se mohou provozovat na jednom počítači nebo mohou být různých počítačích, h i storicky byly často SŘBD a OBA spojeny dojednoho programu. V dnešní dobč pa tli mezi nejpoužívanější způsoby zpracován i dat databázové systémy klient/server, v nichž jsou SŘBD a OBA od sebe oddčleny. I. Uveďlepříklad a/espojíjeduoho databázového systému (DBS) a alesp(ní dvou ystémti řízeuí báze dat (SŘBD). Báze dat Data uložená v databázi jsou tvořena informacemi,o nichž potřebujeme mít přehled. V databázi jsou zpravidl a uloženy info1mace o nějaké skupině objektů (elllil),které je možné určitým zpt1sobem definovat. Násl edtuící příklad ukazuje databázi pacientů praktického lékaře. Každ.ý zázuam (věta) v databázi obsahuje i nformace ojednom pacientovi ajednotlivépofožky (pole) zaznamenávaj í detaily o příslušném pacientovi. V příkladu jsou zachyceny tři záznamy (pacienti) a každý záznam obsahuje čtyři položky (příjmení, křestní jméno, rodné čí slo a váhu) pro každého pacienta. v Systémy řízení báze dat (SRBD) Aby bylo možné pracovat se shromážděnými daty,musí SŘBD poskytovat ji sté základní služby:

18 Datové modely 2 Pokud chceme na disku nějaké infonnace uchovávat, musí nám SŘBD poskytnou služby pro definici dat, pomocí nich můžeme určit záznamy a položky v databázi. Kromě vl astní defin ice dat musí systém zajisti t i údržbu dat- musí spravovat i nfotmace na disku a například být schopen vyhledat určitý konkrétní ptvek databáze. Krom ě vl astní h o uchováván í dat musíme mít možnost s daty pracovat. Manipulace s daty představuje možnost vkládat nová data do databáze,vybírat nebo tří dit potřebné in fonnace a aktual izovat nebo rušit uložené záznamy. Pokud budou data pouze uložena na disku a uživate l nebude mít možnost zobrazi t j e na monitoru nebo ve fom1ě tištěné sestavy, bude tuto možnost pravděpodobně postrádat. Systém proto zpravidla poskytuje i ji sté metody pr ezentace dat uživateli - zobrazování dat. Pro o:načení Si?I1D be:stn=eb :abra:a ání dat se éa.sto fxjlóvá termín databá:avj;stroj. Protože v bázi dat jsou zpravidla uchovává n y infonnace, mající pro uživatele vel ký význam, je nezby111é, aby SŘBD obsahoval mechanismy zamčující správnost a úplnost dat v databázi.mechan ismy integrity dat chrání data před vněj ším i okolnostmi (např.výpadek proudu) í chybnými změnami provedenými uživa tel i. Tyto mechanismy maj í oh romný význam zvláště u velkých víceuživatelských databází. SŘBD tedy poskytuj e následující služby: Definice dat (Data Defini tion) Údržba dat (Data Maintenancc) Manipulace s daty (Data Manipulation) Zobrazování dat (Data Display) llllegrita dat (Data in tegrity) 2,/(terou ze pěti <ák/adních s/uieb nuiže v nékte1ýchpřípadech SŘBD postrádat? jak se takový SŘBD nazývá? Databázový model Databázový mod el je ve své podstatě popisem fungováni databáze. Jeho hlavním úkolem je popsat, jakým způsobem jsou data zplístupňována uživatelům a programá toritm tvořící m databázové apli kace. Uživate li se jev í data jiným zet'tsobem než jak jsou ve skutečnosti uložena. Napřiklad uživatel vi dí požadovaná data jako dvojrozměrno u tabulku Re. ené projekty, zatí mco uvnitř systému jsou tato data uložena ve dvou tabulkách Pracovník a Projekt, kde tabulka Pracovník obsahuje údaje ojedno tlivých zaměstnancích řešících projekty a tabul ka Projekt údaje o projektech. V systému je uložen návod popi sující,jaký m způsobem je možné z tčc hto dvou tabulek vytvolit výslednou tabulku Ře.'iené projekty, obsahující údaje o projektech i jej i ch řeš i telích. A úpl ně jiný m způsobem jsou data uložená na disku,kdy j ednotl ivé řád!ky tabulek jsou uloženy jako záznamy v sektorech a ex i stují k ni m j eště další pomocná data, která urych luj í přístup k požadova ným údajům. V datovém modelu jsou rovněž popsány vztahy mezi jed notlivými obj ekty. Pii datovém m odel ován í se využívá abstrakce - od jednot l ivých kon krétních entit (např. student Nový) se odvozují typy entit (např.student),k teré se od konkrétní en tity l iší tí m,že jsou charak tetizovány pouze vybraný mi vlaslllostnl i. Například typ en tity STUDENT má vlastnosti (atri buty) j méno,datum narození,.... Výsledkem m odel ování je logické schéma databáze. Datový model je tedy jistý nástroj pro tvorbu schématu databáze.podobným nástrojem jsou i konceptuáln í modely (např. E-R model), výsledkem jehož použití je koncepntálni schéma. Databázové modely zpravidl a ncpopisuj í vlastní uložení dat na disku.tčmi to probl émy se zabývaj í tvůrc i konkrétních SŘBD. Rttzné SŘBD jsou založeny na různých databázových modelech: systémy pro správu soubori1 hierarchické DBS síťové DBS relační DBS objektové-relační DBS

19 Datové modely 3 objektové DBS 3. K jakému účelu slouží da1abázový model? Systémy pro správu souborů Systém pro správu souborů (File Management System - FMS)je nejjednodušší databázový model a jako jediný z databázových modcli1 přímo popisuje zpi1sob uložení dat na disku. V FMS j sou všechny pol ožky ukládány sekven čně do j ednoho souboru, ve tvaru podobném následuj í cí ukázce: Pokud je třeba nají t určí tou infom1ací, je nutné prohledat celý soubor od začátku. FMS byla historicky první použitá metoda pro uložení dat v databázi. Výhodou FMS je jeho jednoduchost. Tyto systémy mají řadu nevýhod: mezi uloženými údaji ncní žádný vzájemný vzta h programátor tvořící databázovou aplikaci musí přesně vědět, jak j sou data v souboru uložena. vznikají značné problémy s integritou - SŘBD ncprovádí žádné kontmly a za správnost ukládaných dat odpovídá aplikace. Pokud do jedné databáze přistupttic několik různých aplikaci s rozdílnými požadavky na pří pustn é hodnoty položek, mohou vznikat značné potíže. pomalé vyhledávání infonnaci -pokud potl-cbujcmc najít nějaký údaj, musíme databázi prohledávat od začátku až k hledané položce. obtížné změny struktury databáze- pokud chceme do databáze doplnit údaj o výšce pacienta, musí SŘBD přečíst každý záznam, zapsat jej do pomocného souboru a na jeho konec doplnit údaj o výšce. Po přečteni všech záznamt'1 původního soubom bude nutné tento soubor zmšit a pomocný soubor přejmenovat jeho jménem. 4. Víle (například z jiného předmělu),jak se nazývá typ sekvenčního soubortt, k1e1ý využívá FMS? Znáte nijaké nějaké přístupové me1ody urychlující prohledávání tohoto souboru? Hierarchický databázový model Hierarchické databázové modely (HDS) tvoří další stupeň ve vývoji databázových modeiíl. HDS organizuje data do strom ové stmktury. Ve stromě je vždy j eden kořenový uzel,jehož "vlastn í kem" je SŘBD.Z kořene vedou ukazatele k ukazate le k uzlúm!.úrovně v nichž začíná vl astní databáze.každý uzel první úrovně m ilže mít několik synovských uzlů 2.úrovně apod. Jednot l ivé datové položky jsou umístě n y na různých úrovních (uzlech) podél větví vycházejících z kořene. Na fyzické struktuře dat na disku nezáleží, tento úkol řeší konkrétní SRBD. Obvykle se používá zřetězený seznam s ukazate li.v tomto případč je možné přidávat nové pol ožky na jednotl i vých úrovních- stačí pouze zmčnit hodnotu ukazate le na sourozen ecký uzel. Z diagramu HDS je ale obtížné určit, z jak ých položek se skládá záznam. Velmi obtížná je zmčna strukrury databáze- v tomto připadč je nutné vytvořit novou stmkturu a překopírovat do ni údaj e ze stávaj ící -i zmčna defin ic úrovní. Tento databázový model umožňuje definovat vztahy I :N a efcktivnčjšim způsobem je v nčm možné realizovat vyhledáváni infonnaci. Pii prohledáváni neni nutné prohledávat celý soubor, ale při vhodném rozloženi požadavku na jednotl ivé složky stačí prohledá vat příslušnou část stromu. HDS neumožňuje definovat vztahy M:N. Tento zjednodušený síťový model (i když v li teratuře bývá uváděn samostatně) byl využíván v době magnetických pásek, přístup k datům byl pouze sekvenční,od tohoto modelu se upustilo s příchodem magnetických médii a z důvodu nári1stt1 redundantních dat.

20 Datové modely 4 Síťový datový model Síťový databázový model (Network Database System- NDS) vycházející z programovací hojazyka Cobol popisuje databáze, v n i chž existují vztahy M:N. NDS j e založen na ukaza telích, které vyjadřuj í vztahy mezi jednotliv ými položkami. Vzájem né vztahy mezi množi nami (např. např. množina studentů, m nožina předmětů,...) mohou být velm i komplikované. NDS má obdobné nevýhody týkají cí se zmčny struktury databáze je HDS. Pro označení NDS se často používá tem1ín CODASYLovské databáze, protože první písemná specifikace byla publikována konferenci CODASYL (Confcrence on Data system Languages) v roce S. V čem spočívají nejvélsí nevýhody HSD a NDS? Jaký je rozdíl mezi HDS a NDS? Relační datový model Relační databázový model (Rclational Da tabase System - RDS) pochází z roku 1969, kdy E.F.Codd popsal model databází založený na matematickém pojmu relace. V RDS se nevyužívají rodičovské vztahy mezi jednotlivými položkami.v tomto modelu jsou data organizována do uspořádaných n-tic. Jednotl ivé n-tice před stavuji řádky tabu lky. Každý záznam je tedy řádkem tabulky a každá položka je sloupcem tabulky. Relačni databáze je tedy soustava v čase se měnících tabulek s uspořádanými sloupci. Pii definování schématu databáze j e využívám proces normalizace, při němž dochází k dekompozici dat do podm noži n pro jed notlivé tabulky. Výhody ROS : reali zuje vztahy M :N snadná změna schématu databáze - změna struktury spočívá v přidáni nebo zrušen i sl oupce v tabulce a neovlivní ostatn í tabulk y v databázi zachování integrity dat - pokud je SŘBD skutečně rel ační musí znemožnit přistup k datům ji nými kanály než prostředni ctvím sebe sama (data musí být uložena ve tvaru vylučuj ícím plístup pomocí ji ného programu než SŘBD) programy pracují s daty an i ž by znaly jejich umístčn í v databázi- k veškeré manipulaci s daty využívají služeb SŘBD. 6.Jak je definována relace v RDS? Objektově-relační databáze Protože mnoho současných aplikací je založeno na relační technologii, řada výrobců se pokusila integrovat objekty a relace dojednoho systému a vytvoři t objektové relační technologii (OROS). V 90. letech se obje vily tři možné přístupy : objek10vé relační dolové mauaže1y mapující objekty do relačních tabul ek relační obálky tvořené lmibovnam i,k teré se přilinkují k relační databázi. Relační obálka detekuje zmčny objektit a promítá je pomoci SQL do relační databáze a zmčny v relační databázi promítá do objcktit

21 Datové modely 5 objektové relační databáze uk ládající data pomocí relací i jako objekty. V rozšíření směrem k objektt'un se výrobci orientují před evším na data reprezentovaná jako vel ké objekty (tex ty, obrázky,...). V klasi ckých ROS je sice také možné tyto objekty do databáze uloži t,ale protože tyto systém y nemohou pracova t sj ejich struk turou, není možné v n ich vyhledávat pod le obsahu (celý objekt vystupujejako atomická hodn ota). OROS bývají oproti ROS oboh aceny o uživatelsky definované datové typy a uživatelsky deflnovanéfimkce. Mezi objektově rel ačn í databáze řadíme n apř. Oracl e, který je rozšířen o vlastní abstraktní datové typy,kolekce, uk l ádáni velkých datových objektů, odkazy, objektové poh l edy, metody. Objektově orientované databáze Objektově ori entovaný databázový systém (OODS)je databázový systém vybudovaný pomocí objektově orientovaných metod jehož každá komponenta zapouzdřujc data a funkce, přičemž komponenty dědi atributy a chování z jinýc h komponent a navzáj em komunikuji pomoci zpráv. P1vní pokusy o vytvoření objektově orientova ných databázi vycházel y z ex istence objektově orientovaných programovacích jazyků. Doporučená literatu ra: Sal emi J. - Databáze kl ien úserve r,str. I - 17 Pokorný J.- Databázo vá abeceda - str.43-44; ; ; Connoly T. - Database system s, srr I 032 Řešení úkolů: I. Příkladem d tabázovéh o systému může být n apříklad systém I SH sloužící k evidenci studijní agendy na FIS, představiteli SRBD jsou napřík lad MS Access, MS SQL Server, lnformix, 082 apod. 2. SŘBD nemusí nutn ě obsahovat prostředky pro zobrazován í dat. Tuto fun kci může převz ít databázová aplikace. SŘBD bez m ož nosti zo bra zování dat se nazývá databázový stroj. 3. Databázový model j e nástroj pro tvorbu schématu databáze. Jeho hlavním úkolem je popsat způsob zpřístupňová ní dat uživatelům a programátorům. ;]!.!1. 4. Halda (heap); proh ledává ni souboru j e možné urychlit například indexací nebo využ itím hašovacích funkcí. wff!. S. V případ ě pou žití HDS a N DS se velmi obtížně provádí zm ěny schématu databáze. NDS na rozdíl od HDS umožňuje realizovat vztahy M:N. 6. Relace nad množinami Dl'..., 0 j e libovolná podmnožina kartézského součinu D x... x

22 Ochrana dat OCHRANADAT Po absolvování přednášky Ochrana dat budeme umčt vyjmenovat aspekty bezpečnosti dat charakterizovat dva základní přístupy k bezpečnosti dat vysvětlit princip datového kódování použít jednoduch ý kódovací algoritmus Aspekty bezpečnosti dat Ochrana dat (DataSecurity) spočívá v zabezpečení dat před neautorizovaným přístupem. Existuje celá řada aspektů bezpečnosti. Mezi nejdůležitější z nich patří napřík lad aspekty: právní, sociální a etické fyzická kontrola politické otázky operační problémy HW kontro ly bezpečnost operačního systému (OS) specificky databázové otázky Právní, sociá lní a etick éotázky se zabývají například problémy, zda má konkrétní osoba požadující nčjaké informace právo tyto informace (např.plat ostatních zaměstnanců) vi dčt. Tuto problematiku řeší napřík lad i zákon na ochranu osobních informací. Každá organizace musí mít vytvořen systém pravidel, která určují kdo a jaké operace může s daty provádět (politické otáz ky). Fyzická kontrola může být realizována například umístěním počítače do uzavřené místnosti.v systému se zpravidla používají přístupová hesla, je třeba definovatjak jsou utajena a jak často se mění (operační probl émy). HW kon trolymohou být založeny na bezpečnostních charakteristikách procesorovéjednotky. Do problematiky b ezpečností OS patří například otázky, zda OS ruší obsah úložišť a datových souborů, když už je nepotřebujeme. Přístupy k bezpečnosti dat Existují dva zák ladní plístupy k bezpečnosti dat- diseretíonary a mandatory. Moderní SŘBD zpravidla zaji šťují jeden z nich, ve výjimečných případech oba přístupy. V obou přístupech se mluví o datových objektech. Datovým objektem může být cokoliv, co je obsaženo v databázi. Najedné straně můžeme tímto pojmem označit úplnou databázi a na straně druhé může být takovým objektem jedno jediné pole v tabulce. Ať systém používá libovolný typ kontroly, zásadní otázka- kdo může s čím provádčt operacenespočívá v technickém provedení. Tato otázka je politická. Musí ex istovat ustanovení vnč systému,

23 Ochrana dat 2 které určuje příslušná pravidla. SŘBD následně tato pravidla bude technicky provádět. Výsledky politických ustanovení musí být sděleny systému pomocí nějakého jazyka definujícího přístupová práva opakovatelné systémem (uloženy v katalogu ve formě sccurity rules) Dále musí být pro kontrolu daného přístupu (kombinace user+ objckt+opcracc) označeno aplikovatelné bezpečnostní prav id lo a vlastní kontro lu bude provádět bezpečnostní subsystém SŘBD. Aby by l systém schopen určit, které bezpečnostní pravidlo je aplikovate lné pro daný přístup, musí být schopen určit zdroj požadavku - uživatele. Uživatelé se do systému proto hlásí pomocí své ídentilikace (většinou musí zadávat i heslo pro ověření své totožnosti). I.Jakýje obecný po stup při zajišl'ování ochrany dar v databázi? Discretionary control Většina SŘBD má implementovánu discretionary control. Discretionary control je založena na myšlence, že každý uživatel má definována různá přístupová práva (privi legia, autorizace) k různým objektům. Různí uživatele mohou mít různá práva na tytéž objekty. Tato metoda je velm i flexibiln í. Pro delinici bezpečnostních pravidel je potřeba jazyková podpora. Obecný příkaz by mčl míl tyto části: CREATE SECURlTY RULE rule GRANT privilege-commalis t ON expresion TO user-commalist ON ATIEMPTED VIOLAT ION action Část CREA TE SECURITY RULE delinuje jméno pravidla (rule). Pravi dlo je pod tímto jméne m uloženo v systémovém katalogu. Jméno se bude objevovat ve zprávách reagujících na porušení příslušného pravidla. V části GRANT určujeme, jaký typ operací může uživate l provádčt (privilegia- RETRIEVE- výbčr dat-, lnsert, U PDATE, DELETE, A LL). Část ON definuje s jakými datovými objekty. Pomocí výrazu (expresion) lze speci fikovat tabulk y, sloupce i množiny záznamů. Jedná se o výraz relační algebry, který určuje rozsah platnosti pravidla (např. položky tabulky kde ve sloupci město není hodnota Praha). V části TO je uveden seznam uživatelů, kteří mají dané privilegium přiděleno. A ac/ion v části ON ATTEMPTED VIOLA TION je specifikováno,jak bude systém reagovat na porušení prav idla (např. zamítnutí přístupu, přerušení programu, záznam do speciálního logu,...) Mandatory control

24 - - Ochrana dat 3 Mandatory contol je postavena na filosofii tříd datových objektů a uživatel ů. Je použitelná v databázích, kde data mají spíše statickou a přesně klasifikovanou stmktum (např. armáda, v láda). Každý datový objekt je označen jistou klasifikační úrovní (classificatin Ieve!) a každý uži vatel má jistou clearance úroveň. Jednot livé úrovně jso u striktně uspořádány - například : veřejné důvčmé tajné přísně tajné. K danému datovému objektu může přistupovat pouze uživatel, který má přidělenu odpovídající elearence úroveň. Přístup k datům se řidi těmito dvěma pravidly (mějme uživatele Ia datový objekt J): uživateli může vidčt objekt J je n tehdy,je-li clearance Ieve!Ivětší nebo rovna elassifíeation Ieve! J uživateli může modifikovat objekt J,je- li elearance Ieve! I = classification Jeve! J Bezpečnostní třídy Otázky týkající se bezpečnosti jsou dokumentovány v dokumentech U.S. Department of Defcnse: Tmsted Computer System Evaluation Criteria (Orange Book) Trustcd Database Management System lnterpretation (Lavender Book ) Dokumen ty definují čtyři bezpečnostn í třídy: D - minima! proteetion C - diseretionary proteetion o dvě podtřídy CI <C2 přístupová kontrola je podřízena vlastníku dat CI - oddčlení dat od uživatelů C2- předává odpovědnost "najmutým" procedurám,... B - stmctured protection o podtřídy BI <82<83 8I -každý datový objekt je označen svojí klasifikační úrovní 82 -vyžad uje identifikaci a eliminaci skrytých kanálů (např. možnost získat odpovědi na ilegální dotazy z odpovědi na legální dotazy) 83 -vyžaduje audit a podpom zotavení A - verified protection o vyžaduje matematický důkaz, že bezpečnostní mechanismy jsou konzistentní je adekvátní podpora odpovídající bezpečnostní politiky Několik komerčních produktů má v současnosti implementovánu 8I,ji nak se zpravidla provádí kontroly na úrovni C2 (t.j.dicsretionary control) Podpora SQL SQL má jazykovou pouze pro discretionary control. Je možné použit příkazy GRANT privileg i a ON object TO users

25 - Ochrana dat 4 - WITH GRANT OPTIONS REVOKE nebo mechan ismus pohledu (view). 2. Kletý z bezpečnostních pnstup1i umožňuje definovat pns111pová práva k jednotlivým objekt1i pro každého uživatele? Datové kódování Výše uvedené bezpečnostní mechanismy se používají proti neoprávnčnému postupu uživate lů, kteří pro přístup do databáze používají normální přístupové cesty. Cílem tčchto mechanism u je zabezpečit, že uživatel bude manipulovat pouze s daty, na která má oprávnčni. Můžou ale existovat i "uživatelé", kteří nepřistupuji k databázi tak, že se přihlásí pomoci svého uživatelského jména, ale používají "bypass" systému.například fyzické přesunutí části databáze nebo využ ívají odposlech na komunikační lince. Před touto kategorii útočníků ochrání data datové kódováni. Při datovém kódováni se citlivá data uchovávají nebo přenášejí po komunikačních linkách v kódovaném tvana. Při datovém kódováni je plaiutext (původní nekódovaná data) kódován pomocí kódovacíh o a lgoritmu a výsledkem jsou zakódovaná data (ciphertex t). Do kódovacího algoritmu tedy vstupuje plaintext a kódovac í klíč a vystupuje ciphertext. Kódovací algoritmy jsou veřejné, klíče musí zůstat t jné. Existují dva základní přístupy ke kódování: substitu ce (nahrazení znaku plaintextu jinými znaky) per mu tace (znaky plain textu jsou přeházeny do jiné sekvence) Příklad: Následující příklad ilustruje metodu substituční. Mčjme nezakódovaný text (plaintext): NA TY LOUCE ZELEN Y Při kódování budeme používat kódovací klíč: PES Pro zakódování použijeme tento postup: I. Rozdělíme plaintext do bloku stejné délky jako je klíč (rj. 3 znaky). Pro lepší čitelnost nahradíme mezeru znakem + NA+ TY+ LOUCE+ ZEL ENY 2. Nahradime každý znak plaintextu číslem podle kódovací tabu lky: 00. mezera OI A 02 B 09 - I 10.J ll-k 18 R 19. s 20-T

26 Ochrana dat c 4 - D 05- E 12- L 13-M 14- N 21 - u 22 - v 23- w 06- F X 07- G 16- p 25- y 08- ll 17-Q 26- z tzn. N nahradíme 14, A nahradíme Ol a+ zaměníme za 00. Místo původního textu dostáváme řetězec čísel: Stejné nahrazení provedeme v kódovacím k líči a dostáváme: Každý zakódovaný blok plaintextu sečteme s klíčem. Sčítáni budeme provádět vždy v dvouciferných blocích. Aby bylo možné provést zpětnou substituci; jako výsledek zapíšeme zbytek po dělení číslem 27 (modul u 27). tzn.první blok je 140I 00 a klíč je 30- v kódovací tabulce máme pouze čísla 0-26, proto musíme vypočítal 30 mod 27 = 3,jako výsledek tedy zapíšeme 03 O I + 05 je 6 -jako výsledek zapíšeme je 19 - jako výsledek zapíšeme 19 prvním blok tedy nahradíme skupinou cifer dostáváme : 140I Podle kódovací tabulky nahradíme nazpět čísla znaky. Dostáváme zakódovaný text (ciphenexl) CFS ICS ATM SJS OJD UTQ

27 Ochrana dat 6 N A T y LOUCE Z E L E N Y P E S kódcwact 00 + (mexera) 09 I 18 - R tnbuaiii Ol - A 10 - J 19 - s 02-8 ll - K 20 - T 03 - c 12 - L 21 - u 04 - o 13 - M 22 - v os - E 14 - N 23 - w 06 - F 15 - o 24 - X 07 - G 16 - p 25 - y 08 - H 17 - Q 26 - z Kódovací standa rdy Mezi nejznámčjši kódovací standardy patři DES, který kombinuje oba přístupy. Tento standard zajišťuje vysokou bezpečnost. Plainuw je ro=délen do 64 bitov_vch b/oktl. ka:!dý blokje kódován =apomocí 64-bitové/w klíče (56 dat.bittl + 8 parimích 2 56 mo:!ll);cit klíčtl}. Blok je =akódováll s potótím počáteč11i permtttttce,pak nás/edtife 16 substifttčních krokl! a na =ávěr se ap/iktife permutace inver=ní k ptivodni. Na odlišné lilosofii je založen public key. v jeho případě je kódovací algoritmus i kliče veřejně dostupné.každý muže kódovat plaintext do ciphcr textu. Ale odpovídající dekódovací klič je tajný (a nemi'1žc být odvozen z kódovacího klíče). A, Bjsou dva uživatelé, kteh chtějí navzájem komunikovat pomocí PK. A i B budou publikovat svzij kódovací algoritmus včetně kódovacího klíče, ale utají dekódovací algoritmus a klíč. ECA, ECB jsou pnslušné kódovací algoritmy (veřejně známé) DCA, DCB jsou dekódovací algoritmy (DCA zná pouze A a DCB zná jen B) platí, že pokud text zakódujeme kódovacím algoritmem a následně na zákódovan;í text použijeme pnshršnj í dekódovací klíč, získáme p1ivodní text: DCA(ECA(x)) = x Uživatel A chce poslat plaintext P uživateli B. Nejprve aplil.."l!ie DCA (znájen pouze A) na Pa výsledek zakód uje pomocí ECB (kódovací algoritmus Bje veřejně známý) a pošle B. c = ECB(DCA(p)) Uživatel B přijme ciphertext c, nejprve na něj aplikuje DBB (znájej pouze sám) a později ECA {kódovací algoritmus A je veřejně známý): ECA(DCB(c)) = ECA(DCB(ECB(DCA(p))) = ECA(DCAúJ)) p

28 Ochrana dat 7 3.Před!.ým chrání datové kódování? Doporučená literatura: Pokorný J.. -Databázová abeceda, str Date C.J. - An introduction to database systems, str Řešení úkolů: /.Definice přístupových práv ajejich uložení v systémovém katalogu - při tvorbě databáze nebo později. Pfí požadavku uživatele- ověřeníjeho totožnosti, zjištění jakou operaci a sja!.ým objektem bude provádět, vyhledání příslušného security rules ajeho aplikace. 2. Discretionary controf. 3. Datové kódovaní chrání proti odposlechu dat při komunikaci nebo pokud jsou používány k přístupu k databázi nestandardní cesty.

29 Paralelní zpracování PARALELNÍZPRACOVÁNÍ Po absolvování přednášky Paralelní zpracování budeme umět vysvětlit princip paralelního zpracování vyjmenovat a popsat základní problémy parale lního zpracování vysvětlit základní myšlenky uzamykacích protokolů popsat dvoufázový uzamykací protokol Problémy paralelního zpracování O paralelním zpracování hovoříme tehdy,_pokud SŘBD přistupuje v jednom čase k jedněm dattun pomocí více transakcí. V tomto případě SRBD potřebuje nějaký mechanismus, který zabezpečí bezpečnost para lelního zpracování (concurency control). Pokud je současně prováděno více transakcí nad jednou databází, nemusí běžet sekvenčně za sebou, ale mohou se navzájem prolinat. Plánování současného bčhu transakcí provádí rozvrhovač. Problémem paralelního zpracování je, že prolínání operací jednotlivých transakcí vede obecně k nekon zistentnímu stavu databáze. Při souběhu několika transakcí, z nichž každá je správná, mť1že nastat několik situací, v nichž budou transakce dávat nesprávný výsledek: ztráta aktualizace dočasná aktua lizace nekorektní použití agregačních funkcí Ztráta aktualizace Problém ztráty aktualizace je možné ilustrovat následujícím příkladem. Mějme dvě transakce A a B. Obě transakce pracují nad databází cestovní kanceláře a aktualizují informace o počtu rezervací. Transakce A ruší pět rezervací: Transakce B čtyři rezervace přidává : READ(x) READ(x) x := x-5 x := x+4 WRITE(x) WRITE(x Na začátk u máme v databázi registrováno 80 rezervací. Pokud nejprve proběhne celá transakce A a po jejím ukončení transakce B, bude v databází 79

30 Paralelní zpracování 2 rezervací: Transakce A: READ(x) x := x-5 WRITE(x) Transakce 8: READ(x) x := x+4 WRITE(x) přečte x=80 vypočítá x=80-5 zapíše x=75 přečte x=75 vypočítá x=75+4 zapíše x=79 Transakce A Transakce B Pokud nejprve proběhn e celá transakce Ba po jejím ukončení transakce A, bude v databázi 79 rezervací: Transakce 8: READ(x) x :=x+4 WRITE(x) Transakce A: READ(x) x := x-5 WRITE(x) přečte x=80 vypočítá x=80+4 zapíše x=84 přečte x=84 vypočítá x=84-5 zapíše x=79 Transakce A Transakce B Když se budou transakce A a B pro línat, může nastat situace: Transakce A: Transakce B: READ(x) x := x-5 WRJTE(x) READ(x) x := x+4 WRITE(x) přečte x=80 vypočítá x=80-5 přečte x=80 vypočítá x=80+4 zapíše x=75 zapíše x=84

31 Paralelní zpracování 3 Transakce A Transakce B V tom to případě, ačkoli v v databázi mělo být u loženo 79,je počet rezervaci změněn na 84. Problém lze obecně popsat takto: Transakce B mění hodnotu viděnou v čase t2- tj. tu samoujako v čase t1 (t1<12), tím se úplně <Jrácf z měna provedená transakcí A. Dočasná aktualizace Problém dočasné aktualizace je možné ilustrovat následujícím příkladem. Mějme opět dvě transakce A a B. Transakce A ruší pět rezervací: READ(x) x := x-5 WRITE(x) Transakce B čtyři rezervace přidává : READ(x) x := x+4 WRITE(x Na začátku máme v databázi registrováno 80 rezervací. Při zpracován i transakce A dojde k (lokální) chybě a transakce mus í být vrácena zpět. Pokud nej prve probíhala transakce A, byla přerušena a vrácena zpět, a po jejím ukončení proběhla transakce B,je v databázi 84 rezervací. Pokud nejprve proběhla transakce B, změnila počet rezervací na 84. Po jejím ukončeni by la spuštěna transakce A, nebyla ale dokončena a všechny změny, které provedla byly vráceny zpět. Také v tomto případě je v databázi 84 rezervací. Když se budou transakce A a B pro línat, m uže nastat situace: Transakce A: Transakce 8: READ(x) přečte x=80 x := x-5 vypočítá x=80-5 WRJTE(x) zapíše x=75 READ(x) přečte x=75 chyba (ROttBACK) x := x+4 WRJTE(x) vypočítá x=75+4 zapíše x=79

32 Paralelní zpracování 4 Transakce A Transakce B V tom to případč, ačkoliv v databázi mčlo být uloženo 84,jc počet rezervací zmčnčn na 79. Problém lze obecně popsat takto: Transakce ll 1 illí {m. ěnyjiné, zatím nepotvrzené transakce A a na jejich základě pr{)l >ádí 11/astní ;.měny. Pokudje tmnsakce A 11rácemt zpět, pra cuje B se iptttnými daty. Po ROLLBACK A bude aktualiz ace pro1 edená ll z tracená a 11ýsledek chybný. Nekorek tní pou žití agregačních fun kcí Nekorektní použiú agregačn ích funkcí můžeme ilustrova t na da lším příkladě: Mějme opět dvě transakce A a B. Obě transakce pracují nad bankovní databází s j ednotlivými konty. Transakce A sčítá částky na kontech I, 2 a 3: Transakce B převádí Kč z konta 3 na konto sum=o READ(konto3) READ(kon tol) konto3=konto sum=sum +konto I WRJTE(konto3) READ(konto2) READ(konto I) sum=sum+konto2 konto I=konto I + I O 000 READ(kon to3) WRITE(konto I) sum=sum+konto3 N a začátk u máme v databázi na kontě I Kč, na kontě Kč a na kontě Kč. Pokud nejprve proběhne celá transakce A a po jejím ukončení transakce B, bude na všech třech kontech dohromady - Í výsledek transakce A Kč: Transakce A: sum=o READ(kontol) sum=sum+konto I READ(kon to2) sum=sum+konto2 READ(konto3) sum=sum+konto3 Transakce ll: READ(konto3) konto3=konto3 - I O 000 WRITE(konto3) REA D(konto I ) konto I =konto I + I O 000 WRJTE(kon to I ) sum =O přečte konto I= vypočítá sum= přečte konto2= vypočítá sum= přečte konto3= vypočítá sum= = 000 přečte konto3= vypočítá konto3= OOt zapíše konto3= přečte konto I = vypočí tá konto 1= I O 000 zapíše konto I =

33 Paralelní zpracování 5 Transakce A Transakce B konto1 = konto3 = Pokud nejprve. pr bčhn e celá transakce Ba po jejím ukončení transakce A, bude na všech třech kontech dohromad y - 1 vysledek transakce A Kč: 7í ansakce 8: READ(konto3) konto3=konto3 - I O 000 WRITE(konto3) READ(kontol ) konto I =konto I + I O 000 WRITE(konto 1) Transakce A: sum=o READ(kontol) sum=sum+konto I READ(konto2) sum=sum+konto2 READ(konto3) sum=sum+konto3 přečte konto3= vypočítá konto3= ! zapíše konto3= přečte konto I = vypočítá konto1= zapíše konto I = sum=o přečte kontol = vypočítá sum= přečte konto2= vypočítá sum= přečte konto3= vypočítá sum= IOO =

34 Paralelní zpracování 6 konto1 = Transakce A Transakce B konto3 = Pokud připustíme, aby se obč transakce prolína ly, mťažcmc dostat chybný výsledek Transakce A : sum=o READ(konto l) sum=sum+konto I READ(konto2) sum=sum+konto2 READ(konto3) sum=sum +konto3 Transakce B: READ(konto3) konto3=konto3 - I O 000 WRJTE(konto3) READ(konto I) konto I =konto I + I O 000 WRITE(konto I) sum=o přečte konto1= vypočítá sum= přečte konto2= vypočítá sum= OOO=S 000 přečte konto3= vypočítá konto3= I O 00 zapíše konto3= přečte konto I = vypočítá konto I= I O 00( zapíše konto I = přečte konto3= vypočítá sum= = 000

35 Paralelní zpracování 7 konto1 = Transakce A Transakce B konto3 = V tom to případč, ačkoliv mčl být součet částek na kon tč Kč,j e pouze IlO 000 Kč. Uzamykací protokoly Předchozí problémy se můžeme pokusit vyřešit pomocí myšlenky: Pok u d transakce potřebuje přistupovat k n ějakému objek tu (typicky db položce) uzam kne jej a ostatn í transakce jej nem ohou měnit. Tato transakce má potom možnost provádčt své operace a má zaručeno, že objekt j e přístupn ý jen j í. V praxi se používají dva typy zámků: X-lock (výhradní zámek, zámek pro zápis) S-lock (sdílený zámek, zámek pro čtení) Jestliže transakce A umístí na položkup X lock,je :l.ádost transakce B, která chce umísti t zámek na tutéž položkup odmítnuta. Jestliže transakce A umístí na položkup S lock, pak je žádost transakce 8: o X lock na tuto položku odmítnuta o S loek na tuto položku povolena Tuto strategii popisuje matice kom patibility : I X lock ll S lock ll - I I X lock ll N ll N ll y I I Slock ll N ll y ll y I I - ll y ll y ll y I Máme položku p, transakce A jí má uzamčenou zámkem (hlavičky sloupců) a transakce B chce na tuto položku umístit zámek (!.sloupec). znamená, že došlo ke konniktu a požadavek transakce B je odmítnut, Y znamená, že transakce B byla úspčšná.

36 - Paralelní zpracování 8 - Uzamykací protokol : I. Transakce, která chce přistupovat (číst) k položce, si j i musí uzamknout S lockem 2. Transakce, která chce mčnit položku, ji musí uzamknout X lockcm (jestliže má ji ž tuto položku uzamčen u S lockem, musí ho změnit na X lock) 3. Jestliže je požadavek transakce B na uzamčení položky zamítnut (A má zámek), transakce přechází do čekajícího stavu, dohd transakce A položku neodemkne. Systém musí garantova l, že 8 nebude čekat věčně- požadavky na zámek mohou býl vefrontě (I. p1'ijde, I. obsloužen) 4. Zámky (X i S lock) jsou uvoln ěny na konci transakce (COMMIT nebo ROLLBACK) Revize problémů V této kapitole zjistime,j akým způsobem uzamykací protokol vyřeší problém y paralelního zpracováni. Ztráta aktualizace Transakce A: READ(x) S-lock x x := x-5 WRITE(x) X-Iock x wait Transakce B: READ(x) S-lock x x := x+4 WRJTE(x) X-Iock x wait uzamkne a přečte x=80 vypočítá x=80-5 uzamkne a přečte x=80 vypočítá x=80+4 chce uzamknout x X-lockem čeká na uvolnění S-Iock x chce uzamknout x X-lockem čeká na u voln ěn í X-lock x ( Transakce 1 ( Transakce B 1 Žádná z transakci nemu že pokračovat,protože čeká na uvolněni zámku. Zámky tedy přinesly nový problém DEADLOCK. Dočasná aktualizace Transakce A: READ(x) S-lock x x := x-5 WRJTE(x) X-Iock x chyba (ROLLBACK ) Transakce 8: READ(x) S-Iock x waít wait uzamkne a přečte x=80 vypoč ítá x=80-5 uzamkne a zapíše x=75 chce uzamknout x S-lockem čeká na uvolnění X-lock x uvolněn X-Iock x (i S-Iock)

37 Paralelní zpracování 9 x := x+4 WRJTE(x) X-lock x uzamkne a přečte x=80 vypočítá x=80+4 uzamkne a zapíše x=84 Transakce B Transakce B musí čekat, až A uvolní zámek objektu, tzn. B vidí až potvrzenou zmčnu objektua tedy B není závislá na nepotvrlených hodnotách. Nekorektní pou žití agregačních funkcí N a začátku máme v databázi na kontč I Kč, na kontě Kč a nakontč Kč. Transakce A: 7i ansakce B: sum=o READ(konto I)S-lock sum=sum+konto I READ(konto2) S-lock sum=sum+konto2 READ(konto3) S-lock wait READ(konto3) S-lock konto3=konto WRITE(konto3) X -lock READ(konto I ) S-lock kontol =kontol + JO 000 WRITE(kontol) X -lock wait wait wait sum=o uzamkne a přečte konto I= vypočítá sum= uzamkne a přečte konto2= vypočítá sum= = uzamkne a přečte konto3= vypočítá konto3= uzamkne a zapíše konto3= uzamkne a přečte konto I = vypočítá konto I = I O 000 chce uzamknout konto! X-lockcm čeká na uvolnění S-lock kon toi chce uzamknout konto3 S-lockcm čeká na uvolnění X-lock konto3

38 Paralelní zpracování 10 konto1 = konto2 = Transakce Transakce B konto3 = Také tato situace vede k dcadlocku. Deadlockjc situace, kdy se dvč nebo více transakcí nachází v čekajícím stavu a každá z nich čeká na uvolnění zámku jiné čekající transakce. Ukončení dcadlocku je možné provést pou ze výběrem jedné z čekajících transakcí ("občť deadlocku") a jejím ROLLBACKcm. Obět'deadlocku" může být vrácena, i když sama nemá žádnou chybu. Některé systémy takovou transakci automaticky znovu spoušti, jiné prostě pošlou hlášení o "oběti deadlocku" zpět aplikaci. Detekce dead l oc"-'u je možná například hledáním cyklů ve Wait For Group (kdo na koho čeká). V praxi se nemusi deadlock přímo detekovat, může se používat např. time-out mechanismus (transakce, která nepracuje předepsaný časje považována za deadlock). Uspořadatelnost (Serializable) Uspořadatelnost definuje kriteria korektnosti paralelního zpracován. Tvrzení: M nožin a tran sakcí je považována za korektní,j estliže je u spořadatelná (serializable), tzn. dává tentýž výsledek jako nějaké sériové provedení těch to tran sakcí (spou štěných jedna po druhé). Dzikaz tvrzeni: I. Individuá lní transakce je korektní (transformuje konzistentní stav db dojiného konzi stentního stavu) 2. Spouštění jedné transakce po druhé v sériovém pořadí je korektní (plati pro libovolné sériové pořadí), protože individuální transakce je nezávislá na ostatních. 3. Libovolné paralelní spuštěn i je korek mí, je- li ekvivalentní s nějakým sériovým spuštěním. Rozvrh určuje posloupnost spouštění dané množiny transakcí (proložcné nebo jiné). Spuštění transakcí vždy jedné v čase- bez proložení -sériový rozvrh. Rozvrh, který ncní sériový je proložcný (paraleln í).

39 - Paralelní zpracování ll Závěry: dva rozvrhy jsou ekvivalemní,jestliže dávají tentýž výsledek nezávisle na původním stavu db rozvrh je správný- uspořadatelný (scrial izable)- jest liže je ekvivalentní s nějakým sériovým rozvrhem Pfíklad: transakce A - přidej I k x transakce B- zdvojnásob x (x j e ooložka z db. na počátku x = 10) - sériový rozvrh AB - x = 22, - sériový rozvrh BA - x = 2 1 Oba výsledky jsou správné, Každý rozvrh ekvivalentní s AB nebo BA je korektní. E j e rozvrh množiny transakcí Tl, T2,...,Tn. jes tl iže Eje uspořadatelný, pak existuje nějaký sériový rozvrh S transakcí Tl, T2 až Tn, který je ekvivalentní s E. o S neníjed inečný, múže existovat více serializací E nechť Ti a Tj jsou dvč transakce z množiny T l až Tn o pokud Ti předchází J:j v rozvrhu S, pak v rozvrhu E musí také Ti předcházet Tj charakteristická vlastnost uspořa datelnosti: o jest liže jsou A, B dvě transakce v uspořadatelném rozvrhu,pak buď A předchází B nebo B předchází A -tzn. buď B vidí výstupy A nebo A vidí výstupy B o jest liže A updatuje položky p,q,r a B pracuje s některými z nich, pak je B vidí všechny zmčnčné A nebo je vidí před zmčnou A Dvoufázový uzamykací protokol Jest liže všechny transakce splňují dvoufázový u zam ykací protoko l, pak jejich všechny možné "proložené" rozvrhy jsou uspořadatelné (seriazablc). Dvoufázový uzamykací protokol nemá nic společného s dvoufázovým commitem. Transakce řídící se dvoufázovým uzamykac ím protokolem má dvč fáze- uzamykac í a odemykací, v praxi se často druhá fáze shrnuje do je dné operace COMM IT nebo ROLLBACK na konci transakce. Dvoufázový u zamykací protokol: před operací s libovolným objektem musí být tento objekt uzamčen po uvolnční prvního zámku nesmí transakce umíst it žádný další zámek dvě fáze - uzamykací a odemykací Nedvoufázové protokoly V případě nedvoufázového uzamykacího prototokolu potřebujeme znát doplňující informace o objektech databáze (např. fyzické uložen í,...). Mezi ncdvoufázové protoko ly patří :

40 Paralelní zpracování 12 Stromové protokoly Časová razí tka Optimistické algoritmy STROMOVÉ PROTOKOLY Jsou vhodné pro hierarch i cké databáze nebo S-stromy (8-stromy se často využívají pro indexováni). Předpokládané operace: READ(Q) - nalezení a přečtení listového uzlu s objektem Q UPDATE(Q)- aktualizace stromu prostředn i ctvím objektu Q (dcletc, in sert) Bezpečn ý uzel S-stromu má ménč než m-1 klíčů (pro INSE RT) více než m/2-1 klíčů (pro DELETE) Nen í-jí uzel bezpečný, bude UPDA TE operace ovlivňova t předch ůdce tohoto uzlu (štěpení nebo slévání uzlů). Protokol pro READ I. Umísti R lock do kořene S-stromu 2. Přečti kořen S-stromu do vyrovnávací pamčti (běžný uzel) 3. Whíle běžný uzel není list do begin umístí R-lock na následníka běžného uzl u uvoln i zámek uzlu běžného uzlu přečti následníka běžného uzlu end Protokol pro READ udržuje vždy jen jeden uzamknutý uzel v transakci. Protokol pro UPDATE I. Um ísti W lock do kořene S-stromu 2. Přečti kořen S-stromu do vyrovnávac í paměti (běžný uzel) 3. Whilc bčžný uzelncní list do begin umísti W-lock na následníka běžného uzlu přečti následníka běžného uzlu i f bčžný uzel j e bezpečný thcn uvoln i zámek všech uzamčených předch ůdců cnd Protokol pro U PDATE může mít více uzamčen ých uzlů. ČASOVÁ RAZÍTKA Základní m yšlenka: P01<adi každých dvou transakci v ekvivalentním sériovém rozvrhu bylo dáno časem, kdyjedna transakce uzamkla objektjako první. Protokol uspořádání podle časových razítek : Ekviva lentní sériový rozvrh odpovídá pořadí transakc í danému časovými razítky Typy časov) ch razítek : časové razí tko transakce o je transakcí přidčleno při jejím vyvolání o jednoznačný identifikátor (např. čas vnitřních hodin počítače, nebo zvýšení čitače startů transakcí o I ); o přiděleno operací TS Časové razítko pro zápis obj ektu X

41 Paralelní zpracování 13 o označuje pro objekt X největší časové razítko transakce, která úspěšně provedla operaci WRITE(X) o ak tualizováno, kdyko liv dojde k přístupu k X o přiděluje jej operace TSW Časové razítko pro čtení objektu X o označuje pro objekt X největší časové razítko transakce, která úspěšně provedla operaci REA D(X) o aktuali zováno, kdyko liv dojde k přístupu k X o přiděluje jej operace TSR Transakce T VY''Oiá operaci WR ITE(X) a. iftsr(x) > TS(T) then zruš T nějaká transakce s razítkem větším než TS(!)již četla X p1'ed tím, než T mělo možnost provést zápis X- narušuje pol'adí transakcí b. if TSW(X) > TS(T) then zruš operaci WRJTE(x) a pokračuj nějaká transakce s razítkem větším než TS(I)již zapisovala X aje nutné ignorovat WRJTE(X) z transakce T vlastně pl'edcházející aktuálnějšímu stavu X c. if nenastává a), b) then begín WRITE(X) TSW(x):=TS(T) end Kdykoliv nějaká transakce T zkouší vyvo lat operaci READ(x) nebo WRJTE(X), porovná se časové razítko transakce T s časovým razítkem pro čteni X i zápis X, aby bylo zajištěno, že pořadí transakcí dané jejich razítky není narušeno. Pokud je pořadí narušeno, musí být transakce T zrušena. Pak jet znovu nabídnuta systému s novým časovým razítkem. Transakce T vyvolá operaci READ(X) a. iftsw(x) > TS(T) then zruš T nějaká transakce s razítkem větším než TS(T)již zapisovala X pl'ed tím, než T mělo možnost provést čtení X- narušuje pol'adí transakcí b. iftsw(x) < TS(T) then begin READ(X) TSR(x):=max(TS(D,TSR(X)) end Stejný rozvrh je zpravid la možné získat i dvoufázovým uzamykacím protokolem. Nčkteré pro tokoly za lože né na časových razí tkách drží staré hodnoty aktualizovanýc h objektů (řízení paralelismu s vice vertemi). OPTIMISTICK É ALGOR ITMY Neprovádí se žádná kontrola v průběhu transakce. Všech ny aktualizace se provádějí do lokálních kopii objektll a před koncem transakce se provádí fáze zjišťující, zda nebyla narušena uspořadatelnost. Fáze algoritmu :< Fáze čten í o čtou se potřebné objekty, o provádí se výpočty, o provádí se aktuali zace do dočasné pamět i Fáze ko ntroly platn osti o určuje se, zda operace dané transakce nejsou v konfliktu s operacemi jiných transakcí. o PoJ..'Ud ano, dočasné aplikace WRJTE j sou zrušeny a transakce je restartována. o Kontroluje, zda existuje transakce, která začíná fázi zápisu po začátku čtení transakce T, ale před začátkem fáze kontroly platnosti T. Zároveň některé objekty, které tato transakce zapisuje musí být objekty, které T čte. Pokud ex istuje- došlo ke konfliktu. Fáze zápisu

42 Paralelní zpracování 14 o Projde-li kontrola,jsou provedeny všechny WRITE do databáze Doporučená literatura : Pokorný J..- Databá zová abeceda, Date C.J. - An introduction to database systems

43 - PROSTŘEDKY FRONT-END v PROSTREDKY FRONT-END Po absolvovátú přednášky Prostředky front-end budeme umčt vysvětl it mechanismus prostře.dkí' front-end vyjmenovat typy prostředků front-end charakterizovat jednotl ivé typy prostředků fron t-cn d Mechanismus práce prostředků front-end Databázový systém, ve kterém budou data pouze uložena, ale který k nim neumožní přístup, n emá praktický význam. Proto producent databáze spolu s ní zpravidla dodává interaktivní nástroj pro správce databáze a prostředek front-cnd pro koncového uživatele. Síla systémů CI S je ale skryta ve velkém množství použite lných klientských aplikací a software pro jejich vývoj od nezávislých producentů. Aplikace front-end m ůže být nějaký standardně komerčně dostupn ý software, nebo může být pro určitého uživatele specicl ně vytvořena. V každém případ č klientská aplikace vypadá a pracuje jak o každá jiná apl ikace, kterou má uživatel nainstalovánu na svém počítači. Skutečnost, že přistupuje k datům na databázovém serveru, pozná uživatel pouze z toho, že musí uvést své uživatelské jméno a heslo. Posloupnost zpracování dotazu j e zachycena na následujícím schématu {tennínem dotaz budeme pro jednoduchost označovat libovolnou operaci s databází - např.aktualizaci dat, vkládáni nových dat, rušení, vyhledáni údajů apod.):

44 PROSTŘEDKY FRONT-END 2 I. Nejprve uživatel vytvoří dotaz. Dotaz může být ad-hoc (operativně vytvořený uživatelem podle aktuální potřeby), nebo mítže uživatel použít předprogramovaný dotaz, který je součásti aplikace front-end. 2. Aplikace front-end zformátuje dotaz do jazyka SQL používaného serverem a vyšle jej po síti na server. 3. Server nejprve ověří, zda má uživatel právo přisntpovat k požadovaným datům. 4. Pokud má uživa tel právo pracovat s požadovanými daty, setver zpracuje dotaz a pošle odpovídající data zpět aplikaci front-end. 5. Klientská aplikace obdrží odpovčď a zformátuje ji do tvam vhodného k zobrazení pro uživatele. 6. Uživatel vidí odpověď na obrazovce a může s daty manipulovat Obecně neplatí, že jedna aplikace front-end může zpracovávat data z databázového serveru libovolného producenta. Ačkoliv mechanismus práce prostředků front-end je velmi jednoduchý,univerzální aplikace by musela vy řešit velmi zásadní problém - rozdíly v SQL jednotli vých producentů. Přestože existuje řada standardů SQL, které se stále zdokonalujíjednotliví producenti SŘBD plidávají k SQL vlastní doplňky. Výsledkem je, že verze SQL nemusí být kompatibilní s verzemi jiných producentů. (Podrobnějise s touto probl ematikou sez námíme v kapitole věnované replikacím a ODBC.) Aplikace front-end je možné rozdělit do čtyř obecných kategorií : přídavné modu ly k existujícím produktům, nástroje pro vývoj aplikací programy pro zadáválli dotazů a tvorbu sestav nástroje pro globální analýzu dat.

45 PROSTREDKY FRONT-END 3 Zařazení produktu do kategorie nemusí být jednoznačné, řada produktů může patřit do více kategorií. l.jaká je posloupnost zpracováni uživatelova požadavku na data klientskou aplikaci? Přídavné moduly k existujícím produktům Většina přídavných modu lů k existujícím produktům se vztahuj e k databázím na PC- většina klientských systémů jsou PC. Producentům databází pro PC záleží na tom, aby jejich produkty byly užitečné i po přechodu zákazníka na architekturu C/S, a proto své systémy doplňuj í přídavnými modu ly pro přístup k databázím C/S. Přídavné moduly k databázím pro PC u snadňuj í vývoj ářům systém l't C/S integraci stávající databáze (na PC) do vytváře ného systému. Náklady na vývoj aplikací front-end mohou být nižší, protože uživatelé i programátoii existující databázi znají. S malým zaškolením mohou uzpůsobit své pracovní postupy tak, aby mohli pracovat s daty na serveru. Databáze na PC jsou jednou z nejvšest rann ěj ších aplikací front-end a mohou jistým způsobem plnit roli všech čtyř kategorií. Většina databází na PC má uživatelsky příjemné ovládání. Jejich integrované prostředí umožňuje pomocí různých návrháiů tvorbu dotazů i ti skových sestav. Velmi často obsahují i prostředky pro programování aplikací. Pfídavné moduly k existujícím systémům obvykle vyžaduj í více zdroj ů - například RAM - než produkt navržený přímo jako aplikace front-end. Větší náročnost na zdroje je způsobena nutností přek ladu dotazů a odpovědí do potřebného formátu. Přídavn ý modu l musí nejp1ve přeložit požadavek z jazyka používaného uživatelem nebo z příslušného menu do SQL. Až se data vrátí, přeloží přídavný modul odpověď do fonnátů odpovídajícího příslušné aplikaci. Operace navíc také prod lužují dobu odezvy mezi aplikací front-end a databázovým serverem. Přídavné moduly k existujícím produktům mohou být nejlépe využity jako dočasn é řešeni, než jsou vyvinuty nové aplikace front-end a předvedena data z databází na PC do databázového serveru. 2. Jaké jsou nevýhody přídavných moduhi k existujicím produkttim? Nástroje pro vývoj aplikací Většina producen tů SŘBD C/S dodává nějaký nástroj pro tvorbu uživatelských aplikací. Tyto nástroje jsou však obvykle omezeny na tvorbu aplikací pro SŘBD příslušného producenta.

46 PROSTŘEDKY FRONT-END 4 V posledním desetiletí vyvinuli nezávislí producenti nástroje, které je možné pou žít k tvorbě likací pro l< da databázových serven1. Rada programovacích ja zykl' má integrovány prostředky podporující tvorbu databázových aplikací. Exisntjí knihovny, které mohou programátoři použít pro zajištění přisn1pu svých aplikací k datům na serveru. Programy pro zadávání dotazů a tvorbu sestav Programy pro zadávání dotazů atvorbu sestav jsou n ástroje pro koncové uživatele. Jejich cílem j e umožnit pří ležitostným uživatelům a neprogramáton m přístup k datům v databázi C/S. Tyto front-end aplikace nemají obvykle svůj vlastní programovací j azyk, mohou však obsahovat jazyk pro tvorbu příkazovýc h souborů nebo makrojazyk. Makrojazyk zaznamenává posloupnost kláves a umožňuje tak automatizovat běžné dotazy pro pozdější použití. Dotaz je možné také uložit do soubom a v prípadě potřeby jej spustit znovu. 3. Jak se liší cílové skupiny používající nástroje pro vývoj aplikací aprogramy pro zadávání dotazti a tvorbu sestav? Nástroje pro globální analýzu dat Globální analýza dat probíhá ve dvou fázích. V první fázi si uživatel vyžádá data z různých zdrojll a ve druhé fázi data kombinuje a analyzuje jejic h význam. Globálně analytické nástroje jsou určeny ke sběm dat z různých míst v organizaci a prezentaci informací vedoucím pracovníkům. Získané infonnace pomáhají managerům provádět komplexní rozhodnutí. Tyto aplikace mohou být použity i pro statistické a vědecké studie, analýzu trendů apod. Doporučen á Hteratura : Salemi J. -Databáze kl ient/server, str Řešení úkolů: I. Uživate l zformuluje dotaz- prostředek front-end pošle dotaz SŘBD na serveru - server

47 PROSTREDKY FRONT-END 5 ověří uživatelova přístupová práva, zpracuje dotaz a pošle odpověď zpět prostředku frontend- prostředek fron-end zpracuje odpověď a zobrazí ji uživateli. 2. Přídavn é modu ly k existujícím systémům vyžadují více RAM než na klíč vytvářená aplikace front-cnd. Zpravidla je i delší doba odezvy mezi aplikací a databázovým serverem. Pokud má aplikace front-cnd realizovat nějaké speciální funkce, může být její tvorba s využitím přídavných modulů značně obtížná. 3. Nástroje pro vývoj aplikací používají programátor; tvolící nové front-end aplikace a program y pro zadávání dotazi'1 a tvorbu sestav využívají koncový uživa telé.

48 - Replikace dat REPLIKACE DAT Po absolvovátú přednášky Replikace dat budeme umět vysvětlit rozdí l mezi centralizovaným a distribuovaných řešením definovat pojem replikace vysvětlit princip replikace zdůvodnit, proč je replikované řešení výhodnější než cenn alizované popsat jednotlivé formy replikací a zhodnotit je z hlediska náročnosti na systém vysvětlit funkci ODBC Distribuované DBS Tradiční informační systémy byly vytváře ny centralizovaně. Činnosti spojené s ukládáním a zpřístupňováním dat, zajišťováním jejich bezpečnosti a integrity provádělo jedno výpočetní středisko. Uživatelé přistupova li k systému prostřednictvím lokální (LAN) nebo rozsáhlé sítě (WAN). Centralizované systémy mají řadu výhod, ale i nevýhod. Jsou : pomalé nespolehl ivé drahé Změny v organizačních strukturách podniků vedou organizace k přechodu na distribuovaná řešení. Mnoho organizací decentralizovalo svoji činnost do oddělených poboček nebo se spojilo sjin ými organizacemi do větších celků. 1. Vporovnání s jaf...ými systémy a za jakých podmínek jsou centralizované systémy pomalé, nespolehlivé a drahé? Replikace Pojem replikace označuje kopírování dat z databáze do více míst. Kopie v jednotlivých místech se nazývají repliky. V případě replikace musí být zajištěno, že pokud dojde ke změně jednoho řádku relace v jedné replice, musí se odpovídajícím způsobem zmčnit tento řádek i ve všech ostatních replikách. Replikace poskytuje uživatelům lokální aktualizované kopie dat. Replikace má řadu výhod.

49 Replikace dat 2 Je efektivnější mít potřebná data replikovaná v místč zpracováni dotazu než provádět spojení tabulek rozmístěných v několika místech sítě. Jiným vhodným způsobem využití je zálohovánív reálném čase, kdy je na jiném místč udržována kopie databáze (ncbojcjí části). Replikovat je možné j ednotlivé tabulky nebo část databáze, která vznikne jako výsledek dotazu. Výsledek dotazu je zpravidla kopie read-only, resp momemka (snapshot). Momentky jsou výsledky dotazu, do kterých se periodicky promítají aktualizace řízené :z jednoho místa. Jednotlivá místa mohou momentku číst, ncmají jí ale právo aktualizovat. Nejčastěji se používají momentky pouze nad jednou tabulkou. Replikace umožňuje napřík lad: zvýšení dostupností dat- kopie dat jsou přímo uloženy v různých místech sítč, případný výpadek jednotlivých míst nebo komunikační sítč nebrání v činnosti zbytku systému zvýšení rychlosti a propustnosti aplikace- použití lokálních dat snižuje síťový provoz omezenější provoz sítě zajištění kompletní nezávislost- každé z míst může spravovat svá vlastní data levnější přístup k distribuovanému zpracování dat. Velký rozvoj rcplíka ční technologie začíná v období,kdy se architektura C/S rozšířila do prostředí podn iků rozmístěných v několika geografických místech. Koncem roku 1995 se u známých výrobců SŘBD objevily rcplikační seivci)'. Replikační server podpomje vytvářen í a automatickou synchronizaci kopií dat. Tyto sc ve y jsou navrženy pro práci v prostředí globálnich sítí (WAN) a umožňují replikovat data mezi datovým i zdroji 1ůzných SŘBD (heterogenní prostředí). Úkoly replikačního servem: popis replikovaných dat a procedur doprava replikovaných data na místo, kde jsou potřebná a když jsou potřeba inicializace dat v replikovaných tabulkách přenos změn primárních tabulek do replikovaných kopií ochrana integrity dat synchronizace všech kopií po chybě záznam nedokončených transakcí Jednim z důvodů pro vznik replikovaných systémů j e nutnost oddělení on-line aplikací (OLTP- On Line Transaction Proccssing) od aplikací poskytujících syntetické informace pro podpom managementu (DC - Deci sion Support). V OLTP aplikacích se využívá velký počet transakcí, které mění několik z.áznaml! současně. V OLTP aplikacích je minima lizován čas, po který zůstává transakce otevřená, aby nedocházelo k uzamykaní ostatních spuštěných transakcí a tím k snižováni propustnosti systému. V DS apl ikacích se využívají velmi často read-only dotazy čtoucí ohromná množství dat. Tyto dotazy velmi často provádí spojení více tabulek a spouští složité výpočty zatěžující datový server. Oddělení OLTP a DS na 1ůzné datové servery má pozitivní vliv na celkovou propustnost a dobu odezvy aplikací. OLPT aplikace mohou pracovat s p1imámími daty, zatímco OS

50 Replikace dat 3 aplikace budou pracovat nad jejich replikovanou kopií. 2. Proč se využívá replikování databáze? Formy replikace Replikace je možné provádět několika způsoby. M ůžcme je klasifikovat například vzhledem k možnostem aktualizace: jeden aktualiz uje (jednosměrné systémy) o právo aktualizovat má jeden uživatel (nebo skupina uživatelú) nad jedním zdrojem) o replikace je podporována distribucí read-only kopií o nenastávají problémy s konflikty p!i nezávislých akn.alizacícb kopií dat (není možné je provádět) o mohou nastat problémy s vý konem (pokud jsou pro aktualizace kopi í nutné transf01macc dat, nebo pokud jsou místa obsahující kopie heterogenní) místo 1 primární kopie místo 2 replika místo 4 replika místo 3 replika několik aktualizuje (obousměrné, symetrické systémy) o podobná situace jako při běžném zpracování transakcí o u asynchronního replikačního systému není k dispozici žádný uzamykací mechanismus, proto mohou vznikat kolize

51 Replikace dat 4 místo 1 replika místo 2 replika mlsto 4 replika místo 3 replika Klasifikace podle objemu přenášených dat: rychlá o do repliky se promítají pouze skutečné změny dat úplná o celá replika se nahradí novější verzí Místo, odkud je iniciována zmčna, se nazývá vydavatel(publisher). Místo, které přijímá změnu replikované databáze se nazývá předplatitel (subscriber). Je možné rozlišovat přístup peer-to-peer, kdy aktualizace může být provedena v libovolném místě sítě a změna je propagována do všech ostatních míst. V přístupu master-slaveje nutné nejdříve aktualizovat ptimární kopii dat. V přístupu peer-to-peer mohou u každého typu aktua lizační operace nastat na vzdá lených místech kol ize: operace INSERT - při vkládání řádku do tabulky muže dojít ke konfliktu s primárním klíčem, pokud řádek s daným klíčem v tabulce už existuje operace DELETE - řádek již mohl být dříve odstraněn, nebo byl zmčnčn potom, co byl odstraněn z místa vydavatele operace UPDATE- řádek již byl odstraněn, nebo změněn, nebo nové hodnoty narušují omezení primárního klíče. Replikační server : musí oznámit kolizi v okamžiku jejího výskytu udržovat pro každou potvrzenou transakci žumál pro všechny procesy, které se dostanou při propagaci této transakce do dalších míst. Replikační server muže pro řešení kolizí použí vat různé strategie: prioritu má počáteční aktualizace, na pozdější transakce je uplatněn ROLLBACK prioritu má poslední aktualizace, dojde k přepisu dřívějších aktualizací kolize se řeší spuštěním uživatelem napsaného triggeru replikační proces se pozdrží a zašle se zpráva správci disnibuované databáze.

52 Replikace dat 5 3. Ja/..ým zptisobemjsou data nejčastěji replikována? Lokální a vzdálené replikace Replikace se může nacházet na tomtéž serveru, kde je primární kopie, nebo může být umí stěna na jiném serveru v lokální síti. Rovněž se ale může nacházet na vzdáleném servem. Lokální replika ce j sou replikace v rámci jedné LAN a zpravidla umožňují pouze jedno směrný tok dat z primárního datového servem na replikovaný. Jsou tvořeny komponentami: datový server pro primární OLTP data datový server pro replikovaná DS data LTM (Log Transfer Manager) pro indikaci změn primární databáze a přenos na rcplikační server RS (Replicati on Sen,er) pro přesměrování a uplatn ění replikovaných transakcí mezi primámí a replikovanou databází Změny dat lze provádět jen na primární straně, tzn. na datovém servem určeném pro OLTP aplikace. LTM čte transakční log primární databáze a informace o změnách tabulek předává replikačnímu servem (RS),aby je aplikova l na příslušné tabulky replikované databáze. Vzdálené replikace se používají v rozsáh lých podnikových sítích,kdy uživatelé nemohou pracovat v rámci jedn é LAN. Místo centralizovaného databázového systému je možné pomocí rcplika čního serveru udržovat na různých místech WAN repliky dat. Vzdá lené replikace mají oproti centrá lnímu zpracování několik výhod: redukce zatížení centra výpadek W AN neovlivní jednotlivé aplikace vyšší rychlost aplikací 4. Jaké komponenty se up/atjízl}í pli replikacích? ODBC Zpracovávaná data mohou být uložena a zpracovávána různými SŘBD (MS SQL Server, Informíx, Oracle, Progress,...). K těmto datům potřebujeme přistupovat z tůzných front-end aplikaci a v některých případech je nutné, aby jedna front-end aplikace přistupovala k různým datovým zd rojům. Větš ina SŘDB má implementováno SQL, jednotlivé databáze se ale liší dia logem SQL, které použ ívají. V SQL databáze také zpracovávají tůzně některé základní prvky (například používají různé označení pro datové typy - character, cbar,...). Naprostá většina SŘBD má své vlastní programové prostředky, které umožňují vytvářet

53 Replikace dat 6 aplikace front-end. ODBC (Open DataBa se Connectiv ity) je jednotné API prostředí umožňující různým frontend (Access, Visual FoxPro, Deplhi,...), apli kacím piístup k datům na 1ůznýcb back-cnd serverech (MS SQL Server, Inforrnix, Oracle, Progress,...). Architektura ODBC se skládá :z těchto komponent: apl ikace správa driverů drivery zdroje dat Aplikace používá ODBC k poslání plíkazů SQL na back-cnd server a k přcvzeti výsledků. Aplikace zajišťuje vytvoření spojení na zdroj dat, definici příkazů SQL, převzetí výsledků nebo chybových zpráv, ukončení transakce (COMMIT nebo ROLLBACK) a odpojení od zdroje dat. Správce driverů organizuje přístup k ODBC driverům. Zavádí potřebný driver a předává funkce ODBC volané z aplikace. Správce driverů naleznete v systému Windows (Start Nastavení -Ovládací panely). Driver provede funkci ODBC poslanou aplikací. Vytvoří spojení ke zdroji dat, převede piíkaz SQL do dialektu zdroje dat, provede příkazy SQL a předá výsledky nebo chybové zprávy aplikaci. Pro každý zdroj dat musí být k dispozici jeho driver. Zdroj dat je back-end s daty, který zpracuje požadavek od driveru a vrátí výsledek.

54 Replikace dat 7 Aplikace vždy komunikuje se správcem driverů, nikdy se neobraci přímo na driver nebo zdroj dat. Správce driverů komunikuje pouze s aplikací nebo driverem a neoslovuje zdroj dat. ODBC definuje standardní SQL gramatiku (standard SQL pro tůzné databázové formáty). Tento přístup dovoluje oddělit logiku programu od zdroje dat. Změní-li se datové zdroje, stačí správce driveri't přesmčrovat na j iný zdroj. Úrovně syntaxe ODBC SQL: minimální- měli by ji podporovat všechny drivery, obsahuje příkazy o CREATE TABLE, o DROP TABLE, o SELECT, o INSERT, o U PDATE, o DEL ETE core - podporuje ji většina driverů, obsahuje příkazy z minimální úrovně + o CREATE INDEX o DROP INDEX o CREATE VIEW o DROP VTEW o GRANT o R EVOKE o SELECT +agregač ní funkce, rozšířené typy dat cxtcndcd- příkazy corc úrovně+ o outer join (vněj ší spojení) o SELECT FOR U PDATE o UN ION Při použíti minimální úrovně je možné v aplikaci střídat různé zdroje dat.

55 Replikace dat 8 5. K čemu se mzižete použít ODBC? Doporu čená literatura: Pokorný J..- Databázová abeceda, str Date C.J.- An introduction to database systerns, str Plecháč V.- Klient/server ODBC Řešení úkolů: 2.V plípadě replikovaného řešení jsou data snáze dostupná na všech místech zpracovaní a přitom n ejsou kladeny pří lišné požadavky na provoz sítě. 3.Nejčastěji jsou data repl ikována j ednosměrně, protože v tomto případě není nutné řešit kol izní stavy. 4. Datový server pro primární OLTP data,datový server pro replikovaná data, Log Transfer Manager, replikačn í server 5. Při tvorbě aplikace front-end.

56 4. února :40

57 Transakční zpracování 2 Transakce musí skončit v konečném čase. Transakcese buď provede celá,anebo vůbec. Ideální případ,kdy se provedou všechny operace transakce,nelze zaj stit (např.systém spadne mezi dvěma operacemi). Transakční zpracování ale zaručuje,že pokud nebyla celá transakce úspěšně dokončena (zhroutila se z důvodu nějaké chyby) budou všechny změny, které provedla,vráceny zpět. Proto lze na transakci pohlížet j ako na atomickou operaci. Příklad: PotFebujeme změnit číslo čtenáfe v tabulce CTENAŘ. Každý čtenáf mtiže mít vyptijčené nebo rezervované nějaké knihy. Pokud bychom provedli pouze změnu čísla čtenápe v 1abulce CTENAŘ, ale nezměnili tolo číslo čtenápe v odpovídajících záznamech labulek VÝPŮJCKY a REZERVACE, z tistaly by nám v 1abulkách záznamy bez pl amé identifikace členápe. V lom/o prípadě by nešlo určil, kdo má knihy vyptijčené. Pro/oje poli'eba provést všechny změny současně a pokud se některou provéslnepodan, nesmí se provésl žádná z nich. Begin_transaction Změna_čísla_čtenáře begin input(staré_číslo, nové_číslo) read(temp, ČTENÁŘ.Č_ČT = staré_číslo) if temp = empty then begin end output("čtenář neexistuje") ROLLBACK else begin modify(čtenář,staré_č íslo, nové_číslo) modify(výpujčky,staré_č íslo, nové_číslo) end end_transaction modify(rezervace,staré_číslo,nové_číslo) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) Operace begin_transaclion (BOT, START) a end_transaclion (EOT) označují začá1ek a konec /ransakce, lzn.mnoiina pnkaz1 mezi řád/..j ' (1) a (13) se chápejako atomická operace. Operace ROLLBACK (ABOR7; EXIT) zaslavuje běh transakce. Da tabáze se po ní musí uvést do p1ivodního stavu. Operace(/)- (13)převádějí dalabázi z jednoho konzislenlního stavu doj iného konzistentního stavu, v pn běhu zpracován konzistence zajištěna není (9)-(1/). Pozn. Operace read (4) a modify (9-1I} mohou být implementovány pomocí hostitelské verze SQL. Jak jsme si ukázali na příkladu,transakce začíná příkazem BEG!N TRANSACTION a končí příkazem COMMIT nebo ROLLBACK. Příkaz COMMlT (potvrzení) signalizuje úspěšnost provedení transakce. Příkaz COMMIT může být vygenerován pokud:

58 Transakční zpracování 3 Všechny změny provedené programem (transakcí) byly potvrzeny - tzn. jsou perzistentní (uložené ) a vidi telné ostatním transakcím, Zámky na všechny databázové prvky by ly uvoln ěny. Příkaz COMMIT potvrzuje, že databáze je konzistentní. Jestliže je transakce potvrzená, systém garantuje, že změny jsou permanentně uloženy v databází - ncovlívní je žádná další chyba. Naproti tomu příkaz ROLLBACK signalizuje, že databáze je nekonzistentní a musí být navrácena zpčt do stavu před BEGLN TRANSACTION. Aby bylo možné vrátil databázi do předchozího stavu, používá se log file(deník transakcí, žurnál). Log lije obsahuje historii všech změn databáze (všechny UPDATE operace nad daty). Log je uložen na pásce nebo disku. Při nutnost i provést navrácení do původního stavu (UNDO) systém použije odpovídající log k obnovč zmčnčných objektů na původní hodnoty. V praxi se log skládá ze dvou částí aktivní (on-line- d isk) a archivní (off-line- páska). Pokud dojde k chybě systému po COMMITu, ale před fyzickým zápisem dodatabáze (změny jso u v pamčťovém bufferu, ale j eště nejsou přeneseny na disk), musí systém restarovat proceduru zaznamenávající provedené změny do databáze - pomocí logu (ten musí být fyzicky uložen před COMM!Tcm). 1. Co znamená tvrzení, že databázeje konzistentní? 1 2. Coje transakce? ACID vlastnosti V souvislosti s transakcemi se velmi často hovoří o vlastnostech ACID. ACID je zkratka prvních písmen čtyř anglických slov: Atomicity Consistency lsolation Durability Atomicity (atomicita) znamená, že transakce jsou atom ické. Transakce musí proběhnou buď celá, nebo vůbec ne. S atomicitou transakce souvisí zotavení z chyb, např. příkaz ROLLBACK. Con sístency(konzistence) znamená, že transakce transformuje databázi z jednoho konzistentního do jiného konzistentního stavu. V průběhu prováděni transakce nemusí být databáze konzistentní. lsolatíon (izolace, nezávislost) znamená,že transakce jsou navzájem nezávislé. Dílčí efekty transakce nejsou vid ite ln é jiným transakcím, každá transakce v idí databázi jen v konzisten tn ím stavu. Durabítity (trvalost) znamená, že jednou potvrzená transakce je trvalá.

59 Transakční zpracování 4 Efekty potvrzené transakce jsou uloženy dodatabázc. 3.Jak é vlastnosti transakce charak/ erizuje zkra tka ACJD? "',,, Transak COl zpracovadi Transak řešení zotavení z chyb. Architekturu transakčního zpracování v charakterizuje obrázek: ční zpracování je základem systémového V transakčním zpracování tedy figurují: aplikačn í pr ogram m a n ažer tran sa kcí - vyvolává transakce a prostřednictvím rozvrhovače posílá požadavky na data manažeru dat. rozvrhovač - řídí paralelní zpracování transakcí, zajišťuje transparencí para lelního zpracování. m a n ažer dat- zajišťuje komunikací s databázi (čtení a zápis dat), zodpovídá za zotaveni z chyb systému. d atabáze Transakční manager zajišťuje atomicitu operace: COMM IT- signalizuje úspěšné ukončení transakce, že databáze je v konzistentním stavu a zmčny mohou být pennancntní a viditelné ostatním transakcím, ncní nutné explicitně vyvolávat, stačí normální ukončení transakce ROLLBACK - signalizuje neúspěšné ukončení transakce, databáze je v nekonz istentním stavu a všechny změny provedené logickou jedno tkou práce musí být vráceny zpět 4. Co se musí provést po vyvolání příkazu ROLLBACK? Zotavení systému Systém musí být schopen zotavení nejen z lokálních (např.přetečení jedné transakce) ale i z globálních chyb (např. výpadek napájení). Druhy chyb: Loká lní chyba je chyba, která má vliv pouze na tran sakcí, v níž se projevila. Globá ln í chyba má vliv na všechny právč spuštčné transakce. o chyba systému (např. napájení)- ovlivní všechny spuštěné transakce, ale neznamená fyzícké nebezpečí pro databází = soft crash o chyb a m éd ia (např. disku) - znamená nebezpečí pro samotnou databázi nebo její část =

60 Transakční zpracování 5 hard crash Kritickým bodem systémové chyby je ztráta obsahu hlavní paměti (ztráta bufferů). Vše co bylo v okamžiku chyby v operační paměti, je ztraceno. Všechny transakce probíhající v době chyby musí být vráceny po restartu systému zpět (UNDO), protože nevíme v jakém byly stavu ajaké provedly zmčny. A dále je třeba provést REDO (dokončení) všech transakcí, které byly v okamžiku chyby úspěšně dokončeny, ale jejich změny nebyly přeneseny z databázových bufferů do databáze. Jak systém pozná, které transakce m á REDO a které UNDO? Pro obsluhu zotavení z chyb používá systém log filc. Do logu je zapisují všechny U PDATE operace provedené nad databázi. V předepsaných intervalech (např. po určitém počtu zápisů do logu) generuje systém checkpoint record (kontrolní záznam), který zahrnuje: fyzický zápis obsahu databázových bufferu do fyzické databáze fyzický zápis checkpoint recordu do fyzického logu (seznam všech právě spuštěných transakcí) Náslcdující obrázek ilustruje tuto situaci: V čase tc byl generován checkpoint record a v čase trdošlo k chybě systému. Transakce může být v jednom z následujících stavů:!!!!!!!!!! iifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioi tfciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.il Transakce: + dokončená a zapsaná dokončená. nezapsaná + nedokončená chkkpoint Tl -ukončena před časem tc T2- začala před tc a v čase trje již ukončena D- začala před tc ale v čase trnení ukončena T4 - začala po tc a v čase trje již ukončena D - začala po tc ale v čase trncní ukončena

61 - - Transakční zpracování 6 Po restartu systému budou transakce T3 a T5 vráceny zpět (UN DO) a T2 a T4 provedeny znova (REDO). Systém použije následující posloupnost operací: Vytvoří se dva seznamy transakcí UNDO a REDO. Do seznamu U DO se uloží všechny transakce z checkpoint rccordu (v příkladě T2,T3), REDO bude prázdný. Začne prohledávání logu od tc dopředu. Pokud se narazí na začátek další transakce, přidá se do seznamu UNDO (T4, TS) Je-li v logu nalezen COMMIT transakce, převede se transakce ze seznamu UNDO do seznamu REDO (T2, T4). Na konci žurnálu obdržíme dva seznamy o UNDO - T3, T5 o REDO- T2, T4 Ny ní je možné provést vlastní zotavení z chyb o zpětně se prochá zí log a provádí se rušení operací transakcí z UNDO seznamu, po dosažení tc se postupuje opět dopředu a znovu provádí se operace transakcí z REDO seznamu Pozn ámka : Existují dva druhy logfl!ti: s odloženými realizace změn- všechny wrile operacejsou odloženy do okamžilat porvrzení transakce, zaznamenávají se do logu, do databáze se zapíší až v okamžiku potvrzení s bezprostfednf realizací změn - všechny wrile operace se provádí pffmo do databáze I s. K čemu se využívá deník transakcí? Z0tave01,IDe'd" ll ' Po chybě médií (např. chyba řadiče disku, chyba disk.hlavy,.) může být nějaká část databáze fyzicky poškozena. Zotavení v tomto případě znamená přehrání (obnova) celé databáze ze záložní kopie (nebo dumpu) a využití logu k opětovnému provedení všech transakcí, které byly uskutečněny po vytvoření záložní kopie. UN DO transakcí není třeba provádět, protože definice všech zmčn tčchto transakcí byla také ztracena. N u tnost vytváření zálož ních kopií - kopie m ůže být uložena např. na pásce, není nutný přímý přístup. Dvoufázový COMMIT Dvoufázový potvrzovací protokol se používá pro transakce, kte ré mají interakci s několika zdroji dat, z nichž každý má vlastní log (distribuované prostředí). V distribuovaném prostředí je transakce úspěšná pouze tehdy,jestliže jsou všechny její UPDATE operace na všech databázích potvrzené. Při chybě v libovolné databázi musí být všechny UPDATE operace vráceny zpět.

62 Transakční zpracování 7 Koordinátor - systémová komponenta, řidi COMM IT či ROLLBACK na zák ladě garance managerů jednotlivých zdrojů Dvě fáze: I. Každý participujíci proces (manager každého zdroje dat) musí fyzicky zapsat všechny zmčny týkajíci se lokálního zdroje dat do vlastního fyzického logu 2. Když má koordinátor odpovědi od všech částí, provede zápis do svého vlastního logu všechny OK - COMMIT, nějaká Not OK - ROLLBACK o závěru informuje koordinátor všechny části a každá musí provést pod le jeho pokynu buď COMMIT nebo ROLLBACK Přechod mezi fázemi je tvořen zápisem do logu koordinátoru. Při chybě systému restmtovací procedura h ledá závěr v logu koordinátora, když jej nalezne pokračuje tam, kde byla transakce přerušena, jinak předpokládá ROLLBACK. Doporučená literatura: Pokorný J.. - Databázová abeceda, str , 65-69, , Date C.J. - An introduct ion to database systems, str Řešení úk ol ů: 1. Databáze je konzistentní, pokud splňuje všechna integritní omezení definovaná ve schématu databáze. 2. Transakce je logická jednotka práce, posloupnost operaci, která transformuje databázi z j ednoho konzistentn ího stavu do jiného konzistentního stavu. 3. A - atomocita, C - konzistence, I - nezávislost, O - trvalost 4. Po ROLLBACKU se s pomoci log filc musí zrušit všechny změny dat, které transakce provedla.

63 - VYHODY A NEVÝHODY SYSTEMU C/S,, VYHODY A NEVYHODY, o SYSTEMU C/S Po absolvováni přednášky Výhody a nevýhody systémů C/S budeme umčt vyjmenovat základní varianty architektury C/S objasnit,v čem spočívá rozdíl mezi tčmito architekturami vysvětlit výhod y a nevýhody architektury C/S charakterizovat platformy, na nichž jsou systémy C/S provozovány Základní varianty architektury C/S Hledisek pro klasifikování jednotlivých variant architektury C/S existuje celá řada. Systémy je možné posuzovat podle platforem, na nichž je spuštěn front-end a back-end. Dalším možným h lediskem je posuzování vari ant podle rozdělení práce mezi klienta a server. Každá databázová aplikace je tvořena ze tří základních komponent: uživatelské rozhraní (GUI) aplikační funkce správa dat. Uživatelské roz hraní zajišťuje komunikaci s uživatelem. Zprav idla sestává z obrazovek obsahujících ovládací prvky (nabídky,...) a oken sloužících pro zadáváni, prohlížení a manipulaci s daty. Aplikační funk ce tvoli vlastní jádro aplikace a správa dat zabezpečuje vlastni uchování dat v systému. Zpracování jednotliv ých komponent může probíhat buď na serveru nebo na klientovi. Z hlediska rozdčlcni zpracováni pak můžeme rozlišovat pčt variant: Tnte1face Distribution lntcrfacc Separation Application Distribution Data Separation Data Distribution.

64 VYHODY A NEVÝHODY SYSTEMU C/S 2 KLIENT lnterface D stribut1on lnterface Separation Aplication D1strlbutfon Data Separatlon Data D stribution SERVER Interface Distribution - distribuce uživatelských funkcí. V této variantě architektury C/S probíhá naprostá většina zpracování na serveru. Na serveru běží správa dat, aplikační funkce i část uživatelského rozhraní. Na klientovi běží jen část funkcí uživatelského rozhraní. Tnterface Separation - oddělení uživatelských funkcí -je varianta architektury C/S, v níž je na klientovi spuštěno uži vatelské rozhraní. Aplikační funkce i správa dat běží na serveru. Application Distribution -distribuce uživatelských funkcí -je nejuniverzálnější a nejrozšířenější varianta. V tomto případě je na klientovi spuštěno uživatelské rozhraní a na serveru správa dat. Aplikační funkce jsou rozděleny a část jich bčží na klientov i a část na serveru. Data Separation - oddělení dat. V této variantě server zabezpečuje pouze správu dat. Na klientovi běží uživatelské rozhraní i všechny aplikační funkce. Data Distri bution - distribuce dat- je varianta, v níž server zajišťuje pouze část správy dat. Veškerá ostatní činnost probíhá na klientovi. Správu dat je naplíklad možné distribuovat tak, že uložené procedury se nespou ští na serveru, ale přímo na kl ientovi. Prozatim jsme uvažoval i dvojvrstvou architektum, v ní ž máme k dispozici setver a klienta. Z dlivodli zvýšení výkonu se v praxi stále více prosazuje vícevrstvá architektura. V plípadě tiívrstvé architektury pracujeme kromě databázového serveru a klienta ještě s aplikačním serverem. I. Najaké komponenty mližeme rozložil databázovou aplikaci? 2. Co znamenají pojmy distribution a separation v klasifikaci 5ystémli C/S? Jaké rozlišujeme

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 Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

8.2 Používání a tvorba databází

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

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Databázové systémy trocha teorie

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ů

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

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

Více

Databázové systémy úvod

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/

Více

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974 základní informace Databázové systémy Úvodní přednáška předměty: KI/DSY (B1801 Informatika - dvouoborová) KI/P502 (B1802 Aplikovaná informatika) ukončení: Zápočet + Zkouška / 5kb ki.ujep.cz termínovník,

Více

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou: Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).

Více

Databáze I. 1. přednáška. Helena Palovská

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

Více

Databáze v MS ACCESS

Databáze v MS ACCESS 1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,

Více

7. Integrita a bezpečnost dat v DBS

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

Více

7. Integrita a bezpečnost dat v DBS

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

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Stránka předmětu: https://edux.fit.cvut.cz/courses/bi-dbs/parttime/start

Více

Úvod do databázových systémů. Ing. Jan Šudřich

Ú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

Více

Databáze I. 5. přednáška. Helena Palovská

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

Více

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. 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

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

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í 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

Více

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1 1 Úvod 1.1. Intuitivní vymezení pojmu databáze... 2 1.2. Historie vývoje zpracování dat... 6 1.3. Základní pojmy... 9 1.4. Abstrakce pohledu na data v databázi... 11 1.5. Datové modely... 13 1.6. Schéma

Více

Databázové systémy Cvičení 5.2

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

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Úvod do databázových systémů. Lekce 1

Úvod do databázových systémů. Lekce 1 Úvod do databázových systémů Lekce 1 Sylabus Základní pojmy DBS Životní cyklus DB, normalizace dat Modelování DBS, ER diagram Logická úroveň modelu, relační model Relační algebra a relační kalkul Funkční

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

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ů,

Více

POKROČILÉ POUŽITÍ DATABÁZÍ

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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í

Více

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D. Databáze 2013/2014 Konceptuální model DB RNDr. David Hoksza, Ph.D. http://siret.cz/hoksza Osnova Organizace Stručný úvod do DB a DB modelování Konceptuální modelování Cvičení - ER modelování Náplň přednášky

Více

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze 1 Úvod 1.1. Intuitivní vymezení pojmu databáze... 2 1.2. Historie vývoje zpracování dat... 6 1.3. Základní pojmy... 9 1.4. Abstrakce pohledu na data v databázi... 11 1.5. Datové modely... 13 1.6. Schéma

Více

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 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á

Více

Hierarchický databázový model

Hierarchický databázový model 12. Základy relačních databází Když před desítkami let doktor E. F. Codd zavedl pojem relační databáze, pohlíželo se na tabulky jako na relace, se kterými se daly provádět různé operace. Z matematického

Více

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS Relační databázový model Databázové (datové) modely základní dělení klasické databázové modely relační databázový model relační databázový model Základní konstrukt - relace relace, schéma relace atribut,

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod 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/ Michal

Více

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 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ů,

Více

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS

Více

Databázové systémy. Ing. Radek Holý

Databázové systémy. Ing. Radek Holý Databázové systémy Ing. Radek Holý holy@cvut.cz Literatura: Skripta: Jeřábek, Kaliková, Krčál, Krčálová, Kalika: Databázové systémy pro dopravní aplikace Vydavatelství ČVUT, 09/2010 Co je relační databáze?

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Ú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

Více

Administrace Oracle. Práva a role, audit

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

Více

Operátory ROLLUP a CUBE

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

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

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

Více

4IT218 Databáze. 4IT218 Databáze

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

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

TEORIE ZPRACOVÁNÍ DAT

TEORIE ZPRACOVÁNÍ DAT Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky TEORIE ZPRACOVÁNÍ DAT pro kombinované a distanční studium Jana Šarmanová Ostrava 2003 Jana Šarmanová, 2003 Fakulta

Více

Roční periodická zpráva projektu

Roční periodická zpráva projektu WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových

Více

Databázové a informační systémy Jana Šarmanová

Databázové a informační systémy Jana Šarmanová Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat

Více

Nemocnice. Prvotní analýza a plán projektu

Nemocnice. Prvotní analýza a plán projektu Nemocnice Projekt do předmětu AIS Prvotní analýza a plán projektu Lukáš Pohl, xpohll00, xkosti03 Jan Novák, xnovak79 2009/2010 1 Neformální specifikace FN potřebuje informační systém, který bude obsahovat

Více

Maturitní témata Školní rok: 2015/2016

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í

Více

Michal Krátký, Miroslav Beneš

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

Více

Analýza a modelování dat 3. přednáška. Helena Palovská

Analýza a modelování dat 3. přednáška. Helena Palovská Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Analýza dat a modelování. Přednáška 3

Analýza dat a modelování. Přednáška 3 Analýza dat a modelování Přednáška 3 Hierarchický model Hierarchical Data Manipulation Language - HDML manipulace s daty (vyhledávání) pomocí příkazů HDML v hierarchickém SŘBD připomíná princip práce se

Více

Jak efektivně ochránit Informix?

Jak efektivně ochránit Informix? Jak efektivně ochránit Informix? Jan Musil jan_musil@cz.ibm.com Informix CEE Technical Sales Information Management Jsou Vaše data chráněna proti zneužití? 2 Ano, pokud... 3 Nepoužitelné Steve Mandel,

Více

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech Adresářová služba X.500 a LDAP Autor Martin Lasoň Abstrakt Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech vedla ke vzniku specializovaných databází adresářů.

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Okruhy z odborných předmětů

Okruhy z odborných předmětů VYŠŠÍ ODBORNÁ ŠKOLA INFORMAČNÍCH STUDIÍ A STŘEDNÍ ŠKOLA ELEKTROTECHNIKY, MULTIMÉDIÍ A INFORMATIKY Novovysočanská 280/48, 190 00 Praha 9 Pracoviště VOŠ: Pacovská 350/4, 140 00 Praha 4 Okruhy z odborných

Více

Databázové systémy. Přednáška 1

Databázové systémy. Přednáška 1 Databázové systémy Přednáška 1 Vyučující Ing. Martin Šrotýř, Ph.D. K614 Místnost: K311 E-mail: srotyr@fd.cvut.cz Telefon: 2 2435 9532 Konzultační hodiny: Dle domluvy Databázové systémy 14DATS 3. semestr

Více

FIREBIRD relační databázový systém. Tomáš Svoboda

FIREBIRD relační databázový systém. Tomáš Svoboda FIREBIRD relační databázový systém Tomáš Svoboda xsvobo13@fi.muni.cz Firebird historie 80. léta - Jim Starkey (DEC) InterBase 1994 - odkoupila firma Borland 2000 - Borland uvolnil zdrojové texty InterBase

Více

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1 Úvod, terminologie Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11,

Více

DUM 15 téma: Příkazy pro řízení přístupu

DUM 15 téma: Příkazy pro řízení přístupu DUM 15 téma: Příkazy pro řízení přístupu 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í

Více

Informační systémy ve zdravotnictví. 6. cvičení

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

Více

Použití databází na Webu

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é

Více

Windows Server 2003 Active Directory

Windows Server 2003 Active Directory Windows Server 2003 Active Directory Active Directory ukládá informace o počítačích, uživatelích a ostatních objektech v síti. Zpřístupňuje tyto zdroje uživatelům. Poskytuje komplexní informace o organizaci,

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Databáze MS-Access Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Obsah Principy a možnosti databází. Uložení dat v databázi, formáty dat, pole, záznamy, tabulky, vazby mezi záznamy. Objekty databáze

Více

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu: Úvod do databází Základní pojmy Databáze je množina záznamů, kterou shromažďujeme za nějakým konkrétním účelem. Databáze používáme zejména pro ukládání obsáhlých informací. Databázové systémy jsou k dispozici

Více

Data v informačních systémech

Data v informačních systémech Informatika 2 Data v informačních systémech EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: pondělí 10 30-11

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty.   pary/pa152/ Pavel Rychlý Technické informace PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ http://www.fi.muni.cz/ pary/pa152/ přednáška

Více

Objektově orientované databáze. Miroslav Beneš

Objektově orientované databáze. Miroslav Beneš Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace

Více

Systémy pro podporu rozhodování. Hlubší pohled 2

Systémy pro podporu rozhodování. Hlubší pohled 2 Systémy pro podporu rozhodování Hlubší pohled 2 1 Připomenutí obsahu minulé přednášky Motivační příklad Konfigurace DSS Co to je DSS? definice Charakterizace a možnosti DSS Komponenty DSS Subsystém datového

Více

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii

Více

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální

Více

04 - Databázové systémy

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

Více

BankKlient. FAQs. verze 9.50

BankKlient. FAQs. verze 9.50 BankKlient FAQs verze 9.50 2 BankKlient Obsah: Úvod... 3 Instalace BankKlient možné problémy... 3 1. Nejsou instalovány požadované aktualizace systému Windows... 3 2. Instalační program hlásí, že nemáte

Více

RELAČNÍ DATABÁZE. Cíl:

RELAČNÍ DATABÁZE. Cíl: Cíl: Cílem tohoto předmětu je získat praktické znalosti a dovednosti v oblasti relačních databází, jakož i seznámit se s novými trendy v objektově relačních a objektových databázích. Podstatná část je

Více

Databáze Bc. Veronika Tomsová

Databáze Bc. Veronika Tomsová Databáze Bc. Veronika Tomsová Databázové schéma Mapování konceptuálního modelu do (relačního) databázového schématu. 2/21 Fyzické ik schéma databáze Určuje č jakým způsobem ů jsou data v databázi ukládána

Více

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

Více

Geografické informační systémy p. 1

Geografické informační systémy p. 1 Geografické informační systémy Slajdy pro předmět GIS Martin Hrubý hrubym @ fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 61266 Brno akademický rok 2004/05

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

DBS Konceptuální modelování

DBS Konceptuální modelování DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

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

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací

Více

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

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

Více

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací Obsah přednášky Databázové systémy Logický model databáze normalizace relací normální formy tabulek 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DNF denormalizace zápis tabulek relační algebra klasické operace

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Databázové systémy. Cvičení 6: SQL

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

Více

Sísyfos Systém evidence činností

Sísyfos Systém evidence činností Sísyfos Systém evidence Sísyfos : Evidence pracovních Systém Sísyfos je firemní aplikace zaměřená na sledování pracovních úkonů jednotlivých zaměstnanců firmy. Umožňuje sledovat pracovní činnosti na různých

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Obsah Úvod 4. TF Wmake 1.5

Obsah Úvod 4. TF Wmake 1.5 Obsah Úvod 4 Struktura systému 5 Uživatelské role 6 Přihlášení do systému 7 Úvodní stránka 8 enu redaktora 9 enu autora 9 azyky 0 Odhlášení ze systému 0 Nastavení Bloky Editace bloku Přidání nového bloku

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

Databázové systémy a SQL

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,

Více