AP11, IN11 Základy datového modelování

Zadání

(návrh datových struktur; ER diagramy; entity, atributy, vztahy; grafické vyjádření)

Vypracování

  • Cílem datového modelování je navrhnout kvalitní datovou strukturu pro konkrétní aplikaci a databázový systém, který bude tato aplikace využívat k uložení dat. 1)
  • Datový model definuje neměnné atributy a strukturu dat a slouží pro návrh datové struktury. 2)
  • Konceptuální datový model je zobecněním konkrétní implementace datové struktury v relační databázi – lze jej přenášet do různých implementačních prostředí. 3)

ER diagramy

  • Entitně relační model je konceptuální model, slouží k popisu reálného světa, odvozuje se z něj relační schéma databáze

Entity

  • Entita je objekt, který existuje, je odlišitelný od ostatních objektů, je potřebný a uchováváme o něm informace (např. osoba, firma, strom)
  • Entita je popsána svým názvem a množinou atributů
  • Množina entit je skupina entit stejného typu, které sdílejí stejné vlastnosti (např. skupina všech osob, firem, stromů) 4)

Atributy

  • Atribut je popisná vlastnost (všech členů) entitní množiny nebo vztahu, jejíž hodnotu chceme uchovat a používat v systému; každý atribut má přiřazen i datový typ
  • Doména atributu je množina povolených hodnot pro každý atribut
  • Typy atributů:
    • jednoduché atributy (např. jméno) a složené atributy (např. datum)
    • atributy s jednoduchou hodnotou (např. jméno) a s násobnou hodnotou (např. telefonní čísla)
    • nulové atributy (např. nemá telefon) (null)
    • odvozené atributy (např. věk) 5)

Klíče

  • Klíč je podmnožina atributů 6)
  • Superklíč množiny entit je množina jednoho nebo více atributů, jejichž hodnoty jednoznačně určují entitu7)
  • Kandidátní klíč je minimální superklíč; 8)
  • Primární klíč je jeden zvolený kandidátní klíč 9)

Vztahy

  • Vztah je spojení mezi několika entitami, které evidujeme a o němž uchováváme informace
  • Vztahová množina je množina vztahů stejného druhu, také může mít atributy (např. množina vztahů vkladatel mezi množinami entit zákazník a účet může mít atribut (poslední) datum přístupu)
  • Stupeň vztahu ukazuje počet množin entit, které jsou součástí množiny vztahů (nejčastěji binární)
  • Role je vztah na jedné množině entit (např. když zaměstnanec je nadřízený jiného zaměstnance)
  • Četnost vztahů označuje počet entit, se kterými mohou být ostatní entity propojeny pomocí vztahů (1:1, 1:N, M:N)
  • Existenční závislost – existence entity x závisí na existenci entity y (y je dominantní, x podřízená), jakmile je entita y (např. půjčka) smazána, pak musí být smazány všechny s ní spojené entity x (např. splátky). Dominantní množina entit se nazývá silná, podřízená množina entit se nazývá slabá – ta nemá primární klíč, protože závisí na existenci silné množiny entit, musí být spojena vztahem 1:N, primární klíč slabé množiny je tvořen primárním klíčem silné množiny a parciálním klíčem slabé množiny 10)

Specializace

  • Tvoříme podskupiny v množině entit, které jsou různé od ostatních entit a mají vlastní atributy
  • Úplná specializace (každá entita z vyšší třídy musí patřit do jedné z entitních množin na nižší úrovni) \times částečná specializace (entita z vyšší třídy nemusí patřit do jedné z entitních množin na nižší úrovni) 11)

Generalizace

  • Kombinujeme několik množin entit, které sdílejí stejné rysy, do množiny entit vyšší úrovně – specializace a generalizace jsou vzájemně inverzní, na ER diagramu se znázorňují stejně.
  • Entita nižší úrovně dědí všechny atributy a účasti ve vztazích z množiny entit vyšší úrovně 12)

Příklad generalizace Příklad generalizace – převzato z prezentace č. 1 do cvičení z předmětu PB154 Základy databázových systémů

Agregace

  • Agregace umožňuje vytvářet vztahy mezi vztahy, se vztahem zacházíme jako s abstraktní entitou 13)

Příklad agregace Příklad agregace – převzato z prezentace č. 2 do cvičení z předmětu PB154 Základy databázových systémů

Grafické vyjádření

  • slabá množina entit – dvojitý obdélník
  • silná množina entit – obdélník
  • atribut – elipsa
  • vícehodnotový atribut – dvojitá elipsa
  • odvozený atribut – čárkovaná elipsa
  • atribut primárního klíče – podtržení
  • atribut parciálního klíče – přerušované podtržení
  • množina vztahů – kosočtverec
  • generalizace, specializace – trojúhelníková komponenta IS-A
  • agregace – zahrnutí vztahu i s entitními množinami do obdélníku 14)

grafické znázornění prvků -- převzato z prezentace č. 1 do cvičení z předmětu PB154 Základy databázových systémů Grafické znázornění prvků – převzato z prezentace č.1 do cvičení z předmětu PB154 Základy databázových systémů

Podněty, co lze zmínit dále

  • určitě je vhodné nakreslit nějaký malý E-R diagram, abyste ukázali, že to zvládnete a že tématu rozumíte

Předměty

  • FI:PB154 Základy databázových systémů (podzim 2007), prof. Ing. Pavel Zezula, CSc.
  • FI:PB155 Databázové systémy a jejich aplikace (podzim 2007), RNDr. Pavel Hajn, CSc.
  • FI:PB007 Analýza a návrh systémů (podzim 2007), RNDr. Jaroslav Ráček, Ph.D.
  • FI:PV063 Aplikace databázových systémů (jaro 2008), RNDr. Pavel Hajn, CSc.

Použitá literatura

  • Osnova předmětu PB154 a z ní odkazované dokumenty k předmětu PB154 (česky přeložené dokumenty jsou jen pro přihlášené v IS MU), prezentace ke cvičení zpracoval RNDr. Vlastislav Dohnal
  • Kapitola 2: Entitně-vztahový model hlavní dokument, ze kterého jsem čerpala informace, přístupný jen pro přihlášené v IS MU, autorem je prof. Ing. Pavel Zezula, CSc.
  • Úvod do datového modelování – autorem je RNDr. Pavel Hajn, CSc.
  • prezentace Modelování dat pro předmět PB007, autorem je RNDr. Jaroslav Ráček, Ph.D. a doc. Ing. Jiří Sochor, CSc. (přístupné jen pro studenty předmětu)
  • RÁČEK, Jaroslav. Strukturovaná analýza systémů. 1.vyd. Brno: Vydavatelství MU, 2006. 103 s. ISBN 80-210-4190-0.

Kam dál?

Vypracuje

Jitka Pospíšilová ICQ: 218703195 mám <99%>, alespoň si to myslím, prosím doplňujte, pokud k tomu máte, co dodat

Otázku si přečetl pan RNDr. Vlastislav Dohnal a rámcově prošel. Jeho podněty pro doplnění textu, opravy nesrovnalostí a odstranění matoucích či k otázce se nevztahujících textů byly do otázky zaneseny. Tato kontrola je jen rámcová, stále se může stát, že v otázce zůstala zapomenutá chybka či nesrovnalost, vyučující za toto nenese odpovědnost, berte tuto rámcovou kontrolu jako formu pomoci od vyučujících pro studenty.

1) , 3)
strana 1 v textu Úvod do datového modelování
2)
slajd 2 v prezentaci Modelování dat
4)
strana 1 v textu Úvod do datového modelování a slajd 3 v prezentaci Modelování dat
5)
kapitola 2 strana 1 ve skriptech předmětu PB154 Základy databázových systémů
6) , 7) , 8) , 9)
kapitola 2 strana 5 ve skriptech předmětu PB154 Základy databázových systémů
10)
kapitola 2 strany 3,4,5,6 ve skriptech předmětu PB154 Základy databázových systémů
11) , 12)
kapitola 2 strana 7 ve skriptech předmětu PB154 Základy databázových systémů
13)
kapitola 2 strana 8 ve skriptech předmětu PB154 Základy databázových systémů
14)
kapitola 2 ve skriptech předmětu PB154 Základy databázových systémů

Diskuze

, 2008/06/08 10:57

mam par drobnych pripomienok:
- bolo by dobre ujednotit terminy „entitna mnozina“ a „mnozina entit“, je to len kozmeticka zalezitost :) ja som viac zvyknuty na ten prvy termin…
- doplnit co to je parcialny klic
- skoro vsade, kde pouzivas „entita“ by podla mna mala byt „entitna mnozina“, pretoze entita je konkretny vyskyt objektu a vztahy a ine modelujeme medzi entitnymi mnozinami

, 2008/06/10 19:07

entita je slangovy vyraz pro entitni mnozinu. Ale je treba na to upozornit.

, 2008/06/10 21:33

To Petr Kott: pozor, rozhodne si nemyslim, ze by entita mel byt nejaky slangovy vyraz…

Entita je objekt, o kterem uchovavame informace a ktery je reprezentovan atributy a nazvem (tedy entita je nejaka osoba, rostlina apod.).
Množina entit (či entitní množina, dle mě je to naprosto zaměnitelné) je skupina entit stejného typu, které sdílejí stejné vlastnosti (tedy skupina všech osob, rostlin).

To Dusan Katona:
Terminy „entitni mnozina“ a „mnozina entit“ jsem nesjednocovala, protoze spoustu vet jsem primo citovala ze skript a tam byly uvedene presne tak, jak je mam.
Rozhodne si nemyslim, ze by se dal termin „entita“ a „entitni mnozina“ tak lehce zamenovat, radeji jsem jej nechala tak, jak byl ve skriptech. Nanejvys by slo polemizovat o definici vztahu… ja si myslim, ze ale vztah je opravdu spojeni mezi entitami, kdezto mnozina vztahu uz se vztahuje k entitinim mnozinam, ale jista si tam az zas tak moc nejsem.

Otazka jiz prosla kontrolou a ohledne nespravneho pouziti terminu entit a entitnich mnozin k ni nebyly pripominky, pokud ale mas nejake velke pochybnosti, napis mi primo priklady, kde bys to urcite nahradil a ja se jeste zeptam vyucujiciho, jak to ma spravne byt.

, 2008/06/17 18:31

Spatne jsem se vyjadril. Je to samozrejme jak rikas. Ja jen chtel rict, ze casto se zamenuje termin entita a entitni mnozina. Entitou se pak mysli entitni mnozina (slangove). Ale rychle na vse zapomente, nechci vam jeste motat hlavy s takovyma blbostma.:)

, 2008/06/10 22:26

To Petr Kott:

Parciální klíč (též deskriptor) je množina atributů slabé entitní množiny, které společně s primárním klíčem silné entitní množiny tvoří
primární klíč slabé ent. množiny.

(odpověď pana Dohnala, nevim, zda ji mám dodat i do textu, v podstatě už jen doplňuje, co je v textu řečeno… navíc si někteří z vás často stěžují, že otázky už jsou i tak strašně dlouhé ;-) a že nemám moc věcí přidávat)

, 2008/06/17 18:34

Diky. Uz je to jasne.

, 2008/06/22 20:59

Mam len taku otazku, nie uplne chapem tejto vete (resp. jej 2. casti):
Cílem datového modelování je navrhnout kvalitní datovou strukturu pro konkrétní aplikaci a databázový systém, který bude tato aplikace využívat k uložení dat.
Pod navrhnout databazovy system, ktory bude tato aplikacia vyuzivat k ulozeni dat si predstavujem navrhnutie Oracle alebo ineho dbms :) Co sa teda mysli tym databazovym systemom?

, 2008/06/23 18:22

Mám malú otázku: Dvojitá elipsa znamená zložený atribút, alebo atribút s násobnou hodnotou?

, 2008/06/23 19:01

znamena to atribut s nasobnou hodnotou (vicehodnotovy atribut), slozeny se asi nejak nevyznacuje

, 2008/06/23 19:59

Ok, díky :) Mám pocit, že ten zložený môžeš normálne nakresliť ako strom elíps (tuším sme to tak na cvikách robili, ale ruku by som za to do ohňa nedal)

You could leave a comment if you were logged in.
home/prog/ap11.txt · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0