Aplikační a programové vybavení

Slides:



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

Ukázka písemné zkoušky z TZD
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Business intelligence
A5M33IZS – Informační a znalostní systémy Normální formy.
Pojmy z ERD.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Zjednodušeně pomocí UML
Databázové systémy Relační model.
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
YDASYS Ing. Monika Šimková.
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databáze. Návrh Není to legrace a pro kvalitní databázi je nutné věnovat řadě věcem čas a je nutné použít i papír a tužku!!! Co je to databáze?
A4B33DS & X33MIS Zdeněk Kouba
Relační datový model Základní ideje
Úvod do databázových systémů
Databáze Jiří Kalousek.
Konceptuální datové modelování
Cvičení 13 Ing. Pavel Bednář
Úvod do databázových systémů
Návrh Databází Štěpán Šípal.
KONCEPTUÁLNÍ MODELOVÁNÍ
Databáze Tabulky a typy dat VY_32_INOVACE_7B11. Proč datové typy ? Abychom mohli do tabulky vložit data, musíme jednotlivým polím (sloupcům) přiřadit.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
Fakulta elektrotechniky a informatiky
Zadání databázového systému
Relační databáze.
Normalizace.
Konceptuální návrh databáze
Historie databází, jejich význam a základní pojmy
Informatika pro ekonomy II přednáška 10
Databázové systémy 1 Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Databázové systémy Přednáška č. 4.
Aplikační a programové vybavení
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Konceptuální návrh databáze
Databázové modelování
Databázové modelování
Aplikační a programové vybavení
Úvod do databázových systémů
ERD Články v odborném časopise. Zadání Vytvořte databázi pro odborný časopis. Požadavkem organizace je evidence článků (název, anotace, klíčová slova,
Databázové systémy Informatika pro ekonomy, př. 18.
Databáze velké množství dat pevně dané struktury
Aplikační a programové vybavení
Databázové systémy Datové modely.
Databázové systémy Normalizace dat.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
Návrh struktury - normalizace
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Úvod do databázových systémů
Databázové systémy přednáška 4 – ERD
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Z3104 Geodatabáze úvod.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Z3104 Geodatabáze úvod.
Informatika pro ekonomy přednáška 8
Přednáška 3 Normalizace databáze.
Databázové systémy Normální formy.
A5M33IZS – Informační a znalostní systémy
Transkript prezentace:

Aplikační a programové vybavení Vytvoření databáze

E-R modelování Obecná metoda modelování datových struktur Popis dat pomocí entit a vztahů (E-R): entita (entity) – jednoznačně identifikovatelný objekt reálného světa (záznam v tabulce) typ entity (entity types) – třídy reálných objektů stejného typu vztah (relationship) – vazba mezi entitami atribut (attribute) – vlastnost entity nebo vztahu hodnota (value) – konkrétní hodnota (instance) atributu doména atributu (attribute domain) – množina hodnot, kterých může atribut nabývat klíč (key) – množina atributů, jejichž hodnoty jednoznačně identifikují entitu Příklad: entita: Jiří Paroubek typ entity: populista vlastnost: věk hodnota: 15? doména: 1-200 klíč: jméno, přijmení

E-R model Entity-Relationship model Relationship není relace znázorňuje se ER diagramy (ERD) klasická varianta: typy entit (třídy objektů) atributy (vlastnosti) vztahy mezi entitami

E-R model – příklad Zadání příkladu ze cvičení: Vytvořte webovou aplikaci pro evidenci přítelkyň, přítelů, adres, vztahů a schůzek. Hlavním prvkem aplikace je evidence osob a schůzek mezi nimi, tedy jakýsi adresář. U každé osoby se zaznamenává jméno, příjmení, věk, bydliště a kontaktní údaje. Každá osoba může mít libovolný počet kontaktních údajů (mobil, Jabber, Skype, …). Každá osoba může mít vztah s libovolnými jinými osobami v databázi. U každého vztahu se zaznamenává délka trvání a typ (známý, přítel, přítelkyně, manžel, …). Dále se také zaznamenávají schůzky mezi jednotlivými osobami. Schůzky se může účastnit libovolný počet osob. U schůzky se dále zaznamenává datum a místo. Osoba může mít více kontaktů stejného typu (např. dva emaily). Typy kontaktů jsou definované dynamicky v databázi a uživatel je může měnit. Aplikace musí umožňovat přidání, změnu a odstranění vložených údajů. Aplikace by měla umožňovat snadné přidávání a změnu osob a schůzek. Využijte navržené schéma databáze a vytvořte databázi a implementujte aplikaci.

E-R model – příklad Klasický E-R model se dá prakticky vytvářet přímo ze zadání a výborně se na něm určuje násobnost vztahu.

Násobnost vztahu násobnost vztahu (kardinalita vztahu, cardinality ratio, relationship degree) parcialita vztahu (úplné/částečné členství) R (Entity1:(min, max), Entity2:(min, max)) 1:1 – ŘÍDÍ(OSOBA:(0,1), AUTO:(0,1)) 1:N – VLASTNÍ(OSOBA:(0,N), AUTO:(1,1)) N:M – POUŽÍVÁ(OSOBA:(0,M), AUTO:(0,N)) Parcialita vztahu se v klasickém ER diagramu nezobrazuje protože vlastně není vůbec důležitá. Naproti tomu násobnost vztahu je velmi důležitá, vztah 1:1 není problém, vztah 1:N většinou také není problém, často se dá reprezentovat jen jedním odkazujícím se polem. Naproti tomu vztah M:N je problém protože může vyžadovat vytvoření další propojující tabulky.

Převod E-R modelu na RDB E-R konceptuální model je velice blízký relačnímu datovému modelu typ entity – tabulka entita – záznam v tabulce atribut – sloupec tabulky hodnota atributu – buňka tabulky vztah – ? Jak převést vztah mezi entitami je otázka, protože záleží na násobnosti vztahu a dalších okolnostech.

Převod vztahu Vztahy mohou být reprezentovány: samostatnými tabulkami skrytě uvnitř jiných tabulek Obecně je vztah reprezentován tabulkou pokud: se jedná o vztah M:N pokud má vztah atributy VZTAH(ID, OSOBA1, OSOBA2, DATUM_VZNIKU) má vztah nepovinné členství a není přípustná prázdná hodnota atributu Vztah je možné reprezentovat tabulkou vždy, jelikož se však jedná o dost práce navíc a je vhodné se tomu vyhnout vždy pokud je to jen trochu možné. Reprezentování všech vztahů tabulkami je pokus o vytváření univerzálního systému, který zpravidla končí neúspěchem. Obecně velmi častým případem atributu (vlastnost) vztahu M:N je datum vzniku, viz. další slajd.

Převod vztahu Příklad (osoba – adresa): Pokud má osoba maximálně jednu adresu, může být uvedena v tabulce osob: OSOBA(ID_OS, JMÉNO, PŘÍJMENÍ, MĚSTO, ULICE) Pokud má osoba více adres je nutné zavést tabulku adres a v ní odkaz na osobu: OSOBA(ID_OS, JMÉNO, PŘÍJMENÍ) ADRESA(ID_AD, MĚSTO, ULICE, ID_OS) Pokud na jedné adrese bydlí více osob je nutné zavést další tabulku přiřazení: ADRESA(ID_AD, MĚSTO, ULICE) BYDLIŠTĚ(ID_BY, ID_OS, ID_AD, OD_KDY)

Normalizace návrhu Normalizace – převod do normální formy (NF) Normálních forem je více, ale prakticky se používají první 3. 1. NF – hodnoty atributů jsou atomické 2. NF – relace neobsahuje částečné funkční závislosti neklíčových atributů na klíči 3. NF – žádný neklíčový atribut není tranzitivně závislý na klíči Další normální formy nejsou příliš praktické NF jsou pouze doporučení (ale nedodržení musí být opodstatněné)

Normální formy NF jsou vnořené – tj. relace je ve 3. NF pokud je v 1. i v 2. i ve 3. NF. Pokud je DB v 3NF je zajištěno, že bude mít určité kladné vlastnosti. Pokud databáze ve 3NF není, tak si autor musí sám pohlídat, aby databáze měla správné vlastnosti.

První normální forma Tato definice relace VZTAHY není v 1. NF Jméno 1. osoby Jméno 2. osoby Adresa 1. osoby Adresa 2. osoby Datum vzniku vztahu Chlastislav Peruňka Sosna Orbnicová Olomoucká 23, Brno Brněnská 32, Olomouc 1.1.2004 Růžeslav Mekota Pražská 12, Brno 12.3.2006 Květoslav Blekota Brněnská 56, Praha 5.1.2007 Tato definice relace VZTAHY není v 1. NF není jasné pořadí jméno-příjmení nelze řadit podle jména, příjmení, města, ulice nelze vypsat nebo hledat jen příjmení atomičnost se vyžaduje z hlediska aplikace Pro převod relace do první stačí jen přidat vhodné sloupce.

Druhá normální forma Jméno 1. osoby Příjmení 1. osoby RČ 1. osoby RČ 2. osoby Jméno 2. osoby Příjmení 2. osoby Datum vzniku vztahu Chlastislav Peruňka 123456 213456 Sosna Orbnicová 1.1.2004 Růžeslav Mekota 543256 12.3.2006 Květoslav Blekota 456456 5.1.2007 Tato definice relace VZTAHY je v 1.NF a není v 2.NF klíčem jsou atributy RČ1 a RČ2, protože datum vzniku vztahu závisí na jejich kombinaci jméno a příjmení 1. osoby závisí na RČ 1. osoby – tedy závisí na klíči pouze částečně redundance dat anomálie vložení, anomálie zrušení nelze vložit osobu, která nemá žádný vztah Částečná závislost znamená, že atribut (sloupec) závisí pouze na části klíče (v přikladu jméno 1. osoby závisí pouze na rodném čísle první osoby, což je pouze část klíče (celý klíč je tvořen kombinací rodné číslo 1. osoby a rodné číslo 2. osoby)). Pokud budeme předpokládat, že jednoznačnou identifikací osoby je rodné číslo, tak můžeme jako klíč použít kombinaci rodné číslo první osoby a rodné číslo druhé osoby. Pak však vznikají anomálie vložení (nelze vytvořit záznam o osobě, která nemá žádný vztah (rodné číslo druhé osoby není známé a klíč by byl neúplný)) a anomálie zrušení (při smazání všech vztahů osoby zmizí i záznam o osobě). Současně je v tabulce velká redundance dat, a s tím spojené nebezpečí neúplných aktualizací a následných nekonzistencí. Pro převod do druhé normální formy je nutné tabulku rozdělit. Pokud tabulka neobsahuje složený klíč, tak je vždy automaticky ve druhé normální formě (protože neobsahuje složený klíč, tak nemůže existovat částečná závislost nějakého atributu).

Druhá normální forma VZTAHY: OSOBY: RČ 1. osoby RČ 2. osoby Datum vzniku 123456 213456 1.1.2004 543256 12.3.2006 456456 5.1.2007 RČ Jméno Příjmení 213456 Sosna Orbnicová 123456 Chlastislav Peruňka 456456 Květoslav Blekota 543256 Růžeslav Mekota Tato definice relací VZTAHY a OSOBY je v 2. NF (a tedy i v 1. NF) žádná data nejsou redundantní vložení vztahu neznamená vložení osoby zrušení vztahu nezruší osobu rozklad schématu musí být bezztrátový tak, aby bylo možné rekonstruovat původní schéma Tabulka ve druhé normální formě je úspornější a spolehlivější způsob uložení dat, nicméně zpravidla již neodpovídá tomu, jakým způsobem chceme data zobrazovat. Došlo tedy k rozkladu původního schématu databáze, které je před zobrazením nutné rekonstruovat do původní podoby. Toho se dá docílit např. použitím příkazu JOIN jazyka SQL.

Třetí normální forma Tato definice relace ADRESY není v 3. NF ID Město Ulice ČO PSČ 1 Brno Pražská 3 643 00 Olomoucká 54 656 00 4 Brněnská 22 653 00 Tato definice relace ADRESY není v 3. NF atribut PSČ závisí na atributu Město změna hodnoty města zcela jistě vyvolá změnu PSČ každý neklíčový atribut plně závisí na klíči (definice klíče) pokud neklíčový atribut závisí na jiném neklíčovém atributu, pak závisí na klíči také tranzitivně (nepřímo) Jedná se opět o určitou redundanci dat v tabulce (město je jednoznačně určeno hodnotou PSČ), není však tak dramatická jako v případě pokud tabulka není ve 2NF.

Třetí normální forma Rozložením relace ADRESY je nová relace v 3NF: MĚSTSKÉ ČÁSTI: ADRESY: ID Ulice ČO PSČ 1 Pražská 3 643 00 Olomoucká 54 656 00 4 Brněnská 22 653 00 Město PSČ Brno-město 643 00 Brno-kr.pole 656 00 Brno-č.pole 653 00 Rozložením relace ADRESY je nová relace v 3NF: klíčem tabulky městských částí je PSČ hypotetické přečíslování PSČ by ale mohlo způsobit problémy Pro převod do 3NF je opět potřeba tabulku rozdělit.

E-R model – příklad Klasická variante E-R diagramu vychází spíše z reality, je blízká slovnímu popisu zadání. Neodpovídá však skutečnému schématu databáze a před implementací je tedy potřeba ji dále zanalyzovat a identifikovat skutečné tabulky, které vzniknou jednak z existujících entit, jednak převodem vztahů a konečně také normalizací návrhu.

E-R Diagram „klasický“ diagram obsahuje entity a vztahy některé vztahy se nemusí projevit tabulkami „crow’s foot“ diagram obsahuje spíše definice jednotlivých tabulek Crow’s foot diagram je velmi blízký schématu databáze a je možné ho rovnou využít pro vytvoření struktury databáze (lepší modelovací nástroje umožňují export diagramu do SQL pro vytvoření struktury databáze). Není však možné jej vytvořit přímo ze zadání, jeho vytvoření vyžaduje analýzu vztahů mezi entitami a dále normalizaci návrhu.

E-R model – příklad