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 Report

Transcript 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.