KONCEPTUÁLNÍ MODELOVÁNÍ

Preview:

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)