D A T A B Á Z O V É S Y S T É M Y

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

Download "D A T A B Á Z O V É S Y S T É M Y"

Transkript

1 1(22) Konceptuální úroveň - vytvářím první model reality - ER-model jednoduchý grafický aparát, dá se jednoduše identifikovat - entita skládá se z vlastností, které chci zpracovávat - Chenovo pojetí - u relace se sleduje kardinalita ( kosočtverec, M:N) - podtrhává primární klíč Logická úroveň - souvisí s typem software - většina modelů je relačních - grafové datové modely - hierarchický datový model - síťový datový model - entita přechází na entitní typ (uzel grafu) - podle typu hran (množina seznam typů a hran, například cyklická, každý uzel je stromem) - objektový přístup (ploché modely) - relační model - zatím nejpoužívanější (SQL, transakce) Fyzická úroveň - indexy (smysl, algoritmus tvorby) - hashování - distribuce databáze (a s ní související problémy)

2 2(22) Konceptuální úroveň ER-model Konceptuální schéma implementačně nezávislý popis té části reálného světa, která se týká budovaného informačního systému je pokusem umožnit předem vyjádřit sémantiku budoucích dat v databázi a současně vyjádřit modelový pohled člověka na uvažovanou část reálného světa nejznámější je E-R model (de facto standard konceptuálního modelování) Komponenty konceptuálního schématu - strukturální - operační - specifikace IO Čtyři principy modelů (představa, že se svět skládá z objektů a jejich vztahů) - orientace na objekty myslí se v objektech a nikoliv v identifikátorech, které je označují - funkcionální podstata vztahů zahrnuje se pojem atributu (E-R modely) nebo funkce - ISA-hierarchie umožňuje práci s nadtypy a podtypy objektů - hierarchický mechanismus objekty lze koncipovat z jiných objektů E-R diagram - vzniká jako součet pohledů více lidí (uživatelů) - VIEW je možné se chovat jako k obyčejné tabulce (ačkoliv vlastně virtuální prvek) Tvorba E-R diagramu - popis typů entit - popis typů vztahů - přiřazení atributů jednotlivým typům entit a vztahů - formulace integritních omezení - entita - odpovídá objektu reálného světa - vztah vazba mezi dvěma (nebo více) entitami - atribut funkce, která přiřazuje entitám či vztahům hodnotu určující některou podstatnou vlastnost entity nebo vztahu - identifikační klíč atribut nebo skupina atributů, jeho hodnota slouží k identifikaci konkrétní entity - determinant vztahu atribut, jenž je definičním oborem funkce, kterou definuje typ vztahu

3 3(22) Metody návrhu - shora dolů upřesňování typů entit a vztahů - zdola nahoru od atributů k entitám a vztahům - zevnitř ven postupné rozlišování schématu v jedné úrovni abstrakce - smíšená technika vychází ze skeletálního schématu (v hrubých rysech naznačuje modelovaný mikrosvět) Charakter dat - to, co se dávalo do registrů, formulářů, šuplíků - definice záhlaví - koresponduje s položkou formuláře - logický název tabulky - logické jméno proměnné (v záhlaví) - řádek odpovídá jednomu formuláři - zajímají nás hodnoty, nezáleží na pořadí řádků - vstupní data - pracovní data - výstupní data - přechodná data - trvalá data Operace - uložení - aktualizace - zrušení - přidání - odstranění - nalezení Charakter dat v databázi - perzistentní trvalá, musí být k dispozici v libovolné době - velká mají obrovský objem - spolehlivá korespondence mezi realitou a daty (obecně je databáze v pořádku vůči nějakému času) - integritní omezení - primární klíč pokud kombinace atributů je primární klíč, nepovolí se vložení duplicitního záznamu - kardinalita vazby triggery, insert (maximální kontrola před chybami) - konzistence - data mohou být na více místech, ale musí mít stejnou hodnotu - v rozporu s redundancí - předchází se opakování dat

4 4(22) Historie - programy pro zpracování dat - vše měly v sobě (typ, algoritmus, data) - nekompatibilní při různých programech - data k dispozici z vnějšku (souborový přístup) - ještě nedostatek soubory se dají sdílet pouze jako celek - SŘBD systém řízení báze dat - úplné oddělení od fyzična - pošlou se dotazy, vrátí se odpovědi - nezajímá, jak je to fyzicky uloženo - propracované sdílení SŘBD systém řízení báze dat - programové vybavení sloužící k udržování kolekcí dat na vnějších mediích poskytujících vhodné prostředky pro vyhledávání, pro víceuživatelský přístup k údajům, ochranu před zneužitím či znehodnocením jakoukoliv technikou. Databázový systém = databáze + SŘBD Modely dat: - hierarchický (strom) - síťový (síť) - relační (relace) Podstata databázových systémů a ideální vlastnosti: - vyšší datová abstrakce - nezávislost aplikačních programů na změnách ve fyzickém uložení dat - ochrana před neoprávněným přístupem (ochrana heslem) a před poruchami - odstranění redundancí (každý údaj uložen pouze jednou) - sdílení dat - komplexní kontrola nerozpornosti i konzistence (omezující podmínky) realita konceptuální úroveň (ER model) logická úroveň (datový model) fyzická úroveň počítač

5 5(22) Logická úroveň Relační model dat - na logické úrovni - záznamy nelze vnitřně strukturovat, záznam (prvek relace, řádek tabulky) může obsahovat pouze atomické hodnoty, a to v jedné úrovni - schéma relační DB je popis záhlaví tabulek, relační DB je tvořena množinou tabulek - primární klíč nejmenší množina atributů, jejichž hodnoty jednoznačně identifikují řádky tabulek - tabulka neobsahuje stejné řádky Integrita databáze korektnost a logická konzistence Integritní omezení tvrzení, s jejichž pomocí lze částečně specifikovat, jaká omezení či vnitřní vztahy musí splňovat data v DB Konceptuální modelování přiměřený formální popis aplikace Relační struktura dat - relace (tabulka) - záhlaví - metadata popisující vztahy (promítá se struktura z konceptuálního modelu) - jméno logický název, unikátní v rámci záhlaví - doména úžeji než typ (lze zakázat znaky apod.), co největší detailnost - data se před uložením kontrolují (například jestli položka musí být definována apod.) - skutečná data - stupeň relace počet sloupců - kardinalita relace počet řádků - u relačního modelu se připouští pouze skalární hodnoty (nejmenší sémantická hodnota) - doména by měla omezovat relaci porovnání (při dotazu) - doména se sestává z dvojice - hlavička H = {A1:D1, A2:D2,, An:Dn} - tělo B(t) = {r1,, rm}, ri = {(A1:Vi1),, (An:Vin)} - vlastnosti relací - nezáleží na pořadí - n-tice jsou uspořádané, atributy jsou neuspořádané - neexistují duplicitní n-tice - hodnoty atributů jsou atomické (1. normální forma)

6 6(22) Typy relací - bázové základní, fyzicky existující - pohledy virtuální relace, většina operací stejně jako s fyzickou tabulkou - snímky kopie tabulky, pouze ke čtení, obraz databáze v čase - výsledky dotazu nepojmenované - mezivýsledky výsledky poddotazů - dočasné pod patronací systému, uživatel nemusí vědět Relační databáze vnímána uživatelem jako kolekce časově proměnných normalizovaných relací veškerá data jsou reprezentována explicitní hodnotou (nikoliv ukazatele) propojení hledá se hodnota přes klíč Pravidla - specifická plynou z logiky aplikace, z reality - obecná týkají se logického modelu (např. primární klíč unicita) Klíč - množina atributů, která má tyto vlastnosti: - jedinečnost (unicita) - minimálnost (neredundance) nelze žádný klíč vypustit - platnost (validita) Kandidátní klíče - atribut k relace R je kandidátním klíčem na R, právě když splňuje tyto dvě na čase nezávislé podmínky - jednoznačnost žádné dvě n-tice z R nemají stejnou hodnotu k - minimalita je-li k složený, nelze vyloučit žádnou komponentu bez ztráty jednoznačnosti - získání kandidátních klíčů - vyberu celé záhlaví, náhodně jeden atribut vyčlením a zbytek testuji, jestli určuje jednoznačně - pokud ano, vybírám dále, jinak zkusím další - potenciálně různé kandidátní klíče množina kandidátních klíčů (všechny možné výběry) - nedá se testovat z reálných dat Primární klíč - vyberu z kandidátních klíčů (nejkratší, nejpřehlednější), systém pak sám kontroluje unicitu a to, jestli je definovaný (musí) - alternativní klíče ostatní kandidátní klíče - sekundární klíč - nemusí určovat jednoznačně, podporuje časově kritické operace (vyhledávání)

7 7(22) Referenční integrita - integritní omezení popisující vztahy mezi daty obsaženými ve dvou relacích - cizí klíč Cizí klíč často se přes něj spojují tabulky (ovšem není primární účel) položka, která je v jiné tabulce primárním klíčem plně nezadaný nepropojí se žádná hodnota plně zadaný - důležité pro vícesložkové klíče (nelze zadat nekompletně) - existuje bázová relace r 1 s primárním klíčem p k takovým, že každá zadaná hodnota f k v r 2 je identická s existující hodnotou p k v r 1 - kontrola, jestli existuje referenční integrita - nesymetrický vztah mezi tabulkami - operace mazání jak se zachovat, když smaži p k v r 1 (nebezpečné) - katastroficky smaže i všechny položky s ním v r 2 - nastaví na NULL - cizí klíče se nemusí jmenovat stejně, někde je to vyžadované (v SQL ne) Normální formy kritérium pro kvalitu relačního databázového schématu Normalizace proces přechodu k lepšímu relačnímu schématu relační schéma databáze dvojice (R, I), R je množina schémat relací a I je množina integritních omezení normalizace odstraňuje redundanci - povinné a nepovinné členství ve vtahu - některé typy entit mohou existovat samostatně, některé jsou existenčně svázány s jiným typem entity - aktualizační anomálie je zapotřebí uchovat hodnotu, která je závislá, což činí problémy při mazání (uchová se jinde, aby se nesmazala) 1. normální forma atomicita atributu 2. normální forma závislost neklíčových atributů pouze na celém klíči 3. normální forma v relaci nejsou neklíčové atributy tranzitivně závislé na klíči (někdy se zvažuje, jestli je vhodná)

8 8(22) Výhody normalizace - excelentní metodologie logického návrhu DB - přímý překlad logického schématu do fyzického návrhu RDBM - snížení redundance dat - ochrana proti anomáliím, které mohou vzniknout při aktualizaci DB (update a delete) - možnost restrukturalizace DB (přidání či odstranění atributů a relací) bez nutnosti měnit celý její návrh - menší tabulky - větší propustnost při I/O operacích díky menšímu počtu sloupců Relační algebra - dvojice <R, o> - nosič, operace relace - jazyk vysoké úrovně - nepracuje s jednotlivými n-ticemi relací, nýbrž s celými relacemi - operace - množinové množina = tabulka, prvek množiny = entita - průnik, sjednocení, rozdíl - požadavky na vlastnosti argumentu (ekvivalentní záhlaví) - existuje bijekce (propojení) tabulek, odpovídající domény - nesmí být duplicity - kartézský součin jediná operace, která dovoluje generovat nové záhlaví - speciální - projekce ze vstupního argumentu generuji novou tabulku (jenom vybrané položky), čímž dojde ke zúžení šířky, vyloučím duplicity - selekce redukuji tabulku do hloubky pomocí podmínky (elementární nebo zřetězení) - spojení dá se definovat jako kartézský součin a selekce (podmnožina) Spojení - univerzální (obecné spojení) umožňuje i nerovnosti - spojení na rovnost v podmínkách pouze = (může brát i část klíče) - přirozené spojení (nejčastější) - prvky nové relace vznikají spojením n-tic z obou relací přes rovnost hodnot na maximální množině společných atributů - pokud jsou vlastnosti odrazem stejné reality, mají stejný název (a musí být stejné), přes ně se spojuje, nemusí to být klíče - vnější spojení - snažíme se získat všechny prvky, i když se spojení neúčastní - levé všechny hodnoty první tabulky s výsledkem spojení (když v druhé tabulce nic není, nulové hodnoty) - pravé podobně z druhé strany - symetrické sjednocení levého a pravého

9 9(22) A B A AND B A OR B NOT A T T T T F T F F T F T N N T F F T F T T F F F F T F N F N T N T N T N Operace dělení - A = (x1, x2,, xm, y1, y2,, yn) - B = (y1, y2,, yn) - A divide by B - výsledkem je relace se záhlavím x1,, xm a tělo obsahuje množinu všech n-tic z A takových, že část n-tice v y1,, yn najde adekvátní v B (inverze ke kartézskému součinu, nepoužívá se) Relační kalkul - druhý formalizmus založený na predikátovém kalkulu 1.-ho řádu - tvoří spojení mezi databázemi a matematickou logikou - konstanta a, 1, - proměnné - predikátové symboly (splývají se jmény relací) - kvantifikátory - -\/-, spojky (implies i další), for each, exist - pomocí toho píši formule (pravdivé nebo nepravdivé) - vázané a volné proměnné (vázaná je vázána kvantifikátorem) - neměly by se v jednom výrazu vyskytovat se stejnými jmény - dotaz - {x 1, x 2,, x n A(x 1,, x n )}, x 1,, x n jsou volné proměnné ve formuli - odpověď je dána všemi ohodnoceními volných proměnných v A (= true) - pokud je relace nekonečná, odpovědí je nekonečně čísel - bezpečný výraz sémantické a syntaktické omezení (zaručuje konečnost odpovědí např. zákaz doplňků nekonečných množin) - pokud se omezíme na bezpečné výrazy, je síla jazyku stejná (dá se dokázat) SQL relační kalkul relační algebra Dotazovací jazyk relační algebra - množina výrazů, které vzniknou zahnízděnými aplikacemi operací relační algebry na relace ze schématu relační DB - odpověď na dotaz vyjádření relační algebry je relace, která vznikne vyhodnocením výrazu dotazu - relačně úplný dotazovací jazyk - má prostředky k realizaci všech operací relační jazyk

10 10(22) Minimální množina operací - sjednocení - kartézský součin - rozdíl - selekce - projekce Dotazovací jazyk relační kalkul - množina výrazů tvaru (x1,, xk A(x1,.., xk)), kde x1,, xk jsou volné proměnné (tj. nejsou kvantifikovány) ve formuli - odpověď na dotaz vyjádřený výrazem relačního kalkulu je dána všemi ohodnoceními volných proměnných v A takovými, že A po jejich dosazení nabývá hodnoty TRUE - DATALOG rozšiřuje relační systém o rekurzi Algebraické přepisování - forma zápisu naznačuje typ zpracování - všechny možné zápisy a vyhodnotí se (prakticky to nejde) - existují algoritmy, které se snaží - stromový zápis - důležitá je i fyzická podpora operací (algoritmus) Základní strategie optimalizace - je na největší možnou míru omezit velikosti mezivýsledků operacemi selekce a projekce Cílem optimalizátoru je skrýt heuristiky před uživatelem Architektura DBS z hlediska rozdělení služeb 1. prezentační služby poskytují zařízení poskytující I/O 2. prezentační logika - interakce uživatele s počítačem 3. logika aplikace - kalkulace, rozhodnutí, operace, je dána aplikačními programy 4. logika dat - vyjádření operací, které mají být prováděny s databází, které podporují logiku DB (příkazy SQL) 5. datové služby - akce s databází vně logiky dat i realizace definice a manipulace s daty, transakce 6. služby zpracování souborů - získání potřebných dat z disku, práce s vyrovnávací pamětí, služby OS

11 11(22) A přes terminál k DB: stanice (1) sálový počítač (2-6) DB - primitivní uživatelské rozhraní, špatná rozšiřitelnost, zátěž sítě o prezentační data B DB jako soubory stanice (1-5) file server (6) DB - file servery zatěžují síť přenosem souborů nutných pro zpracování dotazu C klient server stanice (1-4) server (5, 6) DB - pokud se uživatelé nesejdou na stejném řádku D klient server stanice (1-3) server (3-6) DB - lze zvýšit výkon přidáním klientů, ale při složitých a častých interakcích rapidně klesá výkon - X-terminály může zatěžovat server E klient - server s rozdělenou logikou stanice (1, 2, 3, 4) server (3, 4, 5, 6) - aplikace se vhodně rozdělí (ne vždy to tak jde) F klient server se třemi vrstvami stanice (1, 2) aplikační server (3) databázový server (4) DB (5, 6) - řeší všechny problémy, ale není moc rozšířený - databázový server současný přístup, bezpečnost, centrální zpracování dat, údržba, sdílená integrita Agendové zpracování - charakteristické za sálových počítačů - agenda tvoří ji soubor operací aplikace - plná závislost dat na programu - nízká efektivita datových struktur a programů - typické zpracování v dávkách - až při načtení do počítače se kontrolovala vstupní správnost

12 12(22) - data se sbírala jen pro jednu agendu - izolovanost dat, redundance, nekonzistence a neintegrita - redundance některé informace se v různých agendách opakují - nekonzistence postupem času se budou hodnoty stejných dat na různých místech rozcházet (oprava neproběhne všude stejně rychle) - integrita musí být uložena aktuální data (stačí znát integritu k datu v minulosti) - obtížná dosažitelnost dat - izolovanost dat roztroušena v různých souborech (a formátech) - problematický je současný přístup více uživatelů - tyto problémy odstraňuje SŘBD - data údaje získané měřením, pozorováním či zaznamenáním z reálné skutečnosti - informace smysluplné interpretace dat a vztahů mezi nimi - informační systém organizace údajů vhodná pro systémové zpracování dat (sběr, uložení, uchován, zpracování, vyhledávání) a to vše pro účely rozhodování Hierarchický systém - data uložená do souboru s organizačními atributy - entitní typ vrcholy grafu (metadata) - atributy uvnitř entitního typu - síťový model umožňuje cykly - množina entitních typů - C-množiny uspořádané dvojice hran - umožněna vazba 1:N - provedení kruhovým seznamem - v každém záznamu ukazatel na další - na konci opět vstupní bod (pro procházení položek) - manipulace (přechody) - nastavení na kořen stromu databáze - horizontálně na další strom (les stromů) - přechod mezi úrovněmi hierarchie - vložení nebo zrušení záznamu na specifikované pozici - synovský záznam nemůže existovat bez otcovského - vazby M:N se provádějí pomocí dvou vazeb 1:N a pomocné struktury (logický model)

13 13(22) Fyzická úroveň (interní) - SŘBD -> správce souborů (stránky, bloky) -> správce disku (úroveň disku, I/O operace) - databázové struktury mají pevnou strukturu - všechny záznamy jsou na stejné úrovni - jednoduše algoritmicky zpracovatelný přístup k položkám - relační model - mapování IDZ (vnitřní záznam, kde je to uložené) - mapování IDS (fyzická adresa) - horší systémy využívají OS - lepší systémy - vytváří i pro nejnižší vrstvy vše vlastní (optimalizace) - informace, ve kterých stránkách a kde je informace uložena - IDZ dá se rozdělit - adresa stránky - pomocná struktura nebo offset, kde na stránce je záznam Statická organizace dat - pro nalezení záznamu s daným klíčem v sekvenčním souboru potřebujeme čas úměrný velikosti souboru (lineární složitost) v index-sekvenčním či indexovém souboru čas konstantní - to však platí v ideálním stavu, kdy příliš neaktualizujeme primární soubor odpovídající databázi - databáze jsou ale statické a uložené v pevně vymezeném prostoru na disku - některé aktualizace vedou k řetězení záznamů ve speciálním prostoru oblasti přetečení - tím se vyhledávání zhoršuje, je nesymetrické a místo konstantního času se postupně dospěje k složitosti lineární Dynamická organizace dat - rychlost vyhledávání v nich je stále omezená rozumnou hranicí (složitost je konstantní nebo logaritmická v závislosti na velikosti relace) a paměť potřebná k uložení datové struktury se zvětšuje nebo zmenšuje v souladu s aktualizací relace SŘBD - vidí soubor jako soubor uložených záznamů jednoznačně identifikovaných IDZ, které se nemění po dobu života záznamu (nepředpokládají se přesuny ale změny dat) - uložený soubor sekvenční průchod (mohu přeskládat a setřídit) - některé systémy potřebovaly vytvořit index pro primární klíč (GUPTA), jiné to dělají samy na pozadí

14 14(22) Shlukování (clustering) - pro převládající typy dotazů potřebuji propojení tabulek - třeba při zakládání definovat jejich fyzické uložení - klasicky - systém musí vždy znovu načíst stránky obou tabulek a znovu prvky hledat - clustering tabulky se dají na stejné stránky, takže se načtou najednou Realizace rychlého vyhledávání - index - hashování Index - systém ví, že je to soubor - vyhledávání v nesetříděném souboru není dobré - indexový soubor - tabulka se sloupcem primárních klíčů a sloupcem odkazů na řádky - stejný počet záznamů, ale menší objem (nejsou všechna data) - udržuje se setříděný vyhledávání třeba půlením intervalů - najdu položku v indexovém souboru a potom jdu přímo na celý záznam - hustý index stejný počet záznamů jako v původní tabulce - řídký index podobné slovníkovému přístupu (index sekvenční přístup) - víceúrovňový index řídký index a za ním hustý index - primární podle primárního klíče - sekundární hledám množinu položek - ORACLE kdy vygeneruji index, rád ho použije, někdy generuje sám B-strom - cesta při vyhledávání je vždy stejná (dokonale vyvážený) - jednotlivé uzly jsou udržovány setříděné - každý uzel maximálně n následovníků a minimálně m/2-1 blok - typicky jedno načtení z disku - obsazuje se typicky 1/2 dat (při vytvoření) - rozdělení uzlu - pokud má počet následovníků přesáhnout m, vzniknou dva uzly po m/2 následovnících a jeden prvek se předá do předchozího uzlu, zvýšení výšky stromu - slévání uzlů - při vybírání prvků (mělo by klesnout pod m/2), snížení výšky stromu B+ strom - implicitně na listové úrovni je kruhový seznam následovníků - výhodné pro rychlý výpis záznamů

15 15(22) Hashování - vstupním parametrem může být třeba primární klíč (nemusí) - hashovací funkce - transformace klíče na adresy - počet adres se doporučuje prvočíslo (hashovací funkce pak končí modulo prvočíslo) - měla by prvky rozptýlit rovnoměrně - statické hashování - pevně stanovené prvočíslo - konflikt klíčů zřetězení (může vést k degeneraci, až lineární složitosti vyhledávání) - dynamické hashování (Faginovo) - velikost paměti se přizpůsobuje velikosti databáze - klíč chápe se jako binární číslo - adresář - pomocná struktura (odkazy na stránky na jedno načtení), na začátku beru jenom 1 bit (2 řádky) - rozdělení stránky - pokud stránku zaplním, rozhashuji záznamy do dvou a přidám jeden bit - pokud druhá stránka není plná (a první se rozdělila), netýká se jí to - sloučení stránek - při mazání, uberu bit - vlastní hashování probíhá jen v první fázi Základní metody pro výpočet spojení - hnízděné cykly - procházím záznamy první tabulky a ke každému hledám příslušné v druhé - dvojitý cyklus není moc dobré - indexované hnízděné cykly - buď si vytvoří systém sám, nebo má explicitně k dispozici - vnější cyklus se prochází sekvenčně (první tabulka) - vnitřní cyklus pomocí indexů (druhá tabulka) - vyhledávání - setřídění - slévání - indexy pro obě tabulky, jako by obě byly setříděné - jenom se spojuje - rozdělení relací algoritmus GRACE (hashovaná spojení) - pokud se obě tabulky nevlezou do paměti, ale (T1+T2)/n ano, rozdělím prvky do tříd podle zbytku (modulo n) - pak pospojuji části a nakonec dám výsledek dohromady - musí se spočítat, co se časově vyplatí - není možné vyzkoušet všechny možnosti heuristika (předvídá, které metody jsou lepší) - obecná poučka selekce a projekce se provádí co možná nejdříve - statistiky - počet n-tic v tabulce nr - V(A,R) kolik prvků má konkrétní hodnotu - nr/v(a,r) relativní vztažení k počtu prvků - dají se zapojit do optimalizace

16 16(22) Zpracování transakcí Transakce - posloupnost jistých akcí, které se buď provedou všechny anebo se neprovedou vůbec - z hlediska aplikačních programů je to logická jednotka práce odpovídající nějaké akci v reálném světě Vlastnosti transakcí (ACID) - atomicita změny databáze, které transakce provádí, se všechny promítnou do DB nebo je DB uvedena do původního stavu - konzistence transakce transformuje DB z jednoho konzistentního stavu do jiného konzistentního stavu - nezávislost dílčí efekty transakce nejsou viditelné jiným transakcím - trvanlivost efekty úspěšně ukončené (potvrzené) transakce jsou uloženy do DB - implicitní zahájení transakce po provedení první definice databáze nebo databázové operace po potvrzení poslední transakce - explicitní zahájení transakce speciálním příkazem (BEGIN TRANSACTION, COMMIT TRANSACTION) Rozvrh - stanovené pořadí provádění operací více transakcí v čase - sériový rozvrh transakce probíhají po sobě v určitém pořadí - paralelní rozvrh transakce probíhají souběžně - rozvrhovač - software, který rozhoduje, jakým postupem v čase se transakce zpracovávají - jeho úkolem je vytvářet rozvrh souběžného zpracování, tj. maximalizovat paralelismus transakčního monitoru - test konzistence databáze je v konzistentním stavu, pokud existuje sériový rozvrh transakcí, který ji uvede do stejného stavu (uspořadatelnost) READ (X) přiřazuje hodnotu atributu X lokální proměnné x WRITE (X) přiřazuje hodnotu lokální proměnné x atributu X ve vyrovnávací paměti Kurzor - slouží pro specifikaci množiny řádků, na nichž pak lze operovat způsobem po jednom v čase - je pojmenovatelný příkaz SELECT - je nutné otevřít příkazem OPEN - příkaz FETCH zajistí umístění kurzoru na následující prvek odpovědi dané vyhodnocením příkazu SELECT a dosazení příslušných komponent prvků do proměnných hostitelského jazyka

17 17(22) Optimistické systémy - pracují v prostředí, kde je konflikt minimální - nevěnuje se sofistikovanější analýze (jednoduché testy) - pokud nekorektní transakce se vrátí a provedou se v jiném pořadí Pesimistické systémy - rozšiřují model (zápis a čtení) o operace uzamykání Možné chyby Dočasná aktualizace - 0. nebo 1. úroveň - transakce pracuje s hodnotou, která již není aktuální (jiná transakce ji změnila), takže ji při uložení přepíše špatně Neopakovatelné čtení - 2. úroveň - transakce T1 používající daný kurzor, se snaží znovu přečíst řádek, který již jednou četla, ten však již obsahuje jiné hodnoty díky aktualizaci transakcí T2, která probíhá paralelně Fantom - 2. úroveň - transakce T přečte množinu řádků a zpracovává je, mezi tím dojde ke změně těchto řádků transakcí T1, použije-li pak T týž příkaz, obdrží již jinou množinu řádků Zamykání a odemykání Zamykání - akce, kterou vyvolá transakce na objektu, aby ho ochránila před přístupem od ostatních transakcí Odemknutí akce uvolňující objekt pro zpracování dalšími transakcemi Uváznutí v jedné transakci chceme uzamknout to, co je již uzamknuté druhou transakcí a naopak Podmínky zachování uspořádání (ekvivalence rozvrhů) - jestliže v se v jednom rozvrhu vyskytuje READ(A) v transakci Ti a tato hodnota vznikla z WRITE(A) v transakci Tj, pak toto musí být zachováno i v jiném rozvrhu - jestliže se v jednom rozvrhu vyvolá poslední WRITE(A) transakcí Tj, pak totéž musí být zachováno v jiném rozvrhu Uspořadatelnost rozvrh je uspořadatelný, existuje-li sériový rozvrh s ním ekvivalentní

18 18(22) Legální rozvrh - objekt může v daném čase být uzamčen nejvýše jednou transakcí - objekt musí být uzamknutý, kdykoliv jej transakce potřebuje - pokud je objekt uzamčený jinou transakcí, musí se čekat Dobře formovaná transakce - nezamyká objekt, který již zamkla - neodemyká objekt, který nezamkla - po ukončení odemyká všechny objekty, které zamkla Dvoufázová transakce - první fáze - uzamkne vše, co je potřeba (pokud je něco zamčeného, všechno opět odemkne) - druhá fáze (od prvního odemknutí) objekty již pouze odemyká - jsou-li všechny transakce v dané množině transakcí dobře formulované a dvoufázové, pak každý jejich legální rozvrh je uspořádaný Dvoufázový uzamykací protokol - protokol, v němž každá transakce je dvoufázová - jsou-li všechny transakce v dané množině transakcí dobře formované a dvoufázové, pak každý jejich legální rozvrh je uspořadatelný Zámky - pro tabulku, řádek, položku - pro čtení (sdílené) uzamyká objekty, které chceme pouze číst - pro zápis (exkluzivní, výlučný) na objekty pro operace READ a WRITE - neviditelné zámky (vytváří je sám systém) Zjištění uváznutí Precedenční graf - vrcholy = transakce - potenciální hrany čekání na transakci - cyklus - možné uváznutí, třeba rozbít (ROLLBACK jedné transakce) - některé se snaží rozpoznat délku transakce (vyberou tu nejkratší) PC Stavy transakce A - aktivní (A) stav od počátku provádění transakce F - částečně potvrzený (PC) stav po provedení poslední operace transakce - chybný (F) v normálním průběhu transakce nelze pokračovat - zrušený (AB) po skončení operace ROLLBACK - potvrzený (C) nastane po úspěšném zakončení, tj. po potvrzení operace COMMIT C AB

19 19(22) Obnova po poruše - transakce, které byly úspěšně uloženy v pořádku - transakce, které skončily před poruchou, ale nebyly uloženy obnoví se z logfile a uloží - transakce, které přerušila porucha pomocí logfile se provede ROLLBACK LogFile (žurnál) - záznamy o všech změnách, které transakce vykonaly na DB (operace WRITE(X) a fyzická změna DB OUTPUT(X)) - dostatečně velký (2-3 dny) - zapisuje se stále dokola Algoritmus UNDO-REDO - oprava systému po krachu - vytvoří dva seznamy UNDO a REDO, do UNDO dá všechny transakce z posledního kontrolního bodu - prohledává žurnál dopředu, pokud narazí na začátek další transakce, uloží do UNDO, pokud konec, přesune do REDO - zpětným chodem čte žurnál a provádí ROLLBACK (seznam UNDO) - opět projde žurnál dopředu a provede transakce REDO

20 20(22) Objektově orientované databáze Hlavní přínosy objektové technologie v DB - přímý vztah ke konceptuálnímu modelování, objekty reálného světa lze reprezentovat velmi přirozeně jako složité objekty - část funkcí specifikovaných dříve v aplikačních programech se přenáší do definice objektu (zapouzdření), tj. i programy se stávají součástí DB OOSŘBD by měl vyhovovat - měl by být SŘBD (perzistence objektů na vnějších pamětech, souběžný přístup více uživatelů, spolehlivost dat, administrátorské dotazy) - měl by být OO (existence identity objektu, existence typu nebo tříd, zapouzdření, polymorfizmus, dědění, složité objekty, rozšiřitelnost a výpočetní úplnost) - objekt - je dán hodnotami svých atributů a množinou operací, které definují jeho chování - identita je nezávislá na hodnotě objektu - rovné objekty nemusí být identické - typ OOSŘBD - popisuje společné struktury množiny objektů se stejnými atributy a operacemi - třída - může produkovat nové objekty, může sdružovat všechny potřebné objekty - je to realizace typu Zapouzdření objekty dané třídy mohou být přistupovány pouze přes dané rozhraní hodnoty atributu objektů nejsou obecně přístupné z programovacího jazyka Polymorfizmus schopnost operací fungovat na objektech více než jednoho typu Dědění odvozování nových tříd z tříd existujících

21 21(22) Proces normalizace - v době, kdy máme popsané schéma databáze (záhlaví a integritní omezení) - funkční závislosti určují sémantiku - máme z logického schématu vytvořit fyzické tabulky - test na výši normální formy (většinou rozbití tabulek na více menších) - nechť mezi X,Y atributy je relace, kterou značíme funkční závislostí - R. X R. Y - platí tehdy, když ke x odpovídá právě nebo nejvýše jedno y - kandidátní klíče závislost vzájemná ( K1 K 2 ) - návrh shora dolů (někdy se jde odspodu) - z funkčních závislostí můžeme najít primární (kandidátní) klíče levé strany závislostí - tranzitivní závislost (není ve 3NF) - rozbíjí se na více tabulek - také by zbytečně zabíralo místo A B C - rozbíjení tabulek - hlavní tabulka klíč a všechny levé strany funkčních závislostí - další tabulky určují funkční závislosti A B B C - je to na úkor rychlosti tabulky se musí skládat - při smazání položky (A,B,C) mohu ztratit informaci o funkční závislosti rozbitím tabulky předejdu - také jednodušší pří ošetřování změn zadání - funkční závislost závislost mezi atributy 1nf 2nf 3nf BCNF 4nf 5nf 1NF - všechny jednoduché domény obsahují pouze atomické hodnoty - existují snahy to porušovat (blob, podřetězec) 2NF - každý neklíčový atribut je plně závislý na primárním klíči (+ 1NF) - nemusím se zabývat u jednosložkových klíčů - týká se vícesložkových klíčů - negativně - podmnožina klíčů nesmí sama určovat nějaký atribut - řeší se rozbitím tabulky

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

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

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

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

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze 5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie

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

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

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

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

Transakční zpracování Bezpečnost databází. Vladimíra Zádová, KIN, EF TUL- DBS 1

Transakční zpracování Bezpečnost databází. Vladimíra Zádová, KIN, EF TUL- DBS 1 Transakční zpracování Bezpečnost databází Vladimíra Zádová, KIN, EF TUL- DBS 1 Transakce Transakce systém zpracování transakcí vlastnosti ACID stavy transakce SŘBD a transakční zpracování Řešení transakcí

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

J. Zendulka: Databázové systémy 4 Relační model dat 1

J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

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

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

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

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

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émy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

Více

1. Databázové systémy (MP leden 2010)

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

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

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

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

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

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 15. Otázka : Paralelní procesy v databázích. Transakce, zamykání, uváznutí. Dvoufázový protokol, časová razítka. Obsah : 1 Úvod 2 Paralelní procesy v databázích

Více

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice) - 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje

Více

4. Databázové systémy

4. Databázové systémy 4. Databázové systémy Osnova 1. 2. 3. 4. Základní pojmy, principy, architektury Ukládání a reprezentace dat, zpracování dotazu, transakce, indexování, hašování, datové modelování Metadata Datové sklady

Více

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

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

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

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

Otázka č. 1 (bodů za otázku: 4)

Otázka č. 1 (bodů za otázku: 4) Otázka č. 1 (bodů za otázku: 4) Agendy - redundance Která z následujících tvrzení charakterizují redundanci dat v databázi? Je to opakování stejných dat pouze v různých souborech. Je zdrojem nekonzistence

Více

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty Systém řízení báze dat SŘBD programový systém umožňující vytvoření, údržbu a použití báze dat databáze program Database engine (databázový stroj, databázový motor, databázové jádro) funkce: přenos (načítání)

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

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

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Co je to databáze? Jaké

Více

6. Fyzická (interní) úroveň databázového systému

6. Fyzická (interní) úroveň databázového systému 6. Fyzická (interní) úroveň databázového systému 6.1. Struktura databázového systému... 2 6.2. Přístup k datům v databázi... 3 6.3. Struktura souborů... 4 6.4. Správa vyrovnávací paměti... 8 6.5. Podstata

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Zotavení z chyb. Databázové systémy

Zotavení z chyb. Databázové systémy Zotavení z chyb Databázové systémy Zotavení z chyb v DBS Úloha: Po chybě obnovit poslední konzistentní stav databáze Třídy chyb: 1. Lokální chyba v ještě nepotvrzené transakci 2. Chyba se ztrátou hlavní

Více

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

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

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Základní myšlenka: snaha o zpracování dat paralelně. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem. Řešení: data

Více

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy TÉMATICKÝ OKRUH Počítače, sítě a operační systémy Číslo otázky : 12. Otázka : Metody fyzické organizace dat Obsah : 1.Úvod 2.Vnější paměti 3.Sekvenční soubory 3.1 Setříděné sekvenční soubory 4.Zřetězené

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

Konceptuální modelování. Pavel Tyl 21. 3. 2013

Konceptuální modelování. Pavel Tyl 21. 3. 2013 Konceptuální modelování Pavel Tyl 21. 3. 2013 Vytváření IS Vytváření IS Analýza Návrh Implementace Testování Předání Jednotlivé fáze mezi sebou iterují Proč modelovat a analyzovat? Standardizované pracovní

Více

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19 3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,

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

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam

Více

Kapitola 6: Omezení integrity. Omezení domény

Kapitola 6: Omezení integrity. Omezení domény - 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované

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

Dolování asociačních pravidel

Dolování asociačních pravidel Dolování asociačních pravidel Miloš Trávníček UIFS FIT VUT v Brně Obsah přednášky 1. Proces získávání znalostí 2. Asociační pravidla 3. Dolování asociačních pravidel 4. Algoritmy pro dolování asociačních

Více

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH 1 teorie dosud -aplikace jednouživatelské praxe - databáze současně přístupná více uživatelům, paralelní běh aplikací příklady

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

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

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

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006 UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová Aktualizovaná verze 2006 Ostravská univerzita OBSAH 1 Modul 1... 6 1.1 Relační datový

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

2. přednáška z předmětu GIS1 Data a datové modely

2. přednáška z předmětu GIS1 Data a datové modely 2. přednáška z předmětu GIS1 Data a datové modely Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky z www.gis.zcu.cz Předmět KMA/UGI, autor Ing. K.

Více

UNIVERZITA PALACKÉHO V OLOMOUCI

UNIVERZITA PALACKÉHO V OLOMOUCI UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Bakalářská práce 2014 Lenka Koutná UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Katedra technické a informační výchovy Bakalářská práce Lenka

Více

DATABÁZOVÉ SYSTÉMY JIŘÍ HRONEK. 1.1 Úvod do databázové technologie KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

DATABÁZOVÉ SYSTÉMY JIŘÍ HRONEK. 1.1 Úvod do databázové technologie KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO DATABÁZOVÉ SYSTÉMY JIŘÍ HRONEK Studium databázových systémů (DBS) můžeme členit do tří širokých oblastí podle úhlu uživatelského nebo vývojářského

Více

Přijímací zkouška - matematika

Přijímací zkouška - matematika Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

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

Databázové systémy I. 1. přednáška Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50

Více

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy - 2.1 - Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit Množiny vztahů Otázky návrhu Plánování mezí Klíče E-R diagram Rozšířené E-R rysy Návrh E-R databázového schématu Redukce

Více

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980 01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980 02. Kdy přibližně vznikly první komerční relační databázové servery?

Více

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087 Databázové a informační systémy Informační systém prodejny nábytku Jakub Kamrla, KAM087 1. část Funkční a nefunkční požadavky 1. K čemu má systém sloužit Jedná se o informační systém pro jednu nejmenovanou

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

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

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody 37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

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

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Dolování v objektových datech. Ivana Rudolfová

Dolování v objektových datech. Ivana Rudolfová Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Access Tabulka letní semestr 2013

Access Tabulka letní semestr 2013 MS Access Tabulka letní semestr 2013 Tvorba nové tabulky importem dat propojením externího souboru pomocí Průvodce v návrhovém zobrazení Návrh struktury tabulky Tabulka záznam pole záznamu Jmeno RodCislo

Více

OZD. 2. ledna 2013. Logický (Objekty, atributy,...) objekty stejného typu.

OZD. 2. ledna 2013. Logický (Objekty, atributy,...) objekty stejného typu. OZD 2. ledna 2013 1 Paměti Hierarchie: Registry Cache (nejsou viditelné) Primární pamět (RAM) Pamět druhé úrovně (Disky, trvalá úložiště), pomalá Pamět třetí úrovně (CD, pásky) 1.1 Paměti druhé úrovně

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

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

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =

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

Predikátová logika. prvního řádu

Predikátová logika. prvního řádu Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)

Více

Etapy tvorby lidského díla

Etapy tvorby lidského díla Systém Pojem systém Obecně jej chápeme jako seskupení prvků spolu s vazbami mezi nimi, jejich uspořádání, včetně struktury či hierarchie. Synonymum organizace či struktura. Pro zkoumání systému je důležité

Více