Sunteți pe pagina 1din 10

Tutorial Oracle SQL Developer Data Modeler

Instrument de modelare a proceselor şi datelor

Lect. dr. Laura-Diana RADU

Lect. dr. Sabina-Cristiana NECULA

Cuprins

1. Crearea diagramei entitate-relație .................................................................................................. 2


1.1 Crearea entităților ........................................................................................................................ 3
1.2 Crearea relațiilor dintre entități .................................................................................................. 7
2. Imprimarea diagramei.................................................................................................................... 10
3. Bibliografie...................................................................................................................................... 10
1. Crearea diagramei entitate-relație

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

Figura 1 Opţiuni pentru crearea obiectelor specifice DER

• Select – activarea modului de selecţie pentru mutarea, redimensionarea sau ştergerea


obiectelor;
• New Table – introducerea entităților din cadrul DER;
• New View – crearea unei entitați virtuale printr-o interogare predefinită din entitățile create
anterior;
• Split Table – divizarea unei entități create anterior în două entități;
• Merge Tables – îmbinarea/unirea a două entități;
• New Foreign Key – crearea relațiilor dintre entități;
• New Note – crearea unei casete de observaţii în cadrul diagramei;
• New Picture – inserarea unei imagini;
• Delete – ştergerea unui obiect (operaţiunea se poate realiza şi cu tasta Delete după selectarea
obiectului care va fi şters);
• Engineer to Logical Model - aplică ingineria inversă și actualizează modelul logic pe baza
modelului relațional selectat;
• Zoom In – micşorarea dimensiunii de afişare a diagramei curente;
• Zoom Out – mărirea dimensiunii de afişare a diagramei curente;
• Fit Screen – afişarea diagramei proporţional cu spaţiul de lucru în funcţie de numărul de
obiecte pe care le conţine;
• Default Size – revenirea la dimensiunea implicită a diagramei;
• Find – căutarea unui obiect din cadrul diagramei;
• Genetate DLL - generarea instrucțiunilor pentru crearea bazei de date în vederea
implementării modelului fizic într-unul din mediile disponibile (Oracle Database 11g, Oracle
Database 12c, Oracle Database 10g, Oracle 9i, SQL Server 2012, DB2/390 8 etc.);

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.

1.1 Crearea entităților

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

Figura 2 Stabilirea proprietăţilor entității create

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

Figura 3 Introducerea atributelor și proprietăților acestora

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:

• Name – denumirea atributului;


• Data Type – tipul de date care vor fi stocate. Selectăm tipul Logical pentru a activa opțiunea
Source Type și apoi alegem tipul corespunzător dintre cele disponibile în listă (Figura nr. 4). În
funcție de tipul selectat pot deveni disponibile alte proprietăți. De exemplu, pentru atributele
de tip CHAR, NCHAR, VARCHAR, String etc. devine disponibilă proprietatea Size pentru a
introduce dimensiune atributului (numărul maxim de caractere), pentru FLOAT, DECIMAL,
NUMERIC etc. devin disponibile proprietățile Precision și Scale utilizate pentru a stabili
numărul maxim de cifre, respectiv, numărul de zecimale din numărul introdus anterior la
proprietatea Precision.
• PK – cheia primară (primary key) pentru atributele care au această proprietate;
• Mandatory – atribute obligatorii, nu pot avea valorea null.
• Comments – comentarii/observații pentru atributul respectiv.

Pagina | 4
Figura 4 Selectarea tipului de date

Ștergerea unui atribut se realizează cu ajutorul pictogramei Remove ( ) după selectarea


atributului căruia i se aplică operațiunea. Reordonarea atributelor se poate realiza cu ajutorul opțiunilor
Move Up ( ) și Move Down ( ), copierea cu ajutorul opțiunii Copy selected columns ( ), iar lipirea cu
Paste copied columns at the end ( ).

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

Figura 5 Structura entității Furnizor

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

Figura 6 Structura entității LinieReceptie

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

Figura 7 Fereastra Foreign Key Properties

Proprietățile cele mai utilizate, din cadrul acestei ferestre, sunt prezentate în continuare:

• Name – denumire relație generat implicit după structura


DenumireEntitatePărinte_DenumireEntitateCopil_FK (de exemplu, pentru relația dintre
Furnizor și Localitate, deumirea relației este Furnizor_Localiate_FK);
• Table – denumire entității destinație (copil);
• PK/UK Index – cheia principală, cheia unică sau indexul la care se referă această cheie străină;
• Delete Rule – regula aplicată la ștergerea unei informații din entitatea părinte cu următoarele
opțiuni: NO ACTION și CASCADE;
• Source Table Synonym – denumirea/un sinonim pentru entitatea care conține cheia primară;
• Target Table Synonym – denumirea/un sinonim pentru entitatea care conține cheia străină;
• Mandatory – trebuie completată obligatoriu cu date, controlează aplicarea integrității
referențiale;
• Transferable (Updatable) – controlează actualizarea informațiilor stocate în atributul cheie
străină la actualizarea valorilor cheii primare în entitatea părinte;
• Generate in DDL – generează instrucțiunile corespunzătoare cheii străine care pot fi utilizate
ulterior pentru crearea bazei de date.

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)

Diagrama, în formă finală, este prezentată în figura următoare (Figura 8).

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

S-ar putea să vă placă și