Upload
derek-cohen
View
46
Download
2
Embed Size (px)
DESCRIPTION
KONCEPTUÁLNÍ MODELOVÁNÍ. Pojmy entita = objekt relationship = vztah atribut = vlastnost. E-R konceptuální model. E-R model je množina pojmů, které nám pomáhají, na konceptuální úrovni abstrakce popsat uživatelskou aplikaci za účelem specifikovat následně strukturu databáze. - PowerPoint PPT Presentation
Citation preview
KONCEPTUÁLNÍ MODELOVÁNÍ
Pojmy
entita = objektrelationship = vztahatribut = vlastnost
E-R konceptuální model
E-R model je množina pojmů, které nám pomáhají, na konceptuální úrovni
abstrakce popsat uživatelskou aplikaci za účelem specifikovat následně strukturu
databáze.
Činnosti při tvorbě E-R modelu
1. Identifikace entit jako množiny objektů stejného typu.
2. Nalezení identifikačních klíčů
3. Identifikace vztahů, do kterých entity identifikovaných typů mohou vstupovat.
4. Stanovení popisných atributů.
5. Formulace integritních omezení (IO).
Entita je abstraktní objekt reálného světa, který je schopen nezávislé
existence a je jednoznačně odlišitelný od ostatních objektů, se kterými vstupuje do
vztahů.
Vztah je vazba mezi dvěma entitami (obecně i více entitami). Tato vazba musí
vykazovat jisté vlastnosti.
Atributem budeme rozumět funkci přiřazující entitám či vztahům hodnotu, určující některou podstatnou vlastnost
entity nebo vztahu.
Příklady atributůStudent (osobni_cislo, jmeno, prijmeni,
datum_narozeni)
Student je entita
osobni_cislo, jmeno, prijmeni,datum_narozeni jsou vlastnosti této entity, čili tzv. atributy
InstanceKonkrétní výskyt entity. Např. entita Student má
instanci (Jan, Novák, …).
Identifikační klíčKaždá instance entity musí být jednoznačně identifikovatelná. Identifikační klíč je atribut nebo skupina atributů, které jednoznačně identifikují
instance entity.
Příklad identifikačního klíče
Student (osobni_cislo, jmeno, prijmeni, datum_narozeni)
Mezi těmito atributy je nejvhodnějším kandidátem na IK osobni_cilo, protože se
předpokládá, že každý student má jiné osobní číslo. Hodnoty ostatních atributů
mohou být duplicitní.
PříkladAbstraktní vyjádření pomocí entit a vztahůSTUDENT MA_ZAPSAN PREDMETMA_ZAPSAN (STUDENT, PREDMET)
Konkrétní vyjádření instancemiS1 Novák --------------------------------------- P2 Matematika --------------------------------------- P7 FyzikaS2 Mareček ------------------------------------- P4 Ekonomie -------------------------------------- P8 Databáze ------------------------------------ P6 Programování
Dvě entity: STUDENT a PREDMETJeden vztah: MA_ZAPSANDva výskyty (instance) objektu (entity) STUDENT: (S1, Novák), (S2, Mareček)Pět výskytů objektu (entity) PREDMET: (P2, Matematika), (P4, Ekonomie),
(P6,Programování), (P7, Fyzika), (P8 Databáze)
Pět výskytů vztahu MA_ZAPSAN: S1-P2, S1-P7, S2-P4, S2-P7, S2-P8.
Zápis konceptuálního schématu
Existují dva způsoby zápisu:
• lineární textový
• E-R diagram
Syntaxe lineárně textového zápisu
Entita
jméno ( klíč )
, atribut
Syntaxe lineárně textového zápisu
Vztah
jméno vztahu ( jméno entit 1 , jméno entit2 )
Syntaxe lineárně textového zápisu
Příklad:
Student (Osobní_cislo, Jmeno, Prijmeni, Datum_narozeni)
Predmet (Kod, Nazev, Kredity)
Ma_zapsan (Student, Předmět)
E-R diagram
Entita 1 Entita 2Vztah
E-R diagram
Příklad:
Student PredmetMa_zapsan
Integritní omezení pro vztahy
• Kardinalita vztahů– Vztah 1:1– Vztah 1:N– Vztah M:N
• Členství ve vztahu– Povinné členství ve vztahu– Nepovinné členství ve vztahu
Příklad kardinality 1:1
Příklad kardinality 1:N
Příklad kardinality M:N
Příklad povinného a nepovinného členství ve vztahu
Existenční a identifikační závislost
Pokud vstupuje jedna entita do vztahu povinně a druhá nepovinně, pak může
tento vztah být:
- Existenční
- Identifikační
Existenční závislost
Entita je existenčně závislá, pokud nemůže existovat žádná instance, která
by nevstupovala do vztahu s nadřazenou entitou.
Identifikační závislost
Entita je identifikačně závislá, pokud nemůže existovat žádná instance, která by
nevstupovala do vztahu s nadřazenou entitou.
A NAVÍCInstance identifikačně závislé entity jsou
identifikovatelné pomocí atributu(ů) její nadřazené entity.
Identifikační závislost
Je-li entita identifikačně závislá, pak je i existenčně závislá.
Opačné tvrzení neplatí.
Cizí klíč – Foreign key (FK)
FK je atribut nebo skupina atributů, který je v nadřazené entitě identifikačním klíčem.
Existenční vztah: FK je součástí popisných atributů závislé entity
Identifikační vztah: FK je součástí identifikačního klíče závislé entity
ISA hierarchie, podtypy entit
Speciální atributy představují v abstraktním modelování takové
atributy, které dané entitě přiřazují její nadtyp. Atribut je pak podtypem svého
nadtypu. Jde o tzv. ISA-hierarchii.
Grafické zobrazení ISA-hierarchie
OSOBA ISA STUDENT UČITEL
ISA HIERARCHIE
Abstraktní entita OSOBA se zavádí z důvodů, že existuje řada společných atributů entit
UČITEL a STUDENT a proto má smysl zavést jedinou společnou entitu.
Pak je třeba připustit existenci hodnot NULL. Entity STUDENT a UČITEL jsou podtypy entity OSOBA. Platí STUDENT JE OSOBA (anglicky
IS A). V oblasti umělé inteligence se tomuto vztahu říká ISA vztah.
Korektní konceptuální schéma1. Žádná entita nemá v konceptuálním schématu více než
jeden zdroj ISA hierarchie.2. ISA vztahy netvoří v E-R diagramu orientovaný cyklus.3. Identifikační typy vztahů netvoří v E-R diagramu
orientovaný cyklus (jinak by entita byla identifikována pomocí sebe sama).
4. Entita v ISA hierarchii, která není zdrojem, není identifikačně závislá na žádné entitě (je totiž již identifikována svým zdrojem ISA hierarchie).
5. Jména entit a vztahů jsou jednoznačná globální jména, jména atributů jsou jednoznačná lokální jména.
6. Je-li entita zdroj ISA hierarchie, pak má identifikační klíč. Ostatní entity v ISA hierarchii nemají identifikační klíč.
Příklad konceptuálního modelu
Úkol
U předchozího modelu stanovte a odůvodněte pro každý vztah:
- Typ vztahu (nezávislý, existenčně závislý, identifikačně závislý)
- Členství entit ve vztahu (povinné, nepovinné)
- Kardinalitu vztahu (1:1, 1:N, M:N)