Identificarea și identificarea legăturilor

În conceptul IDEF1X entităților dependente și independente este tipul de relație între cele două entități consolidate. Dacă doriți cheia externă este transmisă entității copilului (și, ca urmare, a creat o entitate dependentă), puteți crea o legătură între entitățile identificabile părinte și copil.







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

Legăturile neidentificate care sunt unice pentru IDEF1X leagă entitatea mamă de copil

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).

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

Cu toate acestea, relația poate reflecta relația existenței în cazul în care 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ă.

Numele rolului (nume funcțional) este un sinonim pentru atributul cheie străin, care arată rolul atributului în entitatea copilului.

În exemplul prezentat în Fig. P8, în esență, „asigurare“ cheie străină „Cod Client“ are un nume funcțional „Cine este asigurat“, care arată rolul jucat de acest atribut este în vigoare. În mod implicit, numai numele rolului este afișat în lista de atribute. Pentru a afișa numele complet al atributului (ca un nume de funcție, și numele rolului) ar trebui să fie în meniul contextual care apare atunci când faceți clic dreapta pe orice punct de diagramă, nu sunt ocupate de obiecte ale modelului, pentru a alege punktEntitiyDisplayi apoi rândul său, optsiyuRolename / atribut. Numele complet este afișat ca nume funcțional și nume de bază, separate de un punct (vezi Figura 8).

Este obligatoriu să folosiți numele de roluri atunci când două sau mai multe atribute ale aceleiași entități sunt definite de același domeniu, adică au același interval de valori, dar semnificații diferite.

Identificarea și identificarea legăturilor

Fig. P8. Nume de roluri cheie străine







În Fig. P9 Esența AIRPORT conține date despre toate aeroporturile între care sunt organizate zborurile. Informațiile despre zbor, conținute în esența FLIGHT, includ destinația și punctul de plecare al aeronavei. Prin urmare, entitățile FLIGHT și AIRPORT trebuie să fie conectate de două ori, iar cheia primară - codul aeroportului trebuie să migreze de două ori la entitatea FLIGHT ca o cheie străină. Este necesar să se facă distincția între aceste atribute, care conțin informații despre aeroport, de la care zboară aeronava și despre aeroportul la care zboară aeronava. Ele au semnificații diferite, dar se referă la aceeași entitate AIRPORT (au o gamă comună de valori). În exemplul din Fig. Atributele P9 au primit numele rolurilor "Punct de destinație" și "Destinație".

Un alt exemplu de rol obligatoriu nume de atribuire sunt comunicarea recursive (denumite uneori „cârlig de pește» -fishhook), atunci când una și aceeași entitate și un părinte și copil în același timp.

Identificarea și identificarea legăturilor

Fig. P9. Cazul de nume de roluri obligatorii

Când se specifică o relație recursivă, atributul trebuie să migreze ca o cheie străină la atributele non-cheie ale aceleiași entități. Un atribut nu poate apărea de două ori în aceeași entitate sub același nume, deci trebuie să primească numele rolului. În Fig. Entitatea P10 Angajatul conține atributul cheie cheie al codului angajatului. Informațiile despre managerul angajatului sunt conținute în aceeași esență, deoarece managerul lucrează în aceeași organizație. Pentru a vă referi la managerul angajatului, trebuie să creați o relație recursivă (în Figura 9, linkul gestionează) și să atribuiți un nume de rol (Head). Rețineți că o relație recursivă nu poate fi decât identificarea. În caz contrar, cheia externă ar trebui să facă parte din cheia primară și să obțină semnul NONULL atunci când schema este generată. Acest lucru ar face imposibilă construirea unei ierarhii - arborele de subordonare ar trebui să aibă o rădăcină - un angajat care nu se subordonează nimănui în cadrul acestei organizații.

Legătura "directe / ascultă" în Fig. P10 vă permite să stocați o ierarhie de copaci a subordonării angajaților. Acest tip de conexiune este numit recursiv recursie ierarhică (hierarchicalrecursion) și stabilește conexiunea atunci când capul (instanță a entității-mamă) poate avea o multitudine de subordonați (instanțe ale entității copil), dar sclavul are un singur cap (vezi Fig. P10).

Un alt tip de recursiune este reluarea rețelei, unde un conducător poate avea mai mulți subordonați și, invers, un subordonat poate avea mulți manageri. Recursiunea rețelei definește o rețea de relații între instanțele entității părinte și copil. Acesta este cazul când esența este ea însăși cu ea însăși în legătură "mulți către mulți". Pentru a rezolva relația "mulți la mulți", este necesar să creați o entitate nouă (în detaliu, relația "de la mulți la mulți" va fi discutată mai jos).

Identificarea și identificarea legăturilor

Fig. P10. Subordonarea instanțelor entității în recursivitatea ierarhică

În Fig. P3 este un exemplu de implementare a recursiunii în rețea. Structura modelează relația dintre subordonarea angajaților de orice complexitate. Având în vedere că relația de subordonare se conectează întotdeauna două persoane cu privire la natura relațiilor de subordonare ale angajaților la esența celor două comunicare în care identifică cu numele rolurilor instalate „Cap“ și „Slave“. Fiecare angajat poate fi într-o relație „conduce / subordonat“ la orice alt angajat, ci una și aceeași pereche de angajați se pot lega de un tip de raporturi de subordonare.







Articole similare

Trimiteți-le prietenilor: