Legături neidentificate - stadopedia

În conceptul IDEF1X entităților dependente și independente este tipul de relație între cele două entități consolidate. Dacă doriți ca cheia externă să fie transferată entității copil (și, ca rezultat, a creat entitatea dependentă), puteți crea o relație de identificare între entitatea părinte și entitatea copil.







Relațiile de identificare sunt indicate de o linie solidă între entități.

În IDEF1X, așa cum se arată în figura 7, un punct este plasat la capătul liniei din partea obiectului copil. În IE, la capătul liniei, este pus un "picior de pui" pe partea obiectului copilului.

Notă: Standardul IE nu are colțuri rotunjite pe obiecte. Acesta este un caracter IDEF1X, adăugat de ERwin în standardul IE pentru compatibilitate.

Așa cum ați fi observat atunci când discutați entități independente și dependente, regulile care indică faptul că conexiunea este identificată sunt determinate de identificarea entității copilului utilizând identificatorul entității-mamă. În exemplul nostru de FILME și COPII din FILME, pentru a identifica copia, am putea alege propriul număr unic. Cu toate acestea, am decis să folosim ID-ul FILMULUI și să adăugăm a doua parte (numărul de copie) pentru a distinge o copie de cealaltă.

Notă: După cum puteți descoperi, există mai multe avantaje atunci când treceți cheile către o entitate copilă prin identificarea conexiunilor asociate faptului că unele cereri către sistemul fizic sunt simplificate. Cu toate acestea, există unele dezavantaje. Din punctul de vedere al teoriei relaționale, se presupune că transferul de chei nu ar trebui să se întâmple în acest fel. În schimb, fiecare entitate trebuie să fie identificată nu numai cu cheia primară, ci și cu un mâner logic sau cu o cheie suplimentară invizibilă pentru utilizatorul sistemului. Această teorie are dovezi convingătoare, iar cei interesați se pot întoarce la lucrările lui E. F. Codd și C. J. Date pe această temă.







Legăturile neidentificate care sunt unice pentru IDEF1X fac legătura între entitatea mamă și entitatea copilului. Legăturile neidentificate sunt utilizate pentru a afișa un alt tip de transmitere - transfer de atribute cheie cheie străină în zona de date a entității copil (sub linie).

Legăturile neidentificate sunt indicate printr-o linie punctată între obiecte. Dacă legați obiectele TEAM și PLAYER printr-o legătură neidentificată, modelul va arăta așa cum se arată în Fig. 9.

Deoarece cheile transmise în relația neidentificatoare nu fac parte din cheia primară a entității copil, acest tip de conexiune nu apare în nicio relație de identificare. În acest caz, atât TEAM, cât și PLAYER sunt considerați entități independente.

Cu toate acestea, relația poate reflecta relația de existență dacă regula de afaceri pentru relația determină faptul că cheia externă nu poate fi NULL. Dacă cheia externă trebuie să existe, înseamnă că înregistrarea în entitatea copil poate exista numai dacă există o înregistrare părinte asociată.

Notă: Legăturile de identificare și de identificare nu sunt o caracteristică a metodei IE. Cu toate acestea, aceste informații sunt incluse în diagrama ERwin ca o linie solidă sau linie punctată pentru compatibilitatea dintre metodele IE și IDEF1X.

Atunci când cheile străine migrează de la entitatea mamă printr-un link către entitatea copil, ele servesc ca un serviciu dual în model. Pentru a înțelege ambele roluri, este uneori util să redenumiți tasta trecută, pentru a arăta rolul pe care îl joacă în entitatea copilului. Numele atribuit acestui atribut se numește rol.

10. Exemplu de nume Roly

Cheia externă a ID-ului comenzii player-id "(fig.10) demonstrează sintaxa definirii și afișării numelui de rol. Prima jumătate (înainte de punct) este numele rolului. Cea de-a doua parte este numele propriu-zis al cheii străine, denumit uneori numele de bază.

Notă: Numele rolurilor sunt de asemenea utilizate pentru compatibilitatea modelului cu modelele de date moștenite, unde cheile externe și primare au nume diferite.

Rolurile sunt transmise prin comunicare, precum și alte atribute. De exemplu, să presupunem că am extins exemplul pentru a arăta care jucătorii au înscris goluri în diferite meciuri ale sezonului. Numele rolului "Player-command-id" este transmis esenței jocului RESULT (împreună cu orice altă cheie primară de la entitatea-mamă), după cum se arată mai jos.

O diagramă care arată migrarea unui atribut FK cu un nume de rol







Articole similare

Trimiteți-le prietenilor: