Téma 11 Přístup k datům Obsah. Organizace ukládání dat

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

Download "Téma 11 Přístup k datům Obsah. Organizace ukládání dat"

Transkript

1 Téma 11 Přístup k datům Obsah 1. Organizace ukládání dat Záznamy pevné a proměnné délky Sekvenční organizace souborů Organizace "multi-table clustering" 2. Indexování Podstata indexování Hustéa řídkéindexy B+ stromy a jejich vlastnosti 3. Hašování Princip hašování Statické hašování Dynamické rozšiřitelné hašování Organizace ukládání dat Přístup k datům 1 Přístup k datům 2 Databáze a soubory Databáze je uložena jako soustava souborů(files). Každý soubor je posloupnost záznamů(records). Záznam je posloupnost polí(fields), obvykle odpovídajících atributům Základnípřístup Předpoklad: každý záznam má pevnou délku Každý soubor obsahuje záznamy jediného konkrétního typu Každá datová relace je v samostatném souboru Snadná implementace Záznamy pevné délky m bytů i-tý záznam začínána pozici m (i 1) Přístup k záznamům je velmi jednoduchý Viz služba lseekpro práci se soubory Výmaz záznamu i alternativy: i+1,..., nna i,..., n 1 přesuňzáznam n na místo i-tého nepřesouvej nic, ale udržuj seznam smazaných záznamů, tj. volného místa Přístup k datům 3 Seznamy volného místa Ulož adresu prvního smazaného záznamu v záhlaví souboru Použij místo po zrušeném záznamu k uloženíadresy druhého smazaného záznamu, atd. Uložené adresy jsou odkazy (pointery) odkazují na příští zrušený záznam Při vkládání záznamů se použije místo po zrušených záznamech Přístup k datům 4

2 Záznamy s proměnnou délkou Záznamy s proměnnou délkou se používajízřídka. Mohou vzniknout při potřebě uložení různých záznamů v jednom souboru uložení záznamů s poli (atributy) proměnné délky Stránkovanésoubory Soubor = množina stránek(bloků) fixní velikosti Záhlaví stránky obsahuje Počet záznamůve stránce Odkaz na konec volného místa Pozici a délku každého záznamu Záznamy lze uvnitř stránky libovolně přesouvat a šetřit tak místo Odkazy na záznamy v souboru jsou tvořeny dvojicemi (číslo_stránky, číslo_záznamu_ve_stránce). Neodkazujíse přímo záznamy, ale údaje v Délka záznamu Umístění záhlaví stránek Počet zázn. Záhlaví Volno Organizace záznamů v souborech Umísťování záznamů může výrazně ovlivnit přístupové doby zpravidla se vyhledává prostřednictvím klíče(asociativní paměť) Halda záznam se umístív souboru kamkoliv, kde je místo Sekvenční organizace záznamy se ukládají v pořadí daném hodnotou vyhledávacího klíče záznamu Hašování hašovacífunkce počítanáz vhodného atributu záznamu (klíče) určíčíslo bloku v souboru, kam bude záznam umístěn Záznamy každérelace se zpravidla ukládajído samostatných souborů. V organizaci označovanéjako "multi-table clustering" se záznamy různých relací ukládají do jednoho souboru Motivace: ukládej logicky spolu souvisejícízáznamy do jednoho bloku s cílem minimalizace I/O operací Ukazatel na konec volného místa Přístup k datům 5 Přístup k datům 6 Sekvenční organizace souboru Velmi vhodné pro aplikace, kdy se požaduje sekvenční zpracování celé tabulky Záznamy jsou řazeny podle vyhledávacího klíče Uspořádanésekvenčnísoubory umožňujívelmi rychlý přístup k datům Půlení intervalu logaritmická(sub-lineární) složitost Údržba je avšak extrémně obtížná Proto je obvykle ke každému záznamu připojen odkaz na "logicky následující" záznam Sekvenční organizace souboru (pokr.) Výmaz řetězec odkazů přeskočí smazaný záznam Vložení najdi pozici, kam záznam vložit je-li tam volno, vložho tam pokud ne, vložzáznam do tzv. bloku přeplnění V každém případěje nutno aktualizovat řetězec odkazů Reorganizace souboru Čas od času se musísoubor reorganizovat, aby se obnovilo plnésekvenčníuspořádání, a tak bylo používat efektivní (sub-lineární) hledání Přístup k datům 7 Přístup k datům 8

3 Organizace "multi-table clustering" Uložení několika relací v jednom souboru s organizací multi-table clustering Relace depositor a customer uložené v jednom souboru Vhodnépro dotazy typu depositor customera dotazy týkajícíse jednoho zákazníka a jeho účtů Neefektivní, kdyžse dotaz bude týkat jen zákazníka Vede na záznamy s proměnnou délkou Lze téžpřidat řetězce odkazůspojujících záznamy patřící k jedné ze zobrazovaných relací Uložení slovníku dat Slovník dat(data dictionary, system catalog) obsahuje údaje o datech (metadata) Informace o relacích jména relací, jména a typy atributů každé relace, integritní omezení jména a definice pohledů Informace o právech uživatelů, včetně zakódovaných hesel Údaje o fyzické organizaci souborů Jak je která relace uložena (sekvenčně/hašovaná/...) Fyzická lokalizace relace (v kterém souboru,...) Údaje o indexech a dalších strukturách Struktura slovníku dat Relační reprezentace na disku Možná reprezentace soustavou relací(tabulek) podle schémat: Přístup k datům 9 Přístup k datům 10 Základní myšlenka indexace Indexy zrychlují hledání v datech podle klíče např. autorský index v knihovně Indexní soubor sestává ze záznamů ve tvaru Indexace a indexní soubory Přístup k datům 11 Indexní soubory bývají výrazně menší než původní soubory s daty mnohdy se celévejdou do operačnípaměti Dva základní typy indexů: Setříděné indexy: soubor je setříděn podle klíčů Hašovanéindexy: klíče jsou rovnoměrněrozloženy v "blocích" referencovaných hašovací funkcí Měřítka pro hodnocení efektivní organizace indexů Podporované typy vyhledávání, např. záznamy s konkrétníhodnotou klíče (či jiného atributu) versuszáznamy s hodnotou klíče v zadaném intervalu hodnot Doba přístupu Náročnost operací vkládání a výmazu dat Prostorová(paměťová) náročnost (režie) Přístup k datům 12

4 Setříděné indexy Při setříděných indexechjsou položky indexního souboru setříděny a uloženy podle hodnot prohledávacího klíče Např. autorský katalog v knihovně Index může být prohledáván iterovaným půlením Primárníindex: index určujícípořadízáznamův sekvenčně organizovaném souboru Prohledávací klíč primárního indexu je obvykle (i když ne nutně) primárním klíčem relace POZOR: Nejde-li o primární klíč relace, může k jedné hodnotě prohledávacího klíče existovat více datových záznamů Sekundárníindex(y)určujípořadíjiné, nežje určeno primárním indexem Vhodnépro setříděnévýpisy či prohledáváníodlišnéod primárního indexu Index-sekvenčnísouboroznačuje setříděný datový soubor s primárním indexem a vše je spojeno do jediného diskového souboru Husté a řídké indexy Hustý indexobsahuje záznamy pro všechny hodnoty prohledávacího klíče Řídké indexy obsahují odkazy pouze na některé hodnoty klíčů Použitelné jen když datové záznamy jsou setříděné podle stejného klíče Řídké vs. husté indexy Menšía méněrežie spojené s rušením a vkládáním záznamů Obecněpomalejšínežhustéindexy při vyhledávání Výhodnéa nejčastějšíužití:řídký index s položkami odkazujícími na prvnízáznam podle klíče v každém alokačním bloku datového souboru Přístup k datům 13 Přístup k datům 14 Víceúrovňové indexy Pokud se primárníindex nevejde do paměti, vyhledávánízačne být nákladné Řešení: považuj primárníindex uložený na disku za sekvenčnísoubor a vybuduj k němu řídký index vnějšíindex = řídký index primárního indexu vnitřníindex = primárníindex k datům Je-li i pak vnějšíindex příliš velký, vytvoř další úroveň, atd. Problém: Při vkládání či mazání záznamůje nutno aktualizovat všechny nadřazené úrovně indexů Přístup k datům 15 Aktualizace indexů Mazánízáznamů Pokud mazaný záznam je jediný záznam s danou hodnotou prohledávacího klíče, pak je nutno smazat i příslušnou indexní položku Výmaz při jednoúrovňových indexech: Husté indexy analogické výmazu datového záznamu Řídké indexy jestliže hodnota prohledávacího klíče mazaného záznamu v řídkém indexu je, dojde k vymazání náhradou této hodnoty další hodnotou klíče jestliže dalšíhodnota prohledávacího klíče jižv řídkém indexu existuje, pak místo náhrady jen klíč vymaž Vloženízáznamu Jednoúrovňové indexy: Pomocí stávajícího indexu najdi, kam má vkládaný záznam přijít Hustéindexy není-li vkládanáhodnota prohledávacího klíče v indexu, vlož ji Řídké indexy(případ, kdy index odkazuje první záznam v alok. bloku) je-li v indexu položka pro blok, kam se nový záznam umístí, nenínutnážádná úprava, pokud se nevytváří další blok je-li nutno vytvořit dalšíblok, pak prvníhodnota v novém bloku se musívložit do indexu Rušenía vkládánízáznamůpři víceúrovňových indexech je rekurzívním zobecněním jednoúrovňových operací Přístup k datům 16

5 Sekundární indexy Často chceme nalézt všechny záznamy, jejichžhodnota určitého atributu (ne nutněprimárního klíče) splňujedanou podmínku Příklad 1: V relaci accountuloženésekvenčněpodle čísla účtu chceme najít všechny účty v dané pobočce Příklad 2: stejnějako v předešle, avšak navíc chceme najít jen účty s určitým konkrétním zůstatkem či dokonce se zůstatkem v zadaném rozmezí Můžeme budovat sekundárníindexy s položkami pro jiné než primární klíče Sekundárníindexy musíbýt husté(proč?) Indexní záznam ukazuje na skupinu obsahující reference na všechny záznamy s určitou hodnotou sekundárního prohledávacího klíče Primárnía sekundárníindexy vlastnosti Indexy přinášejíjasnévýhody při hledánízáznamůpodle hodnot prohledávacích klíčů Avšak: Aktualizace indexůpůsobírežijnínáklady při aktualizaci databází jakmile je změněn obsah datového souboru, musíbýt modifikovány všechny indexy přidružené k těmto datům Sekvenčníprohlíženípodle primárního indexu je velmi efektivní, ale prohlíženídle sekundárního indexu je mnohem nákladnější každý přístup k záznamu může znamenat nahránínového alokačního bloku souboru z disku nahrání bloku potřebuje řádově milisekundy oproti řádově ns při přístupu do hlavnípaměti Přístup k datům 17 Přístup k datům 18 Indexní soubory s B+ stromy Indexy s B+ stromyjsou alternativou k index-sekvenčním souborům Nevýhody index-sekvenčních souborů Jak soubory rostou, degraduje se jejich účinnost přílišmnoho bloků přeplnění => nutnost periodické reorganizace souborů Výhoda indexůs B+ stromy Automatickáreorganizace při malých, lokálních, změnách způsobených vkládáním a rušením jednotlivých záznamů Reorganizace celého souboru za účelem zachovánívýkonnosti není nutná (Menší) nevýhoda B+ stromů vyšší režie při vkládání a rušení záznamů větší paměťové(prostorové) nároky Výhody výrazně převyšují nevýhody B + -stromy se používajívelmi často Indexy s B+stromy B+ strom je stromová datová struktura reprezentující uspořádaná data a respektující existenci bloků dat Umožňuje efektivní vyvolávání, vkládání a rušení záznamů identifikovaných klíčem Jde o dynamický víceúrovňový stromověorganizovaný index, přičemž existují omezení na maximální a minimální počet klíčů v každém uzlu stromu B+ strom má následující vlastnosti Všechny cesty od kořene k listu stromu jsou stejnědlouhé Každý vnitřníuzel stromu mámezi n/2 a nnásledníky, kde n se nazývá řád stromu(též faktor větvení) nzávisína velikosti klíče a velikosti alokačního bloku souboru; n 100 List stromu obsahuje (n 1)/2 až n 1 hodnot klíčů Výjimky: K3 K5 Pokud kořen nenílistem, máaspoň2 následníky Je-li kořen zároveň listem (tj., strom nemá vnitřníuzly), může obsahovat 0 až(n 1) hodnot B+ strom při n=3 K1 K2 K3 K4 K5 K6 K7 Přístup k datům 19 d 1 d 2 d 3 d 4 d 5 d 6 d 7 Přístup k datům 20

6 Struktura uzlů B+ stromu Typický uzel stromu P 1 K 1 P 2 K 2 P n-1 K n-1 P n K i jsou hodnoty prohledávacího klíče P i jsou odkazy (ukazatele) na následníky (pro nelistovéuzly) nebo odkazy na datové záznamy (či jejich skupiny) pro listy Klíče v uzlu jsou uspořádány K 1 < K 2 < K 3 <...< K n 1 Nelistovéuzly tvořívíceúrovňový řídký index listových uzlů. Pro nelistovéuzly s modkazy platí, že podstrom odkazovaný P 1 obsahuje klíče s hodnotou K 1, pro 2 i n 1 platí, že podstromy odkazované P i majíklíče s hodnotami λ,kde K i 1 λ< K i, a uzel referencovaný P n obsahuje hodnoty > K n 1 Pro listy platí Pro i= 1, 2,..., n 1, ukazatel P i buďodkazuje přímo datový záznam s klíčem K i, nebo odkazuje skupinu dalších ukazatelůna více datových záznamůs klíčem K i. Druhý případ je nutný, pokud nejde o primárníklíč, kdy v datech je více záznamů se stejným prohledávacím klíčem V listech L i a L j při i < jplatí, klíče v L i jsou menšínežklíče v L j P n ukazuje na následujícílist To umožňuje uspořádané výpisy bez procházení stromu Přístup k datům 21 Příklad B+ stromu pro primární index A-102 A-249 Datové záznamy B+ strom pro soubor s relací account s primárním klíčem account_id při n = 3 Přístup k datům 22 Příklad B+ stromu pro neprimární index B+ strom pro soubor s relací account s neprimárním klíčem account_city při n = 3 Skupiny ukazatelů pro neprimární index. Bude nutná realizace záznamy proměnné délky! Poznatky o B+ stromech Protože vazby mezi uzly jsou realizovány ukazateli, logicky blízké bloky nemusí být blízké fyzicky oddělení logiky od implementace může ale snížit efektivitu Nelistové uzly tvoří hierarchii řídkých indexů B+ stromy jsou poměrně"mělké" majímalý počet úrovnía od kořene k listu vede krátkácesta V úrovni pod kořenem je minimálně2* n/2 hodnot klíčů Dalšíúroveňobsahuje aspoň2* n/2 * n/2 hodnot... atd. Je-liv datovém souboru Khodnot prohledávacího klíče, pak hloubka stromu nenívětšínež log n/2 (K) pro K= a n=100 je hloubka maximálně log 50 ( ) = 4 Vkládánía výmazy záznamůz datového souboru jsou relativněrychléa mohou být prováděny v logaritmickém čase Přístup k datům 23 Přístup k datům 24

7 Prohledávání B+ stromů Najdi všechny záznamy s hodnotou klíče = k 1. Node root 2. repeat 1. Hledej v Nodenejmenšíklíč K i > k 2. Pokud takováhodnota v Nodeexistuje Node P i [krok ve stromu dolů] 3. Jinak k K n 1 a pak Node P n [krok ve stromu "vodorovně"] until Node je list stromu 3. Prohledej list stromu 1. Pokud pro nějaké iplatí K i = k, použij ukazatel P i a přejdi na hledaný záznam nebo skupinu záznamů 2. V opačném případě záznam s klíčem k neexistuje Velikost uzlu je obvykle shodná s velikostí bloku souboru typicky 4 KiBa nje obvykle okolo 100 ( 40 bytůna položku) Je-li hodnot klíče 1 milión a n = 100, pak do paměti budou nahrány nejvýše log 50 ( ) = 4 uzly (bloky) a budou prohledány Pokud by byly použity klasickévyváženébinárnístromy, potřebovali bychom binárnístrom s hloubkou 20 a tedy 20 přístupůna disk A každý přístup na disk je v řádu 10 ms Vkládání do B+ stromů Základní algoritmus 1. Najdi list, kam by vkládaný záznam měl patřit 2. Pokud hodnota klíče užv listu existuje 1. jde-li o index k primárnímu klíči => CHYBA 2. přidej záznam do dat a je-li to třeba, přidej ukazatel do skupiny 3. Neexistuje-li hodnota klíče v listu, pak 1. přidej záznam do dat a případně vytvoř skupinu ukazatelů 2. Je-li v listu místo, přidej pár (klíč, ukazatel) 3. Není-li místo, vzniká problém: Uzel je třeba rozdělit na dva Rozdělení listového uzlu Vezmi n párů(klíč, ukazatel), včetně nově vkládaného, a setřiď je. Prvních n/2 vloždo původního uzlu a zbytek umísti do bloku tvořícího nový uzel Nechťukazatel na nový uzel je pa kje nejmenšíklíčv novém uzlu. Vlož(k, p) do uzlu nadřazeného rozdělovanému listu Je-li nadřazený uzel plný, je nutno propagovat rozdělování směrem ke kořeni, dokud nenínalezen uzel, v němžje volno V nejhorším případěje nutno rozdělit kořenový uzel a zvětšit hloubku stromu o 1 Přístup k datům 25 Přístup k datům 26 Úprava B+-stromu: příklad vložení B+ strom před a po vloženízáznamu s klíčem A-118 Výmazy z B+-stromů Najdi rušený záznam Vymažho z datového souboru a popř. ze skupiny ukazatelů Jestliže skupina ukazatelůje prázdná(nebo vůbec neexistuje), odstraň pár (klíč, ukazatel) z listového uzlu Má-li list po odstraněnípáru přílišmálo položek a jeho "horizontální" soused jich takénemádostatek, je nutno spojit dva "horizontálně" sousední uzly v jeden: Vložpáry z obou uzlůdo prvního a zrušdruhý uzel Vymažpár (K i 1, P i ),kde P i je ukazatel na smazaný uzel v nadřazeném uzlu; rekurzívně aplikuj tuto proceduru směrem ke kořeni Má-li list po odstraněnípáru přílišmálo položek a jeho "horizontální" soused jich mádost, pak přerozděl položky v sousedních uzlech Přerozděl položky tak, aby oba uzly měly přibližně stejně položek Aktualizuj odpovídající klíč v nadřazeném uzlu Rušeníuzlůmůže kaskádněpropagovat, dokud nenínalezen uzel mající aspoň n/2 položek V krajním případěse zlikviduje celý strom a zbude samotný kořen neobsahující žádnou položku (prázdný index) Přístup k datům 27 Přístup k datům 28

8 Úprava B + -stromu: příklad výmazu B+-strom před a po zrušení záznamu s klíčem A-357 Indexy s B-stromy B-stromy jsou podobné B+-stromům, avšak hodnoty klíčů se neopakují eliminace redundantního ukládání klíčů Hodnoty klíče, kterése nacházejív nelistových uzlech, užse nevyskytují nikde níže v podstromech V nelistových uzlech je však nutno přidat další ukazatele Výhody B-stromových indexů: Mohou potřebovat méně uzlů než odpovídající B+-strom Občas lze najít záznam bez nutnosti projít aždo listu Nevýhody B-stromových indexů: Položky nelistových uzlů jsou větší, takže uzel má méně následníků, což může způsobit nutnost větší hloubky stromu Aktualizace při vkládánía mazánízáznamůjsou komplikovanější než u B+-stromů Typicky, výhody B-stromů nepřevažují nad nevýhodami Přístup k datům 29 Přístup k datům 30 Příklad indexu s B-stromem Bromfield Palo Alto B-strom pro soubor s relací account (n=3) Přístup k datům 31 Přístup přes několik klíčů Příklad: select account_number from account where branch_name = Benešov and balance = 1000 Možné strategie s použitím klíčů dle jednotlivých atributů 1. Použij index pro branch_namea najdi záznamy pro "Benešov"; pak testuj na balance = Použij index pro balance k nalezení účtů se zůstatkem 1000; pak testuj branch_name = "Benešov". 3. Použij index pro branch_name k nalezeníukazatelůna záznamy z benešovsképobočky. Podobněpoužij index pro balance. Závěrem urči průnik obou množin získaných ukazatelů Indexy podle vícenásobných klíčů Složenéprohledávacíklíčejsou klíče tvořenévíce nežjedním atributem Např. (branch_name, balance) U složených klíčů je problém s porovnáváním a řazením Nejčastějšíje lexikografickéřazení: (a 1, a 2 ) < (b 1, b 2 ), pokud a 1 < b 1, nebo a 1 = b 1 a a 2 < b 2 Přístup k datům 32

9 Hašování Statické hašování Sekce(bucket= kýbl, koreček)je paměťovájednotka obsahující jeden či několik záznamů typicky je to jeden alokačníblok diskového souboru Při hašovanéorganizaci souboruzískáme číslo sekce obsahující záznam s daným klíčem přímo jako funkční hodnotu hašovací funkce Hašovacífunkce hje funkcínad množinou hodnot prohledávacího klíče B = h(k), kde kje hodnota klíče a Bje adresa (číslo) sekce Hašovacífunkce se užívák lokalizaci záznamůpři vyvolávání, vkládání i mazání záznamů Záznamy s různými klíči mohou být hašovací funkcí mapovány do téže sekce, kteráse pak musíprohledávat sekvenčně Přístup k datům 33 Přístup k datům 34 Příklad hašované organizace souboru Soubor account s klíčem branch_name Máme10 sekcí Binární reprezentace znaku je chápána jako celé číslo Hašovací funkce vrací jako svoji funkční hodnotu součet binárních reprezentací znaků modulo 10 Např. h(perryridge) = 5 h(roundhill) = 3 h(brighton) = 3 Hašovací funkce Nejhoršíhašovacífunkce mapuje všechny hodnoty klíče do téže sekce nemá žádný přínos vše se prohledává sekvenčně Ideální hašovací funkce rozděluje klíče rovnoměrně Všem sekcím je přiřazen stejný počet záznamůpro všechny možné hodnoty klíče Ideální hašovací funkce by měla být náhodná, protože každá sekce máobsahovat přibližněstejný počet záznamůbez ohledu na aktuální rozložení hodnot klíče v souboru Náhodnáfunkce je však nereprodukovatelnáa tedy nepoužitelná Typické hašovací funkce počítají s vnitřní binární reprezentací klíčů Viz předchozí příklad Přístup k datům 35 Přístup k datům 36

10 Přeplnění sekcí Přeplnění sekcí vzniká kvůli nedostatečnému počtu sekcí nerovnoměrnosti v distribuci záznamů. To má dva důvody: více záznamů má stejné hodnoty klíče zvolená hašovací funkce nerovnoměrně mapuje klíče Přeplnění sekcí lze redukovat, nikoliv eliminovat Řeší se pomocí sekcí přeplnění Je-li zapotřebí více sekcí, Sekce sekce přeplnění dané hlavní 0 sekce jsou zřetězeny Sekce 1 Sekce 2 Sekce přeplněnísekce 1 Nedostatky statického hašování Statickáhašovacífunkce hmapuje hodnoty klíče do pevnémnožiny čísel (adres) sekcí. Databáze v čase rostou nebo se zmenšují Kdyžje na počátku zvolen malý počet sekcía soubor roste, účinnost rychle klesne kvůli velkému množství přeplnění Je-li alokován velký prostor s ohledem na očekávaný růst, mrhá se kapacitou paměti a sekce jsou nevyužité Když se databáze zmenší, opět se bude plýtvat prostorem Potenciálnělze čas od času soubor reorganizovat za použití jiné hašovací funkce Nákladné a narušuje normální operace s databází po dobu reorganizace nelze k datům přistupovat Lepšířešení: počet sekcíse bude měnit dynamicky podle potřeby Sekce 3 Přístup k datům 37 Přístup k datům 38 Dynamické hašování Vhodnépro databázovésoubory, jejichžvelikost se výrazně mění Umožňuje dynamickou modifikaci hašovací funkce Rozšiřitelné(extendible)hašování jedna z forem dynamického hašování Hašovacífunkce generuje hodnoty ve velkém rozsahu typicky b-bitová celá čísla (uvažujme b = 32) Pouze několik bitůzleva (prefix) se používájako index do tabulky s čísly (adresami) sekcí Nechťdélka prefixu je ibitů, 0 i 32. Tabulka adres sekcímádélku = 2 i. Na počátku i= 0 Hodnota i roste a klesá podle velikosti databázového souboru Několik položek v tabulce adres může ukazovat na tutéž sekci Tudížskutečný počet sekcíje < 2 i Počet sekcí se též dynamicky mění v důsledku spojování či rozdělování sekcí Obecná struktura rozšiřitelného hašování hašovací prefix i tabulka adres sekcí i 1 i 2 i 3 sekce 1 sekce 2 sekce 3 j-tápoložka tabulky adres sekcíobsahuje hodnotu i j Všechny položky tabulky ukazující na tutéž sekci mají shodných prvních i j bitů K nalezenísekce obsahujícízáznam s daným klíčem K j je třeba Určit X= h(k j ) a použít prvních ibitů Xjako index do tabulky adres sekcí a následovat ukazatel na příslušnou sekci Přístup k datům 39 Přístup k datům 40

11 Užití rozšiřitelného hašování vkládání Při vkládánízáznamu s klíčem K j Najdi sekci j, kam mázáznam přijít Je-li tam místo, vložzáznam; jinak sekce musíbýt rozdělena a vložení se opakuje Rozdělenísekce jpři vkládánízáznamu s klíčem K j : Pokud i> i j (více nežjeden ukazatel na sekci j) alokuj novou sekci za nastav i j = i z = (i j + 1) Aktualizuj druhou část položky v tabulce adres sekcí, původně ukazující na jtak, aby ukazovala na z vyjmi záznamy ze sekce j a vložje zpět (do jnebo z) urči znovu adresu sekce pro K j a vložzáznam Když i = i j (jen jeden ukazatel na sekci j) Inkrementuj i a zdvojnásob velikost tabulky adres sekcí Nahraď každou položku v tabulce dvěma položkami ukazujícími na tutéž sekci Nyní i > i j, takže se užije předchozípřístup Rozšiřitelné hašování jednoduchý příklad Kapacita sekce = 1 záznam Prvnídva záznamy s klíči k 1 a k 2 h(k1 ) = h(k 2 ) = Třetízáznam s k 3 dává h(k 3 ) = Záznam4 s k 4 má h(k 4 ) = , cožzpůsobí, že se sekce A přeplní a musí být rozdělena na A a D. Pokus o znovu-vložení záznamu s k 4 do D způsobíopět přeplněnía D se dále dělína D a E za současného přidánídalšího bitu k prefixu délka prefixu= 1 délka prefixu = 2 tabulka adres sekcí délka prefixu = sekcea sklíčem k 2 sekceb s klíčemk 1 sekce A s klíčem k 2 sekce B s klíčem k 1 sekce C s klíčem k 3 sekce A bez klíče sekce B s klíčem k 1 sekce C s klíčem k 3 sekce D s klíčem k 2 sekce E s klíčem k 4 sekce A může být zrušena Přístup k datům 41 Přístup k datům 42 Užití rozšiřitelného hašování výmaz Výmaz záznamu s daným klíčem najdi záznam v sekci a vymažho Je-li sekce prázdná, zrušji (za současnéaktualizace tabulky adres) Sekce mohou být spojeny v jednu Lze spojit jen sekce majícístejné i j asoučasněexistuje prefix i j 1 Lze též zmenšit tabulku adres sekcí Je to ale náročnáa draháoperace a másmysl ji dělat jen kdyžse počet sekcívýraznězmenšíanebo narážíme na problémy s kapacitou paměťového média Porovnání indexace a hašování Jednoznačnévýhody nejsou u žádného ze způsobů. Vše závisína ceně periodické reorganizace souborů a indexů relativní frekvenci vkládání a rušení záznamů Je důležitéoptimalizovat průměrnou dobu přístupu i za cenu podstatného prodloužení přístupové doby v nejhorším případě? Očekávané typy dotazů: Hašováníje obecnělepšípři vyvolávánízáznamůs přesnou hodnotou klíče Jsou-li častédotazy na interval hodnot klíče, pak indexace je výhodnější Praxe: PostgreSQL podporuje hašované indexy, avšak jejich použití se nedoporučuje kvůli špatné efektivitě Oracle podporuje statické hašování, ale ne hašované indexy Microsoft SQLServer podporuje jen B+ stromy... Přístup k datům 43 Přístup k datům 44

12 Dotazy Přístup k datům 45

Kapitola 11: Indexování a hešování. Základní představa

Kapitola 11: Indexování a hešování. Základní představa - 11.1 - Kapitola 11: Indexování a hešování Základní představa Řazené indexy (ordered indices) B+-strom indexový soubor B-strom indexový soubor Hešování Porovnání řazených indexů a hešování Definice indexů

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

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

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

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí:

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí: B-Strom Definice B-stromu B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí: 1. Počet klíčů v každém vnitřním uzlu, je o jednu menší než je počet následníků (synů) 2.

Více

Standardní algoritmy vyhledávací.

Standardní algoritmy vyhledávací. Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

Více

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.

Více

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky 25 Pole Datová struktura kolekce elementů (hodnot či proměnných), identifikovaných jedním nebo více indexy, ze kterých

Více

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury)

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury) definice ( tree) autoři: Rudolf Bayer, Ed McCreight vyvážený strom řádu m ( ) každý uzel nejméně a nejvýše m potomků s výjimkou kořene každý vnitřní uzel obsahuje o méně klíčů než je počet potomků (ukazatelů)

Více

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5 CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................

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

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů: Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.

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

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

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

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 13. Otázka : Základní datové struktury (pole, zásobník, binární strom atd.), datové struktury vhodné pro fyzickou implementaci relačních dat v SŘBD (hašovací

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

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média - 10.1 - Kapitola 10: Diskové a souborové struktury Přehled fyzických ukládacích médií Magnetické disky RAID (Redundant Array of Inexpensive Disks) Terciární úložiště Přístup k médiu Souborové organizace

Více

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost Amortizovaná složitost. Prioritní fronty, haldy binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost 1. Asymptotické odhady Asymptotická složitost je deklarována na základě

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

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

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

Přidělování paměti II Mgr. Josef Horálek

Přidělování paměti II Mgr. Josef Horálek Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování

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

Systém souborů Mgr. Josef Horálek

Systém souborů Mgr. Josef Horálek Systém souborů Mgr. Josef Horálek Systém souborů = Pro většinu uživatelů je systém souborů nejviditelnější součástí operačního systému = provádí mechanismy pro on-line ukládání a přístup k programům a

Více

Vyhledávací stromy. Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání.

Vyhledávací stromy. Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání. Vyhledávací stromy Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání. Vytvářejí se vždy nad již existující datovou strukturou (zpravidla tabulkou). Vyhledávací stromy můžeme rozdělit

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

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

Microsoft Office. Excel vyhledávací funkce

Microsoft Office. Excel vyhledávací funkce Microsoft Office Excel vyhledávací funkce Karel Dvořák 2011 Vyhledávání v tabulkách Vzhledem ke skutečnosti, že Excel je na mnoha pracovištích používán i jako nástroj pro správu jednoduchých databází,

Více

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading) Správa paměti (SP) Operační systémy Přednáška 7: Správa paměti I Memory Management Unit (MMU) hardware umístěný na CPU čipu např. překládá logické adresy na fyzické adresy, Memory Manager software, který

Více

Principy operačních systémů. Lekce 7: Souborový systém

Principy operačních systémů. Lekce 7: Souborový systém Principy operačních systémů Lekce 7: Souborový systém Souborový systém Souborový systém (anglicky file system) je označení pro způsob organizace dat ve formě souborů (a většinou i adresářů) tak, aby k

Více

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Jiří Dvorský 2 května 2006 Obecné pokyny Celkem je k dispozici 8 zadání příkladů Každý student obdrží jedno zadání Vzhledem k tomu, že odpadly

Více

12 Metody snižování barevného prostoru

12 Metody snižování barevného prostoru 12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů

Více

ABSTRAKTNÍ DATOVÉ TYPY

ABSTRAKTNÍ DATOVÉ TYPY Jurdič Radim ABSTRAKTNÍ DATOVÉ TYPY Veškeré hodnoty, s nimiž v programech pracujeme, můžeme rozdělit do několika skupin zvaných datové typy. Každý datový typ představuje množinu hodnot, nad kterými můžeme

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

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

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

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

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

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

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

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

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

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

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

VKLÁDÁNÍ OBJEKTŮ - tabulka

VKLÁDÁNÍ OBJEKTŮ - tabulka VKLÁDÁNÍ OBJEKTŮ - tabulka Autor: Mgr. Dana Kaprálová Datum (období) tvorby: srpen 2013 Ročník: šestý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žák se orientuje v prostředí aplikace

Více

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování

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

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

Access. Tabulky. Vytvoření tabulky

Access. Tabulky. Vytvoření tabulky Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze

Více

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT -SELECT Informační a znalostní systémy 1 - Structured Query Language norma pro dotazování nad relačními databáze díky přenositelnosti- rozmach relačních databází zahrnuje jak dotazování na data, tak změny

Více

Obrázek 1: Struktura programu z hlediska zapojení

Obrázek 1: Struktura programu z hlediska zapojení MANUÁL K PROGRAMU DBADVOKÁT Program byl vytořený za účelem třídění a uchovávání jednotlivých spisů (elektronické dokumenty [doc, xls, odt, pdf, xml,...], emaily a další důležité soubory) v centralním počítači

Více

3 Formuláře a sestavy Příklad 1 Access 2007

3 Formuláře a sestavy Příklad 1 Access 2007 TÉMA: Vytváření formulářů Správce databáze Naše zahrada předpokládá, že bude s vytvořenou databází pracovat více uživatelů. Je třeba proto navrhnout a vytvořit formuláře pro přístup k datům. Zadání: Otevřete

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

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

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

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

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace 1) Charakterizujte křížový překladač Překlad programu probíhá na jiném procesoru, než exekuce. Hlavním důvodem je náročnost překladače na cílovém stroji by ho nemuselo být možné rozběhnout. 2. Objasněte

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

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

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

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

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány

Více

Základní informace o co se jedná a k čemu to slouží

Základní informace o co se jedná a k čemu to slouží Základní informace o co se jedná a k čemu to slouží založené na relačních databází transakční systémy, které jsou určeny pro pořizování a ukládání dat v reálném čase (ERP, účetní, ekonomické a další podnikové

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

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

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

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy Volné stromy Úvod do programování Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (free tree). Často vynecháváme adjektivum volný, a říkáme jen, že daný graf je strom. Michal Krátký 1,Jiří

Více

Bezdrátová váha s paměťovou funkcí AF 201-W. Návod k použití

Bezdrátová váha s paměťovou funkcí AF 201-W. Návod k použití Bezdrátová váha s paměťovou funkcí AF 201-W Návod k použití Vlastnosti: 1. Kapacita: 150KG/330LB/23ST, Rozdělení: 0.1KG/0.2LB 2. Jednotka: KG, LB, ST 3. Rozmezí tělesného tuku: 0~80% 4. Odchylka v měření

Více

PHOTO-ON Profesionální on-line správa fotografií

PHOTO-ON Profesionální on-line správa fotografií PHOTO-ON Profesionální on-line správa fotografií Softwarový produkt PHOTO-ON je především určen k evidenci, zařazování a archivaci statického obrazového materiálu např. fotografie, obrazová dokumentace

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

Modul Konfigurace. 2006... MTJ Service, s.r.o.

Modul Konfigurace. 2006... MTJ Service, s.r.o. Modul Konfigurace Modul Konfigurace Představení Menu konfigurace sdružuje všechny konfigurační příkazy k celému systému Soft-4-Sale. Dále konfigurace kopíruje jednotlivé moduly systému tzn. že existuje

Více

Automatizované řešení úloh s omezeními

Automatizované řešení úloh s omezeními Automatizované řešení úloh s omezeními Martin Kot Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 25. října 2012 M. Kot

Více

Programování v jazyku C# II. 5.kapitola

Programování v jazyku C# II. 5.kapitola Programování v jazyku C# II. 5.kapitola Obsah O ADO.NET Spojení s DB Příkazy Jednoduché čtení DataSet 2/28 ADO.NET ADO - ActiveX Data Object Orientováno na webové aplikace neexistence stavu v HTTP Obecný

Více

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény

Více

43 HTML šablony. Záložka Šablony v systému

43 HTML šablony. Záložka Šablony v systému 43 HTML šablony Modul HTML šablony slouží ke správě šablon pro výstupy z informačního systému modularis ve formátu HTML. Modul umožňuje k šablonám doplňovat patičku, dokumentaci a vázat šablony na konkrétní

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

14 Deník poradny. Popis modulu. Záložka Deník poradny

14 Deník poradny. Popis modulu. Záložka Deník poradny 14 Deník poradny Uživatelský modul Deník poradny realizuje běžnou denní agendu poradenských pracovníků. V tomto modulu jsou evidovány pokládané dotazy spolu s poskytovanými odpověďmi a radami. Dotazy,

Více

1 Tabulky Příklad 3 Access 2010

1 Tabulky Příklad 3 Access 2010 TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,

Více

PRŮZKUMNÍK ISDP NÁVOD K OBSLUZE INFORMAČNÍHO SYSTÉMU O DATOVÝCH PRVCÍCH (ISDP)

PRŮZKUMNÍK ISDP NÁVOD K OBSLUZE INFORMAČNÍHO SYSTÉMU O DATOVÝCH PRVCÍCH (ISDP) PRŮZKUMNÍK ISDP NÁVOD K OBSLUZE INFORMAČNÍHO SYSTÉMU O DATOVÝCH PRVCÍCH (ISDP) Obsah Úvod...2 Co je ISDP...2 Jaké jsou funkce ISDP...2 Slovník pojmů...2 Dílčí DP...2 DS...2 ISDP...2 JeDP...2 OS...2 SlDP...2

Více

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě Metody přidělování paměti Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě Důležitá hlediska jazykových konstrukcí: Dynamické typy Dynamické

Více

Ing. Igor Kopetschke TUL, NTI

Ing. Igor Kopetschke TUL, NTI ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k

Více

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam. 10.6.7 POSTUP TVORBY KOMBINOVANÉHO SEZNAMU 1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam. 2. V rozbalovací nabídce se seznamem datových typů vyberte volbu

Více