Projekt z předmětu Teorie zpracování dat



Podobné dokumenty
Databázové systémy 1. Cvičení č. 9. Fakulta elektrotechniky a informatiky Univerzita Pardubice

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

Úvod do databázových systémů 2012/2013 IS MHD. Jiří Znoj zno

Úvod do databázových systémů

16/3.1.1 PŘÍKLAD ŘÍZENÍ NÁPRAVNÝCH OPATŘENÍ

Informační systémy a datové sklady IS uměleckých galerií Analýza datového skladu

Korespondenční úkol. Entita: Atributy: bydliště: typ číslo (devítimístné) Třída (např. 6.A, 6.B...)

Informační systém pro nemocnici

10. blok Logický návrh databáze

9. Může dojít k situaci, že ZP je nutno aktualizovat (změna vzhledu, změna příjmení, změna -1- dále ZP).

INFORMAČNÍ SYSTÉM PŮJČOVNY JÍZDNÍCH KOL

Modul informačního systému SPŠSE Liberec

Konceptuální modelování. Pavel Tyl

Elektronická zdravotní karta

Úvod do databázových systémů 10. cvičení

Datové modelování II

CRS komunikační rozhraní

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

UDBS Cvičení 10 Funkční závislosti

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Relace x vztah (relationship)

Elektronické bankovnictví. Přednáška v kurzu KBaA2 ZS 2009

Relační databázová technologie

C8 Relační databáze. 1. Datový model

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Databáze I. Přednáška 3

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

8.2 Používání a tvorba databází

OPERAČNÍ SYSTÉMY. Ing. Luděk Richter

INFORMAČNÍ SYSTÉM PRODEJ LÍSTKŮ DO DIVADLA

Účetní předpisy versus obchodní zákoník

Uživatelská příručka SBOX

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

Projekt z předmětu Informační management

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

IS Autopůjčovna VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Poslední nenulová číslice faktoriálu

Skořepina v SolidWorks

DBS Transformace konceptuálního schématu na

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Databázové systémy Tomáš Skopal

SMS Manager & HAIRSOFT MANUÁL

Standardní algoritmy v C++.

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Úvod do databázových systémů

KONTROLA PŘESNOSTI VÝROBY S VYUŽITÍM MATLABU

ENÍ (ZALOŽENÍ) PREZENTACE...

Návod ke správnému a snadnému provedení roční hendikepové kontroly na serveru ČGF

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

Management projektů. Programová podpora auditu sytému managementu kvality HOT 4IT. Návrh

Databáze Agility. Obsah. Strana číslo: {00}

Nejčastěji kladené dotazy 3.3 c)

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

TECHNICKÁ UNIVERZITA V LIBERCI EKONOMICKÁ FAKULTA. VZOR PŘIJÍMACÍ ZKOUŠKY DO NAVAZUJÍCÍHO STUDIA Obor: Manažerská informatika

Popis rozhraní Číselníkové webové služby

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-202

Relační databáze a povaha dat

DATOVÉ MODELOVÁNÍ ER MODEL

Funkční schéma Datové schéma Integrita modelu s realitou

STŘEDOŠKOLSKÁ TECHNIKA 2013

2. Konceptuální model dat, E-R konceptuální model

IS pro firmu vyrábějící potisky triček

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Rezervační systém Tvorba WWW stránek

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Cílem kapitoly je seznámit studenta s pojmem plánovací SW. Blíže seznámit s některými funkcemi MS Outlook.

Programování v C++ 1, 5. cvičení

Databázové systémy. Cvičení 3

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Rozdílová dokumentace k ovládání IS KARAT.net

Zadání. Seznam typů entit včetně jejich atributů, vyznačte klíče a cizí klíče Seznam typů vztahu určený svým názvem a entitami do něj vstupujícími

Řešení IS/IT - produkty a služby. ERP systém

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

4. Základy relačních databází, logická úroveň návrhu

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Kmenové údaje. Všeobecně

Příloha č. 18. Specifikace bloku PŘÍPRAVA. Příloha k zadávací dokumentaci veřejné zakázky Integrační nástroje, vstupní a výstupní subsystém

Jiří Mašek BIVŠ V Pra r ha

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

Úvod do databázových systémů

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

TEZE K DIPLOMOVÉ PRÁCI

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

Projekt Videotéka. Otázky pro ověření, zda-li tázaná osoba odpovídá cílové skupině: Je ve vaší domácnosti přítomna TV? ANO

Návod na provedení upgrade IS Harmonik

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

Stáže v elektrotechnice Údržba distribučních stanic

Vývoj IS - strukturované paradigma II

Transkript:

Projekt z předmětu Téma: Informační systém Armádní složka VŠB-TU Ostrava:Fakulta Elektrotechniky a informatiky březen 2008 Martin Dočkal doc068 dockal.martin@gmail.com

Obsah Obsah... 2 Zadání... 2 Proč?... 2 K čemu?... 3 Kdo?... 3 Vstupy... 3 Výstupy... 4 Nefunkční požadavky... 4 Datová analýza... 4 Lineární zápis typů entit... 4 ER diagram... 5 Lineární zápis typů vztahů... 5 Datový slovník... 5 Zbran :... 5 Vojak :... 6 Prapor :... 6 Velitel :... 7 Operace :... 7 Ucastnik_operace :... 8 Formální analýza... 8 Korekce... 8 Univerzální relační schéma a množina funkčních závislostí... 8 Univerzální relační schéma... 8 Funkční závislosti... 9 Uzávěr množiny atributů:... 9 Klíč relačního schématu a minimální neredundantní pokrytí... 9 Klíč relačního schématu... 9 Minimální pokrytí... 9 Neredundantní pokrytí... 9 Algoritmus dekompozice a syntézy... 0 Doplnění chybějících atributů... 0 Doplnění klíče... 0 Výsledné entitní typy... 0 Porovnání a zhodnocení... Zadání Proč? V armádním sektoru, kde se pohybuje, nezávisle na profesionalitě armády, větší množství vojáků a zbraní, potažmo operací kterých se účastní, je nutné evidovat jejich seznamy a zařazení ke konkrétní vojenské jednotce (praporu), a uchovávat je i po odchodu do civilního života v případě osob, či ukončení provozuschopnosti v případě zbraní. Navíc vyžadujeme vydávat roční nebo kvartální zprávy o proběhlých operacích a seznamy starých zbraní nutné k provedení nové revize pro jejich bezpečný a bezproblémový chod. - 2 -

K čemu? Do tohoto informačního systému (dále jen IS) se budou vkládat nové osoby (vojáci, důstojníci jako velitelé) které budou zařazeny do praporů dle jejich obsazenosti, nebo do generálního štábu. IS umožňuje sledovat nasazení praporů do vojenských operací a sledování armádního skladu zbraní. Můžeme také získat informace o již propuštěných, resp. vyřazených osob, resp. zbraní, nebo podrobnější informace o operacích, jako je země původu, délku konfliktu/cvičení, počet raněných apod., které mohou být předloženy médiím a sdělovacím prostředkům. Kdo? Administrativní pracovník bude vkládat nové osoby, nebo evidovat ukončení jejich služby. Zaměstnanci skladu evidují zbraně a jejich poslední revize, na jejichž základě mohou dát pokyn k revizi nové. Generální štáb pak vkládá během roku nové operace a do nich nasazení praporů. Vstupy Voják má své jednoznačné identifikační číslo, identifikační číslo příslušného praporu, do kterého je zařazen, údaj, zda je ve službě, nebo jen v aktivní záloze, své jméno, příjmení, rodné číslo, pohlaví, hodnost, pro uvedení bydliště pak stát, město, ulice, číslo popisné, PSČ, datum příchodu, čas příchodu, datum odchodu, čas odchodu do výslužby. Zbraň má své jednoznačné identifikační číslo, identifikační číslo vojáka, ke kterému aktuálně patří,údaj, zda je na skladě, svůj název, druh, výrobní číslo, datum poslední revize, čas poslední revize, datum zařazení, čas zařazení, datum vyřazení, čas vyřazení. Prapor má své jednoznačné identifikační číslo, identifikační číslo svého velitele, svůj oficiální název, kapacitu vojáků. Velitel má své jednoznačné identifikační číslo, své jméno, příjmení, rodné číslo, pohlaví, hodnost, pro uvedení bydliště pak stát, město, ulice, číslo popisné, PSČ, datum příchodu, čas příchodu, datum odchodu, čas odchodu do výslužby. Operace má své jednoznačné identifikační číslo, číslo velitele celé operace, svůj vlastní oficiální název, datum zahájení, čas zahájení, datum ukončení, čas ukončení, stát, lokalita, komentář generálního štábu, počet raněných a mrtvých vojáků svých, cizích, raněných a mrtvých civilistů. Účastník operace jako seznam operací obsahuje identifikační číslo zúčastněného praporu a číslo příslušné operace. Jeden voják může vlastnit více zbraní, naopak jedna zbraň je v daném časovém horizontu vlastnictvím nanejvýš jednoho vojáka, po odchodu vojáka do civilu se může přířadit někomu jinému. Rověž zaznamenáváme, zda-li je zbraň uskladněna, tedy jestli ji voják z operace vrátil, nebo ji má u sebe (popřípadně ztracena, v operaci apod.). Dále je každý jeden voják přiřazen do jednoho praporu, ten může mít více vojáků, ale má pouze a právě jednoho svého velitele. Jeden velitel může mít pouze a právě jeden svůj prapor. Prapory, které se zůčastnily nějaké určité operace, jsou zapisovány do vazební tabulky Účastník operace spolu s jednoznačným číslem příslušné operace, kterou vždy řídí právě jeden pověřený hlavní velitel. - 3 -

Výstupy Z daných databázových tabulek můžeme získat velké množství informací, jak veřejná pro média a sdělovací prostředky, tak citlivá tajná. Např. Seznamy vojáků v plné službě, v záloze, nebo všech. Zbraně, které jsou na skladě a blíží se jejich datum revize. Seznam praporů s jejich velitely a vojáky. Nejvíce vytěžované prapory co do počtu operací. Nefunkční požadavky Komunikace klient server, a vzhledem k citlivosti údajů také různá oprávnění pro jednotlivé rozhraní, grafické rozhraní (GUI) s podpůrnými kontrolními skripty, věrohodnost úložiště dat (vlastní server a datové banky). Datová analýza Lineární zápis typů entit Legenda: primární a cizí klíč Vojak (id_vojak, id_prapor, je_zaloha, jmeno, prijmeni, rodne_cislo, pohlavi, hodnost, stat, mesto, ulice, cislo_popisne, psc, datum_prichodu, cas_prichodu, datum_odchodu, cas_odchodu) Zbran (id_zbran, id_vojak, je_sklad, nazev, druh, vyrobni_serie, datum_revize, cas_revize, datum_zarazeni, cas_zarazeni, datum_vyrazeni, cas_vyrazeni) Prapor (id_prapor, id_velitel, nazev, kapacita) Velitel (id_velitel, jmeno, prijmeni, rodne_cislo, pohlavi, hodnost, stat, mesto, ulice, cislo_popisne, psc, datum_prichodu, cas_prichodu, datum_odchodu, cas_odchodu) Operace (id_operace, id_velitel, nazev, datum_zahajeni, cas_zahajeni, datum_ukonceni, cas_ukonceni, stat, lokalita, komentar, pocet_ranenych_vojaku_vlastni, vlastni_ranenych_vojaku_nepritel, vlastni_mrtvych_vojaku_vlastni, pocet_mrvych_vojaku_nepritel, vlastni_ranenych_civilistu, vlastni_mrtvych_civilstu) Ucastnik_operace (id_operace, id_prapor) - 4 -

ER diagram Vojak JE_ZARAZEN N Prapor JE_UCASTNIKEM N Ucastnik_operace M VLASTNI VELI JE_ZAPSANA N Zbran RIDI N Velitel Operace Lineární zápis typů vztahů VLASTNI (Vojak, Zbran) : N JE_ZARAZEN (Prapor, Vojak) : N VELI (Velitel, Prapor) : RIDI (Velitel, Operace) : N JE_UCASTNIKEM (Prapor, Ucastnik_operace) : N JE_ZAPSANA (Operace, Ucastnik_operace) : N Datový slovník Zbran : id_zbran int 0 pk ne ano jednoznačná identifikace zbraně id_vojak int 0 ck ano ano identifikace vojáka, cizí klíč z tabulky Vojak je_sklad bool ano/ne ne ne ano byla/nebyla vrácena nazev char 30 ne ne ano název zbraně druh char 30 ne ne ne druh zbraně vyrobni_serie char 30 ne ano ne tovární označení datum_revize date ne ano ne datum poslední kontroly cas_revize time ne ano ne čas poslední kontroly datum_zarazeni date ne ne ne datum zařazení do skladu cas_zarazeni time ne ne ne čas zařazení do skladu datum_vyrazeni date ne ano ne datum vyřazení cas_vyrazeni time ne ano ne čas vyřazení - 5 -

Vojak : id_vojak int 0 pk ne ano jednoznačná identifikace vojáka id_prapor int 0 ck ne ano identifikace praporu je_zaloha bool ano/ne ne ne ano služba, nebo záloha jmeno char 0 ne ne ne jméno vojáka prijmeni char 20 ne ne ano příjmení vojáka rodne_cislo int 0 ne ne ne rodné číslo pohlavi char 4 ne ne ne pohlaví osoby hodnost char 30 ne ne ne hodnost stat char 30 ne ne ne stát bydliště mesto char 30 ne ne ne město bydliště ulice char 30 ne ne ne ulice bydliště cislo_popisne int 4 ne ne ne číslo popisné psc int 5 ne ne ne poštovní směrovací číslo datum_prichodu date ne ne ne datum příchodu cas_prichodu time ne ne ne čas příchodu datum_odchodu date ne ano ne datum výslužby cas_odchodu time ne ano ne čas výslužby Prapor : id_prapor int 0 pk ne ano jednoznačná identifikace praporu id_velitel int 0 ck ne ano identifikace velitele nazev char 30 ne ne ano název praporu kapacita int 5 ne ne ne max kapacita - 6 -

Velitel : id_velitel int 0 pk ne ano jednoznačná identifikace velitele jmeno char 0 ne ne ne jméno velitele prijmeni char 20 ne ne ano příjmení velitele rodne_cislo int 0 ne ne ne rodné číslo pohlavi char 4 ne ne ne pohlaví osoby hodnost char 30 ne ne ne hodnost stat char 30 ne ne ne stát bydliště mesto char 30 ne ne ne město bydliště ulice char 30 ne ne ne ulice bydliště cislo_popisne int 4 ne ne ne číslo popisné psc int 5 ne ne ne poštovní směrovací číslo datum_prichodu date ne ne ne datum příchodu cas_prichodu time ne ne ne čas příchodu datum_odchodu date ne ano ne datum výslužby cas_odchodu time ne ano ne čas výslužby Operace : id_operace int 0 pk ne ano jednoznačná identifikace operace id_velitel int 0 ck ne ano identifikace velitele nazev char 30 ne ne ano název operace datum_zahajeni date ne ne ne datum zahájení cas_zahajeni time ne ne ne čas zahájení datum_ukonceni date ne ano ne datum ukončení cas_ukonceni time ne ano ne čas ukončení stat char 30 ne ne ne stát nejv. působení lokalita char 30 ne ne ne bližší lokalita komentar varchar 255 ne ano ne komentář štábu pocet_ranenych _vojaku_vlastni int 8 ne ano ne raněných vlastních vojáků pocet_ranenych _vojaku_nepritel int 8 ne ano ne raněných vojáků nepřítel pocet_mrtvych _vojaku_vlastni int 8 ne ano ne mrtvých vlastních vojáků pocet_mrtvych _vojaku_nepritel int 8 ne ano ne mrtvých vojáků nepřítel pocet_ranenych int 8 ne ano ne raněných civilistů _civilistu pocet_mrtvych _civilistu int 8 ne ano ne mrtvých civilistů - 7 -

Ucastnik_operace : id_operace int 0 pk,ck ne ano identifikace operace od_prapor int 0 pk,ck ne ano identifikace praporu Legenda: pk primární klíč, ck cizí klíč Formální analýza Korekce Pro zjednodušení budeme uvažovat jenom část atributů každého typu, navíc názvy takových vybraných atributů v případě potřeby přejmenujeme, aby se zajistila jeho jednoznačná identifikovatelnost při hledání klíče, konkrétně: Vojak (id_vojak, id_prapor, Vojak_jmeno, Vojak_prijmeni, vojak_rodne_cislo) Velitel (id_velitel, Velitel_jmeno, Velitel_prijmeni, Velitel_rodne_cislo) Zbran (id_zbran, id_vojak, Zbran_nazev, Zbran_druh) Prapor (id_prapor, id_velitel, Prapor_nazev, kapacita) Operace (id_operace, id_velitel, stat, Operace_nazev, komentar) Tyto atributy pro lepší čitelnost při provádění níže uvedených algoritmů převedeme na jednoznaková písmena následovně: id_vojak... A Vojak_jmeno... B Vojak_prijmeni... C Vojak_rodne_cislo... D id_prapor...e id_velitel...f Velitel_jmeno... G Velitel_prijmeni... H Velitel_rodne_cislo...I id_zbran... J Zbran_nazev... K druh...l Prapor_nazev... M kapacita... N id_operace... O stat...p nazev... Q komentar... R Univerzální relační schéma a množina funkčních závislostí Univerzální relační schéma R = ( A B C D E F G H I J K L M N O P Q R ) - 8 -

Funkční závislosti A BCDEFGHI, F GHIEMN, J F = D BCEFGHIA, I FGHEMN AKLEFMNGHI, E MNFGHI, O PQRFGHI, Uzávěr množiny atributů: A+ = D+ = E + = F + = F + = I + = J + = O+ = JO+ =... A B C D E F G H I M N A B C D E F G H I M N E F G H I M N E F G H I M N E F G H I M N A B C D E F G H I J E F G H I M N O P Q R A B C D E F G H I J K LM N K LM N O P Q R ` Klíč relačního schématu a minimální neredundantní pokrytí Klíč relačního schématu Z výše odvozeného uzávěru množiny všech atributů je zřejmé, že klíčem relačního schématu je složený atribut JO, neboť jen pomocí těchto dvou atributů jsme schopni odvodit všechny atributy ostatní. Minimální pokrytí Protože se na levé straně každé funkční závislosti nachází pouze jediný atribut, jedná se o minimální pokrytí. Neredundantní pokrytí Budeme postupně odebírat funkční závislosti a testovat, zda se pro daný levý atribut odebrané funkční závislosti změní uzávěr množiny atributů oproti původnímu. Z první funkční závislosti A BCDEFGHI můžeme odebrat závislosti A BCEFGHI, dostaneme A D, aniž by se změnil uzávěr A +. Z druhé funkční závislosti F GHIEMN můžeme odebrat závislost F GHEMN, dostaneme F I, aniž by se změnil uzávěr F +. Ze třetí funkční závislosti J AKLEFMNGHI můžeme odebrat závislost J EFMNGHI, dostaneme J AKL, aniž by se změnil uzávěr J +. Ze čtvrté funkční závislosti E MNFGHI můžeme odebrat závislost E MNFGH, dostaneme E I, aniž by se změnil uzávěr E +. - 9 -

Z páté funkční závislosti O PQRFGHI můžeme odebrat závislost O FGH, dostaneme O PQRI, aniž by se změnil uzávěr O +. Z šesté funkční závislosti D BCEFGHI můžeme odebrat závislost D EFGH, dostaneme D ABCI, aniž by se změnil uzávěr D +. Z ostatních funkčních závislostí již nelze nic odebrat aniž by byly zachovány původní uzávěry. Máme tak zatím výslednou minimální neredundantní relaci R, R AD, DABCI, EI, FI, INMHGFE, OPQRI, JAKL = ( ) Algoritmus dekompozice a syntézy V dalším kroku spojíme funkční závislosti se stejným(-i) atributem(-y) na levé straně. Vidíme, že k žádnému takovému spojení nedojde. Budeme mít proto relaci R 2, R 2 = R Nyní spojíme takové funkční závislosti, které mají stejný uzávěr: vidíme, že se jedná o první dvě funkční závislosti, a pak ještě následující tři, dostaneme tedy tuto relaci R 3, R ADBCI, EIFNMHG, OPQRI, JAKL 3 = ( ) Doplnění chybějících atributů Ve funkčních závislostech jsme použili všechny atributy, tento opravný krok tedy nebudeme provádět, a proto R 4 = R3. Doplnění klíče Hledáme závislost, která obsahuje celý klíč, v našem případě JO. Vidíme, že relace R 4, R 4 = ( ADBCI, EIFNMHG, OPQRI, JAKL) neobsahuje v žádné funkční závislosti celý takový klič, proto jej doplníme na konec, tedy R 5 = ( ADBCI, EIFNMHG, OPQRI, JAKL, JO). Výsledné entitní typy Na závěr převedeme výsledné nové entitní typy (tabulky) zpět do slovní podoby, tedy: R ( ADBCI ) Vojak(id_vojak,Vojak_rodne_cislo, Vojak_jmeno, Vojak_prijmeni, Velitel_rodne_cislo) R2 ( EIFNMHG) Prapor(id_prapor,Velitel_rodne_cislo, id_velitel,kapacita, Prapor_nazev, Velitel_jmeno, Velitel_prijmeni) R3 ( OPQRI) Operace(id_operace, stat, Operace_nazev, komentar, Velitel_rodne_cislo) R4 ( JAKL) Zbran(id_zbran, id_vojak, Zbran_nazev, Zbran_druh) R5 ( JO) Klic(id_zbran, id_operace) Tyto tabulky navíc splňují požadavky tzv. 3.NF. - 0 -

Porovnání a zhodnocení Vidíme, že po provedení formální analýzy můžeme odstranit jeden celý entitní typ Velitel, který po provedení algoritmů vyšel jako nadbytečný, neboť typy Prapor a Velitel jsou dle diagramu ER ve vztahu :. Navíc přibyl entitní typ s názvem Klic. Jak název napovídá, jedná se pouze o doplnění klíče jako 5. krok algoritmu syntézy z přechozí analýzy, který v našem případě pouze spojuje dva spolu nijak nesouvisející bloky a mohli bychom jej proto zanedbat. Kdybychom do analýzy zahrnuli veškeré atributy, setkali bychom se také z rozčleněním atributů psč a město u entitních typů Velitel a Vojak, které by nás analýza nutila je rozdělit, navíc by nesplňovaly 3.NF, neboť se jedná o sekundární atributy. Naopak je nutné poznamenat, že názvy operací, zbraní a praporů, jak je vidět ve funkčních závislostech, dovolujeme pro různé typy stejné názvy, proto zde nevznikly žádné další entitní typy ( např. počítáme s tím, že zbraň se může jmenovat nůž, přičemž takových zbraní s touto hotnotou atributu nazev je připuštěno vícero, stejně tak např. operace mohou mít stejné názvy jako cvičení apod.). Ani vyrobni_serie jako atribut u každé zbraně nemůže být v naše případě brán jako primární atribut, neboť dva výrobci mohou vydat teoreticky zbraně se stejným číslem(znaky), nehledě na to, že toto sériové číslo některé zbraně mít nemusí vůbec, s čímž je také brán dle datového slovníku zřetel. Číselník operací (typ Ucastnik_operace) zůstává stejný (nebyl do analýzy zahrnut). Z analýzy je taky jasné, že jako primární klíč tabulek Vojak a Velitel lze použít i rodná čísla (rodne_cislo). - -