Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Krátká videa DM

Zdroje...

edit SideBar

DM /

Role ve vztahu

< Vztahy mezi objekty | Tutoriál informační analýzy | Pravidla o struktuře informací >

Při zkoušení hraje učitel roli zkoušejícího a student roli zkoušeného.
V hierarchickém typu vztahu hrají některé prvky roli nadřízených pro jiné prvky.
Ve skupině lidí muže jeden z nich hrát roli vedoucího této skupiny.

Pro vyjádření obsahu vztahu někdy stačí pojmenování jedné z rolí:


Vyjádřit, že jde o vztah SKUPINY k jejímu vedoucímu, lze dostatečně dobře pojmenováním role "vedoucí" v tomto vztahu.

V jiných případech je pojmenování nějaké role dokonce nezbytné:


Vlevo: Ve vztahu nadřízenosti obě role hrají entity stejného typu . Vpravo: Abychom vyjádřili, co je podřízený prvek a co nadřízený, je třeba alespoň jednu roli pojmenovat. (Ačkoli ze znalosti, že nadřízený prvek nějakého prvku může být nejvýše jeden, bychom oba konce od sebe rozeznali, nemůžeme tuto znalost předpokládat. Účel konceptuálního modelu je právě takové znalosti o realitě vyjádřit.)

V předchozích příkladech se ukázalo, že pro vyjádření podstaty vztahu mnohdy stačí pojmenovat některou z rolí. Obecně máme možnost pojmenovat vztah i jednotlivé role:

Tímto modelem vyjádřený typ vztahu je velmi zvláštní – předpokládá, že jeden student je jedním učitelem z jednoho předmětu zkoušen jen jednou. Ve skutečnosti však sledujeme buď poslední zkoušení, a pak máme binární vztah mezi STUDENTEM a PŘEDMĚTEM, který musí být objektivizován (tj. musí být modelována vazební entita) proto, abychom mohli zahrnout i vztah k UČITELI, nebo sledujeme celou historii zkoušení. Druhou z těchto možností zachycuje následující model:


Povšimněte, že datum je součástí identifikačního schématu ZKOUŠKY.

Tyto dva modely ukazují, jak lze využít pojmenování původních rolí při objektivizaci vztahu (tj. při modelování odpovídající vazební entity).

V uvedených příkladech jsme pojmenovávali jen roli na straně "1" kardinality n:1 - na té straně, kde je daná role jednoznačná. Pokud to poslouží, můžeme pojmenovat i druhou roli:

To nám umožní podle potřeby se vyjadřovat o konstrukcích jako například "podřízené PRVKY daného PRVKU". Pro automatizování takovýchto slovních vyjádření je možno místo rolí formulovat přísudkové části věty:


V tomto stylu zapisování do modelu se používá zvyk, že věty se čtou ve směru hodinových ručiček okolo vztahu: UČITEL byl zkoušejícím ve ZKOUŠCE. ZKOUŠKA byla z PŘEDMĚTU.

Jak však snadno zjistíme několika pokusy nad našimi příklady, vyjádřit přijatelně obě role takto jako přísudkové části vět vede ke kostrbatým formulacím (například "ZKOUŠKA měla zkoušejícího UČITELE"). Ryzí Barkerova notace to však vyžaduje, aby bylo možné automaticky slovně vyjádřit kardinalitu a povinnost – například:

Každá ZKOUŠKA byla z jediného PŘEDMĚTU.
STUDENT mohl být zkoušený ve více ZKOUŠKÁCH.

V ohebném jazyku jakým je čeština by však takováto "automatizace" vyžadovala nějaké lingvistické dodatky, jak ostatně dokladují i zde uvedené příklady. Nejpřirozenější vyjádření

V každé ZKOUŠCE byl zkoušejícím jediný UČITEL.

by vyžadovalo mnohem důmyslnější formalizaci pro zaznamenání "rolí" ve vztazích než je Barkerova, pokud bychom takovéto věty chtěli generovat skutečně automaticky.

< Vztahy mezi objekty | Tutoriál informační analýzy | Pravidla o struktuře informací >

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 24.05.2011, 09:32