Databázové systémy I

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

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

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

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

9. blok Fáze návrhu databáze, konceptuální modelování

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

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

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

10. blok Logický návrh databáze

Konceptuální modelování. Pavel Tyl

DBS Konceptuální modelování

Databázové systémy. Přednáška 1

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

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

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

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

Strukturované metodologie

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

Databázové systémy trocha teorie

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

Databáze. Logický model DB. David Hoksza

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

4IT218 Databáze. 4IT218 Databáze

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

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

Hierarchický databázový model

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

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

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

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

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

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

DATOVÉ MODELOVÁNÍ ER MODEL

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

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

Obsah SLEDOVÁNÍ PRÁCE... 4

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

SQL - trigger, Databázové modelování

RELAČNÍ DATABÁZOVÉ SYSTÉMY

DBS Transformace konceptuálního schématu na

Databázové systémy Cvičení 5.2

Návrh databázového modelu

Obsah. Zpracoval:

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

10 Metody a metodologie strukturované analýzy

2. přednáška z předmětu GIS1 Data a datové modely

Relace x vztah (relationship)

Diagram výskytů a vztahů

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

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

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

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

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

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

Problémové domény a jejich charakteristiky

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

5. POČÍTAČOVÉ CVIČENÍ

4IT218 Databáze. 4IT218 Databáze

OOT Objektově orientované technologie

GIS Geografické informační systémy

Metodika návrhu databáze

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

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

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

TÉMATICKÝ OKRUH Softwarové inženýrství

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

OOT Objektově orientované technologie

Etapy tvorby lidského díla

Modelování procesů s využitím MS Visio.

Střední průmyslová škola Zlín

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

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

DUM 12 téma: Příkazy pro tvorbu databáze

13. blok Databázové modelování v praxi

EXTRAKT z mezinárodní normy

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

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

Softwarové inženýrství

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

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

1. Dědičnost a polymorfismus

Geografické informační systémy p. 1

7.3 Diagramy tříd - základy

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

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

Návrh datového modelu

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Databázové systémy I. 3. přednáška

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

Data v informačních systémech

Transformace konceptuálního modelu na relační

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Tvorba nových dat. Vektor. Geodatabáze. Prezentace prostorových dat. Základní geometrické objekty Bod Linie Polygon. Vektorová

Transkript:

Databázové systémy I Přednáška č. 2 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz

Obsah Fáze návrhu databáze Konceptuální model Barkerova notace Unikátní identifikátory Databázové systémy 1 - př. 1 2

Návrhové fáze vývoje dtb. systému Plánování databáze Definice systému Sběr a analýza požadavků Návrh databáze Konceptuální návrh Logický návrh Fyzický návrh Implemetace Databázové systémy 1 - př. 1 3

Fáze plánování databáze Fáze plánování databáze je počátečním bodem databázového projektu. V této fázi jsou stanoveny: - základní cíle a priority celého projektu - hlavní cíl databázového systému - milníky, kterých je nutné postupně dosahovat - odhad rozsahu potřebné práce, - rozdělení práce mezi členy vývojového týmu - odhad finanční náročnosti celého projektu - často se definují i standardy vývoje Databázové systémy 1 - př. 1 4

Fáze definice systému Při definici systému dochází k - identifikaci rozsahu a hranic systému, který zkoumáme, - identifikuje se rozhraní vůči jiným informačním systémům, - při definici systému se nesledují pouze aktuální uživatelské pohledy, nýbrž musí být počítáno se všemi předpokládanými budoucími pohledy. Přesto jsou uživatelské pohledy velmi důležitou částí definice systému. Uživatelský pohled definuje to, co se od databázového systému požaduje z hlediska konkrétního pracovního postavení (může to být pohled vysokého manažera společnosti stejně jako pohled běžného pracovníka), či se může jednat o pohled určité provozní oblasti (marketing, lidské zdroje, CRM, ). Databázové systémy 1 - př. 1 5

Fáze sběru požadavků Závěrečnou přípravnou fází před zahájením samotného modelovaní je fáze sběru požadavků a jejich následná analýza. V této fázi proběhne sběr a analýza informací o organizaci či objektu zájmu, kterému bude databáze sloužit. Sběr informací se provádí pro každý významný uživatelský pohled a jeho součástí bývá: popis používaných nebo vytvářených dat, podrobnosti o tom, jak jsou data vytvářena a používána, všechny další požadavky na databázový systém. Databázové systémy 1 - př. 1 6

Fáze sběru požadavků Tyto informace se následně analyzují, aby se určily požadavky, které je nutné implementovat do návrhu nového databázového systému. Tyto požadavky se dále archivují jako součást specifikace požadavků. Určení těch správných požadavků je kritická činnost, neboť systém s neúplnou implementací uživatelských požadavků může být z pohledu uživatele těžko použivatelný a může to vést až k odmítnutí systému jako celku. Databázové systémy 1 - př. 1 7

Konceptuální návrh databáze V první fázi se prostřednictvím konzultací s uživateli a zadavateli systému formulují a shromažďují přesné požadavky na to, co vše má být v databázi uloženo. Z takto získaných informací se vytvoří konceptuální model, který je výsledkem první fáze návrhu databáze. Konceptuální datový model popisuje data na abstraktní úrovni nezávisle na jejich fyzickém uložení. Proces tvorby konceptuálního modelu se nazývá konceptuální modelování. Jeho výsledkem je konceptuální model znázorněný jako konceptuální schéma nebo diagram, který má co nejvýstižněji zachycovat pohled člověka na danou část reálného světa. Mezi nejznámější konceptuální datové modely patří E-R model. Databázové systémy 1 - př. 1 8

Business pravidla (business rules) Business pravidla nám definují vše co se týká chování aplikace Tato pravidla dělíme do dvou kategorií Procedurální pravidla (procedural business rules) Tato pravidla vyžadují dodatečné programování a není možné je podchytit pomocí struktury databáze Nové záznamy může provádět pouze uživatel s rolí administrátor Strukturální pravidla (structural business rules) Tato pravidla je možné podchytit již ve struktuře databázového modelu (pomocí klíčů, omezení, atd..) Objednávku je možné vystavit pouze registrovaným uživatelům Databázové systémy 1 - př. 1 9

Business pravidla Všechna business pravidla, která není možné zahrnout do konceptuálního modelu, je třeba dokumentovat Pokud bychom pravidla nedokumentovali, mohlo by se na ně v průběhu vývoje zapomenout Žádný zaměstnanec jehož přesčas přesáhne 10 hodin týdně, bude vyplácen 1.5 násobkem hodinové mzdy. Zákazníci, kteří budou opožděni se splatností o více než 90 dnů, nebudou moci vytvořit novou objednávku. Databázové systémy 1 - př. 1 10

Konceptuální návrh databáze Pro konceptuální návrh jsou podstatné tyto úkoly: Krok 1 Identifikace entit (entity). Krok 2 Identifikace relací (relation). Krok 3 Identifikace atributů (attribute) a spojení atributů s entitami a relacemi. Krok 4 Nalezení domén atributů (attribute domain). Krok 5 Vyhledání unikátních identifikátorů (unique identifier). Krok 6 Kontrola redundance (redundancy check) v modelu. Krok 7 Posouzení zda model podporuje uživatelské transakce. Databázové systémy 1 - př. 1 11

Entita, Instance entity 1. Krok Entita se dá definovat jako věc schopná samostatné existence a je jednoznačně identifikovatelná. Entita může být fyzicky existující objekt (tangible entity), jako například dům nebo automobil, nebo událost (event entity) jako je prodej domu nebo servis automobilu nebo může jít o pojem(intagible entity) jako je například zákaznická transakce nebo objednávka. Entity obsahují instance (instance). Pod pojmem instance potom rozumíme jeden výskyt entity. Budeme-li mít například entitu zvíře, potom instance této entity může být pes, kočka atd. V literatuře můžeme najít také místo pojmu entita pojem entitní typ a místo pojmu instance se potom používá pojem entita. Entity jsou označovány podstatnými jmény jednotného čísla. Příklad: počítač, zaměstnanec, píseň, matematická teorie. Entity se zobrazují jako obdélníky s kulatými rohy. Databázové systémy 1 - př. 1 12

Identifikace entit 1. Krok Počáteční krokem při tvorbě ER modelu by měla být identifikace hlavních objektů modelovaného systému. Tyto objekty pak představují entity pro model. Standardně považujeme za entitu rozlišitelný a identifikovatelný objekt reality. Nebo též se dá entita definovat jako objekt reálného světa, který je předmětem zájmu a má smysl o něm uchovávat informace. Z pohledu modelu se entitami mohou stát osoby, hmotné i nehmotné objekty, události (rezervace, objednávka, reklamace, ) či pojmy důležité z pohledu modelovaného systému. Při hledání entit na základě slovníku dat se postupuje tak, že se v dokumentu vyhledávají hlavní objekty zájmu (například osoby, pojmy či zájmy) a dochází k vyloučení položek, které jen označují vlastnosti jiných objektů. Jinou cestou při hledání entit je nalezení objektů se samostatnou existencí. Například položka Student může být entitou, neboť student existuje i bez toho, abychom znali jeho jméno, adresu či jiné osobní informace. Databázové systémy 1 - př. 1 13

Super entity & Odvozené entity 1. Krok (Supertypes & Subtypes) Mohou nastat případy, kdy některé entity mají společné atributy a/nebo relace. Uvažujme následující příklad. Potřebujeme sledovat jednotlivé platby zákazníků. Zákazníci mohou platit hotově, převodem nebo kreditní kartou. Všechny typy plateb mají společné atributy, kterými jsou datum platby, částka atd. Pouze platba kreditní kartou u sebou nese ještě atribut číslo kreditní karty. U platby kreditní kartou a převod také potřebujeme vědět, kdo platbu provedl, což u platby hotově vědět nepotřebujeme. Bude lepší vytvořit jedno entitu PLATBA, nebo jednotlivé entity HOTOVE, PREVODEM a KREDITNI_KARTOU? Co se stane, když v budoucnosti přidáme další platební metodu? Databázové systémy 1 - př. 1 14

Odvozené entity 1. Krok Pokud entitu rozdělíme na části, vznikne nám jedna skupinová entita (supertyp) a několik pod-entit (podtyp). Pro jednotlivé podtypy potom platí: Dědí všechny atributy ze supertypu Dědí všechny relace ze supertypu Může mít vlastní atributy a relace Kreslí se do supertypu Nikdy neexistuje samostatně Může mít vlastní podtypy Databázové systémy 1 - př. 1 15

Vztah (relationship) 2. Krok Vztah (relationship) zachycuje, jakým způsobem jsou dvě nebo více entit vztažené mezi sebou. Vztahy se označují slovesy, spojujícími dvě nebo více podstatných jmen. Příklad: vztah vlastní je mezi společností a počítačem, vztah dohlíží je mezi zaměstnancem a oddělením, vztah hraje je mezi umělcem a písní, a vztah dokázal je mezi matematikem a matematickou teorií. Vztah je také označován jako relace. Nepleťte si pojem relace z relačního modelu s pojmem relace z konceptuálního modelu! Databázové systémy 1 - př. 1 16

Kardinalita vztahu 2. Krok nám říká, kolik instancí jedné entity je možné spojit s kolika instancemi druhé entity Mohou nastat situace: 1:1 (billboard reklama) 1:M (zákazník objednávka) M:M (studenti učebny) Databázové systémy 1 - př. 1 17

Parcialita vztahu 2. Krok nám říká, jestli může instance jedné entity existovat bez instance druhé entity Rozšiřuje kardinalitu o možnosti: 0..1 0..M Příklad: 1:0..M (zákazník objednávky) zákazník může existovat i bez objednávky, objednávka bez zákazníka nikoliv Databázové systémy 1 - př. 1 18

Přenositelnost (Transferability) 2. Krok Přenositelnost nám definuje, zda je možné danou relaci převést na jiné entity. Uveďme si na příkladech: Máme entitu pes a majitel. Pokud majitel může prodat, tedy mezi relaci je možné přenést na jinou instanci entity majitele. Pokud budeme mít entitu objednávka a zákazník, potom jakmile jednou zákazník provede objednávku, již ji není možné přesunout na jiného zákazníka. Relace mezi entitami je tedy nepřenositelná (Nontrasferable). Zubní kartáček člověk? Nepřenositelnost patří mezi procedurální pravidla! Databázové systémy 1 - př. 1 19

Výlučné relace (Arc) 2. Krok Každá entita může být v relaci s libovolným množstvím jiných entit. Mohou ale nastat případy, kdy existence relace je vzájemně výlučná, tedy že pokud je entita v relaci s jinou entitou, již není možné aby současně byla v relaci s jinou entitou. Výlučné relace se modelují pomocí oblouků (Arc) Databázové systémy 1 - př. 1 20

Atribut (atribute) 3. Krok Atribut je část informace, která: Popisuje entitu Kvantifikuje entitu Kvalifikuje entitu Klasifikuje entitu Specifikuje entitu Příklad: entita zaměstnanec může obsahovat atribut rodné číslo (RČ); Atribut obsahuje vždy jednu hodnotu (single valued) Atributy mohou být přiřazeny také vztahům Databázové systémy 1 - př. 1 21

Atribut (atribute) 3. Krok Každý atribut má datový typ (data type) Řetězec, datum, obrázek, zvuk, číslo, znak atd. Každý atribut má daném okamžiku vždy jednu hodnotu Každá instance entity má vlastní hodnotu atributu Atributy dále dělíme na Povinné (mandatory) atribut musí mít hodnotu ( vycházíme z business požadavků) Nepovinné (optional) atribut hodnotu mít nemusí (mohou nabývat hodnoty NULL) Databázové systémy 1 - př. 1 22

Identifikace domén atributů 4. Krok Doména je přípustná množina hodnot, z níž mohou čerpat své hodnoty jeden nebo i více atributů. Příkladem může být například osobní číslo studenta. Jeho doménou může být sedmimístný znakový řetězec s pevnou délkou, jehož první dva znaky jsou ST a zbývající znaky tvoří čísla, tedy čísla 00000 99999. Dalším příkladem může byt doména atributu studuje u entity Student. Zde můžeme určit doménu jako jeden znak, jenž může nabývat pouze hodnot A a N Základními informacemi o doméně jsou tedy: Přípustná množina hodnot atributu. Velikost a formát atributu. Databázové systémy 1 - př. 1 23

Unikátní identifikátor 5. Krok Je velice důležitý v oblasti relačních databází Jedná se o atribut nebo skupinu atributů, která jednoznačně identifikuje instanci entity mezi ostatními Typy: Jednoduché (simple UID) Složené (compose UID) Umělé (artifical UID) Kandidátní (cadidate UID) Databázové systémy 1 - př. 1 24

Jednoduché UID 5. Krok Jsou takové identifikátory, které se skládají pouze z jednoho atributu Jednoduchý přirozený Je tvořen atributem, který entitu přirozeně identifikuje (výrobní číslo produktu, rodné číslo, registrační značka vozidla) Jednoduchý umělý Jelikož neexistuje atribut, který by entitu identifikoval přirozeně, vytvoříme umělý identifikátor Většinou označován jako ID Databázové systémy 1 - př. 1 25

Složené UID 5. Krok Jsou takové identifikátory, které se skládají z více atributů Většinou se využívá u průnikových tabulek (intersection table), které slouží pro řešení vazeb M:M Entita objednavka, atributy cislo_zakaznika a datum_objednavky Databázové systémy 1 - př. 1 26

Kandidátní UID 5. Krok U některých entit existuje možnost více unikátních identifikátorů Příklad: číslo zákazníka, email zákazníka Všechny tyto možnosti jsou nazývány jako kandidátní identifikátory Pouze jeden vybraný kandidátní identifikátor se stane unikátním identifikátorem (primární unikátní identifikátor). Ostatní kandidátní identifikátory zůstanou jako sekundární unikátní identifikátory. Databázové systémy 1 - př. 1 27

Kontrola redundance v modelu 6. Krok Redundance (nadbytečnost) se v modelu vyskytne ve chvíli, kdy nalezneme dvě entity, které ve skutečnosti vyjadřují jeden a tentýž objekt v rámci modelované problematiky. Může se stát, že v modelu systému pro VŠ vzniknou entity Vyučující a Školitel. Mezi oběma entitami bude navíc vazba 1:1. To je totiž typický případ, kdy redundance vznikají. V tomto případě je vhodné obě entity spojit do jedné. Pokud mají obě entity své UID, vybere se jeden z nich a druhý se ponechá jako alternativní. Proto je při kontrole vhodné nejprve projít všechny vazby 1:1 a prověřit entity na obou stranách relace, zda náhodou nevyjadřují tutéž skutečnost. Druhý typ redundance, méně nápadný než první, který při modelování vzniká, je redundance relací. V tomto případě se v modelu vyskytne relace, která vyjadřuje informaci, kterou lze získat prostřednictvím jiné relace (relací). Databázové systémy 1 - př. 1 28

Posouzení zda model podporuje 7. Krok uživatelské transakce Pokud byly provedeny předchozí kroky pečlivě a svědomitě, měl by být k dispozici ER model plně popisující modelovaný objekt. Nyní je nutné zkontrolovat, zda daný model podporuje požadované transakce (činnosti). V podstatě se jedná o manuální provedení požadovaných operací nad modelem. Pokud je nad modelem možné provést všechny požadované transakce (operace), může být model považován za kompletní. V opačném případě je pravděpodobné, že ve výsledném modelu chybí nějaká entita, relace nebo atribut. V zásadě lze pro kontrolu uživatelských transakcí použít dvě metody: Metoda popisu transakcí. Metoda sledovaní cest transakcí. Databázové systémy 1 - př. 1 29

Posouzení zda model podporuje 7. Krok uživatelské transakce Při metodě popisu transakce se kontroluje, zda všechny informace (entity, relace, a jejich atributy) potřebné pro realizaci jedné konkrétní transakce jsou k dispozici. Například v modelu VŠ můžeme položit otázku: Které předměty vyučuje daný vyučující. Údaje o vyučujících jsou uloženy v entitě Vyučující, informace o konkrétních předmětech jsou uloženy v entitě Předmět. A k určení jednotlivých předmětů daného vyučujícího využijeme relace Učí. Tuto transakci je tedy možno s v rámci tohoto modelu vykonat. Při druhé metodě se požadované transakce reprezentují pomocí cest přímo v ER diagramu. Doslova jde o spojení všech zainteresovaných entit a relací a zjištění, zda je daná cesta průchodná. Databázové systémy 1 - př. 1 30

Nástroje pro tvorbu ER diagramů Na trhu je mnoho nástrojů pro vytváření databázových modelů, například: Avolution, ConceptDraw, ER/Studio, DeZign for Databases, OmniGraffle, PowerDesigner, RISE Editor, Sparx Enterprise Architect, Toad Data Modeler, ERwin, MEGA International, Oracle Designer, Rational Rose, SmartDraw, SQLyog, Microsoft Visio, Toto budeme Používat Visual Paradigm MySQL Workbench, Oracle SQL Developer Data Modeler StarUML Databázové systémy 1 - př. 1 31

ERD notace Ukázka notací ERD A Barkerova notace, kterou se budeme zabývat podrobněji Databázové systémy 1 - př. 1 32

Entita ERD - Entita (Barkerova notace) Definována jako obdélník s kulatými rohy (softbox) Databázové systémy 1 - př. 1 33

ERD Modelování supertypů a podtypů Databázové systémy 1 - př. 1 34

ERD Modelování supertypů (supertypes) a odvozených typů (subtypes) Databázové systémy 1 - př. 1 35

ERD - Atribut Atributy Seznam atributů je uveden pod názvem entity UID označeno # Povinný (mandatory) atribut označeno * Nepovinný (optional) atribut označeno o Databázové systémy 1 - př. 1 36

ERD - Relace Relace Jsou čáry spojující jednotlivé entity Relace jsou zakončeny jednoduchou čarou (single toe) nebo kohoutí stopou (crow s foot) Na obou koncích relace jsou uvedeny popisky, které specifikují relaci Databázové systémy 1 - př. 1 37

ERD Význam relací Entita CELEK obsahuje jednu nebo více entit CAST Entita CELEK obsahuje přesně jednu entitu CAST Entita CELEK obsahuje nula, jednu nebo více entit CAST Entita CELEK obsahuje nula nebo jednu entitu CAST Databázové systémy 1 - př. 1 38

ERD Význam relací - příklad Entita JADRO obsahuje jednu nebo více entit PROTON a nula, jednu nebo více entit NEUTRON Entita ATOM obsahuje přesně jednu entitu JÁDRO a nula, jednu nebo více entit ELEKTRON Databázové systémy 1 - př. 1 39

ERD Identifikující relace Definuje, že unikátní identifikátor z jedné entity se stane částí unikátního identifikátoru z entity druhé. V ERD se tento atribut (nebo množina atributů) v entitě nezobrazuje, musíme s jeho existencí počítat. Zobrazujeme jako svislou čáru na straně podřízené entity. Databázové systémy 1 - př. 1 40

ERD Kardinalita U Bakerovi notace, je kardinalita definována tvarem zakončení relace mezi entitami Obecně známe kardinality 1:1, 1:M a M:M Barkrova notace je modeluje následovně: 1:1 1:M M:M Databázové systémy 1 - př. 1 41

ERD Parcialita Parcialita je definována v notaci typem čáry. Přerušovaná čára značí volitelnou (optional) část relace. Plná čára definuje, že část relace je povinná (mandatory) Parcialita nám rozšiřuje kardinalitu na možnosti 0..1:0..1, 0..1:0..M a 0..M:0..M 0..1:0..1 0..1:0..M 0..M:0..M Databázové systémy 1 - př. 1 42

ERD Rekurzivní relace (recursive relation) Rekurzivní relace je taková, kdy je entita ve vztahu se sebou samou. Budeme-li mít entitu CLOVEK, potom rekurzivní relace nám může definovat předky daného člověka. Databázové systémy 1 - př. 1 43

ERD Výlučné relace V ERD jsou výlučné relace modelovány pomocí oblouků (Arcs) Databázové systémy 1 - př. 1 44

ERD Přenositelnost (transferabilita) Možnost přenositelnosti je v ERD modelován symbolem diamantu Pokud je diamant zobrazen, je možné provést update relace (transferable) Pokud není diamant zobrazen, relace je pevná, nepřenositelná (non-transferable) Databázové systémy 1 - př. 1 45

Prostor pro dotazy DĚKUJI ZA POZORNOST Databázové systémy 1 - př. 1 46