Cuprins
La deschiderea aplicației Oracle SQL Developer Data Modeler, în partea stângă este afişată zona
Browser care prezintă, într-o structură ierarhică, diagramele proiectului. Crearea diagramei entitate-
relație (DER) se realizează prin accesarea componentei Relational Models şi apoi click dreapta pe New
Relational Models.
Observaţie: Dacă este deja creată o diagramă şi se doreşte vizualizarea ei, se alege opţiunea Show
după selectarea acesteia. Închiderea unei diagrame (nu a proiectului) nu echivalează cu pierderea
ei, ci doar cu ascunderea temporară, lucru care se poate realiza şi cu click dreapta pe numele
diagramei din fereastra Browser şi alegerea opţiunii Hide.
Deschiderea unui proiect se realizează, după deschiderea aplicaţiei Data Modeler (NU cu dublu
click pe denumirea proiectului), prin secvenţa de opţiuni File → Open şi selectarea fişierului *.dmd de
pe suportul de stocare.
Obiectele specifice diagramelor entitate-relație se pot introduce utilizând următoarele
pictograme din bara de instrumente afişată sub meniul principal al aplicaţiei, prezentate în ordinea afişării
lor (Figura 1):
Pagina | 2
• Synchronize Model with Data Dictionary – sincronizarea modelului de date existent cu
dicționarul de date conectat sau definit; asigură actualizarea modelului de date atunci când
există noi actualizări în schemă sau invers.
Observaţie: O parte dintre pictograme sunt specifice DER, iar altele sunt disponibile pentru toate
componentele aplicaţiei.
Crearea unei entități din DER se realizează prin selectarea opţiunii New Table ( ) prezentată
anterior şi apoi click pe suprafaţa de lucru. Pe ecran este afişată fereastra Table Properties (Figura 2).
În fereastra menţionată, General, poate fi introdus numele entității, dar sunt afișate și alte
proprietăţi (cheia primară, generare DLL, o abreviere pentru entitatea creată etc.). O parte dintre ele sunt
active, altele vor fi completate pe măsură ce sunt introduse alte date despre entitate fiind inițial inactive
(de exemplu, denumire cheii primare – PK Name) Pentru a introduce atributele entității, accesăm opțiunea
Columns din partea stângă. Pe ecran este afișată fereastra din figura 3. Proprietățile fiecărui atribut
include numele, tipul de date, dacă este sau nu cheie primară și dacă este obligatoriu. Alte ferestre
disponibile sunt:
• În ferestra Unique Constrains pot fi introduse restricțiile de unicitate pentru atributele sau
combinațiile de atribute care nu trebuie să se repete, de exemplu codul fiscal (FurnCF) în cazul
entității Furnizor.
Pagina | 3
• În ferestra Indexes putem stabili atributele după care va fi indexată entitatea. Proprietățile
pentru fiecare index includ numele, starea sa și dacă se generează indexul atunci când este
creată entitatea.
• În ferestra Table Level Constraints pot fi introduse reguli de validare pentru atributele
entității.
În continuare este prezentată mai detaliat fereastra Columns. Informații mai detaliate despre
restul ferestrelor puteți găsi în ghidul de utilizare a aplicație menționat la Bibliografie.
Crearea unui nou atribut se realizează prin accesarea pictogramei Add column at the end of the
list ( ). Se activează proprietățile din partea stângă prezentate selectiv în continuare:
Pagina | 4
Figura 4 Selectarea tipului de date
În fereastra următoare prezentăm structura entității Furnizor în formă finală, după introducerea
tuturor atributelor și a proprietăților acestora (Figura nr. 5).
Pagina | 5
Observaţie: Pentru a putea utiliza codul generat de Oracle SQL Developer Data Modeler pentru
crearea bazei de date în Microsoft Access, necesară în partea a doua a proiectului, NU vom introduce
dimensiunea atributelor (Scale și Precision) pentru cele de tip NUMBER.
Observaţie: Proprietatea PK va fi selectată numai pentru atributul sau atributele care formează cheia
primară a entității. În exemplul prezentat proprietatea a fost selectată pentru FurnCod. Pentru restul
atributelor proprietatea respectivă nu trebuie activată.
!!! Atenție: Atributele care au proprietatea că sunt chei străine NU sunt introduse în această etapă
în structura entităților. Ele vor fi generate automat, în entitățile copil, la crearea relațiilor. De exemplu,
observați că în entitatea Furnizor nu am introdus LocCod.
În cazul entităților asociative a căror cheie primară este formată din cheile străine ale entităților
părinte, mai întâi se creează relațiile și apoi se declară cheile primare. De exemplu, în entitate
LinieReceptie vom introduce inițial doar atributele LRCantitate și LRPret (Figura 6).
Similar sunt create restul entităților din DER. După închiderea ferestrei Table Properties,
reafişarea ei se poate realiza prin accesarea opţiunii Properties din meniul contextual al obiectului selectat
sau din meniul Edit → Properties.
Pagina | 6
1.2 Crearea relațiilor dintre entități
Crearea relațiilor dintre entități se realizează prin selectarea opțiunii New Foreign Key din bara de
instrumente prezentată anterior, urmată de click pe entitatea sursă şi apoi pe cea destinaţie. Pe ecran
este afișată fereastra următoare (Figura 7).
Proprietățile cele mai utilizate, din cadrul acestei ferestre, sunt prezentate în continuare:
Confirmăm crearea relației prin click pe butonul OK. În entitatea Furnizor va fi preluată cheia
primară a entității părinte, în acest caz Localitate_CodLoc (cu toate proprietățile stabilite la crearea
atributului în entitatea Localități, respectiv, tip și dimensiune în acest caz). El devine cheie străină în
entitatea copil (Furnizor) pentru relația cu Localitate (Figura 8).
Pagina | 7
Figura 8 Relația dintre entității Localitate și Furnizor
Similar, sunt create restul relațiilor dintre entități. Un caz particular este cel al entităților
asociative LinieReceptie, LinieTranzactie și LinieTransfer din exemplul nostru. În cazul lor, după cum am
menționat anterior, cheia primară va fi declarată după crearea relațiilor, deoarece ea este formată din
cheile străine generate din entităților părinte. Ca urmare, după crearea relațiilor, deschidem fereastra
Table Properties și selectăm proprietatea PK pentru atributele care formează cheia primară. În figura 8
este exemplificat pentru entitatea LinieReceptie, unde aplicăm proprietatea pentru atributele
Bunuri_BunCod și Receptie_RecID (Figura 8).
Figura 9 Entitatea LinieReceptie după crearea relațiilor cu entitățile părinte (Recepție și Bunuri)
Pagina | 8
Figura 10 Diagrama entitate-relație în formă finală
Pagina | 9
2. Imprimarea diagramei
Tipărirea diagramei se poate realiza direct din Data Modeler cu opţiunea File → Print sau poate
fi salvate sub formă de imagini utilizând opţiunea To Image File din meniul File → Print Diagram sau ca
*.pdf cu opţiunea To PDF File din acelaşi meniu.
3. Bibliografie
Cherian, C., Murray, C., Oracle SQL Developer Data Modeler User's Guide, Release 17.4, 2017,
https://docs.oracle.com/cd/E39885_01/doc.40/e48205.pdf
Pagina | 10