Modelul entitate-asociere

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

Introducere[modificare | modificare sursă]

Prima etapă a proiectării unui sistem informatic utilizează modele ERM în timpul analizei cerințelor pentru a descrie necesarul de informații sau tipul informațiilor care urmează să fie stocate într-o bază de date. Tehnica modelării datelor poate fi folosită pentru a descrie orice reprezentare a cunoașterii ca un set de concepte dintr-un domeniu oarecare (de exemplu, o imagine de ansamblu și clasificări ale termenilor utilizați și a relațiilor lor), pentru o anumită zonă de interes. În cazul proiectării unui sistem de informații care se bazează pe o bază de date, modelul de date conceptual este, într-o etapă ulterioară (de obicei numit design logic), asociat cu un model de date logic, astfel că modelul relațional; aceasta, la rândul său este mapat la un model fizic în timpul proiectarii fizice. Rețineți că, uneori, ambele faze sunt denumite în continuare "design fizic". Există câteva convenții pentru diagramele entitate-asociere. Notația clasică se referă în principal la modelarea conceptuală. Există o serie de notații utilizate în logică și fizică pentru proiectarea bazelor de date, cum ar fi IDEF1X.

Blocuri cu care se construiește o diagramă: entități, relații, și atribute[modificare | modificare sursă]

Două entităţi între care există o relaţie
O entitate cu un atribut
O relaţie cu un atribut

O entitate poate fi definită ca un lucru care este recunoscut ca fiind capabil să existe independent și care poate fi identificat în mod unic. O entitate este o abstractizare a complexității unui anumit domeniu. Când vorbim despre o entitate ne referim în mod normal la un aspect din lumea reală, care poate fi diferit de alte aspecte din lumea reală. O entitate poate fi un obiect fizic cum ar fi o casă sau o mașină, un eveniment, cum ar fi vânzarea unei case sau repararea mașinii, sau un concept, cum ar fi o tranzacție a unui client sau un ordin de plată. Deși termenul entitate este cel mai frecvent utilizat, ar trebui să facem deosebirea între o entitate și un tip de entitate. O tip de entitate este o categorie. O entitate, strict vorbind, este un exemplu al unui anumit tip de entitate. Există multe cazuri, de obicei, a unui tip de entitate. Deoarece termenul tip de entitate este oarecum greoi, cei mai mulți oameni tind să folosească termenul entitate ca un sinonim pentru acest termen. Entitățile care pot fi considerate ca substantive. Exemple: un computer, un angajat, un cântec, o teoremă matematică. O relație captureaza modul în care două sau mai multe entități sunt legate una de alta. Relațiile pot fi considerate ca verbe, care leagă două sau mai multe substantive. Exemple: o relație de apartenență dintre o societate și un computer, o relație de supraveghere dintre un angajat și un departament, o relație de producție dintre un artist și un cântec, o relație de demonstrație dintre un matematician și o teoremă.

Aspectul modelului lingvistic descris mai sus este utilizat în limbajul declarativ de programare al bazelor de date - Limbajul de interogare (Query Language), care mimează construcția limbajului natural.

Entitățile și relațiile pot avea atribute. Exemple: o entitate angajat ar putea avea un atribut Social Security Number (SSN); o relație de demonstrație poate avea ca atribut data.

Fiecare entitate (cu excepția cazului în care este vorba de o entitate slabă), trebuie să aibă un set minimal de atribute unice de identificare, care poartă numele de cheie primară a entității.

Diagramele entitate-relație nu arată entități unice sau cazuri izolate de relații. Mai degrabă, ele arată seturi de entități și seturi de relații. Exemplu: un anumit cântec este o entitate. Colecția tuturor melodiilor dintr-o bază de date este o entitate set. Relația a mânca dintre un copil și masa de prânz este o singură relație. Mulțimea tuturor acestor relații copil-masa de prânz într-o bază de date este o relație set. Cu alte cuvinte, un set relație corespunde unei relații, în timp ce o relație corespunde unui membru al relației.

Pot fi indicate și anumite constrângeri/limitări în procesul modelării bazei de date.


Convenții pentru diagrame[modificare | modificare sursă]

Seturile de entități sunt desenate ca dreptunghiuri, relațiile ca romburi. Dacă un set de entități participă la un set de relații, acestea sunt conectate cu o linie.

Atributele sunt desenate ca ovaluri și sunt conectate cu o linie pentru la o entitate sau la un set de relații.

Limitările cardinale pot fi exprimate după cum urmează:

  • o linie dublă indică o limitare de participare, relație totală sau funcție surjectivă: toate entitățile din acel set de entități trebuie să participe la cel puțin o relație din setul de relații;
  • o săgeată dinspre setul de entități către setul de relații indică o limitare tip cheie unică, adică o relație injectivă: fiecare entitate din setul de entități poate participa în cel puțin o relație din setul de relații;
  • o linie groasă indică ambele relații, adică bijectivitate: fiecare entitate din setul de entități este implicat în exact o relație.
  • un nume subliniat a unui atribut indică faptul că acel atribut este cheie unică: două entități sau relații diferite care au acest atribut au întotdeauna valori diferite pentru acest atribut.

Atributele sunt adesea omise, deoarece acestea pot creea dezordine în diagramă; în alte tehnici de diagramă, atributele entităților se reprezintă adesea în dreptunghiurile pentru seturi de entitate.

ERD Representation.svg
Două entităţi relaţionate reprezentate folosind notaţia Crow's Foot

Notația lui Chen pentru modelarea relației între entități modeling folosește dreptunghiuri pentru a reprezenta entități și romburi pentru a reprezenta relații pentru obiectele de gradul unu: acestea pot avea atribute și relații proprii.

Convenții pentru realizarea diagramelor:

Lectură suplimentară[modificare | modificare sursă]