Documente Academic
Documente Profesional
Documente Cultură
Modelarea BD Cu Visio Studenti
Modelarea BD Cu Visio Studenti
Cuprins
Cuprins........................................................................................................... 1
4. Proiectarea bazelor de date utiliznd regulile de afaceri...........2
4.1. Puin teorie............................................................................................................ 2
4.2. Object Role Modeling........................................................................................... 4
4.3. Proiectarea unui model surs ORM....................................................................5
6. Constrngeri ORM...............................................................................21
57
9.1. Despre constrngeri i modul n care acestea sunt transpuse n tabelele bazei de date 95
Anexe........................................................................................................ 100
Anexa nr.1 Raportul constrngerilor.....................................................................100
Anexa nr.2 Reportul faptelor..................................................................................118
Anexa nr.3 Rapotul tipurilor de obiecte..............................................................133
Anexa nr.4 Raportul tabelelor.................................................................................151
Anexa nr.5 Raport statistic.....................................................................................181
Cuprins
baza de date;
software de aplicaie;
studiu de fezabilitate;
analiza cerinelor;
proiectarea logic;
proiectarea extern;
realizarea de prototipuri;
Proiectarea bazelor de date utiliznd regulile de afaceri
iar etapele principale ale ciclului de via ale unei aplicaii de tip baz de date sunt [Conn & alt, 2001]:
definirea sistemului;
proiectarea aplicaiei;
implementarea;
ntreinerea operaional.
Etapa de proiectare a bazei de date reprezint procesul de realizare a unui proiect pentru o baz de
date, care va trata toate operaiile i obiectivele organizaiei. Calitatea unei aplicaii de baze de date
depinde de proiectarea sa.
Scopurile etapei de proiectare a bazei de date sunt:
furnizarea unui model de date care s accepte efectuarea oricrei tranzacii necesare asupra
datelor;
specificarea unui proiect minimal, structurat n mod adecvat pentru realizarea cerinelor
stabilite privind performanele sistemului, cum ar fi timpul de rspuns.
n proiectarea unui sistem de baze de date se pot utiliza mai multe strategii de abordare dintre care
cele mai cunoscute sunt:
Proiectare de jos n sus (bottom-up sau ascendent), care ncepe prin definirea
Proiectarea conceptual a bazei de date folosind fapte i exemple descrise ntr-un limbaj
natural.
Construirea automat a modelelor logice i fizice ale bazei de date pe baza faptelor exprimate
ntr-un limbaj natural.
Modelul bazei de date este creat ntr-un limbaj care poate fi neles de utilizatorii non-tehnici.
Dintre caracteristicile mai importante ORM se enumer:
este uor de neles exprim fapte i reguli n limba englez i / sau alte grafice intuitive;
este expresiv surprinde n mod grafic multe reguli de afaceri i mai complexe;
Pe primul ecran Reverse Engineer Wizard (figura 4.1.), se vor executa urmtoarele operaii:
Se va specifica tipul bazei de date, Visio avnd instalate mai multe driver-e pentru diverse
motoare de baze de date precum: SQL Server, Oracle, Access etc. Deci se va selecta
driver-ul bazei de date Microsoft Visio pentru SGBD-ul ales. Dac driver-ul nu exist,
aceast operaie poate fi efectuat acum prin selectarea butonului Setup... (se asociaz un
driver ODBC).
Proiectarea bazelor de date utiliznd regulile de afaceri
Dup ce s-a selectat driver-ul trebuie specificat sursa bazei de date pentru care se dorete
4.
5.
efectuarea acestei operaii. Dac nu exist deja creat o surs de date pentru baza de date
existent, se execut aceast operaie acum prin selectarea butonului New.... n momentul
n care se creeaz o nou surs, numele su este adugat n lista Data Sources.
Dac toate setrile au fost fcute conform necesitilor impuse, se apas butonul Next.
Se selecteaz tabelele (eventual i view-urile, dac exist) care se doresc a fi extrase, sau
click pe Select All pentru a le extrage pe toate, i apoi click pe Next (figura 4.4.).
Dac s-a selectat opiunea Stored Procedures, trebuie selectate procedurile care se doresc a
fi extrase, sau click pe Select All, i apoi click pe Next. n cazul de fa nu exist proceduri
stocate (figura 4.5).
9.
10. n acest moment vor fi extrase informaiile selectate i vor fi afiate informaii referitoare la
procesul de extragere a acestora n pagina Output, a tipurilor de fapte n pagina Business
Rules etc.
11. Toate informaiile referitoare la tipurile de fapte i tipurile de obiecte sunt afiate n fereastra
Business Rules. Se poate crea o diagram conceptual a datelor alese prin tragerea faptelor
din fereastra Business Rules n pagina Drawing.
Proiectarea bazelor de date utiliznd regulile de afaceri
Din meniul File, se alege opiunea New, apoi Database, i click pe ORM Source Model.
n meniul Database, se alege opiunea Import/Export, i apoi click pe Import
VisioModeler .IMO file.
Se tasteaz folder-ul i numele fiierului pentru modelul care se dorete a fi important, sau
click pe butonul Browse pentru a localiza fiierul model, i apoi click pe Open.
Click OK n cutia de dialog Import.
Visio import fiierul i afieaz modul de procesare n fereastra Output.
10
11
Fig. 5.1. Alegerea unui model ORM Source Model (US units)
Exist dou variante i anume ORM Source Model i ORM Source Model (US units). Diferena
dintre cele dou variante se refer la dimensiunea paginii i unitatea de msur utilizat. Deci, pentru
prima variant se va utiliza formatul A4 i sistemul metric, iar pentru a doua variant se va utiliza
formatul Letter i unitatea de msur inches. Dup alegerea tipului de model ORM pe ecran apare
fereastra din figura 5.2.
12
Aceast fereastr va avea o pagin de instrumente ORM (ORM stencil), o fereastr pentru desenarea
modelului (Drawing window), i o suprafa pentru afiarea editorului Business Rules i a Database
Properties, celelalte ferestre necesare elaborrii modelului pot fi deschise ulterior n funcie de
necesiti.
O reprezentare ORM poate deveni destul de complex dac baza de date va avea un numr mare de
entiti, de aceea se pot utiliza mai multe modele ORM surs pentru o singur baz de date. Fiecare
dintre aceste modele va descrie o parte din baza de date. [Raicu, 2001]
Exist la dispoziia utilizatorului opiuni de editare a proprietilor obiectelor i rolurilor, de
configurare a regulilor de afaceri, a constrngerilor i rolurilor coninute n predicate.
Astfel un model ORM permite reprezentarea obiectelor i a rolurilor ntr-un mod intuitiv i relativ uor
de neles i pentru persoanele care nu au cunotine n acest domeniu.
Un termen destul de utilizat pe parcursul acestei cri este cel de universul discursului (UD) prin care
se nelege un model de date extern pentru reprezentarea vederii fiecrui utilizator asupra organizaiei
(problemei supus analizei).
Dublu clic pe rndul pentru care se dorete executarea operaiei, sau pentru adugarea unui
nou fapt dublu clic pe ultimul rnd din Editorul de Fapte.
de trei feluri: entiti, valori i externe. Deci vor exista: tip obiect entitate, tip obiect valoare i tip
obiect extern, pentru care se va utiliza obiect entitate, obiect valoare i obiect extern. Relaiile sunt
exprimate prin intermediul predicatelor (cte unul pentru fiecare rol, deci pot exista unul sau mai
multe).
Pentru a exprima o regul de afaceri se utilizeaz tipuri de propoziii, care sunt editate prin
intermediul Editorului de Fapte. Tipurile de propoziii sunt:
Tipuri de fapte (fact types). Prin intermediul acestui tip de propoziie sunt identificate
relaiile care se stabilesc ntre unul sau mai multe tipuri de obiecte entitate (sau tipuri de
obiecte entitate i tipuri de obiecte valoare) existente n cadrul unei reguli de afaceri.
Tipuri de referin (reference types). Prin intermediul acestui tip de propoziie sunt
identificate relaiile care se stabilesc ntre unul sau mai multe tipuri de obiecte entitate i
tipuri de obiecte valoare existente n cadrul unei reguli de afaceri.
Pentru a exprima regulile de afaceri ntr-un model ORM, un fapt este descris (exprimat) printr-un tip
de obiect i un predicat.
Fereastra Editorul de Fapte este reprezentat n figura 5.3.
13
Dup cum se observ, Editorul de Fapte are mai multe pagini (Fact, Object, Examples, Constraints,
i Advanced), fiecare din acestea avnd un anumit rol n introducerea regulilor de afaceri care se
doresc a fi modelate prin intermediul unui model ORM.
Pagina Object Pagina Object permite clasificarea tipurilor de obiecte care apar n Editorul de
Fapte n urmtoarele tipuri:
entitate (entity);
valoare (value);
obiect extern (external).
14
Dac se dorete declararea stilul Freeform drept stil implicit pentru modelele ORM:
Database | Options | Modeling i se alege Fact Editor.
Indiferent de limbajul utilizat pentru declararea obiectelor este indicat s se nceap numele obiectului
cu liter mare, presupunnd c acesta este format dintr-un singur cuvnt (de exemplu, Factura,
Furnizor, Nr_Fact, Cod_Unic etc.).
n cazul n care pentru definirea obiectului se utilizeaz mai multe cuvinte separate prin spaiu este
indicat utilizarea parantezelor ptrate (de exmplu, [Factura], [Data_Fact], [Val_marfa]).
Generarea modelului surs ORM
15
De exemplu, fereastra pentru alegerea stilului implicit Freeform pentru Editorul de Fapte este
ilustrat n figura 5.7.
16
17
18
19
Opiunea Show Relationships este foarte utilizat n proiectarea schemei i n special atunci cnd se
utilizeaz procedeul reverse engineering.
20
6. Constrngeri ORM
Reamintim c n ORM principale elementele ale unui model sunt: tipurile de obiecte i relaiile.
De asemenea, n ORM, relaiile dintre obiectele entitate (numite i tipuri de fapte), i relaiile dintre
obiectele entitate i obiectele valoare (numite i tipuri de referin) sunt reprezentate prin predicate
care conin unul sau mai multe roluri.
Predicatele sunt reprezentate grafic ca o secven de una sau mai multe casete de roluri. ablonul de
desen (stencil) pentru diagrame ORM din Microsoft Visio include cinci forme (shape) de predicate
(Unary, Binary, Vertical Binary, Ternary, i Quaternary), care vor avea un numr diferit de csue
de roluri (una, dou etc.). Forma de predicat utilizat depinde de numrul de roluri.
Relaiile binare indic o relaie ntre dou obiecte, i sunt cele mai utilizate. n general, forma de
predicat Binary este utilizat pentru a indica o relaie a rolurilor ntre un obiect entitate i un obiect
valoare.
21
2.
Constrngeri externe caz n care constrngerea este aplicat la dou sau mai multe
predicate (n aceast situaie constrngerea este aplicat la cel puin dou tipuri de fapte, care
partajeaz acelai tip de obiect).
ntr-un model ORM pot fi utilizate urmtoarele tipuri de constrngeri:
1. Constrngeri de unicitate:
a. interne
b. externe
c. primare
2. Constrngeri obligatorii:
a. simple
b. disjunctive
3. Constrngeri circulare:
a. aciclice
b. asimetrice
c. antisimetrice
d. intranzitive
e. nereflexive
f. simetrice
4. Constrngeri comparare de mulimi:
a. submulime
b. de egalitate
c. de excludere
5. Alte tipuri de constrngeri:
a. de frecven
b. index
c. de valoare
Pentru declararea constrngerilor se pot utiliza mai multe metode. Astfel prin intermediul paginii
Constraints, a Editorului de Fapte se pot introduce constrngeri de tip intern cum ar fi:
Constrngeri ORM
22
Constrngeri ORM
23
24
Pentru tipurile de fapte: Ternary sau Quaternary vor exista urmtoarele opiuni:
Check all role combinations wich are unique (toggle using space bar) , se va alege (din
mulimea combinaiilor posibile, i care sunt afiate pe ecran) combinaia de date care se
dorete a avea o valoare unic, i apoi se va apsa bara de spaiu pentru a se atribui aceast
valoare;
Make Primary, se va specifica dac combinaie datelor va fi declarat drept cheie primar.
Constrngeri ORM
25
26
Dup apariia ferestrei Add Constraint, se va alege tipul constrngerii Uniqueness, se va bifa csua
Primary, pentru a indica c aceast constrngere furnizeaz schema de referin primar pentru
obiectul entitate, i apoi se vor selecta predicatele relevante pentru constrngere. Dac constrngerea
de unicitate extern nu este utilizat pentru a declara o referin primar, atunci nu se va bifa csua
Primary.
De exemplu, obiectul entitate Act_Aditional poate fi identificat n mod unic prin numrul actului
adiional (obiectul valoare Nr_Act_Aditional), i numrul contractului cruia i aparine (obiectul
entitate Contract(Nr_Contr)). Putem desemna drept referin primar pentru obiectul Act_Aditional
concatenarea valorilor celor dou obiecte.
27
Dac se va apsa butonul Ok, atunci fereastra de dialog se va nchide i constrngerea va apare n
fereastra Drawing. Dac se dorete aplicarea i altor constrngeri asupra unuia sau mai multor din
aceste predicate, se va apsa butonul Apply.
Constrngeri de unicitate:
Each Act_Aditional apartine unui at most one Contract.
Each Act_Aditional este identificat partial de at most one Nr_Act_Aditional.
Constrngeri obligatorii:
Each Act_Aditional apartine unui some Contract.
Each Act_Aditional este identificat partial de some Nr_Act_Aditional.
Constngere obligatorie simpl (simple madatory)
Pentru a arta c fiecare instan a populaiei unui obiect trebuie s ndeplineasc un rol particular, se
va aplica o constrngere obligatorie pentru acel rol.
Constrngeri ORM
28
Constrngeri ORM
29
Constrngeri ORM
30
31
pentru nu, & pentru i iar pentru implic pentru a defini cele ase tipuri de constngeri
circulare.
De asemenea, se va utiliza pentru exemplificare un model de date extern (acest model este utilizat n
special pentru a reprezenta vederea fiecrui utilizator) format din obiectul entitate Persoana. Vom
spune c relaia R este:
1.
Reflexiv, iff xRx for each x in pop(r 1) U pop(r2), dac i numai relaia xRx exist pentru
fiecare x din cele dou populaii ale relaiei. Exemple de astfel de relaii reflexive:
(egalitatea), (mai mic sau egal), (implic) etc. Dac o relaie este reflexiv peste
populaia ntregului model de date extern se spune c este total reflexiv (deci pentru toate
valorile x exit relaia xRx). Aceat proprietate a unei relaii este ilustrat n figura 6.24. Este
aplicabil asupra mulimii formate din reuniunea populaiilor celor dou roluri. Pentru
ilustrarea acestei proprieti tipul de fapt a fost populat cu exemplele din figur.
Tranzitiv, iff for all x, y, z, xRy & yRz xRz, dac i numai dac pentru toate perechile de
date x, y, z ntre care exist relaia xRy i yRz implic i existena relaiei xRz. De menionat
faptul c n aceast situaie valorile x, y, z nu sunt necesar distincte (poate fi aceeai valoare).
32
Nereflexiv (irreflexive ring), are simbolul ir, iff for all x, ~ xRx, respectiv, dac i
numai dac pentru toate datele x implic neexistena relaiei xRx.
Asimetric (asymmetric ring), are simbolul Oas, iff for all x, y, xRy ~ yRx. Deci o
relaie este asimetric dac i numai dac pentru toate perechile de date ( x, y), ntre care
exist relaia xRy implic neexistena relaiei yRx, Presupunnd c avem perechile de date ( x,
y), i o relaie ntre acestea R, atunci se va utiliza o constrngere circular asimetric dac i
numai dac pentru toate perechile de date ( x, y), ntre care exist relaia xRy nu va exista
niciodat relaia yRx, sau altfel spus dac exist combinaia de date ( x, y), niciodat nu va
putea exista combinaia de date (y, x).
De exemplu, obiectul entitate Persoana poate s ndeplineasc dou roluri de parinte i de
copil, dar la un moment dat nu poate ndeplini dect un singur rol, ori printe ori copil, deci
33
as = Oans ir
Antisimetric (antisymmetric ring), are simbolul Oans, iff for all x, y, x y & xRy ~
yRx. Deci o relaie este antisimetric dac i numai dac pentru toate perechile de date ( x, y),
ntre care exist relaia x y & xRy implic neexistena relaiei yRx.
Presupunnd c avem perechile de date x i y, i o relaie ntre acestea R, atunci se va utiliza o
constrngere circular antisimetric dac i numai dac pentru toate perechile de date ( x, y),
unde x este diferit de y, i ntre care exist relaia xRy (va putea exista i relaia xRx) nu va
putea exista niciodat relaia yRx.
De exemplu, pentru tipul de fapt Persoana este profesor Persoana, se va putea aplica o
34
Dup cum s-a enunat mai sus, ntre constrngerile circulare nereflexive, asimetrice i
antisimetrice exist urmtoarea relaie: as reprezint combinaia dintre ans i ir.
Intranzitiv (intransitive ring), are simbolul Oit, iff for all x, y, z, xRy & yRz ~ xRz.
Deci, dac i numai dac pentru toate perechile de date x, y, z, ntre care exist relaia xRy &
zRy implic neexistena relaiei xRz.
Aciclic (acyclic ring), are simbolul Oac, i este cea mai dificil constrngere care se poate
impune unei relaii, iff for all x, y, z, xRy & yRz ~zRx. Prin utilizarea tipului de relaie o
dat sau de mai multe ori nu sunt permise cicluri. Deci, dac i numai dac pentru toate
perechile de date x, y, z, ntre care exist relaia xRy & yRz implic neexistena relaiei zRx.
Pentru a specifica faptul c ntr-o relaie nu sunt permise bucle (reveniri) ntre populaiile
celor dou roluri se va aplica asupra acesteia o constrngere circular aciclic. Aceast
constrngere se poate aplica numai n cazul n care dac pentru toate valorile x, y, z (x y i
x z) din populaiile celor dou roluri ntre care exist relaiile xRy i yRz nu implic i
existena relaieie zRx (deci nu va exista o combinaie de date (z, x)).
De exemplu, pentru obiectul entitate Persoana presupunem c avem mulimea de valori
(Maria, Ana, Cosmin, Iulia, Maria, Ana etc.). Pentru a exemplifica faptul c Maria este
printe pentru Ana, Ana este printe pentru Cosmin, Cosmin este printe pentru Maria, va
trebui s se utilizeze o astfel de constrngere. Dac nu este impus aceast constrngere ar
rezulta c Maria este propria strbunic.
Constrngeri ORM
35
Constrngeri ORM
36
Constrngeri ORM
37
Constrngeri ORM
38
De exemplu, tipului de fapt Persoana este parinte / este copil pentru Parinte i se poate aplica att
o constrngere circular asimetric ( as), ct i una intransitiv ( it), deci constrngerea circular
compus (as, it).
Constrngeri ORM
39
Submulime (subset).
Egalitate (equality).
Regula de business exprimat prin cele dou tipuri de fapte este: Un proiect nu poate avea o dat de
terminare atta timp ct el nu are o dat de lansare n execuie . Se creeaz astfel o relaie de
submulime ntre rolurile ndeplinite de obiectul entitate, Proiect, n cele dou tipuri de fapte.
O constrngere submulime intern se va utiliza n situaia n care se dorete s se impun condiia
ca un obiect s reprezinte o submulime a unui alt obiect cu care intr ntr-o relaie prin intermediul
unui singur tip de fapt.
Astfel dac exist obiectul entitate Angajat pentru a evidenia c obiectul entitate Manager reprezint
o submulime a tipului Angajat, se va utiliza o astfel de constrngere.
Pentru a aduga o astfel de constrngere de tip submulime, mai nti se va introduce tipul de fapt
Manager(CNP) este Angajat(CNP) (de exemplu, prin adugarea acestora n editorul Business Rules
i apoi tragerea acestora n fereastra Drawing). Apoi se vor selecta predicatul i se va activa meniul de
tip popup, din care se va alege opiunea Add Constraints....
Din cutia de dialog Add Constraint se va alege din lista de opiuni cu eticheta Constraint type,
valoarea Subset. Urmtorul pas const n selectarea rolului surs pentru constrngere (notat 1 n
figura 6.46.A, i care reprezint o submulime a rolului destinaie), urmat de alegerea rolului destinaie
(notat cu 2 n figur), i automat va apare i verbalizarea acesteia n partea de jos a cutiei de dialog.
Constrngeri ORM
41
n cazul unei constrngeri submulime externe cel mai simplu caz este al unei secvene de rol unic.
n figura nr. 6.47.b. constrngerea de submulime care exist ntre cele dou roluri unice are
urmtoarea semnificaie: mulimea angajailor care au i un al doilea nume trebuie s fie o submulime
a setului de angajai care au primul nume.
Dup introducerea celor dou tipuri de fapte, se vor selecta predicatele relevante i se va activa meniul
de tip popup, din care se va alege opiunea Add Constraints....Din cutia de dialog Add Constraint se
va alege din lista de opiuni cu eticheta Constraint type, valoarea Subset. Urmtorul pas const n
selectarea rolului surs pentru constrngere (notat 1 n figura 6.47.a, i care reprezint o submulime a
rolului destinaie), urmat de alegerea rolului destinaie (notat cu 2 n figur). Dac operaie se termin
cu succes, atunci cutia de dialog va arta ca n figura nr. 6.47.a, iar constrngerea va fi n mod automat
verbalizat n josul cutiei de dialog. Dac nu se mai dorete adugarea altor constrngeri se va apsa
butonul OK, n caz contrar se va apsa butonul Apply, pentru adugarea altor constrngeri. Dup
aplicarea constrngerii vizualizarea ei va fi cea ilustrat n figura 6.47.b.
Fig. 6.47. Alegerea tipului de constrngere submulime ntre dou roluri unice,
selectarea rolului surs (1) i a rolului destinaie (2)
Not: Se observ utilizarea liniuei n predicatele are primul- i are al doilea-. Aceasta unete
adjectivele primul i al doilea la obiectul valoare Nume n momentul n care constrngerea pe
aceste predicate este verbalizat, astfel nct cuvinte cheie precum some (nite) sunt inserate naintea
Constrngeri ORM
42
adjectivului n loc de dup el (figura 6.47.). n cazul n care nu este utilizat liniua n cadrul
predicatelor cuvntul some va fi inserat dup adjective.
A doua situaie ntlnit pentru o constrngere de tip submulime extern este o constrngere
submulime dintre perechi de roluri, caz n care fiecare secven de rol ndeplinete dou roluri. De
exemplu, pentru ca o persoan s prezideze un comitet ea trebuie s fie membr a acelui comitet.
Aceast constrngere nseamn c perechile de populaie Persoana -> Comitet care instaniaz
asocierea de predicate trebuie s fie o submulime a populaiei dintr-o asociere de membru.
Fig. 6.48.
primului tip de
constrngerilor
de unicitate i
Adugarea
fapt, i a
obligativitate
n continuare
cel de-al doilea
se va introduce
tip de fapt.
Constrngeri ORM
43
Constrngeri ORM
44
45
De exemplu, dac avem urmtoarele dou tipuri de fapte: Aviz_Expeditie contine Produse i
Factura (Nr_Fact) contine Produse, acestea vor exprima urmtoarea regul de business Numrul
de produse din avizul de expediie trebuie s fie egal cu numrul de produse din factura
aferenta.
Dup cum se observ din figura 6.52.a, fiecare rol are dou secvene (pentru exemplul dat, s-a ales
numai o secven de rol). De fapt, ordinea secvenelor de rol ntr-o constrngere de egalitate nu este
important, deoarece egalitatea este simetric (spre deosebire de submulime). Verbalizarea
(exprimarea) constrngerii este redat n seciunea de jos a ferestrei de dialog. Constrngerile de
egalitate ntre mai multe secvene de rol pot fi adugate ntr-un mod similar cu cele pentru
constrngerile de tip submulime.
Exprimarea grafic a acestei constrngeri este ilustrat n figura 6.52.b.
Constrngeri ORM
46
O constrngere de excludere se va utiliza n cazul n care dou sau mai multe secvene de rol sunt
ndeplinite de acelai obiect i rolurile sunt opionale, i la un moment dat numai un rol este ndeplinit.
Secvenele de rol pot fi din acelai tip de fapt sau din tipuri de fapte diferite.
A Constrngere de excludere intern
B Constrngere de excludere extern
Constrngeri ORM
47
48
Constrngeri ORM
49
Constrngeri ORM
50
51
stocate (pentru a fi rulate), sau ele vor fi translatate n trigger-e. Astfel, pentru acele SGBD care nu
suport proceduri stocate (de exemplu, Microsoft Access), procedurile stocate vor fi tratate drept
comentarii, care pot fi folosite pentru gsirea unei ci alternative de impunere a constrngerilor
respective.
Dac dorim se dorete modificarea numelor atributelor fiecrei tabele, aceasta se poate executa uor
rezultnd urmtoarea schem:
Constrngeri ORM
52
Dac se dorete cutarea unei persoane pe baza combinaiei dintre numele i prenumele su,
atunci se va aplica o constrngere index pentru perechile de roluri ndeplinite de tipurile de
obiect valoare Prenume i Nume, care va determina crearea unui index non-unic pentru
coloanele cu acelai nume.
Constrngeri ORM
53
Constrngeri ORM
54
Constrngeri ORM
55
Dac se dorete vizualizarea separat a celor dou constrngeri, se va executa click dreapta cu
mouse-ul pe reprezentarea grafic a constrngerii ilustrat n figura 7.75., i se va alege
opiunea Split X / OR constraint (figura 7.78.). Constrngerile vor fi afiate separat i se va
putea lucra cu fiecare constrngere separat.
Constrngeri ORM
56
Din bara de meniuri se va alege File | New | Database | Database Model Diagram
(US units), sau Database Model Diagram, care va determina apariia pe ecran a
ferestre din figura 8.1.
n continuare se va alege opiunea Database | View | Project pentru a se deschide
fereastra Project, unde sunt evideniate toate modelele care fac parte din proiectul
bazei de date (figura 8.2.).
57
Dac se dorete crearea unui model logic al bazei de date fr a avea un punct de pornire
(cum ar fi un model ORM), se poate utiliza ablonul de desen Entity Relationship.
Se va deschide un fiier proiect existent, sau se va crea unul nou, urmrind paii din
subcapitolul 8.1.
2. Pentru adugarea unui model la proiectul bazei de date se va executa una din
urmtoarele operaii:
Pentru a se utiliza un model surs ORM se va alege opiunea Database | Project |
Add Existing Document...
n fereastra Project, se va executa click dreapta pe Project, i din popup meniul
care apare se va alege Add Existing Document....
3. Fereastra de dialog Add Document to Project, care va apare pe ecran, permite
indicarea folder-ului n care se afl modelul surs ORM (Look in:), dup care se va
selecta numele fiierului care se dorete s fie adugat n proiectul bazei de date.
Not Se poate aduga un fiier model surs ER sau ORM (fiiere cu extensia .vsd)
sau alte documente ale altui tip de fiier care se dorete a fi asocia cu proiectul.
4. Pentru deschiderea modelului se va apsa butonul Open.
58
n final fereastra Project va conine toate modelele care au fost incluse. n figura 8.3. aceast
fereastr cuprinde un singur model surs, i anume MC_Servicii_Internet1.vsd.
59
Exemplul nr.2: este cazul n care nu exist erori grave, dar exist cteva erori de avertizare.
Starting Build...
C:\LUCRARI\VISIO.NET\FURNIZORIER.VSD : Updating existing database model project.
C:\Lucrari\...\furnizori.vsd : Merging Source Model.
C:\Lucrari\...\furnizori.vsd : warning C1007: 'CodFiscFurn' : Value object type playing mandatory role not recommended.
C:\Lucrari\...\furnizori.vsd : warning C1007: 'NrFact' : Value object type playing mandatory role not recommended.
C:\LUCRARI\VISIO.NET\FURNIZORIER.VSD : Starting Mapping ...
C:\LUCRARI\VISIO.NET\FURNIZORIER.VSD : Tables(1) Columns(6) Logical Keys(2) Foreign Keys(0)
0 error(s), and 2 warning(s).
sau
Starting Build...
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC.VSD : Updating existing database model project.
C:\Lucrari\...\FACTURI.vsd : Merging Source Model.
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC.VSD : Starting Mapping ...
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC.VSD : Tables(4) Columns(23) Logical Keys(9) Foreign Keys(4)
0 error(s), and 0 warning(s).
sau
Starting Build...
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC_O.VSD : Updating existing database model project.
C:\Lucrari\...\FACTURI_0.vsd : Merging Source Model.
C:\Lucrari\...\FACTURI_0.vsd : warning C1007: 'NrFact' : Value object type playing mandatory role not recommended.
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC_O.VSD : Starting Mapping ...
C:\LUCRARI\ORM_VISIO.NET\MODELE\LOGIC_O.VSD : Tables(4) Columns(25) Logical Keys(10) Foreign Keys(4)
0 error(s), and 1 warning(s).
60
61
62
63
Fig.
8.11.
Utilizarea notaiei IDEF1X
64
65
Se poate genera o nou baz de date direct dac SGBD-ul ales suport acest lucru.
Dac SGBD-ul ales nu suport crearea direct a bazei de date, va trebui utilizat un
script DDL pentru a crea baza de date fizic.
Not nainte de a utiliza Generate Wizard, va trebui s se construiasc proiectul
astfel nct acesta s cuprind cele mai recente modificri din modelul surs ORM.
Pentru a avea informaii n orice moment despre stadiul construirii proiectului se poate utiliza,
New Report Wizard pentru a genera diferite rapoarte. Aceste rapoarte au rolul de a
documenta etapa de proiectare sau de a comunica informaii despre baza de date ctre client.
Pentru a lansa wizard-ul, se va utiliza opiunea Database | Report.... Aceste rapoarte se pot
genera att n etapa elaborrii modelului conceptual (modelul surs ORM) ct i n faza de
proiectare a modelului conceptual.
66
Dup alegerea raportului care se dorete a fi generat, n figura 8.14. s-a ales generarea
raportului referitor la constrngerile impuse, se va apsa butonul Next, care va determina
apariia pe ecran a urmtoarei ferestre.
raportului
67
Fig. 8.19.
rapoarte
68
69
70
8.6. Verbalizarea
Pn acum s-a explicat modalitatea n care se poate utiliza ORM (Microsoft Visio for
Enterprise Architects) pentru modelarea bazelor de date, i anume:
71
Pentru a deschide acest model se va utiliza opiunea: File | New | Browse Sample
Drawings apoi se va selecta folder-ul Database i fiierul exemplu surs ORM Employee,
dup care se va apsa butonul Open pentru a deschide acest model (figurile 8.26. i 8.27.).
72
Fig. 8.30. Verbalizarea mai multor tipuri de fapte din modelul ORM
73
Referitor la modul n care se poate dezvolta un proiect, se pot face urmtoarele observaii:
Modelul logic care se proiecteaz poate fi baza de pornire a unui nou proiect, sau se
poate aduga unui proiect deja existent.
nainte de a dezvolta un nou proiect, este indicat s se verifice corectitudinea modelul
surs ORM prin intermediul opiunii Database | Model Error Check. Atunci cnd se
dezvolt un proiect, este indicat s se verifice corectitudinea modelul surs, analiznd
toate tipurile de erori care pot s apar.
Dup construirea proiectului, tabelele i relaiile dintre ele se pot aduce n pagina
Drawing, dup care acestea se pot modifica n funcie de cerinele proiectului.
Avnd la baz un model logic al bazei de date se poate construi modelul fizic al acesteia.
74
Pentru a genera schema intern pentru un sistem de gestiune a bazei de date se va utiliza
opiunea Database | Generate....
75
Fig. 9.5. Tabelele care vor face parte din baza de date creat
Fig. 9.7.
unui script
76
77
78
79
80
81
82
83
84
85
86
87
88
89
go
/* Add the remaining keys, constraints and indexes for the table "dbo"."Localitate". */
create index "Localitate_IDX1" on "dbo"."Localitate" ("Denumire_Loc")
go
/* Add the remaining keys, constraints and indexes for the table "dbo"."Judet". */
alter table "dbo"."Judet" add constraint "Judet_UC1" unique ("Denumire_Jud")
go
/* Add the remaining keys, constraints and indexes for the table "dbo"."Factura". */
create index "Factura_IDX1" on "dbo"."Factura" ("Data_Fact")
go
/* Add the remaining keys, constraints and indexes for the table "dbo"."Agent". */
alter table "dbo"."Agent" add constraint "Agent_UC1" unique ("Nr_Reg_Comert")
go
alter table "dbo"."Agent" add constraint "Agent_UC2" unique ("Fax_Agent")
go
alter table "dbo"."Agent" add constraint "Agent_UC3" unique ("Id_Pers")
go
/* Add the remaining keys, constraints and indexes for the table "dbo"."Abonat". */
create unique index "Abonat_AK1" on "dbo"."Abonat" ("Nr_Act_Identitate",
"Seria_Act_Identitate")
go
alter table "dbo"."Abonat" add constraint "Abonat_UC2" unique ("Id_Pers")
go
90
91
92
93
Pentru a afla date referitoare la structura tabelelor care au fost generate se poate selecta pagina
Verbalizer, n care se va selecta tabela pentru care se doresc aceste informaii.
Table Persoana is composed of nine columns.
Column Id_Pers char(13) is required.
Column Nume char(30) is required.
Column Adresa char(30) is required.
Column Telefon char(13) is optional.
Column Mobil char(13) is optional.
Column Tip_Persoana char(20) is required.
Column Abrev_Loc char(2) is required.
Column Casuta_postala bit is required.
Column Abrev_Jud char(2) is required.
Primary key: Id_Pers.
Table Persoana is the target of two foreign key relationships with tables Agent and
Abonat.
Table Persoana is the source for two foreign key relationships with tables Localitate
and Judet.
Notes: fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent.
Table Incasari is composed of eight columns.
Column Nr_Fact char(10) is required.
Column Tip_Document char(15) is required.
Column Cod_Unic char(13) is optional.
Column CNP char(13) is optional.
Column Nr_Doc_Incasare char(10) is required.
Column Data_Incasarii datetime is required.
Column Val_Incasare_Lei numeric(10;0) is optional.
Modelul fizic al bazei de date
94
95
96
De remarcat c toate tipurile de date au fost modificate (tipul implicit este char(10)). Modul n
care se pot modifica tipurile datelor se va explica ntr-un subcapitol separat. Vom ncepe cu
acele constrngeri care se refer la indeci. n timp ce indeci mresc viteza de acces la
informaiile stocate ntr-o baz de date, ei pot de asemenea s duc la ncetinirea procesului de
actualizare a acesteia, deoarece actualizrile se efectueaz i asupra indecilor.
SQL Server, ca i alte SGBD-uri, creeaz n mod automat un index unic pentru cheia primar,
ceea ce furnizeaz o cale eficient pentru aplicarea constrngerilor de unicitate. Pe
deasupra, coloane care sunt chei primare sunt deseori utilizate n operaii de sortare i
asociere, deci necesit un acces eficient. n timp ce declaraiile de cheie primar ntr-un
script .DDL determin crearea automat a indecilor pentru ei (de exemplu, SQL Server), nu
este necesar declararea explicit a indecilor pentru coloanele chei primare (notate cu PK).
Coloanele care au notaia Un reprezint coloane care au valori unice i obligatorii (asupra
lor au fost impuse constrngeri de unicitate), i prin urmare reprezint chei alternative pentru
o tabel. Script-ul .DDL include o astfel de declaraie prin care se adaug o constrngere de
unicitate pentru acea coloan.
Dup cum se observ din figura 9.10.B, coloana Seria_Act_Identitate este obligatorie i
are o valoare unic, i prin urmare furnizeaz o cheie alternativ pentru tabela Abonat. Scriptul .DDL care este generat va include o declaraie i va aduga o constrngere de unicitate
(Abonat_AK1_UC1) pentru aceast coloan. SQL Server creeaz automat indeci unici pe
coloanele pentru care au fost declarate constrngeri de unicitate. De aici rezult c nu este
necesar declararea explicit a unui index unic pentru aceast coloan. Cu toate acestea
Modelul fizic al bazei de date
97
Pentru ca acest lucru s nu se repete n script-ul .DDL generat se vor executa urmtoarele
operaii. Se va selecta tabela Abonat i se va deschide fereastra Database Properties. Aici se
va selecta categoria Indexes, se va deschide lista derulant Index Type, i se va alege
opiunea Unique constraint only (n loc de opiunea implicit Unique index with
constraint on top), dup cum se observ din figura 9.11.
98
Aceeai operaie va fi efectuat pentru toate tabelele din modelul logic. Dup efectuarea
acestor modificri se va efectua salvarea i migrarea acestora ctre modelul surs ORM. Dac
se va genera din nou script-ul .DDL se va observa c unicitatea pentru coloanele asupra crora
s-au efectuat modificrile respective, va fi introdus prin intermediul unei constrngeri de
unicitate, "Nume tabela_UC1" fr alt clauz suplimentar de index unic.
Pentru un exemplu complet se va utiliza modelul logic din figura 9.2., sau din figura 8.5. din
cadrul capitolului referitor la generarea modelul logic al bazei de date.
Se tie c indecii aparin nivelului fizic. Cu toate acestea, este posibil ca indecii s fie
specificai direct n modelul surs ORM. Aceasta permite controlarea procesul de transpunere
prin comentarea (adnotarea) modelului conceptual cu detalii de implementare. Modalitatea de
declarare a unei constrngeri index a fost explicat n subcapitolul 7.6.2.
S presupunem c se dorete la un moment dat s se tie despre un serviciu din cte contracte
i din cte acte adiionale face parte (precum i alte detalii despre serviciul respectiv: valoare,
caracteristici etc.) cunoscndu-se codul serviciului. Pentru a face acest lucru n mod eficient
va trebui s se declare un index pe rolul ndeplinit de Serviciu(Cod_Serv) n modelul surs
ORM.
99
Anexe
Anexa nr.1 Raportul constrngerilor
ML_Servicii_Internet1
Constraint kind: Uniqueness
Record:
1
Constraint type: Uniqueness
ID: 458
Verbalization: Each Consum este identificat partial at most one Cont_Email.
Notes:
Statistics:
One relationship, one role
Defined over:
Record:
2
Constraint type: Uniqueness
ID: 540
Verbalization: Each Serviciu se caracterizeaza prin at most one Timp_acces.
Notes:
Statistics:
One relationship, one role
Defined over:
Record:
3
Constraint type: Uniqueness
ID: 469
Verbalization: For each Fax_Agent f, at most one Agent are Fax_Agent f.
Notes:
Statistics:
One relationship, one role
Defined over: Agent are
Record:
4
Constraint type: Uniqueness
ID: 538
Verbalization: Each Serviciu se caracterizeaza prin at most one Trafic.
Notes:
Statistics:
One relationship, one role
Defined over:
Record:
5
Constraint type: Uniqueness
ID: 395
Verbalization: Each Act_Aditional apartine unui at most one Contract.
Notes:
Statistics:
One relationship, one role
Defined over: Contract poate avea
Record:
6
Constraint type: Uniqueness
ID: 536
Verbalization: Each Serviciu are at most one Val_Serviciu.
Notes:
Statistics:
One relationship, one role
Defined over:
Record:
7
Constraint type: Uniqueness
ID: 397
Anexe
100
Record:
8
Constraint type: Primary uniqueness
ID: 399
Verbalization: For each Banca b and Nr_Cont_Bancar n
there is at most one Cont_Bancar that
este deschis la Banca b and are Nr_Cont_Bancar n.
Cont_Bancar is primarily identified by this unique combination.
Notes:
Statistics:
Two relationships, two total roles
Defined over:
Cont_Bancar este deschis la
Cont_Bancar are
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
9
Uniqueness
533
Each Serviciu se efectueaza at most one printrun Mediu_Transmisie.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
10
Uniqueness
532
Each Serviciu poate avea at most one Tarif_Conectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
11
Uniqueness
467
Each Contract prevede prestarea unui at most one Serviciu.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
12
Uniqueness
530
Each Contract este de tipul at most one Tip_Contr.
Record:
Constraint type:
ID:
Verbalization:
13
Uniqueness
391
It is possible that some Serviciu are more than one Tip_conectivitate and
that more than one Serviciu are some Tip_conectivitate.
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
14
Uniqueness
528
Each Contract este ncheiat la at most one Data_Contr.
Anexe
101
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
15
Uniqueness
400
Each Cont_Bancar are at most one Nr_Cont_Bancar.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
16
Uniqueness
526
Each Factura este emisa la at most one Data_Fact.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
17
Uniqueness
473
Each Cont_Email are at most one Parola_User.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
19
Uniqueness
520
Each Factura are at most one Val_Fact_Lei.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
20
Uniqueness
519
Each Factura are at most one Val_Fact_Dolari.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
21
Uniqueness
411
Each Persoana are adresa in at most one Judet.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
22
Uniqueness
517
Each Incasari are at most one Nr_Document_Incasare.
Anexe
102
23
Uniqueness
417
Each Persoana este at most one Tip_Persoana.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
24
Uniqueness
515
Each Incasari se efectueaza la at most one Data_Incasarii.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
25
Uniqueness
514
Each Incasari are o at most one Val_Incasare_Lei.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
26
Uniqueness
513
Each Incasari are o at most one Val_Incasare_Dolari.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
27
Uniqueness
404
Each Cont_Bancar este utilizat de at most one Agent.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
28
Uniqueness
511
Each Incasari se face pe baza at most one Tip_Document.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
29
Uniqueness
402
Each Cont_Bancar este deschis la at most one Banca.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
30
Uniqueness
421
Each Persoana are at most one Telefon.
Record:
31
Anexe
103
Uniqueness
508
Each Incasari se efectueaza pe baza at most one Factura.
Record:
Constraint type:
ID:
Verbalization:
32
Primary uniqueness
507
For each Factura f and Tip_Document t
there is at most one Incasari that
se efectueaza pe baza Factura f and se face pe baza Tip_Document t.
Incasari is primarily identified by this unique combination.
Notes:
Statistics:
Defined over:
Incasari se efectueaza pe baza
Incasari se face pe baza
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
33
Uniqueness
420
For each Mobil m, at most one Persoana are Mobil m.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
34
Uniqueness
505
For each Nr_Reg_Comert n, at most one Agent este inregistrat cu Nr_Reg_Comert n.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
35
Uniqueness
504
Each Agent este inregistrat cu at most one Nr_Reg_Comert.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
36
Uniqueness
503
Each Agent are at most one Fax_Agent.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
37
Uniqueness
422
For each Telefon t, at most one Persoana are Telefon t.
Record:
Constraint type:
ID:
38
Primary uniqueness
394
Anexe
104
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
39
Uniqueness
500
Each Abonat are at most one Tip_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
40
Uniqueness
425
Each Persoana are at most one Nume.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
41
Uniqueness
498
Each Abonat are act identitate cu at most one Seria_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
42
Uniqueness
423
Each Persoana are at most one Adresa.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
43
Uniqueness
496
Each Abonat are act identitate cu at most one Nr_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
44
Uniqueness
419
Each Persoana are at most one Mobil.
Record:
Constraint type:
ID:
Verbalization:
45
Uniqueness
494
Each Abonat are act identitate emis de at most one Emis_Politia.
Anexe
105
Defined over:
Abonat are act identitate cu
Abonat are act identitate cu
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
47
Uniqueness
492
Each Abonat are at most one Prenume_Abonat.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
49
Uniqueness
490
Each Act_Aditional este identificat partial de at most one Nr_Act_Aditional.
Record:
Constraint type:
ID:
Verbalization:
50
Primary uniqueness
437
*Given any Act_Aditional and Serviciu
that Act_Aditional prevede prestarea that Serviciu in at most one Cant_serv.
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
51
Uniqueness
488
Each Localitate are at most one Denumire_Loc.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
52
Uniqueness
392
Each Contract este incheiat at most one Abonat.
Anexe
106
53
Uniqueness
429
Each Cont_Email poate apartine at most one Agent.
Record:
Constraint type:
ID:
Verbalization:
54
Uniqueness
485
It is possible that some Localitate face parte din more than one Judet and
that more than one Localitate face parte din some Judet.
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
Consum este identificat partial
Consum contine
Consum se efectueaza la
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
56
Uniqueness
483
For each Denumire_Jud d, at most one Judet are Denumire_Jud d.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
57
Uniqueness
482
Each Judet are at most one Denumire_Jud.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
58
Uniqueness
385
Each Factura este intocmita pe baza at most one Contract pe baza.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
59
Uniqueness
389
Each Incasari poate fi efectuata de la at most one Agent.
Anexe
107
60
Uniqueness
390
Each Incasari poate fi efectuata de la at most one Abonat.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
61
Uniqueness
446
Each Consum are at most one Durata_Conectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
62
Uniqueness
474
For each Parola_User p, at most one Cont_Email are Parola_User p.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
63
Uniqueness
414
Each Persoana are adresa in at most one Localitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
64
Uniqueness
442
Each Act_Aditional este intocmit la at most one Data_Act_Ad.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
65
Uniqueness
452
Each Consum contine at most one Ora_Deconectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
66
Uniqueness
450
Each Consum are at most one Trafic_Intrare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
67
Uniqueness
448
Each Consum are at most one Trafic_Iesire.
Anexe
108
68
Uniqueness
444
Each Consum are at most one Trafic_Total.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
69
Uniqueness
456
Each Consum se efectueaza la at most one Data_Consum.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
70
Uniqueness
454
Each Consum contine at most one Ora_Conectare.
71
Mandatory (simple)
455
Each Consum contine some Ora_Conectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
72
Mandatory (simple)
484
Each Judet are some Denumire_Jud.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
73
Mandatory (simple)
453
Each Consum contine some Ora_Deconectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
74
Mandatory (simple)
475
Each Cont_Email are some Parola_User.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
75
Mandatory (simple)
491
Each Act_Aditional este identificat partial de some Nr_Act_Aditional.
Anexe
109
76
Mandatory (simple)
451
Each Consum are some Trafic_Intrare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
77
Mandatory (simple)
489
Each Localitate are some Denumire_Loc.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
78
Mandatory (simple)
449
Each Consum are some Trafic_Iesire.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
79
Mandatory (simple)
487
Each Localitate face parte din some Judet.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
80
Mandatory (simple)
447
Each Consum are some Durata_Conectare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
81
Mandatory (simple)
486
For each Judet j, some Localitate face parte din Judet j.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
82
Mandatory (simple)
445
Each Consum are some Trafic_Total.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
83
Mandatory (simple)
495
Each Abonat are act identitate emis de some Emis_Politia.
Record:
Constraint type:
84
Mandatory (simple)
Anexe
110
443
Each Act_Aditional este intocmit la some Data_Act_Ad.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
85
Mandatory (simple)
516
Each Incasari se efectueaza la some Data_Incasarii.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
87
Mandatory (simple)
501
Each Abonat are some Tip_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
88
Mandatory (simple)
439
Each Act_Aditional prevede prestarea some Serviciu in some Cant_serv.
Record:
Constraint type:
ID:
Verbalization:
89
Mandatory (simple)
438
For each Serviciu s,
some Act_Aditional prevede prestarea Serviciu s in some Cant_serv.
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
90
Mandatory (simple)
499
Each Abonat are act identitate cu some Seria_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
91
Disjunctive mandatory
436
Each Incasari are o some Val_Incasare_Lei or are o some Val_Incasare_Dolari.
Defined over:
Record:
92
Anexe
111
Disjunctive mandatory
435
Each Factura are some Val_Fact_Dolari or are some Val_Fact_Lei.
Two relationships, two total roles
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
93
Mandatory (simple)
497
Each Abonat are act identitate cu some Nr_Act_Identitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
94
Mandatory (simple)
430
Each Serviciu poate apartine unui some Contract.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
95
Mandatory (simple)
539
Each Serviciu se caracterizeaza prin some Trafic.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
96
Mandatory (simple)
506
Each Agent este inregistrat cu some Nr_Reg_Comert.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
97
Mandatory (simple)
527
Each Factura este emisa la some Data_Fact.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
98
Mandatory (simple)
426
Each Persoana are some Nume.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
99
Mandatory (simple)
502
Each Abonat are some Prenume_Abonat.
Anexe
112
100
Mandatory (simple)
424
Each Persoana are some Adresa.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
101
Mandatory (simple)
541
Each Serviciu se caracterizeaza prin some Timp_acces.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
102
Mandatory (simple)
512
Each Incasari se face pe baza some Tip_Document.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
103
Mandatory (simple)
509
For each Factura f, some Incasari se efectueaza pe baza Factura f.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
104
Mandatory (simple)
510
Each Incasari se efectueaza pe baza some Factura.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
105
Mandatory (simple)
518
Each Incasari are some Nr_Document_Incasare.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
106
Mandatory (simple)
418
Each Persoana este some Tip_Persoana.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
107
Mandatory (simple)
525
Each Factura are some Serie_Fact.
Record:
108
Anexe
113
Mandatory (simple)
416
Each Persoana are adresa in some Localitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
109
Mandatory (simple)
415
For each Localitate l, some Persoana are adresa in Localitate l.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
110
Mandatory (simple)
534
Each Serviciu se efectueaza some printrun Mediu_Transmisie.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
111
Mandatory (simple)
413
Each Persoana are adresa in some Judet.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
112
Mandatory (simple)
412
For each Judet j, some Persoana are adresa in Judet j.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
113
Mandatory (simple)
531
Each Contract este de tipul some Tip_Contr.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
114
Disjunctive mandatory
410
Each Persoana are some Telefon or are some Mobil.
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
115
Mandatory (simple)
406
Each Agent utilizeaza some Cont_Bancar.
One relationship, one role
Anexe
114
116
Mandatory (simple)
405
Each Cont_Bancar este utilizat de some Agent.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
117
Mandatory (simple)
529
Each Contract este ncheiat la some Data_Contr.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
118
Mandatory (simple)
403
Each Cont_Bancar este deschis la some Banca.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
119
Mandatory (simple)
459
Each Consum este identificat partial some Cont_Email.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
120
Mandatory (simple)
401
Each Cont_Bancar are some Nr_Cont_Bancar.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
121
Mandatory (simple)
535
Each Serviciu are some Tip_conectivitate.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
122
Mandatory (simple)
537
Each Serviciu are some Val_Serviciu.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
123
Mandatory (simple)
398
Each Contract este intocmit de some Agent.
Record:
124
Anexe
115
Mandatory (simple)
468
Each Contract prevede prestarea unui some Serviciu.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
125
Mandatory (simple)
396
Each Act_Aditional apartine unui some Contract.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
126
Mandatory (simple)
457
Each Consum se efectueaza la some Data_Consum.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
127
Mandatory (simple)
393
Each Contract este incheiat some Abonat.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
128
Mandatory (simple)
386
For each Contract c, some Factura este intocmita pe baza Contract c pe baza.
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
129
Mandatory (simple)
387
Each Factura este intocmita pe baza some Contract pe baza.
130
Index
476
A non-unique index will be created over the curly-bracketed role of Denumire_Loc in the fact type:
Localitate are
One relationship, one role
Localitate are
131
Index
460
A non-unique index will be created over the curly-bracketed role of Prenume_Abonat in the fact
type:
Abonat are
One relationship, one role
Anexe
116
Abonat are
Record:
Constraint type:
ID:
Verbalization:
132
Index
434
A non-unique index will be created over the curly-bracketed role of Data_Fact in the fact type:
Factura este emisa la
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
Defined over:
135
Exclusion
427
No Cont_Email that poate apartine some Agent poate apartine some Abonat.
Two relationships, two sequences of one role
Defined over:
Record:
Constraint type:
ID:
Verbalization:
Notes:
Statistics:
136
Exclusion
388
Assuming a is an instance of Abonat or Agent then
For each a, at most one of the following holds:
some Incasari poate fi efectuata de la Abonat a;
some Incasari poate fi efectuata de la Agent a.
Two relationships, two sequences of one role
Defined over:
Incasari poate fi efectuata de la
Incasari poate fi efectuata de la
Anexe
117
Pers oana
(Id_Pers)
poate avea casuta pos tala
1
147
Persoana poate avea casuta postala
Does not result in a composite type
1
None
None
None
ID:
Fact:
Mapping option:
Fact arity:
External rules:
External constraints:
Examples:
Record:
Val_Serviciu
are
2
360
Serviciu are Val_Serviciu
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Serviciu
(Cod_Serv)
1
Tip_conectivitate
Record:
are
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
3
356
Serviciu are Tip_conectivitate
Does not result in a composite type
2
2
1: Each Serviciu are some Tip_conectivitate.
2: It is possible that some Serviciu are more than one Tip_conectivitate and
that more than one Serviciu are some Tip_conectivitate.
None
None
Anexe
118
None
2
Serv iciu
(Cod _Serv )
Record:
1
Mediu_ Tran smisie
se efectueaza printr-u n
4
352
Serviciu se efectueaza printrun Mediu_Transmisie
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Serviciu
(Cod_Serv)
Record:
Trafic
se caracterizeaza prin
5
364
Serviciu se caracterizeaza prin Trafic
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
1
Record:
Serviciu
(Cod_Serv)
Tarif_Conectare
poate avea
6
348
Serviciu poate avea Tarif_Conectare
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Contract
(Nr_Contr)
Record:
Tip_Contr
este de tipul
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
7
344
Contract este de tipul Tip_Contr
Does not result in a composite type
2
Anexe
119
3
1: Each Contract este de tipul some Tip_Contr.
2: Each Contract este de tipul at most one Tip_Contr.
3: A non-unique index will be created over the curly-bracketed role of Tip_Contr in the fact
type:
Contract este de tipul
None
None
None
External rules:
External constraints:
Examples:
2
Contract
(Nr_Contr)
Record:
Data_Contr
este ncheiat la
8
340
Contract este ncheiat la Data_Contr
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Factura
(Nr_Fact)
Record:
1
Data_Fact
este emisa la
9
336
Factura este emisa la Data_Fact
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Factura
(Nr_Fact)
Record: 10
ID:
332
Fact: Factura are
Serie_Fact
Serie_Fact
are
Inverse fact:
Mapping option:
Fact arity:
Constraints:
Anexe
120
External rules:
External constraints:
Examples:
1
Factura
(Nr_Fact)
Record:
Val_Fact_Lei
are
11
324
Factura are Val_Fact_Lei **
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
Derived(**) by rule:
1
Factura
(Nr_Fact)
Val_Fact_Dolari
Record:
are
12
320
Factura are Val_Fact_Dolari
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Incasari
Tip_Document
se face pe baza
13
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
316
Incasari se face pe baza Tip_Document
Does not result in a composite type
2
2
1: Each Incasari se face pe baza some Tip_Document.
2: Each Incasari se face pe baza at most one Tip_Document.
1
1: For each Factura f and Tip_Document t
there is at most one Incasari that
Anexe
121
Record:
None
2
1
Incasari
Nr_Document_Incasare
Record:
are
14
312
Incasari are Nr_Document_Incasare
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Record:
1
Incasari
Data_Incasarii
se efectueaza la
15
308
Incasari se efectueaza la Data_Incasarii
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
1
Incasari
Val_Incasare_Lei
Record:
are o
16
304
Incasari are o Val_Incasare_Lei
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
1
Record:
Incasari
Val_Incasare_Dolari
are o
17
ID:
300
Anexe
122
External rules:
External constraints:
Examples:
Derived(**) by rule:
3
1
Incasari
Factura
(Nr_Fact)
Record:
se efectueaza pe baza
18
296
Incasari se efectueaza pe baza Factura
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
Record:
2
Agent
(Cod_Unic)
1
Nr_Reg_Comert
este inregistrat cu
19
292
Agent este inregistrat cu Nr_Reg_Comert
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
Record:
2
Agent
(Cod_Unic)
1
Fax_Agent
are
Anexe
123
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
1
Prenume_Abonat
Record:
are
21
284
Abonat are Prenume_Abonat
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
1
Tip_Act_Identitate
Record:
are
22
280
Abonat are Tip_Act_Identitate
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
1
Seria_Act_Identitate
are act identitate cu
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
23
276
Abonat are act identitate cu Seria_Act_Identitate
Does not result in a composite type
2
2
1: Each Abonat are act identitate cu some Seria_Act_Identitate.
Anexe
124
Record:
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
1
Nr_Act_Identitate
Record:
24
272
Abonat are act identitate cu Nr_Act_Identitate
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
Record:
1
Emis_Politia
are act identitate emis de
25
268
Abonat are act identitate emis de Emis_Politia
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Act_Aditional
Nr_Act_Aditional
Record:
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
26
264
Act_Aditional este identificat partial de Nr_Act_Aditional
Does not result in a composite type
2
2
1: Each Act_Aditional este identificat partial de some Nr_Act_Aditional.
2: Each Act_Aditional este identificat partial de at most one Nr_Act_Aditional.
1
Anexe
125
Examples:
2
Localitate
(Abrev_Loc)
Record:
1
Denumire_Loc
are
27
260
Localitate are Denumire_Loc
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
1
Localitate
(Abrev_Loc)
Judet
(Abrev_Jud)
Record:
28
256
Localitate face parte din Judet
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
2
Judet
(Abrev_Jud)
Record:
Denumire_Jud
are
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
29
252
Judet are Denumire_Jud
Does not result in a composite type
2
3
1: Each Judet are some Denumire_Jud.
Anexe
126
External rules:
External constraints:
Examples:
3
Record:
2
1
Cont_Email
(Cont_User)
Parola_User
are
30
244
Cont_Email are Parola_User
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Serviciu
(Cod_Serv)
Timp_acces
Record:
se caracterizeaza prin
31
368
Serviciu se caracterizeaza prin Timp_acces
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Record:
Cont_Email
(Cont_User)
Consum
este identificat partial
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
32
224
Consum este identificat partial Cont_Email
Does not result in a composite type
2
2
1: Each Consum este identificat partial some Cont_Email.
2: Each Consum este identificat partial at most one Cont_Email.
1
1: For each Cont_Email c, Ora_Conectare o and Data_Consum d
there is at most one Consum that
este identificat partial Cont_Email c and contine Ora_Conectare o and se efectueaza
la Data_Consum d.
Consum is primarily identified by this unique combination.
None
Anexe
127
Record:
1
Consum
Data_Consum
se efectueaza la
33
220
Consum se efectueaza la Data_Consum
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
Record:
1
Consum
Ora_Conectare
contine
34
216
Consum contine Ora_Conectare
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Consum
Ora_Deconectare
contine
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
35
212
Consum contine Ora_Deconectare
Does not result in a composite type
2
2
1: Each Consum contine some Ora_Deconectare.
2: Each Consum contine at most one Ora_Deconectare.
None
Anexe
128
Record:
None
None
2
1
Consum
Record:
Trafic_Intrare
are
36
208
Consum are Trafic_Intrare
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Consum
Record:
Trafic_Iesire
are
37
204
Consum are Trafic_Iesire
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Consum
Record:
Durata_Conectare
are
38
200
Consum are Durata_Conectare **
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
Derived(**) by rule:
Record:
1
Consum
Trafic_Total
are
Anexe
129
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
Derived(**) by rule:
2
1
Act_Aditional
Record:
Data_Act_Ad
este intocmit la
40
192
Act_Aditional este intocmit la Data_Act_Ad
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
1
Cont_Email
(Cont_User)
Record:
Agent
(Cod_Unic)
poate apartine / poate detine
41
188
Cont_Email poate apartine Agent
Agent poate detine Cont_Email
Does not result in a composite type
2
1
1: Each Cont_Email poate apartine at most one Agent.
1
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
1: No Cont_Email that poate apartine some Agent poate apartine some Abonat.
None
Examples:
3
Contract
(Nr_Contr)
Serviciu
(Cod_Serv)
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
42
236
Contract prevede prestarea unui Serviciu
Serviciu poate apartine unui Contract
Does not result in a composite type
2
3
1: Each Contract prevede prestarea unui some Serviciu.
2: Each Serviciu poate apartine unui some Contract.
3: Each Contract prevede prestarea unui at most one Serviciu.
None
None
Anexe
130
Record:
None
1
Cont_Email
(Cont_User)
Abonat
(CNP)
Record:
43
175
Cont_Email poate apartine Abonat
Abonat poate detine Cont_Email
Does not result in a composite type
2
1
1: Each Cont_Email poate apartine at most one Abonat.
1
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
1: No Cont_Email that poate apartine some Agent poate apartine some Abonat.
None
Examples:
2
Persoana
(Id_Pers)
Record:
Nume
are
44
171
Persoana are Nume
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Persoana
(Id_Pers)
Record:
Adresa
are
45
167
Persoana are Adresa
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Record:
Persoana
(Id_Pers)
Telefon
are
ID:
Fact:
Inverse fact:
Mapping option:
46
163
Persoana are Telefon
Does not result in a composite type
Anexe
131
2
2
1: For each Telefon t, at most one Persoana are Telefon t.
2: Each Persoana are at most one Telefon.
1
External rules:
External constraints:
Examples:
Record:
1
Persoana
(Id_Pers)
Mobil
are
47
159
Persoana are Mobil
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Persoana
(Id_Pers)
Record:
Tip_Persoana
este
48
155
Persoana este Tip_Persoana
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
Persoana
(Id_Pers)
Record:
Localitate
(Abrev_Loc)
are adresa in
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
49
151
Persoana are adresa in Localitate
Does not result in a composite type
2
3
1: Each Persoana are adresa in some Localitate.
2: For each Localitate l, some Persoana are adresa in Localitate l.
3: Each Persoana are adresa in at most one Localitate.
None
Anexe
132
None
None
2
Con tract
(Nr_ Con tr)
Agent
(Co d_ Un ic)
Record:
50
124
Contract este intocmit de Agent
Agent intocmeste Contract
Does not result in a composite type
2
2
1: Each Contract este intocmit de some Agent.
2: Each Contract este intocmit de at most one Agent.
None
None
None
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
Persoana
(Id_Pers)
Record:
Judet
(Abrev_Jud)
are adresa in
51
144
Persoana are adresa in Judet
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
3
Agen t
(Cod _ Un ic)
2
Con t_ Ban car
u tilizeaza / este utilizat d e
Record:
52
136
Agent utilizeaza Cont_Bancar
Cont_Bancar este utilizat de Agent
Does not result in a composite type
2
3
1: Each Agent utilizeaza some Cont_Bancar.
2: Each Cont_Bancar este utilizat de some Agent.
3: Each Cont_Bancar este utilizat de at most one Agent.
None
None
None
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
1
Record:
Banca
(Nume)
Cont_Bancar
este deschis la
ID:
Fact:
53
132
Cont_Bancar este deschis la Banca
Anexe
133
External rules:
External constraints:
Examples:
2
1
Cont_Bancar
Nr_Cont_Bancar
Record:
are
54
128
Cont_Bancar are Nr_Cont_Bancar
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
2
Con tract
(Nr_ Contr)
Act_ Adition al
po ate avea / apartine u nui
Inverse fact:
Mapping option:
Fact arity:
Constraints:
Record: 55
ID:
120
Fact:
Contract poate
avea Act_Aditional
External rules:
External constraints:
Examples:
2
Abonat
(CNP)
Record:
Contract
(Nr_Contr)
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
56
116
Abonat incheie Contract
Contract este incheiat Abonat
Does not result in a composite type
2
Anexe
134
2
1: Each Contract este incheiat some Abonat.
2: Each Contract este incheiat at most one Abonat.
None
None
None
External rules:
External constraints:
Examples:
3
Factura
(Nr_Fact)
Contract
(Nr_Contr)
Record:
57
112
Factura este intocmita pe baza Contract pe baza
ID:
Fact:
Inverse fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
1
Abonat
(CNP)
Incasari
poate fi efectuata de la / plateste
Inverse fact:
Mapping option:
Fact arity:
Constraints:
Record: 58
ID:
108
Fact:
Incasari poate
fi efectuata de la Abonat
External rules:
External constraints:
Examples:
1
Agent
(Cod_Unic)
Incasari
poate fi efectuata de la / plateste
Inverse fact:
Mapping option:
Fact arity:
Constraints:
Record: 59
ID:
104
Fact:
Incasari poate
fi efectuata de la Agent
External rules:
External constraints:
Examples:
3
1
Act_Aditional
Cant_serv
...prevede prestarea...in...
2
Serviciu
(Cod_Serv)
Anexe
135
Facts
with arity: 3
Record:
ID:
Fact:
Mapping option:
Fact arity:
Constraints:
External rules:
External constraints:
Examples:
60
184
Act_Aditional prevede prestarea Serviciu in Cant_serv
Does not result in a composite type
3
3
1: Each Act_Aditional prevede prestarea some Serviciu in some Cant_serv.
2: For each Serviciu s,
some Act_Aditional prevede prestarea Serviciu s in some Cant_serv.
3: *Given any Act_Aditional and Serviciu
that Act_Aditional prevede prestarea that Serviciu in at most one
Cant_serv.
None
None
None
Anexe
136
15
Entity
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
No
Neutral
8
Cont_Email poate apartine Abonat / Abonat poate detine Cont_Email
Abonat are act identitate cu Nr_Act_Identitate
Incasari poate fi efectuata de la Abonat / Abonat plateste Incasari
Abonat are act identitate cu Seria_Act_Identitate
Abonat are Tip_Act_Identitate
Abonat incheie Contract / Contract este incheiat Abonat
Abonat are Prenume_Abonat
Abonat are act identitate emis de Emis_Politia
Entity-specific attributes
Reference scheme:
Subtype-specific attributes
Subtype definition:
Supertypes:
Primary supertype:
Subtype mapping:
Act_Aditional
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
18
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
4
Act_Aditional este intocmit la Data_Act_Ad
Contract poate avea Act_Aditional / Act_Aditional apartine unui
Contract
Act_Aditional este identificat partial de Nr_Act_Aditional
Anexe
137
Entity-specific attributes
Reference scheme:
Agent
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
20
Entity
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
No
Neutral
6
Agent utilizeaza Cont_Bancar / Cont_Bancar este utilizat de Agent
Agent este inregistrat cu Nr_Reg_Comert
Incasari poate fi efectuata de la Agent / Agent plateste Incasari
Cont_Email poate apartine Agent / Agent poate detine Cont_Email
Contract este intocmit de Agent / Agent intocmeste Contract
Agent are Fax_Agent
Entity-specific attributes
Reference scheme:
Subtype-specific attributes
Subtype definition:
Supertypes:
Primary supertype:
Subtype mapping:
Banca
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
21
Entity
No
The possible values of 'Nume' are: 'BCR', 'BRD', 'BancPost',
'BancaIonTiriac', 'RaiffeisenBank'.
No
Does not result in a composite type
SBCS Char(30)
char(30)
No
Neutral
1
Cont_Bancar este deschis la Banca
Entity-specific attributes
Reference scheme:
Consum
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
26
Entity
No
Anexe
138
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
8
Consum are Trafic_Total **
Consum are Trafic_Iesire
Consum are Trafic_Intrare
Consum se efectueaza la Data_Consum
Consum are Durata_Conectare **
Consum contine Ora_Deconectare
Consum este identificat partial Cont_Email
Consum contine Ora_Conectare
Entity-specific attributes
Reference scheme:
Cont_Bancar
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
27
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
3
Agent utilizeaza Cont_Bancar / Cont_Bancar este utilizat de Agent
Cont_Bancar are Nr_Cont_Bancar
Cont_Bancar este deschis la Banca
Entity-specific attributes
Reference scheme:
Cont_Email
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
28
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
4
Cont_Email poate apartine Abonat / Abonat poate detine Cont_Email
Anexe
139
Entity-specific attributes
Reference scheme:
Contract
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
30
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
7
Contract este de tipul Tip_Contr
Factura este intocmita pe baza Contract pe baza
Contract prevede prestarea unui Serviciu / Serviciu poate apartine unui
Contract
Abonat incheie Contract / Contract este incheiat Abonat
Contract poate avea Act_Aditional / Act_Aditional apartine unui
Contract
Contract este intocmit de Agent / Agent intocmeste Contract
Contract este ncheiat la Data_Contr
Entity-specific attributes
Reference scheme:
Factura
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
40
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
6
Factura are Serie_Fact
Incasari se efectueaza pe baza Factura
Factura are Val_Fact_Dolari
Factura este emisa la Data_Fact
Factura este intocmita pe baza Contract pe baza
Factura are Val_Fact_Lei **
Entity-specific attributes
Reference scheme:
10
Incasari
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
43
Entity
No
Anexe
140
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
8
Incasari se face pe baza Tip_Document
Incasari poate fi efectuata de la Abonat / Abonat plateste Incasari
Incasari se efectueaza pe baza Factura
Incasari poate fi efectuata de la Agent / Agent plateste Incasari
Incasari are o Val_Incasare_Lei
Incasari se efectueaza la Data_Incasarii
Incasari are o Val_Incasare_Dolari **
Incasari are Nr_Document_Incasare
Entity-specific attributes
Reference scheme:
11
Judet
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
44
Entity
No
No
Does not result in a composite type
SBCS Char(2)
char(2)
No
Neutral
3
Judet are Denumire_Jud
Persoana are adresa in Judet
Localitate face parte din Judet
Entity-specific attributes
Reference scheme:
12
Localitate
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
45
Entity
No
No
Does not result in a composite type
SBCS Char(2)
char(2)
No
Neutral
3
Localitate are Denumire_Loc
Localitate face parte din Judet
Persoana are adresa in Localitate
Entity-specific attributes
Reference scheme:
13
Persoana
Anexe
141
60
Entity
fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
No
Neutral
8
Persoana este Tip_Persoana
Persoana are adresa in Judet
Persoana are Mobil
Persoana are Nume
Persoana are Telefon
Persoana are Adresa
Persoana are adresa in Localitate
Persoana poate avea casuta postala
Entity-specific attributes
Reference scheme:
Subtype-specific attributes
Subtypes:
14
Serviciu
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
64
Entity
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
8
Serviciu se caracterizeaza prin Trafic
Serviciu se caracterizeaza prin Timp_acces
Serviciu poate avea Tarif_Conectare
Contract prevede prestarea unui Serviciu / Serviciu poate apartine unui
Contract
Serviciu se efectueaza printrun Mediu_Transmisie
Serviciu are Tip_conectivitate
Serviciu are Val_Serviciu
Act_Aditional prevede prestarea Serviciu in Cant_serv
Entity-specific attributes
Reference scheme:
Adresa
General attributes
ID:
Object kind:
19
Value
Anexe
142
16
No
No
Does not result in a composite type
SBCS Char(30)
char(30)
No
Neutral
1
Persoana are Adresa
Cant_serv
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
17
22
Value
No
No
Does not result in a composite type
Small Signed Number
smallint
No
Neutral
1
Act_Aditional prevede prestarea Serviciu in Cant_serv
Data_Act_Ad
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
18
31
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Act_Aditional este intocmit la Data_Act_Ad
Data_Consum
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
19
32
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Consum se efectueaza la Data_Consum
Data_Contr
Anexe
143
20
33
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Contract este ncheiat la Data_Contr
Data_Fact
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
21
34
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Factura este emisa la Data_Fact
Data_Incasarii
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
22
35
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Incasari se efectueaza la Data_Incasarii
Denumire_Jud
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
36
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Anexe
144
23
Denumire_Loc
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
24
37
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Localitate are Denumire_Loc
Durata_Conectare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
25
38
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Consum are Durata_Conectare **
Emis_Politia
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
26
39
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Abonat are act identitate emis de Emis_Politia
Fax_Agent
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
41
Value
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
Anexe
145
27
No
Neutral
1
Agent are Fax_Agent
Mediu_Transmisie
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
28
46
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Serviciu se efectueaza printrun Mediu_Transmisie
Mobil
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
29
47
Value
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
No
Neutral
1
Persoana are Mobil
Nr_Act_Aditional
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
30
48
Value
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
1
Act_Aditional este identificat partial de Nr_Act_Aditional
Nr_Act_Identitate
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
49
Value
No
No
Anexe
146
31
Nr_Cont_Bancar
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
32
50
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Cont_Bancar are Nr_Cont_Bancar
Nr_Document_Incasare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
33
52
Value
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
1
Incasari are Nr_Document_Incasare
Nr_Reg_Comert
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
34
54
Value
No
No
Does not result in a composite type
SBCS Char(12)
char(12)
No
Neutral
1
Agent este inregistrat cu Nr_Reg_Comert
Nume
General attributes
ID:
Object kind:
Notes:
Name space:
56
Value
Anexe
147
35
No
No
Does not result in a composite type
SBCS Char(30)
char(30)
No
Neutral
1
Persoana are Nume
Ora_Conectare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
36
57
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Consum contine Ora_Conectare
Ora_Deconectare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
37
58
Value
No
No
Does not result in a composite type
Large Date & Time
datetime
No
Neutral
1
Consum contine Ora_Deconectare
Parola_User
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
38
59
Value
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
1
Cont_Email are Parola_User
Prenume_Abonat
Anexe
148
39
61
Value
No
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Abonat are Prenume_Abonat
Seria_Act_Identitate
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
40
62
Value
No
No
Does not result in a composite type
SBCS Char(2)
char(2)
No
Neutral
1
Abonat are act identitate cu Seria_Act_Identitate
Serie_Fact
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
41
63
Value
No
No
Does not result in a composite type
SBCS Char(2)
char(2)
No
Neutral
1
Factura are Serie_Fact
Tarif_Conectare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
65
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Anexe
149
42
Telefon
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
43
66
Value
No
No
Does not result in a composite type
SBCS Char(13)
char(13)
No
Neutral
1
Persoana are Telefon
Timp_acces
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
44
67
Value
No
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
1
Serviciu se caracterizeaza prin Timp_acces
Tip_Act_Identitate
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
45
68
Value
No
The possible values of 'Tip_Act_Identitate' are: 'BI', 'CI'.
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Abonat are Tip_Act_Identitate
Tip_conectivitate
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
69
Value
No
No
Does not result in a composite type
SBCS Char(20)
Anexe
150
46
char(20)
No
Neutral
1
Serviciu are Tip_conectivitate
Tip_Contr
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
47
70
Value
No
The possible values of 'Tip_Contr' are: 'AgentEconomic',
'AgentVanzari', 'PersoanaJuridica', 'PersoanaFizica', 'Dealer'.
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Contract este de tipul Tip_Contr
Tip_Document
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
48
71
Value
No
The possible values of 'Tip_Document' are: 'OrdinPlata', 'Chitanta',
'FillaCEC'.
No
Does not result in a composite type
SBCS Char(15)
char(15)
No
Neutral
1
Incasari se face pe baza Tip_Document
Tip_Persoana
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
49
72
Value
No
The possible values of 'Tip_Persoana' are: 'PF', 'PJ'.
No
Does not result in a composite type
SBCS Char(20)
char(20)
No
Neutral
1
Persoana este Tip_Persoana
Trafic
General attributes
ID:
Object kind:
Notes:
Name space:
73
Value
Anexe
151
50
No
The possible values of 'Trafic' are: 'MB', 'GB', 'Nelimitat'.
No
Does not result in a composite type
SBCS Char(10)
char(10)
No
Neutral
1
Serviciu se caracterizeaza prin Trafic
Trafic_Iesire
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
51
74
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Consum are Trafic_Iesire
Trafic_Intrare
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
52
75
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Consum are Trafic_Intrare
Trafic_Total
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
53
76
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Consum are Trafic_Total **
Val_Fact_Dolari
General attributes
ID:
77
Anexe
152
54
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Factura are Val_Fact_Dolari
Val_Fact_Lei
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
55
78
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Factura are Val_Fact_Lei **
Val_Incasare_Dolari
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
56
79
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Incasari are o Val_Incasare_Dolari **
Val_Incasare_Lei
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
80
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Incasari are o Val_Incasare_Lei
Anexe
153
57
Val_Serviciu
General attributes
ID:
Object kind:
Notes:
Name space:
Independent:
Value/Range:
Numeric:
Mapping option:
Portable data type:
Microsoft SQL Server data type:
Personal pronoun:
Gender:
Fact count:
Referencing facts:
81
Value
No
No
Does not result in a composite type
Small Decimal(10;0)
numeric(10;0)
No
Neutral
1
Serviciu are Val_Serviciu
Anexe
154
Tables
Act_Aditional prevede
prestarea Serviciu Cant_serv
Serviciu are Tip_conectivitate
Persoana
Columns
4
Indexes
0
Foreign keys
2
2
9
0
2
1
2
Contract
Cont_Bancar
Consum
Serviciu
Act_Aditional
Cont_Email
Localitate face parte din Judet
Localitate
Judet
Incasari
Factura
Agent
Abonat
6
3
8
6
3
4
2
2
2
8
6
4
7
2
0
0
0
0
1
0
1
1
0
1
3
3
3
1
1
0
1
2
2
0
0
3
1
1
1
Abonat
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
1
Abonat
Abonat
588
Yes
7
3
1
Anexe
155
Notes
fiecare
Persoana care
are
Tip_Persoana='
Persoana fizica'
este Abonat
fiecare
Persoana care
are
Tip_Persoana='
Persoana
juridica' este
Agent
CNP
0
Table
Columns
Data type
char(20)
char(20)
Allow
NULLs
Not allowed
Not allowed
char(2)
Not allowed
numeric(10;0
)
char(20)
char(13)
char(13)
Not allowed
Abonat_UC2 (U2)
Abonat_IDX3 (I1)
Foreign keys
Persoana_Abonat_FK1
Abonat_Contract_FK1
Abonat_Cont_Email_F
K1
Abonat_Incasari_FK1
Columns
Are act identitate cu
Nr_Act_Identitate
Are act identitate cu
Seria_Act_Identitate
Id_Pers
Are Prenume_Abonat
Not allowed
Not allowed
Not allowed
Sort order
Ascending
Ascending
Ascending
Ascending
Child
Id_Pers
Contract.Abonat incheie CNP
Cont_Email.Poate apartine CNP
Parent
Persoana.Id_Pers
CNP
CNP
Incasari.Poate fi efectuata de la
CNP
CNP
Column details
1. Are Prenume_Abonat (I1)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Prenume_Abonat
Prenume_Abonat
char(20)
Not allowed
2. Are Tip_Act_Identitate
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Value/Range:
Are Tip_Act_Identitate
Tip_Act_Identitate
char(20)
Not allowed
'BI', 'CI'.
Anexe
156
Value/
Range
'BI',
'CI'.
CNP
CNP
char(13)
Not allowed
Id_Pers
Id_Pers
char(13)
Not allowed
fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent
Child
Parent
Id_Pers
Persoana.Id_Pers
Non-Identifying
One -to- Zero-or-One
Not allowed
is a
is a
No action
No action
Relationship Persoana_Abonat_FK1: Persoana.Id_Pers is a Abonat.Id_Pers.
Persoana_Abonat_FK1 is a non identifying relationship.
Cardinality: one to zero-or-one.
Child
Parent
Contract.Abonat incheie CNP
CNP
Non-Identifying
One -to- Zero-or-More
Not allowed
Abonat incheie
este incheiat
No action
No action
Relationship Abonat_Contract_FK1: Abonat.CNP Abonat incheie
Contract.Abonat incheie CNP.
Abonat_Contract_FK1 is a non identifying relationship.
Cardinality: one to zero-or-more.
Abonat_Cont_Email_FK1
Definition:
Child
Parent
Anexe
157
Abonat_Incasari_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Incasari.Poate fi efectuata de la CNP CNP
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Abonat plateste
poate fi efectuata de la
No action
No action
Relationship Abonat_Incasari_FK1: Abonat.CNP Abonat plateste Incasari.Poate
fi efectuata de la CNP.
Abonat_Incasari_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Act_Aditional
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
2
Act_Aditional
Act_Aditional
633
No
3
0
1
1. Este identificat partial de Nr_Act_Aditional
2. Contract Nr_Contr
0
Table
Columns
Este identificat partial de
Nr_Act_Aditional
Contract Nr_Contr (FK)
Este intocmit la Data_Act_Ad
Data type
char(10)
Allow NULLs
Not allowed
char(10)
datetime
Not allowed
Not allowed
Foreign keys
Contract_Act_Aditional_FK1
Child
Contract Nr_Contr
Act_Aditional_Act_Aditional prevede
prestarea Serviciu Cant_serv_FK1
Column details
Anexe
158
Value/Range
Parent
Contract.Co
ntract
Nr_Contr
Este
identificat
partial de
Nr_Act_Adi
tional
Contract
Nr_Contr
Contract Nr_Contr
Nr_Contr
char(10)
Not allowed
Child
Parent
Contract Nr_Contr
Contract.Contract Nr_Contr
Identifying
One -to- Zero-or-More
Not allowed
poate avea
apartine unui
No action
No action
Relationship Contract_Act_Aditional_FK1: Contract.Contract Nr_Contr poate
avea Act_Aditional.Contract Nr_Contr.
Contract_Act_Aditional_FK1 is an identifying relationship.
Cardinality: one to zero-or-more.
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Act_Aditional prevede prestarea Serviciu Cant_serv.Este identificat partial de
Nr_Act_Aditional
Este identificat partial de
Nr_Act_Aditional
Act_Aditional prevede prestarea Serviciu Cant_serv.Contract Nr_Contr
Contract Nr_Contr
Identifying
One -to- One-or-More
Not allowed
has
is of
No action
No action
Relationship Act_Aditional_Act_Aditional prevede prestarea Serviciu
Cant_serv_FK1: Act_Aditional.[ Este identificat partial de Nr_Act_Aditional;
Contract Nr_Contr ] has Act_Aditional prevede prestarea Serviciu Cant_serv.
[ Este identificat partial de Nr_Act_Aditional; Contract Nr_Contr ].
Act_Aditional_Act_Aditional prevede prestarea Serviciu Cant_serv_FK1 is an
identifying relationship.
Cardinality: one to one-or-more.
3
Act_Aditional prevede prestarea Serviciu Cant_serv
Act_Aditional prevede prestarea Serviciu Cant_serv
692
Anexe
159
No
4
0
2
1. Este identificat partial de Nr_Act_Aditional
2. Contract Nr_Contr
3. Serviciu Cod_Serv
0
Table
Data type
char(10)
Allow NULLs
Not allowed
char(10)
char(10)
smallint
Not allowed
Not allowed
Not allowed
Foreign keys
Act_Aditional_Act_Aditional prevede
prestarea Serviciu Cant_serv_FK1
Child
Este identificat
partial de
Nr_Act_Aditional
Contract Nr_Contr
Serviciu Cod_Serv
Value/Range
Parent
Act_Aditional.Est
e identificat
partial de
Nr_Act_Aditional
Act_Aditional.Co
ntract Nr_Contr
Serviciu.Serviciu
Cod_Serv
Column details
1. Este identificat partial de Nr_Act_Aditional (FK)
Physical name:
Este identificat partial de Nr_Act_Aditional
Conceptual name:
Nr_Act_Aditional
Physical data type:
char(10)
Allow NULLs:
Not allowed
2. Contract Nr_Contr (FK)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Contract Nr_Contr
Nr_Contr
char(10)
Not allowed
Serviciu Cod_Serv
Cod_Serv
char(10)
Not allowed
4. Cant_serv
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Cant_serv
Cant_serv
smallint
Not allowed
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Child
Parent
Este identificat partial de Nr_Act_Aditional Act_Aditional.Este identificat
partial de Nr_Act_Aditional
Contract Nr_Contr
Act_Aditional.Contract Nr_Contr
Identifying
One -to- One-or-More
Not allowed
has
is of
Anexe
160
No action
No action
Relationship Act_Aditional_Act_Aditional prevede prestarea Serviciu
Cant_serv_FK1: Act_Aditional.[ Este identificat partial de Nr_Act_Aditional;
Contract Nr_Contr ] has Act_Aditional prevede prestarea Serviciu Cant_serv.
[ Este identificat partial de Nr_Act_Aditional; Contract Nr_Contr ].
Act_Aditional_Act_Aditional prevede prestarea Serviciu Cant_serv_FK1 is an
identifying relationship.
Cardinality: one to one-or-more.
Child
Parent
Serviciu Cod_Serv
Serviciu.Serviciu Cod_Serv
Identifying
One -to- One-or-More
Not allowed
has
is of
No action
No action
Relationship Serviciu_Act_Aditional prevede prestarea Serviciu
Cant_serv_FK1: Serviciu.Serviciu Cod_Serv has Act_Aditional prevede
prestarea Serviciu Cant_serv.Serviciu Cod_Serv.
Serviciu_Act_Aditional prevede prestarea Serviciu Cant_serv_FK1 is an
identifying relationship.
Cardinality: one to one-or-more.
Agent
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
Columns
Este inregistrat cu
Nr_Reg_Comert (U1)
Are Fax_Agent (U2)
Cod_Unic
Id_Pers (FK,U3)
Indexes
Agent_AK1 (U1)
Agent_AK2 (U2)
Agent_UC3 (U3)
Foreign keys
Persoana_Agent_FK1
Agent_Contract_FK1
Agent_Cont_Bancar_FK1
Agent_Cont_Email_FK1
4
Agent
Agent
595
Yes
4
3
1
Cod_Unic
0
Table
Data type
char(12)
Allow NULLs
Not allowed
char(13)
char(13)
char(13)
Not allowed
Not allowed
Not allowed
Columns
Este inregistrat cu
Nr_Reg_Comert
Are Fax_Agent
Id_Pers
Sort order
Ascending
Ascending
Ascending
Child
Id_Pers
Contract.Este intocmit de
Cod_Unic
Cont_Bancar.Agent utilizeaza
Cod_Unic
Cont_Email.Poate apartine
Cod_Unic
Anexe
Value/Range
161
Parent
Persoana.Id_Pers
Cod_Unic
Cod_Unic
Cod_Unic
Incasari.Poate fi efectuata de la
Cod_Unic
Cod_Unic
Column details
1. Este inregistrat cu Nr_Reg_Comert (U1)
Physical name:
Este inregistrat cu Nr_Reg_Comert
Conceptual name:
Nr_Reg_Comert
Physical data type:
char(12)
Allow NULLs:
Not allowed
2. Are Fax_Agent (U2)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Fax_Agent
Fax_Agent
char(13)
Not allowed
3. Cod_Unic
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Cod_Unic
Cod_Unic
char(13)
Not allowed
4. Id_Pers (FK,U3)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Notes:
Index details
Agent_AK1
Column(s):
Unique:
Verbalization:
Agent_AK2
Column(s):
Unique:
Verbalization:
Agent_UC3
Column(s):
Unique:
Verbalization:
Id_Pers
Id_Pers
char(13)
Not allowed
fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent
Child
Parent
Id_Pers
Persoana.Id_Pers
Non-Identifying
One -to- Zero-or-One
Not allowed
is a
is a
No action
No action
Relationship Persoana_Agent_FK1: Persoana.Id_Pers is a Agent.Id_Pers.
Persoana_Agent_FK1 is a non identifying relationship.
Cardinality: one to zero-or-one.
Child
Contract.Este intocmit de Cod_Unic
Anexe
162
Parent
Cod_Unic
Non-Identifying
One -to- Zero-or-More
Not allowed
Agent intocmeste
este intocmit de
No action
No action
Relationship Agent_Contract_FK1: Agent.Cod_Unic Agent intocmeste
Contract.Este intocmit de Cod_Unic.
Agent_Contract_FK1 is a non identifying relationship.
Cardinality: one to zero-or-more.
Agent_Cont_Bancar_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Cont_Bancar.Agent utilizeaza Cod_Unic
Cod_Unic
Non-Identifying
One -to- One-or-More
Not allowed
Agent utilizeaza
este utilizat de
No action
No action
Relationship Agent_Cont_Bancar_FK1: Agent.Cod_Unic Agent utilizeaza
Cont_Bancar.Agent utilizeaza Cod_Unic.
Agent_Cont_Bancar_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Agent_Cont_Email_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Cont_Email.Poate apartine Cod_Unic Cod_Unic
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Agent poate detine
poate apartine
No action
No action
Relationship Agent_Cont_Email_FK1: Agent.Cod_Unic Agent poate detine
Cont_Email.Poate apartine Cod_Unic.
Agent_Cont_Email_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Agent_Incasari_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Incasari.Poate fi efectuata de la Cod_Unic Cod_Unic
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Agent plateste
poate fi efectuata de la
No action
No action
Relationship Agent_Incasari_FK1: Agent.Cod_Unic Agent plateste
Incasari.Poate fi efectuata de la Cod_Unic.
Agent_Incasari_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Consum
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
5
Consum
Consum
666
Anexe
163
No
8
0
1
1. Cont_Email Cont_User
2. Contine Ora_Conectare
3. Se efectueaza la Data_Consum
0
Table
Columns
Cont_Email Cont_User (FK)
Contine Ora_Conectare
Se efectueaza la Data_Consum
Contine Ora_Deconectare
Are Trafic_Intrare
Are Trafic_Iesire
Are Durata_Conectare
Are Trafic_Total
Foreign keys
Cont_Email_Consum_FK1
Data type
char(10)
datetime
datetime
datetime
numeric(10;0)
numeric(10;0)
datetime
numeric(10;0)
Child
Cont_Email Cont_User
Column details
1. Cont_Email Cont_User (FK)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Cont_Email Cont_User
Cont_User
char(10)
Not allowed
2. Contine Ora_Conectare
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Contine Ora_Conectare
Ora_Conectare
datetime
Not allowed
3. Se efectueaza la Data_Consum
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Se efectueaza la Data_Consum
Data_Consum
datetime
Not allowed
4. Contine Ora_Deconectare
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Contine Ora_Deconectare
Ora_Deconectare
datetime
Not allowed
5. Are Trafic_Intrare
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Trafic_Intrare
Trafic_Intrare
numeric(10;0)
Not allowed
6. Are Trafic_Iesire
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Trafic_Iesire
Trafic_Iesire
numeric(10;0)
Not allowed
7. Are Durata_Conectare
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Durata_Conectare
Durata_Conectare
datetime
Not allowed
Anexe
164
Allow NULLs
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Value/Range
Parent
Cont_Email.Cont_Ema
il Cont_User
Are Trafic_Total
Trafic_Total
numeric(10;0)
Not allowed
Child
Parent
Cont_Email Cont_User
Cont_Email.Cont_Email Cont_User
Identifying
One -to- Zero-or-More
Not allowed
has
este identificat partial
No action
No action
Relationship Cont_Email_Consum_FK1: Cont_Email.Cont_Email Cont_User
has Consum.Cont_Email Cont_User.
Cont_Email_Consum_FK1 is an identifying relationship.
Cardinality: one to zero-or-more.
Cont_Bancar
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
6
Cont_Bancar
Cont_Bancar
670
Yes
3
0
1
1. Banca Nume
2. Are Nr_Cont_Bancar
0
Table
Columns
Banca Nume
Data type
char(30)
Allow NULLs
Not allowed
Are Nr_Cont_Bancar
Agent utilizeaza Cod_Unic (FK)
char(20)
char(13)
Not allowed
Not allowed
Foreign keys
Agent_Cont_Bancar_FK1
Child
Agent utilizeaza Cod_Unic
Value/Range
'BCR', 'BRD',
'BancPost',
'BancaIonTiriac',
'RaiffeisenBank'.
Parent
Agent.Cod_Unic
Column details
1. Banca Nume
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Value/Range:
Banca Nume
Nume
char(30)
Not allowed
'BCR', 'BRD', 'BancPost', 'BancaIonTiriac', 'RaiffeisenBank'.
2. Are Nr_Cont_Bancar
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Nr_Cont_Bancar
Nr_Cont_Bancar
char(20)
Not allowed
Anexe
165
Child
Parent
Agent utilizeaza Cod_Unic
Agent.Cod_Unic
Non-Identifying
One -to- One-or-More
Not allowed
Agent utilizeaza
este utilizat de
No action
No action
Relationship Agent_Cont_Bancar_FK1: Agent.Cod_Unic Agent utilizeaza
Cont_Bancar.Agent utilizeaza Cod_Unic.
Agent_Cont_Bancar_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Cont_Email
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
7
Cont_Email
Cont_Email
628
Yes
4
1
2
Cont_Email Cont_User
1
Table
Columns
Cont_Email Cont_User
Are Parola_User (U1)
Poate apartine Cod_Unic (FK)
Poate apartine CNP (FK)
Indexes
Cont_Email_AK1 (U1)
Foreign keys
Agent_Cont_Email_FK1
Abonat_Cont_Email_FK1
Cont_Email_Consum_FK1
Data type
char(10)
char(10)
char(13)
char(13)
Allow NULLs
Not allowed
Not allowed
Allowed
Allowed
Columns
Are Parola_User
Child
Poate apartine Cod_Unic
Poate apartine CNP
Consum.Cont_Email Cont_User
Column details
1. Cont_Email Cont_User
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Cont_Email Cont_User
Cont_User
char(10)
Not allowed
Are Parola_User
Anexe
166
Value/Range
Sort order
Ascending
Parent
Agent.Cod_Unic
Abonat.CNP
Cont_Email
Cont_User
Parola_User
char(10)
Not allowed
Code details
1. Cont_Email_excl
Notes:
/* The constraint:
/
/* No Cont_Email that poate apartine some Agent poate apartine some Abonat.
*/
/* is enforced by the following DDL.
*/
Type:
Code body:
Check clause
("Poate apartine Cod_Unic" is null) or ("Poate apartine CNP" is null)
Index details
Cont_Email_AK1
Column(s):
Unique:
Verbalization:
Child
Parent
Poate apartine Cod_Unic
Agent.Cod_Unic
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Agent poate detine
poate apartine
No action
No action
Relationship Agent_Cont_Email_FK1: Agent.Cod_Unic Agent poate detine
Cont_Email.Poate apartine Cod_Unic.
Agent_Cont_Email_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Abonat_Cont_Email_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Poate apartine CNP
Abonat.CNP
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Abonat poate detine
poate apartine
No action
No action
Relationship Abonat_Cont_Email_FK1: Abonat.CNP Abonat poate detine
Cont_Email.Poate apartine CNP.
Abonat_Cont_Email_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Anexe
167
Child
Consum.Cont_Email Cont_User
Parent
Cont_Email Cont_User
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Identifying
One -to- Zero-or-More
Not allowed
has
este identificat partial
No action
No action
Relationship Cont_Email_Consum_FK1: Cont_Email.Cont_Email Cont_User
has Consum.Cont_Email Cont_User.
Cont_Email_Consum_FK1 is an identifying relationship.
Cardinality: one to zero-or-more.
Contract
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
8
Contract
Contract
671
Yes
6
2
3
Contract Nr_Contr
0
Table
Columns
Contract Nr_Contr
Este de tipul Tip_Contr (I2)
Data type
char(10)
char(20)
Allow NULLs
Not allowed
Not allowed
datetime
char(10)
Not allowed
Not allowed
char(13)
char(13)
Not allowed
Not allowed
Value/Range
'AgentEconomi
c',
'AgentVanzari',
'PersoanaJuridi
ca',
'PersoanaFizica'
, 'Dealer'.
Indexes
Contract_IDX1 (I1)
Contract_IDX2 (I2)
Columns
Este ncheiat la Data_Contr
Este de tipul Tip_Contr
Sort order
Ascending
Ascending
Foreign keys
Serviciu_Contract_FK1
Child
Prevede prestarea unui Serviciu
Cod_Serv
Este intocmit de Cod_Unic
Abonat incheie CNP
Act_Aditional.Contract Nr_Contr
Parent
Serviciu.Serviciu
Cod_Serv
Agent.Cod_Unic
Abonat.CNP
Contract Nr_Contr
Contract Nr_Contr
Agent_Contract_FK1
Abonat_Contract_FK1
Contract_Act_Aditional_FK
1
Contract_Factura_FK1
Column details
1. Contract Nr_Contr
Physical name:
Contract Nr_Contr
Anexe
168
Nr_Contr
char(10)
Not allowed
Index details
Contract_IDX1
Column(s):
Unique:
Verbalization:
Contract_IDX2
Column(s):
Unique:
Verbalization:
Child
Parent
Prevede prestarea unui Serviciu Cod_Serv Serviciu.Serviciu Cod_Serv
Non-Identifying
One -to- One-or-More
Not allowed
poate apartine unui
prevede prestarea unui
No action
No action
Relationship Serviciu_Contract_FK1: Serviciu.Serviciu Cod_Serv poate apartine
unui Contract.Prevede prestarea unui Serviciu Cod_Serv.
Serviciu_Contract_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Agent_Contract_FK1
Definition:
Child
Parent
Anexe
169
Abonat_Contract_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Abonat incheie CNP
Abonat.CNP
Non-Identifying
One -to- Zero-or-More
Not allowed
Abonat incheie
este incheiat
No action
No action
Relationship Abonat_Contract_FK1: Abonat.CNP Abonat incheie
Contract.Abonat incheie CNP.
Abonat_Contract_FK1 is a non identifying relationship.
Cardinality: one to zero-or-more.
Child
Parent
Act_Aditional.Contract Nr_Contr
Contract Nr_Contr
Identifying
One -to- Zero-or-More
Not allowed
poate avea
apartine unui
No action
No action
Relationship Contract_Act_Aditional_FK1: Contract.Contract Nr_Contr poate
avea Act_Aditional.Contract Nr_Contr.
Contract_Act_Aditional_FK1 is an identifying relationship.
Cardinality: one to zero-or-more.
Contract_Factura_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Factura.Este intocmita pe baza Contract pe baza Nr_Contr
Contract
Nr_Contr
Non-Identifying
One -to- One-or-More
Not allowed
has
...este intocmita pe baza...pe baza
No action
No action
Relationship Contract_Factura_FK1: Contract.Contract Nr_Contr has
Factura.Este intocmita pe baza Contract pe baza Nr_Contr.
Contract_Factura_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Factura
Record:
Physical name:
9
Factura
Anexe
170
Factura
602
Yes
6
1
1
Factura Nr_Fact
1
Table
Columns
Factura Nr_Fact
Este emisa la Data_Fact (I1)
Are Serie_Fact
Are Val_Fact_Lei
Are Val_Fact_Dolari
Este intocmita pe baza Contract pe
baza Nr_Contr (FK)
Data type
char(10)
datetime
char(2)
numeric(10;0)
numeric(10;0)
char(10)
Indexes
Factura_IDX1 (I1)
Columns
Este emisa la Data_Fact
Sort order
Ascending
Foreign keys
Contract_Factura_FK1
Child
Este intocmita pe baza Contract
pe baza Nr_Contr
Incasari.Factura Nr_Fact
Parent
Contract.Contract
Nr_Contr
Factura Nr_Fact
Factura_Incasari_FK1
Column details
1. Factura Nr_Fact
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Factura Nr_Fact
Nr_Fact
char(10)
Not allowed
3. Are Serie_Fact
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Serie_Fact
Serie_Fact
char(2)
Not allowed
4. Are Val_Fact_Lei
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Val_Fact_Lei
Val_Fact_Lei
numeric(10;0)
Allowed
5. Are Val_Fact_Dolari
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Val_Fact_Dolari
Val_Fact_Dolari
numeric(10;0)
Allowed
Allow NULLs
Not allowed
Not allowed
Not allowed
Allowed
Allowed
Not allowed
Value/Range
Anexe
171
Type:
Code body:
Index details
Factura_IDX1
Column(s):
Unique:
Verbalization:
/* The constraint:
*/
/* Each Factura are some Val_Fact_Dolari or are some Val_Fact_Lei.
*/
/* is enforced by the following DDL. */
Check clause
("Are Val_Fact_Dolari" is not null) or
("Are Val_Fact_Lei" is not null)
Child
Parent
Este intocmita pe baza Contract pe baza Nr_Contr
Contract.Contract
Nr_Contr
Non-Identifying
One -to- One-or-More
Not allowed
has
...este intocmita pe baza...pe baza
No action
No action
Relationship Contract_Factura_FK1: Contract.Contract Nr_Contr has
Factura.Este intocmita pe baza Contract pe baza Nr_Contr.
Contract_Factura_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Child
Incasari.Factura Nr_Fact
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Identifying
One -to- One-or-More
Not allowed
has
se efectueaza pe baza
No action
No action
Relationship Factura_Incasari_FK1: Factura.Factura Nr_Fact has
Incasari.Factura Nr_Fact.
Factura_Incasari_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
Incasari
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
10
Incasari
Incasari
609
No
8
Anexe
172
Parent
Factura Nr_Fact
0
3
1. Factura Nr_Fact
2. Se face pe baza Tip_Document
1
Table
Columns
Data type
char(10)
char(15)
Allow
NULLs
Not allowed
Not allowed
Are Nr_Document_Incasare
Se efectueaza la Data_Incasarii
Are o Val_Incasare_Lei
Are o Val_Incasare_Dolari
Poate fi efectuata de la CNP (FK)
Poate fi efectuata de la Cod_Unic (FK)
char(10)
datetime
numeric(10;0)
numeric(10;0)
char(13)
char(13)
Not allowed
Not allowed
Allowed
Allowed
Allowed
Allowed
Foreign keys
Factura_Incasari_FK1
Child
Factura Nr_Fact
Abonat_Incasari_FK1
Agent_Incasari_FK1
Column details
1. Factura Nr_Fact (FK)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Factura Nr_Fact
Nr_Fact
char(10)
Not allowed
3. Are Nr_Document_Incasare
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Nr_Document_Incasare
Nr_Document_Incasare
char(10)
Not allowed
4. Se efectueaza la Data_Incasarii
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Se efectueaza la Data_Incasarii
Data_Incasarii
datetime
Not allowed
5. Are o Val_Incasare_Lei
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are o Val_Incasare_Lei
Val_Incasare_Lei
numeric(10;0)
Allowed
6. Are o Val_Incasare_Dolari
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are o Val_Incasare_Dolari
Val_Incasare_Dolari
numeric(10;0)
Allowed
Anexe
173
Value/Range
'OrdinPlata',
'Chitanta',
'FillaCEC'.
Parent
Factura.Factura
Nr_Fact
Abonat.CNP
Agent.Cod_Unic
Type:
Code body:
/* The constraint:
*/
/* Each Incasari are o some Val_Incasare_Lei or are o some
Val_Incasare_Dolari.
*/
/* is enforced by the following DDL.
*/
Check clause
("Are o Val_Incasare_Lei" is not null) or
("Are o Val_Incasare_Dolari" is not null)
Child
Parent
Factura Nr_Fact
Factura.Factura Nr_Fact
Identifying
One -to- One-or-More
Not allowed
has
se efectueaza pe baza
No action
No action
Relationship Factura_Incasari_FK1: Factura.Factura Nr_Fact has
Incasari.Factura Nr_Fact.
Factura_Incasari_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
Abonat_Incasari_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Poate fi efectuata de la CNP
Abonat.CNP
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Abonat plateste
poate fi efectuata de la
No action
No action
Relationship Abonat_Incasari_FK1: Abonat.CNP Abonat plateste Incasari.Poate
fi efectuata de la CNP.
Abonat_Incasari_FK1 is a non identifying relationship.
Cardinality: zero-or-one to zero-or-more.
Agent_Incasari_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Poate fi efectuata de la Cod_Unic
Agent.Cod_Unic
Non-Identifying
Zero-or-One -to- Zero-or-More
Allowed
Agent plateste
poate fi efectuata de la
No action
No action
Relationship Agent_Incasari_FK1: Agent.Cod_Unic Agent plateste
Incasari.Poate fi efectuata de la Cod_Unic.
Anexe
174
Judet
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
11
Judet
Judet
617
Yes
2
1
0
Judet Abrev_Jud
0
Table
Columns
Judet Abrev_Jud
Are Denumire_Jud (U1)
Data type
char(2)
char(20)
Indexes
Judet_AK1 (U1)
Allow NULLs
Not allowed
Not allowed
Columns
Are Denumire_Jud
Foreign keys
Judet_Localitate face parte din
Judet_FK1
Judet_Persoana_FK1
Child
Localitate face parte din
Judet.Judet Abrev_Jud
Persoana.Are adresa Judet
Abrev_Jud
Value/Range
Sort order
Ascending
Parent
Judet Abrev_Jud
Judet Abrev_Jud
Column details
1. Judet Abrev_Jud
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Judet Abrev_Jud
Abrev_Jud
char(2)
Not allowed
Are Denumire_Jud
Denumire_Jud
char(20)
Not allowed
Index details
Judet_AK1
Column(s):
Unique:
Verbalization:
Child
Parent
Localitate face parte din Judet.Judet Abrev_Jud
Judet Abrev_Jud
Identifying
One -to- One-or-More
Not allowed
has
face parte din
No action
No action
Relationship Judet_Localitate face parte din Judet_FK1: Judet.Judet Abrev_Jud
Anexe
175
Child
Parent
Persoana.Are adresa Judet Abrev_Jud Judet Abrev_Jud
Non-Identifying
One -to- One-or-More
Not allowed
has
are adresa in
No action
No action
Relationship Judet_Persoana_FK1: Judet.Judet Abrev_Jud has Persoana.Are
adresa Judet Abrev_Jud.
Judet_Persoana_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Localitate
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
12
Localitate
Localitate
622
Yes
2
1
0
Localitate Abrev_Loc
0
Table
Columns
Are Denumire_Loc (I1)
Localitate Abrev_Loc
Data type
char(20)
char(2)
Indexes
Localitate_IDX1 (I1)
Columns
Are Denumire_Loc
Foreign keys
Localitate_Persoana_FK1
Localitate_Localitate face parte din
Judet_FK1
Allow NULLs
Not allowed
Not allowed
Child
Persoana.Are adresa
Localitate Abrev_Loc
Localitate face parte
din Judet.Localitate
Abrev_Loc
Column details
1. Are Denumire_Loc (I1)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Denumire_Loc
Denumire_Loc
char(20)
Not allowed
2. Localitate Abrev_Loc
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Localitate Abrev_Loc
Abrev_Loc
char(2)
Not allowed
Index details
Localitate_IDX1
Anexe
176
Value/Range
Sort order
Ascending
Parent
Localitate Abrev_Loc
Localitate Abrev_Loc
Child
Parent
Persoana.Are adresa Localitate Abrev_Loc Localitate Abrev_Loc
Relationship type:
Non-Identifying
Cardinality:
One -to- One-or-More
Allow NULLs:
Not allowed
Verb phrase:
has
Inverse phrase:
are adresa in
Ref. Integrity on update:
No action
Ref. Integrity on delete:
No action
Verbalization:
Relationship Localitate_Persoana_FK1: Localitate.Localitate Abrev_Loc has
Persoana.Are adresa Localitate Abrev_Loc.
Localitate_Persoana_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Localitate_Localitate face parte din Judet_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Localitate face parte din Judet.Localitate Abrev_Loc Localitate Abrev_Loc
Identifying
One -to- One-or-More
Not allowed
face parte din
No action
No action
Relationship Localitate_Localitate face parte din Judet_FK1:
Localitate.Localitate Abrev_Loc face parte din Localitate face parte din
Judet.Localitate Abrev_Loc.
Localitate_Localitate face parte din Judet_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
13
Localitate face parte din Judet
Localitate face parte din Judet
625
No
2
0
2
1. Localitate Abrev_Loc
2. Judet Abrev_Jud
0
Table
Columns
Localitate Abrev_Loc (FK)
Judet Abrev_Jud (FK)
Foreign keys
Judet_Localitate face parte din
Judet_FK1
Localitate_Localitate face parte din
Judet_FK1
Data type
char(2)
char(2)
Allow NULLs
Not allowed
Not allowed
Child
Judet Abrev_Jud
Localitate Abrev_Loc
Column details
1. Localitate Abrev_Loc (FK)
Anexe
177
Value/Range
Parent
Judet.Judet
Abrev_Jud
Localitate.Localita
te Abrev_Loc
Localitate Abrev_Loc
Abrev_Loc
char(2)
Not allowed
Judet Abrev_Jud
Abrev_Jud
char(2)
Not allowed
Child
Parent
Judet Abrev_Jud
Judet.Judet Abrev_Jud
Relationship type:
Identifying
Cardinality:
One -to- One-or-More
Allow NULLs:
Not allowed
Verb phrase:
has
Inverse phrase:
face parte din
Ref. Integrity on update:
No action
Ref. Integrity on delete:
No action
Verbalization:
Relationship Judet_Localitate face parte din Judet_FK1: Judet.Judet Abrev_Jud
has Localitate face parte din Judet.Judet Abrev_Jud.
Judet_Localitate face parte din Judet_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
Localitate_Localitate face parte din Judet_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Localitate Abrev_Loc
Localitate.Localitate Abrev_Loc
Identifying
One -to- One-or-More
Not allowed
face parte din
No action
No action
Relationship Localitate_Localitate face parte din Judet_FK1:
Localitate.Localitate Abrev_Loc face parte din Localitate face parte din
Judet.Localitate Abrev_Loc.
Localitate_Localitate face parte din Judet_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
Persoana
Record:
Physical name:
Conceptual name:
ID:
Notes:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
Columns
Id_Pers
Are Nume
Are Adresa
14
Persoana
Persoana
679
fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent
Yes
9
2
2
Id_Pers
1
Table
Data type
char(13)
char(30)
char(30)
Anexe
178
Allow NULLs
Not allowed
Not allowed
Not allowed
Value/Range
char(13)
char(13)
char(20)
char(2)
Allowed
Allowed
Not allowed
Not allowed
bit
char(2)
Not allowed
Not allowed
Columns
Are Telefon
Are Mobil
'PF', 'PJ'.
Sort order
Ascending
Ascending
Child
Are adresa Localitate Abrev_Loc
Are adresa Judet Abrev_Jud
Agent.Id_Pers
Abonat.Id_Pers
Parent
Localitate.Localitate
Abrev_Loc
Judet.Judet Abrev_Jud
Id_Pers
Id_Pers
Id_Pers
Id_Pers
char(13)
Not allowed
fiecare Persoana care are Tip_Persoana='Persoana fizica' este Abonat
fiecare Persoana care are Tip_Persoana='Persoana juridica' este Agent
2. Are Nume
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Nume
Nume
char(30)
Not allowed
3. Are Adresa
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Adresa
Adresa
char(30)
Not allowed
Are Telefon
Telefon
char(13)
Allowed
Are Mobil
Mobil
char(13)
Allowed
6. Este Tip_Persoana
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Value/Range:
Este Tip_Persoana
Tip_Persoana
char(20)
Not allowed
'PF', 'PJ'.
Anexe
179
Type:
Code body:
Index details
Persoana_UC1
Column(s):
Unique:
Verbalization:
Persoana_UC2
Column(s):
Unique:
Verbalization:
/* The constraint:
*/
/* Each Persoana are some Telefon or are some Mobil. */
/* is enforced by the following DDL.
*/
Check clause
("Are Telefon" is not null) or
("Are Mobil" is not null)
Child
Parent
Are adresa Localitate Abrev_Loc
Localitate.Localitate Abrev_Loc
Non-Identifying
One -to- One-or-More
Not allowed
has
are adresa in
No action
No action
Relationship Localitate_Persoana_FK1: Localitate.Localitate Abrev_Loc has
Persoana.Are adresa Localitate Abrev_Loc.
Localitate_Persoana_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Judet_Persoana_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Are adresa Judet Abrev_Jud
Judet.Judet Abrev_Jud
Non-Identifying
One -to- One-or-More
Not allowed
has
are adresa in
No action
No action
Relationship Judet_Persoana_FK1: Judet.Judet Abrev_Jud has Persoana.Are
adresa Judet Abrev_Jud.
Judet_Persoana_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Anexe
180
Child
Parent
Agent.Id_Pers
Id_Pers
Non-Identifying
One -to- Zero-or-One
Not allowed
is a
is a
No action
No action
Relationship Persoana_Agent_FK1: Persoana.Id_Pers is a Agent.Id_Pers.
Persoana_Agent_FK1 is a non identifying relationship.
Cardinality: one to zero-or-one.
Persoana_Abonat_FK1
Definition:
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
Child
Parent
Abonat.Id_Pers
Id_Pers
Non-Identifying
One -to- Zero-or-One
Not allowed
is a
is a
No action
No action
Relationship Persoana_Abonat_FK1: Persoana.Id_Pers is a Abonat.Id_Pers.
Persoana_Abonat_FK1 is a non identifying relationship.
Cardinality: one to zero-or-one.
Serviciu
Record:
Physical name:
Conceptual name:
ID:
Owner:
Target DB name:
Independent:
Number of columns:
Number of indexes:
Number of foreign keys:
Primary key:
Codes:
Type:
15
Serviciu
Serviciu
638
Yes
6
0
0
Serviciu Cod_Serv
0
Table
Columns
Data type
Serviciu Cod_Serv
Se caracterizeaza prin Timp_acces
Se caracterizeaza prin Trafic
char(10)
char(10)
char(10)
Allow
NULLs
Not allowed
Not allowed
Not allowed
Are Val_Serviciu
Se efectueaza printrun
Mediu_Transmisie
Poate avea Tarif_Conectare
numeric(10;0)
char(20)
Not allowed
Not allowed
numeric(10;0)
Allowed
Foreign keys
Serviciu_Act_Aditional prevede prestarea
Serviciu Cant_serv_FK1
Serviciu_Serviciu are Tip_conectivitate_FK1
Anexe
Child
Act_Aditional prevede
prestarea Serviciu
Cant_serv.Serviciu
Cod_Serv
Serviciu are
Tip_conectivitate.Servici
u Cod_Serv
181
Value/Range
'MB', 'GB',
'Nelimitat'.
Parent
Serviciu
Cod_Serv
Serviciu
Cod_Serv
Contract.Prevede
prestarea unui Serviciu
Cod_Serv
Column details
1. Serviciu Cod_Serv
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Serviciu Cod_Serv
Cod_Serv
char(10)
Not allowed
4. Are Val_Serviciu
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Val_Serviciu
Val_Serviciu
numeric(10;0)
Not allowed
Serviciu
Cod_Serv
Child
Parent
Act_Aditional prevede prestarea Serviciu Cant_serv.Serviciu Cod_Serv
Serviciu Cod_Serv
Relationship type:
Identifying
Cardinality:
One -to- One-or-More
Allow NULLs:
Not allowed
Verb phrase:
has
Inverse phrase:
is of
Ref. Integrity on update:
No action
Ref. Integrity on delete:
No action
Verbalization:
Relationship Serviciu_Act_Aditional prevede prestarea Serviciu
Cant_serv_FK1: Serviciu.Serviciu Cod_Serv has Act_Aditional prevede
prestarea Serviciu Cant_serv.Serviciu Cod_Serv.
Serviciu_Act_Aditional prevede prestarea Serviciu Cant_serv_FK1 is an
identifying relationship.
Cardinality: one to one-or-more.
Serviciu_Serviciu are Tip_conectivitate_FK1
Definition:
Relationship type:
Child
Parent
Serviciu are Tip_conectivitate.Serviciu Cod_Serv
Identifying
Anexe
182
Serviciu Cod_Serv
Serviciu_Contract_FK1
Definition:
Child
Parent
Contract.Prevede prestarea unui Serviciu Cod_Serv Serviciu Cod_Serv
Non-Identifying
One -to- One-or-More
Not allowed
poate apartine unui
prevede prestarea unui
No action
No action
Relationship Serviciu_Contract_FK1: Serviciu.Serviciu Cod_Serv poate apartine
unui Contract.Prevede prestarea unui Serviciu Cod_Serv.
Serviciu_Contract_FK1 is a non identifying relationship.
Cardinality: one to one-or-more.
Relationship type:
Cardinality:
Allow NULLs:
Verb phrase:
Inverse phrase:
Ref. Integrity on update:
Ref. Integrity on delete:
Verbalization:
16
Serviciu are Tip_conectivitate
Serviciu are Tip_conectivitate
687
No
2
0
1
1. Serviciu Cod_Serv
2. Are Tip_conectivitate
0
Table
Columns
Serviciu Cod_Serv (FK)
Are Tip_conectivitate
Data type
char(10)
char(20)
Foreign keys
Serviciu_Serviciu are
Tip_conectivitate_FK1
Allow NULLs
Not allowed
Not allowed
Child
Serviciu Cod_Serv
Column details
1. Serviciu Cod_Serv (FK)
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Serviciu Cod_Serv
Cod_Serv
char(10)
Not allowed
2. Are Tip_conectivitate
Physical name:
Conceptual name:
Physical data type:
Allow NULLs:
Are Tip_conectivitate
Tip_conectivitate
char(20)
Not allowed
Anexe
183
Value/Range
Parent
Serviciu.Serviciu
Cod_Serv
Child
Parent
Serviciu Cod_Serv
Serviciu.Serviciu Cod_Serv
Identifying
One -to- One-or-More
Not allowed
are
No action
No action
Relationship Serviciu_Serviciu are Tip_conectivitate_FK1: Serviciu.Serviciu
Cod_Serv are Serviciu are Tip_conectivitate.Serviciu Cod_Serv.
Serviciu_Serviciu are Tip_conectivitate_FK1 is an identifying relationship.
Cardinality: one to one-or-more.
Anexe
184
ML_Servicii_Internet1
Type:
Author:
Comments:
Last modified by:
Revision number: 2.2
03.11.2004
03.11.2004
0
Date created:
Date last modified:
Date last printed:
Number of pages:
Total number of tables:
Total number of columns:
Nulls not allowed:
Nulls allowed:
16
76
21
14
53
Subtypes:
Independent object types:
2
0
62
142
65
11
9
5
43
0
10
0
0
1
60
1
0
0
0
0
69
5
58
3
0
0
0
2
0
0
5
Bibliografie
185