Metodika návrhu databáze



Podobné dokumenty
Strukturované metodologie

CVIČENÍ 4 G:\KU\DAS\PDOXWIN\KNIHOVNA

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

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

DBS Konceptuální modelování

Stručný návod pro práci s knihovním katalogem OPAC

Knihovna Právnické fakulty Univerzity Karlovy

Analýza problémové domény

Diagram výskytů a vztahů

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

SEMESTRÁLNÍ PRÁCE. z předmětu KIV/DB1

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

Návod k použití webového katalogu CKIS

prostřednictvím online konta na

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

Návrh databázového systému pro Galerii S

Analýza správy exemplářů, výpůjček a uživatelů Závěrečná zpráva. Tým č. 1

Analýza a modelování dat. Helena Palovská

prostřednictvím online konta na

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

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Databázové modelování. Analýza Návrh konceptuálního schématu

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Konceptuální modelování. Pavel Tyl

Hierarchický databázový model

Semestrální práce. A0M33PIS Průmyslové informační systémy. Autoři: Název: Půjčovna nářadí. Tomáš Battěk Petr Gazdík Tomáš Levora

Databázové systémy. Vztahy a relace. 3.přednáška

Databáze I. 4. přednáška. Helena Palovská

KDE A JAK HLEDAT KONKRÉTNÍ DOKUMENT

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

TINLIB A VÝPŮJČNÍ PROTOKOL V SVK ČESKÉ BUDĚJOVICE

10 Metody a metodologie strukturované analýzy

Dotazy tvorba nových polí (vypočítané pole)

Databáze v MS ACCESS

Terminologie v relačním modelu

Databáze fotbalové ligy

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Okruhy z odborných předmětů

Meziknihovní služby v Moravské zemské knihovně

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Informační vzdělávání PdF

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Otázka č. 1 (bodů za otázku: 4)

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

SYSTÉM ALEPH A JEHO APLIKACE VE VÝPŮJČNÍM PROCESU MZK

KIV/ZIS cvičení 2. Martin Kryl

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

POUŽITÍ DATABÁZÍ. Po ukončení tohoto kurzu budete schopni

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

Popisné systémy a databáze

Automatizace knihoven PhDr. Anna Stöcklová

POKROČILÉ POUŽITÍ DATABÁZÍ

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Čtečky e-knih v knihovnách Libereckého kraje. Celostátní seminář Regionální funkce knihoven v Plzni

Objektově orientované technologie. Daniela Szturcová

Výpůjční řád Knihovny itsmf Czech Republic, o.s.

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

Obsah. Zpracoval:

Konceptuální modelování

Úvod do databázových systémů. Ing. Jan Šudřich

BMP_04. Axiom kompozice, procesní model

2 Konceptuální modelování a návrh databáze

Jak si stojíme se statistikami? Seminář neprofesionálních knihoven a

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

2 Konceptuální modelování a návrh databáze

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

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

JAK PRACOVAT S CENTRÁLNÍM KATALOGEM UK?

Metodický pokyn č. 3/2007. Evidence čtenářů

Souborný katalog ČR pro veřejné knihovny Veřejné knihovny pro Souborný katalog ČR

Výukový materiál zpracován v rámci projektu EU peníze školám

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Dolování v objektových datech. Ivana Rudolfová

Návrh databázového modelu

Jednotná výpůjční matice

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Knihovní řád Obecní knihovny v Březině

Čl. I. Úvodní ustanovení

KNIHOVNÍ ŘÁD MASARYKOVY UNIVERZITY V BRNĚ SMĚRNICE Č. 14/05

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

KIV/ZIS cvičení 1. Martin Kryl

K N I H O V N Í Ř Á D

prostřednictvím online konta na

Databázové systémy I

Zpráva o činnosti Městské knihovny za rok 2009

Základy práce s informačními zdroji

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

7.2 Model použití (jednání) (Use Case)

Analýza dat a modelování. Přednáška 1

DATOVÉ MODELOVÁNÍ ER MODEL

Access Tabulka letní semestr 2013

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Řád relaxačního místa s knihovnou (součást Řádu odborných učeben - č.j. 49/2010)

Konceptuální datové modely používané při analýze

Databázové systémy. Ing. Radek Holý

Zpráva o činnosti Městské knihovny za rok 2012

Transkript:

Metodika návrhu databáze

Metodika tvorby konceptuálního datového modelu (ERA diagramu) 1 1. Zvolte jednu primární entitu ze specifikace požadavků. 2. Určete atributy, jejichž hodnoty se mají pro tuto entitu zaznamenávat. Označte případné klíče (identifikátory) a vytvořte ukázková data. 3. Popište slovně navrženou entitu, její atributy a klíče. 4a. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte. 4b. Prověřte atributy navržené entity (pokud možno ve spolupráci s uživatelem) a zjistěte, zda je třeba zaznamenávat informace o jednom či více atributech v nové samostatné entitě. 5. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2. 6. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou stran. 7a. Prověřte seznam atributů a určete, zda některé z nich potřebují být identifikovány prostřednictvím dvou (či více) entit. Pokud ano, umístěte atribut na příslušný vztah, který spojuje dané entity. 7b. Prověřte, zda v diagramu nemáte smyčky (kružnice), které mohou indikovat nadbytečné (odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho. 8. Vytvořte ukázková data. 9. Předveďte navržený model (diagram i slovní popis) uživateli. Pokud je to třeba, upřesněte diagram. 1 Zpracováno s použitím: BAGUI, Sigha a EARP, Richard. Database design using entity-relationship diagrams. Boca Raton : Auerbach Publications, 2003. 264 s. ISBN 0849315484

Příklad proces půjčování knih v knihovně Čtenář si nejprve v katalogu knihovny vyhledá signaturu knihy, kterou si chce půjčit. Signaturu nahlásí knihovníkovi a ten podle ní knihu vyhledá ve skladišti. Vyhledanou knihu knihovník zapůjčí čtenářovi a údaje o výpůjčce zaznamená do evidence výpůjček. Specifikace požadavků Výpůjční systém knihovny bude poskytovat své služby v rámci automatizovaného knihovního systému. Podporovaným procesem bude půjčování knih čtenářům. Požadavky na funkcionalitu: 1. Vyhledání signatury požadované knihy z katalogu knihovny na základě jejího názvu nebo jména autora. 2. Zápis údajů o uskutečněné výpůjčce. 3. Sestavení statistického výkazu o počtu uskutečněných výpůjček za určité období.

Strukturovaná čeština pro popis ERA diagramů ENTITY Databáze zaznamenává údaje o [název entity]. Pro každou [název entity] zaznamenáváme v databázi [názvy atributů]. KNIHA (Název,Autor,Cena,Vydavatelské údaje,čtenář,datum výpůjčky,datum vrácení) Databáze zaznamenává údaje o knihách. Pro každou knihu zaznamenáváme v databázi název, autora, cenu, vydavatelské údaje, čtenáře, kteří si ji půjčili, a data půjčení a vrácení. ATRIBUTY a) Atomické atributy Pro každou [název entity] bude existovat vždy jeden a pouze jeden [název atributu]. Hodnota [název atributu] se nebude dále členit (na dílčí údaje). Pro každou knihu bude vždy jeden a pouze jeden název. Hodnota názvu se nebude dále členit. b) Složené (skupinové) atributy Pro každou [název entity] budeme zaznamenávat [název atributu], který se skládá z x, y, z, (x, y, z) jsou součástmi [název atributu]. Pro každou knihu budeme zaznamenávat vydavatelské údaje, jež se skládají z názvu vydavatele, místa vydání a roku vydání. Název vydavatele, místo vydání a rok vydání jsou součástí vydavatelských údajů. c) Vícehodnotové atributy Pro každou [název entity] budeme zaznamenávat [název atributu]. Může být zaznamenán více než jeden [název atributu] pro každou [název entity]. Pro každou knihu zaznamenáváme autory. Může být zaznamenán více než jeden autor pro každou knihu. d) Odvozené atributy Pro každou [název entity] může existovat [název atributu], který bude odvozen z databáze. Pro každou knihu může existovat lhůta (počet dnů zapůjčení), která bude odvozena z databáze (odečet data výpůjčky od data vrácení knihy).

KLÍČE a) Jeden kandidát klíče (silná entita) Pro každou [název entity] budeme mít následující primární klíč: [název atributu]. Pro každou knihu budeme mít následující primární klíč: přírůstkové číslo. b) Více než jeden kandidátní klíč (silná entita) Pro každou [název entity] budeme mít následující kandidátní klíče: [názvy atributů]. Pro každou knihu budeme mít následující kandidátní klíče: přírůstkové číslo, signatura, ISBN. c) Žádní kandidáti klíče (slabá entita) Pro žádnou [název entity1] nepředpokládáme, že by kterýkoli z atributů byl dostatečně unikátní, aby identifikoval individuální [název entity1] bez doplňujícího odkazu na [název entity2], vlastnickou entitu. Pro žádnou rezervaci nepředpokládáme, že by kterýkoli z atributů byl natolik unikátní, aby identifikoval individuální rezervaci bez doplňujícího odkazu na knihu, vlastnickou entitu. d) Žádní kandidáti klíče (vazební entita) Pro žádnou [název vztahové entity] nepředpokládáme, že by kterýkoli z atributů byl dostatečně unikátní, aby identifikoval individuální [název vztahové entity] bez doplňujícího odkazu na [název entity1] a [název entity2], vlastnické entity. Pro žádnou výpůjčku nepředpokládáme, že by kterýkoli z atributů byl natolik unikátní, aby identifikoval individuální výpůjčku bez doplňujícího odkazu na knihu a čtenáře, vlastnické entity.

VZTAHY [název entity1] [název vztahu aktivum] [název entity2] [název entity2] [název vztahu pasivum] [název entity1] a Čtenáři si půjčují knihy a knihy jsou půjčovány čtenáři. nebo Čtenář si půjčuje knihy a kniha se půjčuje čtenářům. musí existovat jedna a právě jedna instance může existovat jedna nebo žádná instance musí existovat jedna nebo více instancí může existovat jedna, více nebo žádná instance

Slovní vyjádření kardinality a členství ve vztahu: a) Vztah jedna jedna Čtenář si může půjčit pouze jednu knihu, nemusí si půjčit žádnou knihu. Kniha může být půjčena pouze jednomu čtenáři, nemusí být půjčena žádnému čtenáři. Čtenář si musí půjčit jednu a právě jednu knihu. Kniha může být půjčena pouze jednomu čtenáři, nemusí být půjčena žádnému čtenáři. Čtenář si musí půjčit jednu a právě jednu knihu. Kniha musí být půjčena jednomu a právě jednomu čtenáři. Čtenář si může půjčit pouze jednu knihu, nemusí si půjčit žádnou knihu. Kniha musí být půjčena jednomu a právě jednomu čtenáři.

b) Vztah jedna více Čtenář si může půjčit více knih, nemusí mít půjčenou žádnou knihu. Kniha může být půjčena pouze jednomu čtenáři, nemusí být půjčena žádnému čtenáři. Čtenář si musí půjčit alespoň jednu knihu, může si půjčit více knih. Kniha musí být půjčena jednomu a právě jednomu čtenáři. Čtenář si musí půjčit alespoň jednu knihu, může si půjčit více knih. Kniha může být půjčena pouze jednomu čtenáři, nemusí být půjčena žádnému čtenáři. Čtenář si může půjčit více knih, nemusí mít půjčenou žádnou knihu. Kniha musí být půjčena jednomu a právě jednomu čtenáři. Čtenář si může půjčit pouze jednu knihu, nemusí si půjčit žádnou knihu. Kniha se nemusí půjčit žádnému čtenáři, může se půjčit jednomu nebo více čtenářům. Čtenář si musí půjčit jednu a právě jednu knihu. Kniha musí být půjčena alespoň jednomu čtenáři, může být půjčena více čtenářům. Čtenář si může půjčit pouze jednu knihu, nemusí si půjčit žádnou knihu. Kniha musí být půjčena alespoň jednomu čtenáři, může být půjčena více čtenářům. Čtenář si musí půjčit jednu a právě jednu knihu. Kniha se nemusí půjčit žádnému čtenáři, může se půjčit jednomu nebo více čtenářům.

c) Vztah více více Čtenář si může půjčit jednu nebo více knih, nemusí mít půjčenou žádnou knihu. Kniha může být půjčena více čtenářům, nemusí být půjčena žádnému čtenáři. Čtenář si musí půjčit alespoň jednu knihu, může si půjčit více knih. Kniha musí být půjčena alespoň jednomu čtenáři, může být půjčena více čtenářům. Čtenář si musí půjčit alespoň jednu knihu, může si půjčit více knih. Kniha se nemusí půjčit žádnému čtenáři, může se půjčit jednomu nebo více čtenářům. Čtenář si může půjčit jednu nebo více knih, nemusí mít půjčenou žádnou knihu. Kniha musí být půjčena alespoň jednomu čtenáři, může být půjčena více čtenářům.

Pravidla návrhu správných ERA diagramů Zobrazujeme pouze data a jejich vztahy, žádné procesy Každý atribut zobrazujeme pouze jednou cílem je strukturovat seznam atributů, nikoli znázorňovat propojení v relační databázi Zobrazujeme seskupení dat pro účely uložení v databázi, nikoli pro účely výstupů kombinaci atributů z různých entit a případné duplicity realizují až pohledy (formuláře, sestavy) Zobrazujeme pouze perzistentní (trvalé) datové objekty data, jež hodláme vygenerovat výpočty a agregacemi, nemodelujeme Entity mají být normalizované např. atributy, mezi kterými je vztah 1 : N, nepatří do stejné entity Pozor na tyto entity: entita bez atributů entita, která má pouze identifikátor a žádné další atributy entita, u níž nastane pouze jeden výskyt entita, která obsahuje atributy patřící jiným entitám (tzv. cizí atributy) Zobrazujeme pouze nezbytně nutné vztahy (tj. ty, které k něčemu využijeme např. v dotazu). Nezobrazujeme: redundantní vztahy odvozené vztahy kruhové závislosti (smyčky) Příklad: Redundantní vztah STUDENT UČITEL