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 sequence diagram class diagram...
Datový aspekt inf. systému 1 Úvodní analýza, požadavky 2 Design 3 Nové požadavky 4 Rozšíření? 5 Úpravy? Bez zásadnějších problémů Radikální změny představovaly a představují zásadní obtíže!
Datový model Jak dosáhnout stability struktur dat pro danou oblast zájmu? Oblast zájmu se také může rozšířit... Osvědčilo se: věrnost realitě protože nové požadavky jsou o stejném světě
Princip tří schémat (ANSI/SPARC 1975) Externí schéma pohled uživatelů Analytický, konceptuální model model světa Interní schéma datové struktury
Postup shora dolů Externí schémata pohledy uživatelů Analytický, konceptuální model model světa Logický model designu bez rozhodnutí o implementačních technologiích Implementační schéma volby v rámci implementačních technologií
Konceptuální schéma Srozumitelný a věcně správný model, na jehož základě bude databáze navržena srozumitelný, přehledný vše podstatné věcně správný konceptuální, nikoli technologický
Konceptuální schéma Společný základ pro chápání objektů aplikace uživateli, analytikem, správcem databáze i programátory
Konceptuální schéma Poskytuje dokumentaci: k ověření správnosti analýzy východisko pro seznámení se stávajícími databázovými strukturami východisko při analýze nových požadavků
Jak dělat konceptuální schéma? Analyzovat uživatelské požadavky Analyzovat realitu
Jak analyzovat realitu? Přístupy: Entity a vztahy mezi nimi tímto přístupem se budeme zabývat ER modely Všechno jsou funkce Objekty a jejich role Objekty, třídy,... v objektovém přístupu
Entity-relationship modely 1976 Peter Chen: "The Entity Relationship Model: Toward a Unified View of Data"
Možné další zdroje ke studiu http://krokodata.vse.cz/dm http://nb.vse.cz/~palovska/4it218/ KoncMod.zip http://nb.vse.cz/~palovska/sa321/ MetodaInformacniAnalyzy.zip Halpin, Terry. Information Modeling and Relational Databases, Morgan Kaufmann 2008
Konstrukty ER modelů Entity Vztahy Atributy Identifikátory Kardinalita Povinnost ISA vztahy
Entita Něco, co je rozeznatelné, schopné nezávislé existence a identifikovatelné Např. student, učebna, učitel, kurz... Obvykle jde o koncept, který má jméno Ve větách obvykle vystupuje jako podmět nebo předmět
Entita Zobrazována jako obdélník, se jménem typu uvnitř UČITEL
Entita Vymezení pojmu jméno typu způsoby identifikace výskytů definice typu uvedení příkladů
Entitní typ UČITEL Vymezení pojmu jméno typu UČITEL způsoby identifikace : učo rodné číslo definice typu kdo má smlouvu na to, aby učil uvedení příkladů RNDr. Helena Palovská PhD., doc. Ing. Bohumil Miniberger, CSc.
Vztah Zachycuje jak dvě či více entit spolu souvisí Např. UČITEL vyučuje PŘEDMĚT Obvykle vyjádřen slovesnou vazbou Vyjádřen přísudkovou částí věty
Vztah Zobrazován jako spojnice mezi entitami či jako ikona se spojnicemi k entitám UČITEL vyučuje PŘEDMĚT UČITEL vyučuje PŘEDMĚT
Vztah Výstižná formulace Vyjádření pro směr tam a zpět UČITEL vyučuje PŘEDMĚT PŘEDMĚT je vyučován UČITELEM Příklady vztahu v tabulce v diagramu Definice, pokud je potřeba k porozumění
Vztah vyučuje Tabulka příkladů UČITEL RNDr. Helena Palovská PhD. doc. Ing. Bohumil Miniberger, CSc. doc. Ing. Bohumil Miniberger, CSc. Doc. RNDr. Ľubomír Dedera, PhD. Doc. RNDr. Ľubomír Dedera, PhD. PŘEDMĚT Analýza a modelování dat Modelování a návrh datových skladů Techniky a CASE nástroje vývoje IS Techniky a CASE nástroje vývoje IS Základy softwarového inženýrství
Vztah vyučuje Diagram příkladů RNDr. Helena Palovská PhD. Analýza a modelování dat doc. Ing. Bohumil Miniberger, CSc. Modelování a návrh datových skladů Doc. RNDr. Ľubomír Dedera, PhD. Techniky a CASE nástroje vývoje IS Základy softwarového inženýrství
Vztah vyučuje Definice: Má kvalifikaci eventuálně smlouvu na to, aby ten předmět vyučoval.
Arita vztahu Kolik rolí je ve vztahu Např. UČITEL učí PŘEDMĚT na ŠKOLE 3 role: vyučující, vyučovaný předmět, vzdělávací instituce
Arita vztahu Dá se zjistit z tabulky příkladů vztahu z jejího klíče všechny role musí být součástí klíče
Atribut Vlastnost či charakteristika entity nebo vztahu Např. jméno učitele, e-mailová adresa učitele, název předmětu, učitel vyučuje předmět odkdy Vyjádřen ve větě rozvíjejícím členem nebo jako předmět samostatné věty: Učitel má jméno. Učitel se narodil dne.
Entita nebo atribut? Hodnota, vyjadřující vše = atribut Na co se odkazujeme identifikátorem, a obsahuje potenciálně další informace = entita Nejasné případy adresa, kontakt
Identifikátor Jednoznačně identifikuje výskyt entity mohou existovat alternativní identifikátory nemusí existovat žádný jednoduchý a spolehlivý způsob identifikace např. soukromí zákazníci... Umělé identifikátory implementační realizace nepatří do konceptuálního schématu v analyzované aplikační oblasti takové informace neexistují
Kardinalita vztahu Kolik výskytů entity druhého typu může být v tomto vztahu s jedním a tímtéž výskytem entity prvního typu Kolik předmětů může vyučovat jeden učitel? Více Kolik kateder může garantovat jeden a tentýž předmět? Jediná
Kardinalita vztahu Zobrazuje se čísly 1, n(=více), m(=více) (možno i 2,3,...) UČITEL n vyučuje m PŘEDMĚT čísly nebo hvězdičkou(=více) UČITEL vyučuje * * PŘEDMĚT crow's foot UČITEL vyučuje PŘEDMĚT
Kardinalita vztahu Dá se zjistit z tabulky příkladů vztahu (jaký je klíč tabulky) UČITEL PŘEDMĚT RNDr. Helena Palovská PhD. Analýza a modelování dat doc. Ing. Bohumil Miniberger, CSc. Modelování a návrh datových skladů doc. Ing. Bohumil Miniberger, CSc. Techniky a CASE nástroje vývoje IS Doc. RNDr. Ľubomír Dedera, PhD. Techniky a CASE nástroje vývoje IS Doc. RNDr. Ľubomír Dedera, PhD. Základy softwarového inženýrství z diagramu příkladů vztahu RNDr. Helena Palovská PhD. Analýza a modelování dat doc. Ing. Bohumil Miniberger, CSc. Modelování a návrh datových skladů Doc. RNDr. Ľubomír Dedera, PhD. Techniky a CASE nástroje vývoje IS Základy softwarového inženýrství
Kardinalita vztahu s vyšší aritou Pokud má vztah více rolí než 2, je definice kardinality složitá univerzální analytický nástroj je zjištění klíče či klíčů v tabulce vztahu
Povinnost členství ve vztahu (totalita/parcialita) Jestli každý výskyt daného typu entity musí být v uvažovaném vztahu s nějakým výskytem druhého entitního typu Musí každý učitel vyučovat nějaký předmět? Je to sice málo pravděpodobné, ale může se vyskytovat učitel, který žádný předmět nevyučuje (čerstvě přijatý, nezařazený do výuky) Musí každý předmět být garantován nějakou katedrou? Musí.
Povinnost členství ve vztahu Zobrazuje se: stylem čáry KATEDRA 1 m garantuje PŘEDMĚT KATEDRA garantuje PŘEDMĚT čárkou nebo kolečkem KATEDRA dolní mezí kardinality garantuje PŘEDMĚT KATEDRA garantuje 1 0..* PŘEDMĚT
Povinnost členství ve vztahu Dá se zjistit porovnáním příkladů výskytů entity a příkladů výskytů vztahu
ISA vztahy Nadtyp a jeho podtypy Každý výskyt podtypu je i výskytem nadtypu. Každý pes je zvíře. Each dog is a beast. Vznikají generalizací specializací spořící účet, půjčka, běžný účet jsou produkty spořící účet, běžný účet jsou speciální účty
ISA vztahy Znázorňují se: šipkou od podtypu k nadtypu ZVÍŘE jméno PES číslo známky obdélník uvnitř obdélníku ZVÍŘE jméno PES číslo známky
Co je ISA? Parciální identita vztah s kardinalitou 0..1 : 1 entity vztažené tímto vztahem jsou identické identifikátor v rámci nadtypu je platným identifikátorem i v rámci podtypu podtyp může mít ještě další, speciální způsob identifikace