CATEGORII DOCUMENTE |
Una dintre cele mai cunoscute abordari ale modelarii semantice - cu siguranta una dintre cele mai utilizate - este asa-numita abordare entitate/relatie (E/R), bazata pe modelul entitate/relatie introdus de catre Chen in 1976 si rafinat de atunci in diverse moduri de catre acesta si de multi alti cercetatori. Prin urmare, cea mai mare parte din acest capitol este destinata unei analize a abordarii E/R.
Totusi, trebuie sa subliniem ca modelul E/R este departe de a fi singurul "extins' - au fost propuse multe altele.
Trebuie sa remarcam ca Chen a introdus nu numai modelul E/R per se, ci si o tehnica de realizare a diagramelor corespunzatoare ("diagramele E/R'). In paragraful urmator vom analiza in detaliu diagramele E/R.
Entitatea este un obiect (fizic sau abstract) care poate fi identificat ca distinct. Entitatile pot fi a clasificate in entitati obisnuite si entitati slabe. Entitatea slaba este cea a carei existenta depinde de o alta entitate, in sensul ca nu poate exista daca nu exista si acea entitate. Spre deosebire de aceasta, entitatea obisnuita poate exista de sine statator. Exemple de entitati: angajatii, departamentele, furnizorii, componentele etc.
Observatie - Unii autori utilizeaza termenul de entitate tare in loc de entitate obisnuita.
Atribute
Entitatile, ca si unele corelatii dintre entitati, au atribute (proprietati). Atributele sunt informatii care descriu entitatile (corelatiile). Toate entitatile sau corelatiile de un anumit tip au in comun anumite proprietati (atribute) ; de exemplu, toti angajatii au un Id_angajat, un nume, un salariu s.a.m.d.
Observatii
Dintre atributele unei entitati, o importanta deosebita o au cheile. O cheie este un atribut, sau un grup de atribute, care identifica in mod unic o entitate. De exemplu, Id_angajat este cheie pentru entitatile de tip ANGAJAT; nu putem avea doi angajati cu aceeasi valoare a atributului Id_angajat.
Atributele a caror valoare nu poate fi determinata pe baza valorilor altor atribute se numesc atribute de baza; atributele a caror valoare poate fi determinata , prin calcule, pe baza valorilor altor atribute se numesc atribute derivate. De exemplu, cantstoc - dintr-o anumita componenta - poate fi determinata pe baza cantitatilor livrate de furnizori si a numarului de componente de tipul respectiv asamblate deja in produse finite.
Corelatia reprezinta o asociatie (legatura) intre entitati. De exemplu, exista o corelatie numita LUCREAZA intre departamente si angajati, reprezentand faptul ca anumite departamente au ca personal anumiti angajati.
Entitatile implicate intr-o anumita corelatie sunt participantii acesteia. Numarul de participanti dintr-o anumita corelatie se numeste gradul acesteia.
Fie R un tip de corelatie care presupune ca participant tipurile de entitati E1 si E2. Daca fiecarei instante a tipului E1 ii corespunde cel putin o instanta tipului E2, atunci spunem ca participarea entitatii E1 in corelatia R este totala; in caz contrar, spunem ca este partiala.
Diferite tipuri de corelatii (legaturi)
Corelatie de tip unu-la-unu (1:1) - Unui element (instanta) al unui tip de entitate E1 ii corespunde cel mult un element de tipul de entitate E2 si reciproc, unui element de tipul E2 ii corespunde cel mult un element de tipul de entitate E1.
Corelatie de tip unu-multi (1:m) - Unui element al unui tip de entitate E1 ii sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 iar unui element de tipul de entitate E2 ii corespunde cel mult un element de tipul de entitate E1.
Corelatie de tip multi- multi (m:m) - Unui element al unui tip de entitate E1 ii sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 si reciproc, unui element de tipul E2 ii sunt asociate zero, unul sau mai multe elemente de tipul de entitate E1.
Observatii
Este posibil sa ne intereseze o legatura intre doua tipuri de entitati intr-un singur sens sau in dublu sens, in functie de necesitatile de exploatare. Daca legatura este intr-un singur sens, precizam acest lucru cu ajutorul sagetilor.
Este posibil ca intre aceleasi doua tipuri de entitati sa existe mai multe tipuri de corelatii, cu semnificatii diferite.
Este posibil ca si legaturile sa aiba atribute (proprietati).
Diagrame E/R
Diagramele E/R constituie o tehnica de reprezentare a structurii logice a bazei de date intr-o maniera picturala. Astfel, ofera un mijloc simplu si cu adevarat inteligibil de comunicare a caracteristicilor importante ale designului unei anumite baze de date; de fapt, popularitatea modelului E/R ca mijloc de abordare a proiectarii bazelor de date poate fi atribuita in principal tehnicii de realizare a diagramelor E/R.
Entitati
Fiecare tip de entitate este reprezentat sub forma unui dreptunghi care contine numele tipului entitatii respective. Pentru un tip de entitate slaba, chenarul dreptunghiului este o lini punctata.
Atribute
Atributele sunt reprezentate ca elipse ce contin numele atributului respectiv si sunt atasate entitatii sau corelatiei respective prin intermediul unei linii continue. Marginea elipsei este o linie punctata daca atributul respectiv este derivat. Atributele cheie sunt subliniate. Multimile de valori corespunzatoare atributelor nu se reprezinta.
Corelatii
Corelatiile fara atribute se pot reprezenta in doua moduri:
a) Prin intermediul unor linii continue sau intrerupte, dupa cum participarea entitatii respective la corelatie este totala sau partiala. Numele corelatiei este trecut deasupra sau langa liniile ce unesc tipurile de entitati.
b) Ca un romb ce contine numele si tipul de corelatie respectiv. Marginea rombului este o linie punctata daca legatura respectiva este intre un tip de entitate slaba si tipul de entitate de care depinde existenta acesteia. Participantii la corelatie sunt conectati la corelatia respectiva prin intermediul unor linii continue sau intrerupte, dupa cum participarea entitatii respective la corelatie este totala sau partiala.
Corelatiile cu atribute se reprezinta, obligatoriu, in forma precizata la punctul b).
Tipul legaturii (unu-la-unu, unu-multi sau multi-multi) poate fi specificat in diferite moduri:
a) Fiecare astfel de linie este etichetata cu "1" sau "m".
b) Tipul legaturii (1:1, 1:m, m:m)este specificat deasupra rombului.
c) Linia corespunzatoare partii multi a unei legaturi de tipul 1:m sau m:m poate fi prevazuta cu mai multe picioruse:
Figura 4.1 - Exemplu de diagrama E/R
Proiectarea bazelor de date cu ajutorul modelului E/R
O diagrama E/R construita conform regulilor schitate in paragraful anterior este un proiect al bazei de date. In continuare, vom prezenta cum se transpune o diagrama E/R intr-o baza de date.
Entitati
Fiecarui tip de entitate din diagrama E/R ii corespunde, in baza de date, o tabela. Astfel:
- Numele tabelei va fi acelasi cu al tipului entitatii respective.
- Fiecarui atribut al tipului de entitate respectiva ii va corespunde, in tabela, un camp.
- Cheia tabelei va fi chiar cheia tipului de entitate corespunzatoare.
Astfel, corespunzator tipurilor de entitati prezentate in Figura 4.1, vom avea, in baza de date, urmatoarele tabele:
FURNIZOR, COMPONENTA, CONTRACT, PRODUSFINIT, ANGAJAT, SECTIE
Corelatii de tip multi - multi
Fiecare astfel de corelatie este transformata intr-o tabela. Asftel:
- Numele tabelei va fi acelasi cu al corelatiei respective.
- Cheile primare ale celor doua tipuri de entitati participante la corelatie vor fi campuri ale acestei tabele (chei straine). Cheile straine dintr-o tabela se subliniaza cu linie intrerupta.
- Daca legatura are atribute, atunci atributele acesteia se vor regasi ca si campuri ale tabelei respective.
Observatie
Exista doua posibilitati pentru stabilirea cheii primare a acestei tabele: fie se alege o cheie compusa din toate campurile tabelei, fie se introduce un camp suplimentar, care sa serveasca ca si cheie primara inlocuitoare.
Corespunzator corelatiilor de tip multi-multi prezentate in Figura 4.1, vom avea, in baza de date, urmatoarele tabele:
LIVRARI [ Nrf, Nrc, datal, cant, nrlivr ]
ASAMBLARE [ Nrc, Nrpf, nrcopm ]
AFECTARE [ Nrcontr, Nrpf ]
PARTICIPARE [Nrcontr, Idang ]
Corelatii de tip unu - multi
Acest tip de legatura nu determina introducerea unei noi tabele,. Astfel:
- Vom introduce o cheie straina in tabela din partea multi a corelatiei.
- In plus, daca legatura are atribute, acestea vor fi introduse ca si coloane ale tabelei din partea multi a corelatiei.
Corespunzator corelatiei de tip unu-multi prezentata in Figura 4.1 (LUCREAZA), structura tabelei ANGAJAT din baza de date va fi urmatoarea:
ANGAJAT [ Idang, Nrsectie, numeang, salariu ]
Corelatii de tip unu-la-unu
Observatii
Corelatiile de tip unu-la-unu in dublu sens sunt tratate la fel ca si corelatiile de tip multi-multi.
Corelatiile de tip unu-la-unu intr-un singur sens sunt tratate la fel ca si corelatiile de tip unu-multi. Partea "unu" a corelatiei este data de varful sagetii care indica sensul legaturii, in timp ce partea multi a corelatiei este considerata spre baza sagetii.
Acest tip de corelatii nu sunt uzuale in practica.
Avand in vedere corelatiile de tip unu-la-unu din Figura 4.1 (MANAGER si CONDUSA) structura tabelelor CONTRACT si SECTIE este urmatoarea:
CONTRACT [ Nrcontr, manager , dataic, datalc ]
SECTIE [ Nrsectie, sefsectie, densectie ]
In final, prezentam structura tabelelor FURNIZOR, COMPONENTA si PRODUSFINIT, corespunzatoare tipurilor de entitati cu acelasi nume din Figura 4.1.
FURNIZOR [ Nrf, nume, adresa ]
COMPONENTA [ Nrc, descriere, cantstoc, cantcurscd ]
PRODUSFINIT [ Nrpf, descrpf, cantstocpf, cantcursfabr ]
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 4922
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved