Postup měření a zpracování naměřených dat. Matematické metody pro skenování.
Organizace a zpracování dat I
description
Transcript of Organizace a zpracování dat I
![Page 1: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/1.jpg)
Organizace a zpracování dat I
Prof. RNDr. Jaroslav Pokorný, CSc.
RNDr. Michal Žemlička
DBI007
![Page 2: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/2.jpg)
Zdroje
• J. Pokorný, M. Žemlička: Základy implementace souborů a databází, Karolinum, Praha, 2004
• J. Pokorný: Základy implementace souborů a databází, Karolinum, Praha, 1997.
• http://kocour.ms.mff.cuni.cz/testy/pokorny• http://kocour.ms.mff.cuni.cz/~zemlicka/
vyuka/DBI007
![Page 3: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/3.jpg)
Proč sem chodit?
• Základy efektivní práce s persistentními daty
• Poznání světa, kde se setkává teorie s praxí – aneb jak o iluze přijít ne příliš bolestivě
![Page 4: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/4.jpg)
Typické úlohy, které budeme umět lépe řešit
• knihovní agenda
• rezervace místenek či letenek
• nabídkové katalogy
• sklad
• …
![Page 5: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/5.jpg)
Cíle
• zajistit „optimální“ provoz souborů
• zajistit „optimální“ uživatelské rozhraní
Neboli:
zajistit, aby námi vytvářené aplikace byly dostatečně efektivní při zachování dalších dobrých vlastností
![Page 6: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/6.jpg)
Zpracování dat
organizace dat na vnějších pamětech pro efektivní zpracování
techniky organizace dat ve formě souborů
interpretace dat uživatelem
konceptuální model, dotazovací jazyky
vrstvy struktur + zobrazení mezi nimi
![Page 7: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/7.jpg)
Teze
• klasické techniky nepostačují pro zpracování velkých objemů dat a netriviální dotazy
• nelze zajistit optimálnost provozu souborů ve všech aspektech
Ať žijí kompromisy!!
![Page 8: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/8.jpg)
Hromadné zpracování dat (HZD)
• Založeno na souborech a specializovaných aplikacích provádějících dílčí manipulace se soubory
• Využívá zejména statické organizace souborů• Typicky data zpracovávána v dávkách• Minimální nároky na zdroje• Robustní – aplikace je většinou možné po selhání
restartovat bez poškození zpracovávaných dat
![Page 9: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/9.jpg)
Nevýhody HZD
• Redundance a nekonzistence dat• Obtížnost přístupu k datům• Izolace dat• Problémy s více uživateli• Problémy s integritou dat
• Nízké prostředky pro vytváření vazeb mezi záznamy souborů
![Page 10: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/10.jpg)
Záznam
• Logický– kolekce logicky souvisejících položek – hodnot
atributů
• Fyzický – logický záznam doplněný o oddělovače,
definice délek, zarážky, …– Délka fyzického záznamu, R
![Page 11: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/11.jpg)
Typ záznamu
- dán jmény a doménami atributů
Aj: dom(Aj) A1:D1,…,An:Dn
![Page 12: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/12.jpg)
Soubor
• Identifikovaná kolekce logicky souvisejících záznamů
Pozor!
Je to kolekce a ne množina, neboť v souboru může být více totožných záznamů.
![Page 13: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/13.jpg)
Homogenní soubor
Hodnoty Primitivní typy
Deklarace S(A1:D1,…,An:Dn)
Obsahuje pouze záznamy jediného typu
![Page 14: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/14.jpg)
Nehomogenní soubor
• Opak homogenního souboru – obsahuje buď záznamy různých typů, záznamy se složitější strukturou, nebo záznamy různých délek.
![Page 15: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/15.jpg)
Klíč
• Klíč souboru je množina atributů Ai1..Aik, kn, takové, že k-tice atributů <a1..ak> (klíče záznamu) jednoznačně identifikují záznamy.
• Vyhledávací klíč – atribut (či množina atributů), k jehož hodnotě vyhledáváme množinu záznamů obsahujících pro daný atribut právě uvedenou hodnotu
![Page 16: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/16.jpg)
Typy vyhledávacích klíčů
• Hodnotové – hodnoty z dom(Ai)
• Hašované – algoritmická transformace hodnot
• Relativní – udána pozice od začátku souboru
![Page 17: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/17.jpg)
Operace nad soubory
• INSERT – vložení záznamu do souboru• DELETE – rušení záznamu v souboru• UPDATE – změna některých položek
záznamu v souboru• Aktualizace souboru = posloupnost operací
INSERT, DELETE a UPDATE • FETCH – získání záznamu ze souboru do
vnitřní paměti
![Page 18: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/18.jpg)
Fyzický a logický záznam
• Logický záznam – množina atributů• Fyzický záznam (délky R) – fyzická
reprezentace logického záznamu na médiu– Může obsahovat pomocná data navíc
• Fyzické záznamy se ukládají do fyzických stránek (bloků – jejich velikost značíme B)– Bloky jsou minimální entitou přenášenou mezi
primární a sekundární pamětí
![Page 19: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/19.jpg)
Blokovací faktor, blokování
• Blokovací faktor (b) – poměr B/R• Blokování (umísťování záznamů do bloků);
říkáme, že záznamy jsou: – Neblokované (b=1, B=R)
– Blokované (b > 1)
– Přerostlé (b < 1)
• Pro implementaci je důležité, zda se R mění, či nikoliv – budeme předpokládat, že se nemění
![Page 20: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/20.jpg)
Schéma organizace souboru
• popis logické paměťové struktury, do níž může být původní soubor zobrazen spolu s algoritmy provádějícími operace nad touto strukturou
• může popisovat více logických souborů svázaných dohromady
• primární soubor – soubor obsahující uživatelská data; N – počet záznamů v něm
![Page 21: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/21.jpg)
Fyzická úroveň
• Abstrakce fyzického zařízení– fyzické schéma souboru– fyzický soubor
• Reálné fyzické zařízení– implementační schéma souboru
![Page 22: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/22.jpg)
Abstrakce v přístupu k souborům
schéma organizace souboru
fyzické schéma souboru
implementační schéma
úroveň typu
logické soubory
fyzické soubory
implementace fyzických souborů
úroveň výskytu
![Page 23: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/23.jpg)
Operace SOS
• operace nad soubory (insert, delete, update)• BUILD – vytvoření struktury• REORGANIZATION – uvedení SOS do
nového výchozího stavu• Stav souboru S (S*; extenze souboru S) –
podoba SOS mezi dvěma ukončenými aktualizacemi
• CLOSE – aktualizuje některá data o souboru
![Page 24: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/24.jpg)
Souborové systémy
• podpora práce se soubory na úrovni základního SW
• uchovávají metadata o souborech
• umožňují správu souborů včetně mapování souborů na médium
![Page 25: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/25.jpg)
Dotazy nad soubory
• dotaz nad schématem souboru S – jakákoliv totální funkce vyjádřitelná programem definovaná nad množinou US, která každému stavu přiřadí odpověď – zpravidla množinu záznamů
• hity – prvky odpovědi v případě dokumentů
![Page 26: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/26.jpg)
Vícerozměrné/ortogonální dotazy
• dotaz na úplnou shodu – zadány hodnoty všech atributů
• dotaz na částečnou shodu – zadány hodnoty jen některých atributů
• dotaz na úplnou intervalovou shodu – zadán interval hodnot pro každý z atributů
• dotaz na částečnou intervalovou shodu – zadány intervaly pro vybrané atributy
![Page 27: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/27.jpg)
Další operace
• READ ENTIRE FILE – čtení celého souboru– sériově – podle zadaného uspořádání– sekvenčně – podle fyzického uspořádání
záznamů v souboru
![Page 28: Organizace a zpracování dat I](https://reader035.fdocument.pub/reader035/viewer/2022062808/5681552d550346895dc30725/html5/thumbnails/28.jpg)
Vyváženost struktury
• omezení délky cesty ve struktuře při vyhledání záznamu (např. O(log M), kde M je počet logických stránek)
• rovnoměrná naplněnost stránek • faktor naplnění stránky (0<<1)
– někdy se označuje průměrné naplnění stránek
• SOS splňující obě podmínky – dynamické; ostatní – statické