Databázové systémy Konceptuální datové modelování Konceptuální datové modelování datová analýza (ne funkční analýza) zpravidla následuje po analýze informačního systému (ta řeší funkcionalitu systému) modelování schématu.
Download ReportTranscript Databázové systémy Konceptuální datové modelování Konceptuální datové modelování datová analýza (ne funkční analýza) zpravidla následuje po analýze informačního systému (ta řeší funkcionalitu systému) modelování schématu.
Slide 1
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 2
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 3
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 4
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 5
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 6
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 7
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 8
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 9
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 10
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 11
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 12
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 13
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 14
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 15
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 16
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 17
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 18
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 19
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 20
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 21
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 22
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 23
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 24
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 2
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 3
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 4
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 5
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 6
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 7
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 8
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 9
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 10
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 11
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 12
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 13
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 14
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 15
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 16
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 17
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 18
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 19
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 20
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 21
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 22
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 23
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.
Slide 24
Databázové systémy
Konceptuální datové
modelování
Konceptuální datové modelování
datová analýza (ne funkční analýza)
zpravidla následuje po analýze informačního systému (ta řeší
funkcionalitu systému)
modelování schématu databáze
modelování „datové reality“ (jaká budeme mít v IS data)
pohled uživatele (analytika)
Konceptuální datové modelování
Konceptuální datový model popisuje data v databázi 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ří ER model.
ER modelování lze metodologicky rozdělit do dvou kroků:
v prvním kroku se definují nezávislé entity, vztahy a závislé entity, to se
opakuje do té doby, než se dospěje k souhlasu mezi zadavateli a analytiky;
v druhém kroku se formulují atributy a klíče entit – klíčů může být v
tomto stádiu i více.
ER modelování
ER model - entitně-relační model
založen na dvou typech objektů – entity a vztahy mezi nimi
ER model databáze definuje její konceptuální schéma
standard pro datové modelování
označuje se také jako ERA – třetím základním prvkem modelu jsou
atributy (Attributes)
používá se pro strukturovaná data
objektové, relační a objektově-relační databáze
nevhodné pro multimediální data, XML, text
Relační schéma lze vytvořit také přímo z požadavků na aplikaci bez
použití ER modelování. Relační schémata se takto vytvářela ještě před
zavedením ER modelu.
Ze vstupních požadavků se určí relevantní atributy, které se přiřadí do
jednotlivých relačních tabulek - tento proces se nazývá normalizace.
ER diagramy – používané notace
ER diagram byl zavedl a poprvé použil Peter Chen v roce 1976.
Diagram obsahuje typy entit a typy vztahů:
Entitní typ představuje nezávisle existující objekt reálného světa.
Vztahový typ je vazba mezi dvěma nebo více typy entit.
ER diagramy – používané notace
Entitní typ
entitní typ
entitní typ s atributem
(atribut je dílčí datový typ náležící entitě)
entitní typ s identifikátorem (identifikátor je
atribut jednoznačně identifikující instanci
entitního typu)
Některé atributy jsou identifikační, tj. jsou součástí identifikačního
klíče entity, ostatní jsou pouze popisné.
Entitní typ
entitní typ s víceatributovým identifikátorem (instanci
entity identifikuje kombinace hodnot atributů)
entitní typ s
nepovinným
atributem
entitní typ s více
jednoatributovými
identifikátory (každý
je identifikátor
nezávisle na ostatních)
entitní typ s
vícehodnotovým
atributem
entitní typ se
složeným
(strukturovaným)
atributem
Vztahový typ
vztahový typ (obecně)
binární vztah
Vztahový typ
Vztah mezi entitami charakterizuje kardinalita vztahu. Kardinalita
vztahu může nabývat těchto hodnot:
1 : 1 - každé entitě odpovídá maximálně jedna druhá entita.
1 : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá maximálně jedna první entita.
M : N - první entitě odpovídá více než jedna druhá entita, druhé entitě
odpovídá více než jedna první entita.
Vztahový typ
Kardinalita – maximální počet vztahů daného typu (vztahové množiny), ve
kterých může participovat jedna entita.
vztahový typ s kardinalitami
1:1 (one-to-one)
vztahový typ s kardinalitami
M:N (many-to-many)
Členství – vyjadřuje minimální počet vztahů daného typu (vztahové množiny)
Povinné členství ve vztahu (1,*), nepovinné (0,*)
Vztahový typ
vztahový typ s atributy (nesmí být
identifikátor, ani jeho součást)
Instance vztahového typu je jednoznačně určena identifikátory entit ve vztahu.
Silný a slabý entitní typ
Entity identifikovatelné pouze svými atributy jsou silné entity.
Entity pro jejichž jednoznačnou identifikaci musí být použit i atribut jiné entity
jsou označovány jako slabé entity.
slabý entitní typ – je
(spolu)identifikován zvenčí
vstupuje do vztahu vždy s
kardinalitou (1,1)
smíšený identifikátor automobilu
(SPZ, Mezinárodní kód)
externí identifikátor vodoměru
(Ulice, Podlaží)
tzv. identifikační závislost
(implikuje existenční
závislost, což je integritní
omezení zajišťující existenci
identifikačního vlastníka)
Průnikový entitní typ
vztah s kardinalitami M:N lze jednoduše převést na dva vztahy s kardinalitami
1:N + tzv. průnikový entitní typ ( - slabý)
Vícehodnotové atributy
nahrazení vícehodnotového atributu entitou a vztahem
(více způsobů – zobecnění původní situace)
Rekurzivní binární vztah
rekurzivní vztah – vstupují do něj entity stejného typu
důležité rozlišovat role
Ternární vztahy
ternární vztah – entita vstupuje do vztahu s dvojicí entit
Slabá entita v ternárním
vztahu je identifikována
oběma zbývajícími entitami
zároveň.
rekurzivní ternární vztah
ISA hierarchie
Model může obsahovat také prvky pro vyjádření vztahu generalizace-specializace
mezi entitami – ISA hierarchii
Využije se v případě, kdy máme obecnou entitu a několik dalších entit, které mají
všechny vlastnosti obecné entity a navíc se navzájem liší dalšími spec. vlastnostmi.
nadentity / podentity
-podentity dědí jak atributy, tak vztahy (případně integritní omezení)
-nadentity pouze jednonásobná dědičnost
CASE systémy
CASE systémy jsou nástroje pro podporu analýzy a návrhu aplikací
(Computer Aided Software Engineering).
Mezi CASE systémy patří:
CaseStudio, Oracle Designer, ER/Studio, Power Designer, XTG
Data Modeller, ERTOS
CASE Studio 2 CZ je profesionální software pro visuální
navrhování databázových struktur.
Klíčové vlastnosti tohoto produktu zahrnují:
•ER diagramy (Entity Relationship Diagrams),
•podporu pro různé databáze,
•generování SQL skriptů,
•zpětné načtení struktury (reverse engineering),
•generování velice detailní HTML, export do XML formátu.
Příklad – Rezervace
Vyrobeno v aplikaci ERTOS
http://urtax.ms.mff.cuni.cz/skopal/bakalari.htm
1. krok
3. krok
2. krok
4. krok
Příklad – Rezervace
5. krok
6. krok
Příklad – Rezervace
7. krok
8. krok
Příklad – Rezervace
9. krok
10. krok
Metodika tvorby konceptuálního modelu
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.
4. Prověřte funkční vztahy (závislosti) atributů a v případě potřeby entitu normalizujte.
5. Prověřte atributy navržené entity a zjistěte, zda je třeba zaznamenávat informace o
jednom či více atributech v nové samostatné entitě.
6. Je-li vhodné vytvořit další entitu, zakreslete ji do diagramu a vraťte se na krok 2.
7. Spojte entity vztahy, pokud tyto existují. Popište slovně vztahy mezi entitami z obou
stran.
8. 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.
9. Prověřte, zda v diagramu nemáte „smyčky“, které mohou indikovat nadbytečné
(odvozené) vztahy. Pokud je vztah skutečně redundantní, odstraňte ho.
10. Vytvořte ukázková data.
11. Předveďte navržený model uživateli - pokud je to třeba, upřesněte diagram.