FORMALIZOVANÝ PŘEVOD DATOVÝCH ZÁSOBNÍKŮ DFD DO ERD

transformation of Data Stores defined in the Data Flow Diagrams of Information System

Vladimír Konečný, Martin Sedlák

Adresa autora:

Ústav informatiky, Provozně ekonomická fakulta, MZLU v Brně

Anotace:

Příspěvek se zabývá formalizovaným převodem obsahu datových zásobníků diagramu datových toků (DFD) informačního systému do entitně-relačního diagramu (ERD), ve kterém logické struktury jsou již v normalizovaném tvaru. Analytik se tak při tvorbě modelu může soustředit především na DFD a v podstatě formalizovaným postupem získává ERD.

Summary:

The contribution concerns with transformation of Data Stores defined in the Data Flow Diagrams of Information System. Resulting logical structures are in normalized form, using description method. So the analyst can focus especially to the main problems of DFD.

Klíčová slova:

zásobník dat, entita, relační vazba, diagram datových toků, redundance, primární klíč, informační systém

Key words:

data story, entity, relationship, DFD (Data Flow Diagram), redundacy, primary key,

information systém

Úvod

Entitně-relační model (ER model) databáze informačního systému představuje jednu ze základních dílčích architektur informačního systému. Smyslem této architektury je vytvoření logického datového modelu, který poskytne srozumitelný pohled na data informačního systému včetně jejich vzájemných souvislostí.

Druhým důvodem tvorby relačních modelů je optimalizace logických struktur záznamů datových souborů, která je zaměřena především na vyloučení redundance dat.

Metodologická východiska

Při tvorbě ER modelu budeme vycházet z obsahu zásobníkůdatdefinovaných v diagramudatovýchtokůpomocí Backus-Naurovy syntaxe využívající následující syntaktické znaky

=

Oddělovač logické struktury zásobníku (dat. toku) a jejího identifikátoru

+

Logická spojka “and”

{ }

Opakování substruktury obsažené ve složených závorkách

[ ]

Definování variantní struktury

|

Oddělovač variantních substruktur

( )

Definování nepovinné struktury

Logické struktury zásobníků dat mohou obsahovat identifikátory elementárních datových prvků, identifikátory struktur (resp. substruktur) a syntaktické znaky. Úplná syntaxe logické struktury zásobníku dat je pomocí syntaktického diagramu znázorněna na obr. 1.

Z pohledu tvorby ERD může pak logická struktura zásobníku dat obsahovat skupinu elementárních datových prvků, mnohoznačné nezávislé datové prvky, mnohoznačné závislé datové prvky, opakující se substruktury, nepovinné substruktury, variantní substruktury a prosté substruktury. Všechny substruktury, kromě elementárních datových prvků mohou v relační databázi způsobovat redundanci dat, a proto je musíme z logických struktur vyjmout.

Obr. 1. Syntaktický diagram logické struktury zásobníku dat

Postup tvorby ERD

Každé z těchto komponent bude v ERD vytvořena samostatná entita s vazbou na entitu reprezentující výchozí zásobník dat.

Prosté struktury nejsou uvedeny v závorkách a obvykle jsou nahrazeny identifikátorem datového toku. Velmi často představují entitu obsahující pouze elementární datové prvky.

Budeme-li ctít dohodu, že výskyt objektů entity typu N, 0 nebo 1, 1 nebo N, budeme považovat za N, pak kardinalita vazeb u všech entit kromě základní entity a entity vzniklé z prosté struktury bude N. Kardinalita vazby u entity vzniklé z prosté struktury (jednoduše vložené -tato není uvedena v žádných závorkách) bude 1. Kardinalitu vazeb u základní entity nutno stanovit pro každou relační vazbu samostatně klasickým způsobem.

Existuje-li entita typu supertyp následně vytvoříme entity pro každou variantní substrukturu.

Vazba může být typu "OR" nebo "exclusive OR". Toto nutno stanovit podle logického významu jednotlivých variant. Kardinalita vazby na straně subtypů je M a na straně supertypu 1.

Logická struktura základní entity bude zatím obsahovat pouze ty prvky, které nejsou součástí substruktury, ze které vznikla nová entita, tj. elementární datové prvky. Pokud některé nově vzniklé entity obsahují vnořené substruktury způsobující redundanci upravíme je analogickým způsobem jako entitu základního zásobníku.

Pokud každá logická struktura entity obsahuje již pouze elementární datové prvky následuje závěrečná fáze tvorby ERD zásobníku dat.

U všech entit, kde je to možné (ze stávající množiny elementárních prvků), definujeme primární klíč. Primární klíč entit incidenčních s vazbou, která má kardinalitu 1 vložíme do logické struktury entity na opačné straně vazby. Může se stát, že tímto rozšířením některých logických struktur entit bude možné stanovit jejich primární klíče. Není-li tomu tak, musíme u entit, které nemají primární klíč rozšířit jejich strukturu o takový prvek, který umožní definovat jejich primární klíč, nebo zvážit zda je primární klíč dané entity nutný.

Na závěr tvorby ERD definujeme logické struktury vazeb typu M:M, které budou obsahovat pouze primární klíče logických struktur incidenčních entit, resp. vytvoříme tzv. vazební entity.

Pokud DFD obsahuje více zásobníků dat, lze při sestavení ERD postupovat dvojakým způsobem.

· Zvolíme některý zásobník jako výchozí. Nejlépe ten, který se jeví jako nejsložitější a rozšiřujeme jej o další entity a vazby.

· Vytvoříme ERD pro každý zásobník samostatně a dílčí ERD sloučíme do výsledného.

Vlastní postup tvorby ER modelu zásobníku dat lze shrnout do následujících kroků:

1. Do ER diagramu zakreslíme výchozí (základní) entitu odpovídající zásobníku dat. Název ponecháme shodný s názvem zásobníku nebo zvolíme vhodnější.

2. Ze základní logické struktury vynecháme každou substrukturu, která způsobuje redundanci a vytvoříme z ní samostatnou entitu s vhodným jménem.

1. Novou entitu zakreslíme do ER diagramu, pojmenujeme vazbu a stanovíme kardinality vazby. Na straně nové entity bude kardinalita vždy “M” kromě případu, že entita vznikla z prosté struktury, kdy kardinalita je rovna “1”. Kardinalitu na straně základní entity nutno vždy stanovit podle aktuálního obsahu incidenčních entit..

2. Obsahuje-li logická struktura nové entity substruktury způsobující redundanci opakuje se postup od bodu 2.

3. Stanovíme primární klíče logických struktur nových entit incidenčních s vazbou jejíž kardinalita je “1” a tyto primární klíče vložíme do logických struktur entit na protější straně vazby.

4. Stanovíme primární klíče zbývajících entit.

5. Vytvoříme logické struktury vazeb typu M:M, které budou složeny s primárních klíčů na obou stranách vazby, případně vazební entity.

Pro zájemce o hlubší pochopení lze doporučit prostudování výzkumné zprávy [L1].

Příklad ER modelu

Pro prezentaci tvorby je jako příklad ER modelu je zvolena databáze reprezentovaná zásobníky dat diagramu datových toků IS STUDENT - viz. obr. 2.

Image1.jpg

Obr. 2. DFD IS STUDENT

V rámci přijímacího řízení se osobní údaje zájemců o studium a výsledky přijímacího řízení ukládají do zásobníku UCHAZEČ. Výsledky testů se uvádí pouze u studentů, kteří absolvovali přijímací zkoušky. U studentů, kteří jsou převáděni z jiné univerzity, se údaje o testech (dosažené body) neuvádí a z toho důvodu jsou tyto údaje chápány jako nepovinné datové prvky. U všech studentů přijatých ke studiu musí být uveden údaj Přijat/Ne, Obor_st a Ročník_př.

Prostřednictvím datového toku “Přijati ke studiu” a funkce “Evidence o studiu” se všechny potřebné údaje o studentech přijatých ke studiu přepisují do zásobníku “STUDENT”.

Uvedený zjednodušený DFD obsahuje zásobníky dat UCHAZEČ, STUDENT, UČITEL, PŘEDMĚT, a ABSOLVENT. Jejich logické struktury jsou následující:

UCHAZEČ

=

RČ + PřJm + Adr_byd + Čís_OP + Druh_studia + { JAZ_ZNAL } +Obor_pož+ (Obor_náhr) + Dat_přihl + Druh_SŠ + ( Mtest + JTest )+ +Přijat/Ne + ( Obor_st ) + ( Důvod_přijetí/Ne )

---

STUDENT

=

RČ + PřJm + Adr_byd + Čís_OP + Druh_studia + {JAZ_ZNAL}+ +Druh_SŠ + Obor_st + Rok_př + Ročník_př + Ročník + Dat_zápisu + +St_skupina + Dat_přeruš_st + (KOLEJ) + {ZKOUŠKA}+ +{AKTIVITA}+ {STÁŽ}

---

PŘEDMĚT

=

Kód_předm + Název_předm+ {UČITEL} + {Roč_př + Obor_př + +Pov/Vol + Rozsah_př + Kredity}

---

UČITEL

=

Kód_uč + PřJm_uč + Int/Ext +Ústav

ABSOLVENT

=

RČ + PřJm + Adr_byd + Druh_studia + Obor_st + Rok_ukončení

Kde:

JAZ_ZNAL

=

Jazyk + Úrověň + Stát_zkouška

AKTIVITA

=

Druh_akt + Popis

STÁŽ

=

Země + Rok_stáže + Délka_stáže + Podnik

KOLEJ

=

Naz_koleje + Blok + Čís_pokoje

Význam jednotlivých datových prvků je zřejmý z názvů. Výsledný ER model databáze IS STUDENT ER je reprezentován diagramem na obr. 3 a následující normalizovanou soustavou logických struktur.

Image2.jpg

Obr. 3. ERD IS STUDENT

UCHAZEČ

=

RČ + PřJm + Adr_byd + Čís_OP + Druh_studia + Obor_pož + (Obor_náhr) + Dat_přihl + Druh_SŠ + Přijat/Ne + ( Obor_st ) + Důvod_přijetí/Ne )

BODY

=

RČ + Mtest + JTest + Body_celkem

JAZYK

=

RČ + Jazyk + Úroveň + Stát_zkouška

STUDENT

=

RČ + Rok_př + Ročník_př + Ročník + Dat_zápisu + St_skupina + Dat_přeruš_st

AKTIVITA

=

Druh_akt + Popis

STÁŽ

=

Kód_stáže + Země + Rok_stáže + Délka_stáže + Podnik

ZKOUŠKA

=

RČ + Kód_předm + Termín + Dat_zk + Známka + Kód_uč

UČITEL

=

Kód_uč + PřJm_uč + Int/Ext + Ústav

Vyučuje

=

Kód_předm + Obor_př

Zajímá se

=

RČ + Druh_akt

Ubytován

=

RČ + Naz_koleje + Blok + Čís_pokoje

Absolvoval

=

RČ + Kód_stáže

ABSOLVENT

=

RČ + Rok_ukončení

POPIS

=

Kód_předm + Obor_př + Roč_př + Pov/Vol + Rozsah_př + Kredity

Závěr

Z uvedeného stručného výkladu metody vyplývá, že aplikací relativně jednoduchých pravidel lze sestavit ER model databáze informačního systému vycházeje z logické struktury zásobníků dat. Hlavním přínosem metody je tedy značná formalizace procesu tvorby ER modelu informačního systému, jehož výsledkem je soustava logických struktur přímo ve 4. normální formě. Při objektovém přístupu k tvorbě software může posloužit jako slušný základ modelu tříd.

Úpravu ER diagramu dle metodik vyžadující upřesnění kardinality M ve smyslu výskytů instancí 0÷ M, 1÷ M, 0÷ 1, lze provést dodatečně.

Literatura

1. Konečný, V. a kol.: Entitně-relační model databáze informačního systému. Výzkumná zpráva PEF MZLU, 1997.

2. Konečný, V. - Pezlar, Z.: Tvorba entitně-relačního modelu, In: UNIFOS'98. SPU v Nitre, 1998.

3. Konečný, V. - Baný,P. - Svoboda,P.: Relační model databáze informačního systému. Acta Universitatis, 1997

4. Konečný,V.: Projektování informačních systémů. Skripta, MZLU v Brně, 1996.

Shih Yen Wu - Margaret S. Wu: System Analysis and Design. WestPublishing Company, USA, 1994.

5. Tietze, P.: Strukturální analýza - úvod do projektu řízení. Grada a.s. Praha, 1992.

6. Robinson, B. - Prior, M.: Systems Analysis Techniques. International Thomson Computer Press, 1995.

Tisk

Další články v kategorii Zemědělství

Agris Online

Agris Online

Agris on-line
Papers in Economics and Informatics


Kalendář


Podporujeme utipa.info