lohy zpracovn dat Evidence dat tabulka Evidence dat
Úlohy zpracování dat
Evidence dat - tabulka Evidence dat o zaměstnancích v tabulce. Zaměstnanci (objekty) jsou zapisováni v pořadí, jak byli do firmy přijati. Potřebujeme evidovat jejich atributy jméno, adresu, funkci, plat. Pojmenujeme tabulku Zaměstnanec a její strukturu (= seznam evidovaných vlastností, atributů) zapíšeme: Zaměstnanec (jméno, adresa, funkce, plat)
Evidence dat - kartotéka
Základní pojmy Objektem nazýváme člověka, zvíře, věc nebo jev reálného světa, pokud se tito stali předmětem našeho zájmu z hlediska evidence. Objekt je popisován množinou svých vlastností. Objekty mají velké množství vlastností, ovšem z hlediska evidence potřebujeme sledovat jen některé z nich. V databázích používáme místo objekt většinou pojem entita. Atributem nazýváme údaj o objektu, jeho vlastnost, která nás zajímá z hlediska evidence. Typem entity nazýváme množinu objektů stejného typu, charakterizovaných názvem typu a strukturou jejich atributů. Jednotlivé entity nazýváme také výskyty nebo instancemi objektů entitního typu. Instance entity je tedy konkrétní n-tice hodnot atributů jedné konkrétní entity.
Příklad Entitní typ: zaměstnanec firmy: Zam(RČ, jméno, adresa, funkce, plat, dat_nar, místo-nar) Entita: Novák Josef z Karviné Instance entity : (444444, Novák Josef, Karviná, zámečník, 9000, 4. 8. 1968, Ostrava) Atributy: jméno, plat, . . . Doména jména: množina možných jmen Doména platu: množina čísel
Příklad Firma potřebuje evidenci svých zaměstnanců, kde někteří pracují doma a výsledky práce firmě odevzdávají. Určete, které údaje se musí uchovávat, aby se mohly realizovat následující činnosti: • podle zastávané funkce jim vyplácet pevnou mzdu a posílat ji na jejich účet v bance, • měsíčně počítat počet zaměstnanců, vyplacenou sumu na mzdy, minimální, maximální a průměrnou mzdu, • posílat odvody z mezd sociální a zdravotní pojišťovně, zdravotní pojišťovnu může mít každý zaměstnanec jinou, • podle jazykových znalostí jim zadávat práci pro zahraniční zákazníky, • podle vzdělání je posílat na specializovaná odborná jednání se zákazníky. Výsledek zapište pomocí typu objektu.
Postup při budování databáze Datová analýza je proces poznávání objektů reálného světa, jejich vlastností a vazeb: vytipování, které jsou potřebné pro zamýšlený informační systém, jakými entitami a atributy budou objekty popsány. Výsledkem datové analýzy (po integraci požadavků z externích schémat) je informační struktura zvaná konceptuální schéma databáze. Analýza chování objektů v reálném světě se nazývá funkční analýza. Popisuje jednotlivé akce prováděné nad objekty reálného světa, které jsou zaznamenány v konceptuálním schématu databáze. Výsledkem funkční analýzy je pojmenování a popis akcí, které se nad datovými strukturami provádějí.
Konceptuální modelování Je to schematický model části reality, o níž se povede evidence v budovaném IS. Nejčastěji se pro záznam struktury databáze na konceptuální úrovni používá Chenův E-R model, používající kombinace textových formálních zápisů, grafického zobrazení typů entit, atributů a vztahů mezi entitami i doplňujících textových informací.
Datová analýza • ER model – konceptuální modelování • Lineární textový zápis • Výskytový diagram • Datový slovník • Funkční analýza
ER model ● • Cílem je vytvořit datový model postihující určitou část reálného světa ● • Svět je chápán jako zjednodušená množina objektů (entit) a vztahů mezi nimi – říkáme jí ER diagram • ERA diagram ještě přidává atributy – vytváříme jím konceptuální ● ● schéma
ER diagram ● • Entita (reálná nebo imaginární část světa) – věc, která nás zajímá a ke které chceme sbírat data – např. řidič s řidičským průkazem č. 87 A 73, auto s SPZ 3 A 4 4536, … • Entitní množina ● – množina entit téhož typu, které sdílí stejné vlastnosti či atributy – např. Řidič, Auto, . . .
ER diagram • Atributy – vlastnost entity, která nás v daném kontextu zajímá a jejíž hodnotu chceme mít v DB uloženu – např. Jméno, příjmení, SPZ, … • Doména atributu – seznam přípustných hodnot
Vztahy mezi entitami • Vyjadřuje souvislost (vztah, závislost) mezi entitami – název je sloveso, obvykle je možné dvojí čtení (jazyková, NE konceptuální záležitost!) – např. má, náleží, je členem, obsahuje
Příklad Brian May složil píseň Who Wants to Live Forever. Freddie Mercury nazpíval píseň Who Wants to Live Forever. Předchozí dvě věty vyjadřují dva vztahy, první mezi skladatelem a písní, druhý mezi písní a zpěvákem. Skladatel, píseň, zpěvák jsou entitní typy a "složil", "nazpíval" jsou typy vztahů.
Vztahy mezi entitami • Jméno vztahové množiny, jméno role. Vyjadřuje význam vztahu • Stupeň
Kardinalita vztahu • Předpokládejme vztah MA_NA PROGRAMU mezi entitami DIVADLO a PROGRAM • Obecně tento vztah může být kardinality: • 0: 0 • 1: 1 • 1: N • M: N
Vztah 1: 1 MA_NA_PROGRAMU F. X. Šaldy Donaha Naivní Kolotoč Malé Prkno Mánesovo Želivka Sokolské Labutě Dané divadlo má na programu maximálně jednu hru Daná hra se hraje v maximálně jednom divadle Obecně lze uvažovat i tzv. částečné vztahy 1: 0 a 0: 1
Vztah 1: N MA_NA_PROGRAMU F. X. Šaldy Donaha Naivní Kolotoč Malé Prkno Mánesovo Želivka Sokolské Labutě • Dané divadlo může mít na programu více než jen jednu hru • Daná hra je na programu maximálně v jednom divadle • Je důležitý směr, neboť je rozdíl jednomu divadlu více her a jedné hře více divadel
Vztah M: N MA_NA_PROGRAMU F. X. Šaldy Donaha Naivní Kolotoč Malé Prkno Mánesovo Želivka Sokolské Labutě Dané divadlo může mít na programu více her Daná hra je na programu ve více divadlech
Stavební prvky ER Vztah Atribut vztahu Atribut entity Jméno Od Plat RC Pracuje_V Zaměstnanci Primární klíč Entita KO Nazev Oddělení
Kardinalita v ER 1 Zaměstnanci Pracuje_V 1 Pracuje_V Zaměstnanci M Zaměstnanci Pracuje_V 0. . * Oddělení N Oddělení
Ternární vztahy A 1 1 R B 1 C • Příklad obsahuje tři determinanty A, B, C • Determinant: entita jednoho typu jednoznačně určuje entitu druhého typu (entita determinuje entity druhého typu)
● Členství ve vztahu • Organizační pravidla mohou určovat, jak se budou entity vyskytovat ve vztahu: každý výskyt entity musí být ve vztahu zapojen některé výskyty entity se mohou vyskytovat i mimo vztah
Členství ve vztahu Zaměstnanci Pracuje_V Oddělení • Čteme: • Zaměstnanec musí pracovat v nějakém oddělení, ale oddělení nemusí mít žádné zaměstnance • V entitě oddělení musí existovat alespoň jeden záznam příslušný k entitě zaměstnanci
Členství ve vztahu Zaměstnanci Pracuje_V • Zaměstnanec musí pracovat v nějakém oddělení • Oddělení musí mít alespoň jednoho zaměstnance Oddělení
Členství ve vztahu Zaměstnanci Pracuje_V Oddělení • Zaměstnanec nemusí pracovat v žádném oddělení • Oddělení nemusí mít žádné zaměstnance • Zaměstnanec == nepovinné členství Oddělení == nepovinné členství
Úkoly 1. Oddělení zaměstnává libovolné množství osob, osoba je zaměstnána maximálně v jednom oddělení. 2. Vedoucí řídí maximálně jedno oddělení, oddělení má maximálně jednoho vedoucího. 3. Každý autor může napsat různé množství knih, kniha může být napsána více autory. 4. Družstvo se skládá z hráčů, hráč hraje pouze za jedno družstvo. 5. Učitel vyučuje maximálně jednomu předmětu, předmět je vyučován právě jedním učitelem. 6. Objednávka zboží může být na více výrobků, výrobek se může objevit na více objednávkách. 7. Zákazník může předložit řadu objednávek, každá objednávka je právě od jednoho zákazníka.
Úkoly 8. Frekventanti rekvalifikačních kurzů jsou rozděleni do studijních skupin. Každou skupinu může učit několik učitelů, každý učitel může učit více skupin. Jedna skupina používá vždy stejnou učebnu, ovšem více skupin může používat stejnou učebnu v různých časech. 9. Uvažujme jednu univerzitu s několika fakultami. Každý student studuje právě na jedné fakultě. Má jméno, rodné číslo, studentské číslo. Zaměstnanci fakulty jsou organizováni na katedrách daného názvu a čísla. Mají kromě jména a rodného čísla i zaměstnanecké číslo a funkční zařazení. Zaměstnanci vypisují přednášky, ne každý však musí vypsat v daném roce přednášku. Přednášky jsou dány v rámci fakulty kódem, mohou mít stejné názvy, konají se v daný den a hodinu v dané místnosti. Studenti se zapisují na přednášky a vykonávají z nich zkoušky s daným hodnocením. El Caminito Del Rey
Úkoly 10. V knihkupectví specializujícím se na prodej kuchařských knih potřebují vytvořit systém pro evidenci. Chtějí evidovat jednotlivá vydavatelství, vydané kuchařské knihy a použité suroviny. Obecně platí, že jeden recept může být otištěn ve více knihách. 11. Letecký instruktor má za úkol sestavit evidenci parašutistů. Informace, které musí znát jsou seznamy parašutistů, seznamy letů, seznamy skoků a seznam nehod.
Ternární vztahy § Představme si cestovní kancelář nabízející dobrodružné akce, na které je potřeba určité vybavení. Někteří zákazníci mají takové vybavení svoje, někteří si některé součásti vybavení na zakoupenou akci od cestovní kanceláře zapůjčí. Je třeba evidovat, který zákazník si na kterou akci zapůjčil jaké vybavení, přitom pro daný typ vybavení cestovní kancelář nerozlišuje jednotlivé kusy od sebe, jen při převzetí zkontroluje stav a rozhodne, jestli se ten kus bude dál používat, nebo ne. Zákazníkům se samozřejmě účtuje cena nejen podle účasti na akci, ale i podle zapůjčených součástí vybavení.
Ternární vztahy § Cestovní kancelář potřebuje informaci typu: § ZÁKAZNÍK x si na AKCI y vypůjčil VYBAVENÍ z § Nelze informaci složit z částečných informací: § ZÁKAZNÍK x se účastnil AKCE y § ZÁKAZNÍK x si zapůjčil VYBAVENÍ z § Na AKCI y bylo zapůjčeno VYBAVENÍ z jeden zákazník se mohl zúčastnit více akcí, přičemž na některých si dané vybavení zapůjčil, na jiných ne (měl ho odjinud). A na dané akci si dané vybavení mohlo zapůjčit více zákazníků, nevěděli bychom, kteří to byli.
Příklad § Firma vyrábí nábytek na zakázku. Výroba postupuje od jednoho řemeslníka k druhému, předávají si práci a pokračují další fázi. Je třeba evidovat, který z nich spotřeboval při své práci, na kterém výrobku, kolik materiálu. Jaké informace jsou tedy potřeba?
Výskytový diagram § způsob záznamu vazeb mezi entitami
Datová analýza §ER diagram §Lineární textový zápis §Výskytový diagram §Datový slovník Funkční analýza §Kontextový diagram
Lineární textový zápis §Lineární (textový) zápis popisuje entity a vazby: Typ_entity ( klíč, atrib 1, atrib 2, . . . ) TYP_VZTAHU ( Typ_entity 1, Typ_entity 2, . . . , vztah_atrib 1, vztah_atrib 2, … ) Například: Pedagog(Id_pedagog, jméno, příjmení, telefon) Předmět(Id_předmět, název, počet_kreditů) Garantuje(Pedagog, Předmět, od, do)
Integritní omezení § Integritní omezení (IO) popisují logická omezení na typy a hodnoty atributů, entit a vazeb tak, aby konceptuální model odpovídal zobrazované realitě. § Mohou být zadána jak graficky v ERD, tak textovým popisem. Textově v datovém slovníku nebo doplňujícím textem formou poznámky za datovým slovníkem.
Datový slovník § Představuje záznam IO pro atributy ve formě tabulky, která obsahuje: §jméno atributu jako identifikátor, §syntaktický typ atributu, jeho doménu §popis a význam atributu §velikost a formát vnější reprezentace atributu §množinu operací, které lze nad jeho hodnotami provádět §KLÍČ - příznak, zda je atribut klíčový, zda je součástí primárního klíče
Datový slovník § NULL - zda je přípustné, aby měl atribut hodnotu nevyplněnu či je zadání hodnoty povinné § poznámku pro další IO plynoucí z reality, která ve výše uvedených informacích nejsou uvedena (předdefinovaná hodnota, výpočet, popis kontroly ap. ) § případně další systémové informace
Datový slovník
Funkční analýza §Funkční analýza řeší funkce systému. §Funkční analýza tedy vyhodnocuje manipulaci s daty v systému. §Skrze DFD (Data Flow Diagramy) analyzuje toky dat, základní funkce systému a aktéry, kteří se systémem pracují. §Výstupem jsou pak minispecifikace.
Diagram datových toků §Znázorňuje nejen procesy (funkce) a datové toky ke kterým v systému dochází, ale definuje také hlavní aktéry a jejích omezení nad systémem. §DFD diagram obsahuje tyto prvky: aktér (obdélník mimo systém), proces (kruh uvnitř systému), datové toky (šipky) a paměť §DFD nejvyšší úrovně se nazývá kontextový diagram. Znázorňuje pouze práci aktérů se systémem jako celkem. Systém v kontextovém diagramu vystupuje jako černá skříňka a v diagramu tedy nejsou použity prvky procesu a paměti.
Příklad §Databáze půjčovny zimních potřeb je vytvořena pro zaznamenávání objednávek v tomto systému. Jednotliví zákazníci si půjčují zimní potřeby a jsou vedeny záznamy o těchto výpůjčkách. Jedná se zejména o shromažďování informací o druhu vypůjčeného zboží, a také zejména informace o datech vypůjčení, vrácení apod. Dále se také shromažďují také informace o jednotlivých zákaznících, pro potřeby organizace. Možné je i rozšiřování sortimentu vypůjčovaného zboží.
- Slides: 43