You are on page 1of 17

Material incomplet, perfectibil!!! Vezi curs + bibliografie!!!

Diagrame entitate-relaie

Diagrama E/R model neformalizat pentru reprezentarea unui
sistem din lumea real. Este un model de date conceptual de nivel nalt
dezvoltat de Chen (1976).
Entitate: persoan, loc, concept, activitate, eveniment care este
semnificativ pentru ceea ce modelm.





lucreaza_in conduce
apartine_la

atasat_la


Observaii:
Entitile devin tabele n modelele relaionale.
n general, entitile se scriu cu litere mari.
Entitile sunt substantive, dar nu orice substantiv este o entitate.
Pentru fiecare entitate este obligatoriu s se dea o descriere
detaliat.
Nu pot exista, n aceeai diagram, dou entiti cu acelai nume,
sau o aceeai entitate cu nume diferite.
Cheia primar este un identificator unic n cadrul entitii, fcnd
distincie ntre valori diferite ale acesteia.
Cheia primar:
trebuie s fie unic i cunoscut la orice moment;
trebuie s fie controlat de administratorul bazei;
trebuie s nu conin informaii descriptive, s fie simpl, fr
ambiguiti;
s fie stabil;
s fie familiar utilizatorului.
DEPARTAMENT
SALARIAT
SARCINA
PROIECT
2
Relaie (asociere): o comunicare ntre dou sau mai multe entiti.
Existena unei relaii este subordonat existenei entitilor pe care le leag.
Observaii:
n modelul relaional, relaiile devin tabele speciale sau coloane
speciale care refer chei primare.
Relaiile sunt verbe, dar nu orice verb este o relaie.
Pentru fiecare relaie este important s se dea o descriere
detaliat.
n aceeai diagram pot exista relaii diferite cu acelai nume. n
acest caz, le difereniaz entitile care sunt asociate prin relaia
respectiv.
Pentru fiecare relaie trebuie stabilit cardinalitatea (maxim i
minim) relaiei, adic numrul de tupluri ce aparin relaiei.
poate (cardinalitate maxim) trebuie (cardinalitate minima)
Exemplu:
Ci salariai pot lucra ntr-un departament? Muli!
n cte departamente poate lucra un salariat? In cel mult unul!

Relaia SALARIAT_lucreaza_in_DEPARTAMENT are cardinalitatea
maxim many-one (n:1).
Exemplu:
Ci salariai trebuie s conduc un departament? Cel puin unul!
Cte departamente trebuie s conduc un salariat? Zero!

Relaia SALARIAT_conduce_DEPARTAMENT are cardinalitatea minim
one-zero (1:0).
Atribut: proprietate descriptiv a unei entiti sau a unei relaii.
Observaii:
Trebuie fcut distincia ntre atribut (devine coloan n modelele
relaionale) i valoarea acestuia (devine valoare n coloane).
Atributele sunt substantive, dar nu orice substantiv este atribut.
Fiecrui atribut trebuie s i se dea o descriere complet (exemple,
contraexemple, caracteristici).
Pentru fiecare atribut trebuie specificat numele, tipul fizic
(integer, float, char etc.), valori posibile, valori implicite, reguli
de validare, tipuri compuse.
3
Pentru proiectarea diagramei entitate-relaie au fost stabilite
anumite reguli (nu sunt unice):
1. entitile sunt reprezentate prin dreptunghiuri;
2. relaiile dintre entiti sunt reprezentate prin arce neorientate;
3. atributele care reprezint chei primare trebuie subliniate sau
marcate prin simbolul #, plasat la sfritul numelui acestor
atribute;
4. cardinalitatea minim este indicat n paranteze, iar cardinalitatea
maxim se scrie fr paranteze;
5. nu trebuie specificate toate atributele.


Diagrama E/R.

Cazuri speciale de entiti, relaii, atribute i modul lor de
reprezentare n cadrul diagramei entitate-relaie.

1. Entitate dependent nu poate exista n mod independent
(SARCINA depinde de PROIECT). Cheia primar a unei entiti
dependente include cheia primar a sursei (nr_proiect) i cel puin o
descriere a entitii (nr_sarcina). Entitatea dependent se deseneaz
prin dreptunghiuri cu linii mai subiri.
2. Motenirea atributelor. Subentitate (subclas) submulime a unei
alte entiti, numit superentitate (superclas) (SALARIAT < >
PROGRAMATOR). Subentitatea se deseneaz prin dreptunghiuri
incluse n superentitate. Exist o relaie ntre o subentitate i o

conduce
lucreaza_in
apartine_la
SALARIAT
cod_salariat
nume
prenume
sex
salariu
PROIECT
nr_proiect
descriere
buget_alocat

DEPARTAMENT
cod_departament
nume
nr_cladire
SARCINA
nr_proiect
nr_sarcina
data_inceperii
stare
atasat_la
data_initiala
functia
1
1
M(0)
1(0)
M
1
M(0) M(0)
4
superentitate, numit ISA, care are cardinalitatea maxim 1:1 i
minim 1:0. Cheile primare, atributele i relaiile unei superentiti
sunt valabile pentru orice subentitate. Afirmaia reciproc este fals.
3. Generalizare. Din entiti similare care au mai multe atribute comune
se pot crea superentiti. Aceste superentiti conin atributele
comune, iar atributele speciale sunt asignate la subentiti. Pentru
noile superentiti se introduc chei primare artificiale.
4. Specializare. Dup valorile unor atribute clasificatoare se pot
determina clase. Un grup de subentiti reciproc exclusive definete o
clas. Clasele se aliniaz n desen vertical.
5. ntr-o diagram E/R se pot defini relaii recursive.
6. Unele relaii sunt relative la dou entiti i le numim de tip 2, iar
dac relaiile implic mai mult de dou entiti, le vom numi de tip 3.
Trei relaii de tip 2 sunt diferite de o relaie de tip 3. Rupnd o relaie
de tip 3 n trei relaii de tip 2, pot aprea informaii incorecte.
7. Trebuie excluse din model relaiile indirecte deoarece ele pot conduce
la redundan n baza de date.
8. Atributele derivabile trebuie eliminate i introduse expresii prin care
aceste atribute pot fi calculate.
9. Relaie sau atribut? Dac un atribut al unei entiti reprezint cheia
primar a unei alte entiti, atunci el refer o relaie (cod_departament
n tabelul SALARIAT).
10. Entitate sau relaie? Se cerceteaz cheia primar. Dac aceasta
combin cheile primare a dou entiti, atunci este vorba de o relaie.
(cheia primar a relaiei asociat_la combin cod_salariat cu
nr_proiect, prin urmare, SALARIAT_asociat la_PROIECT va defini o
relaie i nu o entitate).
11. Un atribut indirect este inoportun. El nu descrie real relaia sau
entitatea. Prin urmare, atributele indirecte trebuie reasignate. De fapt,
un atribut indirect este un caz special de relaie indirect care trebuie
eliminat pentru c introduce redundan n date (numrul cldirii n
care lucreaz un salariat este un atribut al entitii DEPARTAMENT
i nu este o caracteristic a entitii SALARIAT).
12. Exist atribute opionale, a cror valoare este uneori necunoscut,
alteori neaplicabil. Aceste atribute trebuie introduse la subentiti
(comisionul pentru deplasare i zona de lucru sunt atribute specifice
unui agent teritorial i trebuie introduse la subentitatea
AGENT_TERITORIAL).
5
Algoritmul pentru proiectarea diagramei entitate-relaie:
1. identificarea entitilor din cadrul sistemului analizat;
2. identificarea relaiilor dintre entiti i stabilirea cardinalitii;
3. identificarea atributelor aferente entitilor i asocierilor dintre
entiti;
4. stabilirea atributelor de identificare a entitilor (stabilirea
cheilor).

Diagrama E/R.


Modelul EER (modelul E/R extins) = Diagrama E/R + concepte
aditionale (subclas, superclas, motenire, specializare, generalizare).







Gestiunea activitilor de editare dintr-o editur
Se analizeaza activitatea dintr-o editur referitoare la culegerea
textelor, realizarea elementelor grafice, machetarea unor publicaii.

conduce lucreaza_in
apartine_la

PROIECT
nr_proiect
descriere
buget_alocat
SARCINA
nr_proiect
nr_sarcina
data_inceperii
stare
DEPARTAMENT
cod_departament
nume
nr_cladire
AGENT_TERITORIAL
zona
comision
PROGRAMATOR
limbaj
nivel
SALARIAT
cod_salariat
nume job_cod
atasat_la
data_initiala
functia
1
M(0) M(0)
1(0)
1(0)
ISA
1 1(0)
ISA
1
1(0)
M(0)
1
1
M(1)
1(0)
casatorit
6









1























Gestiunea activitilor unei firme de construcii
Baza de date construit prin acest model, furnizeaz informaii legate
de obiective de execuie, investitori, executani, antiere, contracte etc.
necesare unui manager al unei firme de construcii

SALARIAT
cod_salariat#
nume job tip











GRAFICIAN
tip
TEHNOREDACTOR
tip_editor
REDACTOR_SEF
experienta
FRAME
nr_publicatie#
nr_capitol#
nr_frame#
CAPITOL
nr_publicatie#
nr_capitol#
PUBLICATIE
nr_publicatie#
stil
limba
1
1(0)
ISA
1
1(0)
ISA
1
1(0)
ISA
M(1) M(0)
scrie
M(1)
1

cuprinde
1 M(0)
coordoneaza
include
1
M(0)
realizeaz

M(0)
1
7
Vezi erori!
Descoperiri de monede antice din Romania


petrecut_in


gasita_in


stantata_cu
publicata



inclusa_in


pastrata_la



M(1)

CONTRACTANT
cod_contractant#
adresa
telefon
cont
banca
SUBANTREPENOR
nume
nume_adm
functie_adm
LUCRARE
cod_obiectiv#
cod_lucrare#
adresa
SANTIER
nr_santier#
specialitate
sef
tip_contractant

PERS_FIZICA
nume
prenume
bi
PERS_JURIDICA
tip_juridic
nume
functie
ISA
ISA
ISA 1 1(0)
1
M(0)
executa
executa
1 M(
1)
OBIECTIV_
INVESTITIE
cod_obiectiv#
denumire
adresa
M(1)
necesita
1
M(1) 1
investeste_in
ISA 1
1(0)
atasat_la
1
1
CONTRACT
nr_contract#
tip_contract
data_avans
1
incheie
INVESTITOR
tip_investitor
PUNCT
EVENIMENT
STANTA MONEDA
TEZAUR
MUZEU
ARTICOL
8

STANA (nr_stan, mprat emitent, valoare nominal, an emitere,
monetria, legenda de pe avers, legenda de pe revers) == > atribute ale
entitii STANTA

Completai cardinalitatea!

Evidena colilor de oferi din Romania













Completai relaiile (lucreaza_la, conduce, sustine, asista, instruieste) dintre
entiti i specificai cardinalitatea!

Campionatele de fotbal ale diferitelor ri



















SCOALA
cod_scoala#
CLIENT
cod_client#
INSTRUCTOR
cod_instructor#
MASINA
cod_masina#
EXAMEN
cod_examen#
EXAMINATOR
cod_examinator#
9
Modelul relaional
Modelul relaional a fost conceput i dezvoltat de E.F. Codd. El este
un model formal de organizare conceptual a datelor, destinat reprezentrii
legturilor dintre date, bazat pe teoria matematic a relaiilor. Modelul
relaional este alctuit numai din relaii i prin urmare, orice interogare
asupra bazei de date este tot o relaie. Cercetarea n domeniu 3 mari
proiecte (System R, INGRES, PRTV)
Caliti:
este simplu;
riguros din punct de vedere matematic;
nu este orientat spre sistemul de calcul.
Modaliti pentru definirea unui SGBD relaional:
prezentarea datelor n tabele supuse anumitor operaii de tip
proiecie, selecie, reuniune, compunere, intersecie etc.
un sistem de baze de date ce suport un limbaj de tip SQL
Structured Query Language;
un sistem de baze de date care respect principiile modelului
relaional introdus de E.F. Codd.
Caracteristicile unui model relaional:
structura relaional a datelor;
operatorii modelului relaional;
regulile de integritate care guverneaz folosirea cheilor n model.
Aceste trei elemente corespund celor trei componente ale ingineriei
software: informaie, proces, integritate.
Structura datelor
Definirea noiunilor de domeniu, relaie, schem relaional, valoare
null i tabel vizualizare (view).
Conceptele utilizate pentru a descrie formal, uzual sau fizic
elementele de baz ale organizrii datelor sunt date n urmtorul tabel:
Formal Uzual Fizic
relaie
tuplu
atribut
domeniu
tablou
linie
coloan
tip de dat
fiier
nregistrare
cmp
tip de dat
10
Domeniu mulime de valori care poate fi definit fie enumernd
elementele componente, fie definind o proprietate distinctiv a domeniului
valorilor.
Fie D
1
, D
2
, ..., D
n
domenii finite, nu neaprat disjuncte. Produsul
cartezian D
1
D
2
... D
n
al domeniilor D
1
, D
2
, ..., D
n
este definit de
mulimea tuplurilor (V
1
, V
2
, ..., V
n
), unde V
1
D
1
, V
2
D
2
, ..., V
n
D
n
.
Numrul n definete aritatea tuplului.
O relaie R pe mulimile D
1
, D
2
, ..., D
n
este o submulime a produsului
cartezian D
1
D
2
... D
n
, deci este o mulime de tupluri. Caracteristicile
unei relaii comentat curs!
Definirea unei relaii se refer la mulimi care variaz n timp. Pentru a
caracteriza o relaie este necesar existena un element invariant n timp:
structura relaiei (schema relaional). Mulimea numelor atributelor
corespunztoare unei relaii R definete schema relaional a relaiei
respective. Vom nota schema relaional prin R(A
1
, A
2
, ..., A
n
). Exemplu!
Putem reprezenta o relaie printr-un tabel bidimensional n care fiecare
linie corespunde unui tuplu i fiecare coloan corespunde unui domeniu din
produsul cartezian. O coloan corespunde de fapt unui atribut. Numrul
atributelor definete gradul relaiei, iar numrul de tupluri din relaie
definete cardinalitatea relaiei.
Exemplu (crearea unui tabel n SQL):
CREATE TABLE salariat (
cod_salariat SMALLINT,
nume VARCHAR(25),
prenume VARCHAR(20),
sex CHAR(1),
salariu INTEGER,
sot SMALLINT,
job_cod VARCHAR(6),
cod_departament SMALLINT );

Cnd se insereaz tupluri ntr-o relaie, de multe ori un atribut este
necunoscut sau neaplicabil. Pentru a reprezenta acest atribut a fost
introdus o valoare convenional n relaie, i anume valoarea null.
Este necesar o aritmetic i o logic nou care s cuprind acest
element. Rezultatul operatorilor aritmetici sau logici este null cnd unul din
argumente este null. Comentat excepii! Prin urmare, null = null are
valoarea null, iar null este null.
11
AND T F Null OR T F Null
T T F Null T T T T
F F F F F T F Null
Null Null F Null

Null T Null Null
Tabele de adevr pentru operatorii AND i OR.

Tabelul vizualizare (view, filtru, relaie virtual, vedere) constituie
un filtru relativ la unul sau mai multe tabele, care conine numai informaia
necesar unei anumite abordri sau aplicaii. Securitate, reactualizri
comentat la curs!
Vizualizarea este virtual deoarece datele pe care le conine nu sunt
n realitate memorate ntr-o baz de date. Este memorat numai definiia
vizualizrii. Vizualizarea nu este definit explicit, ca relaiile de baz, prin
mulimea tuplurilor componente, ci implicit, pe baza altor relaii prin
intermediul unor expresii relaionale. Stabilirea efectiv a tuplurilor care
compun vizualizarea se realizeaz prin evaluarea expresiei atunci cnd
utilizatorul se refer la acest tabel.
Exemplu (crearea unei vizualizri n SQL):
CREATE VIEW programator(nume,departament)
AS SELECT nume,cod_departament
FROM salariat
WHERE job_cod=programator;

Reguli de integritate aseriuni pe care datele coninute n baza
de date trebuie s le satisfac.
Trebuie fcut distincia ntre:
regulile structurale inerente modelrii datelor;
regulile de funcionare specifice unei aplicaii particulare.
Exist trei tipuri de constrngeri structurale (de cheie, de referin, de
entitate) ce constituie mulimea minimal de reguli de integritate pe care
trebuie s le respecte un SGBD relaional. Restriciile de integritate
minimale sunt definite n raport cu noiunea de cheie a unei relaii.
O mulime minimal de atribute ale cror valori identific unic un
tuplu ntr-o relaie reprezint o cheie pentru relaia respectiv.
Fiecare relaie are cel puin o cheie. Una dintre cheile candidat va fi
aleas pentru a identifica efectiv tupluri i ea va primi numele de cheie
primar. Cheia primar nu poate fi reactualizat. Atributele care reprezint
cheia primar sunt fie subliniate, fie urmate de semnul #.
12
O cheie identific linii i este diferit de un index care localizeaz
liniile. O cheie secundar este folosit ca index pentru a accesa tupluri. Un
grup de atribute din cadrul unei relaii care conine o cheie a relaiei poart
numele de supercheie.
Fie schemele relaionale R1(P1, S1) i R2(S1, S2), unde P1 este cheie
primar pentru R1, S1 este cheie secundar pentru R1, iar S1 este cheie
primar pentru R2. n acest caz, vom spune c S1 este cheie extern (cheie
strin) pentru R1.
Modelul relaional respect trei reguli de integritate structural.
Regula 1 unicitatea cheii. Cheia primar trebuie s fie unic i
minimal.
Regula 2 integritatea entitii. Atributele cheii primare trebuie
s fie diferite de valoarea null.
Regula 3 integritatea referirii. O cheie extern trebuie s fie ori
null n ntregime, ori s corespund unei valori a cheii primare
asociate.

Proiectarea modelului relaional (exemple curs!)
Transformarea entitilor
Entitile independente devin tabele independente. Cheia
primar nu conine chei externe.
Entitile dependente devin tabele dependente. Cheia primar a
entitilor dependente conine cheia primar a entitii de care
depinde (cheie extern) plus unul sau mai multe atribute
adiionale.
Subentitile devin subtabele. Cheia extern se refer la
supertabel, iar cheia primar este aceast cheie extern (cheia
primar a subentitii PROGRAMATOR este cod_salariat care
este o cheie extern).
Transformarea relaiilor
Relaiile 1:1 i 1:n devin chei externe. Relaia conduce devine
coloan n tabelul DEPARTAMENT, iar relaia lucreaza_in
devine coloan n tabelul SALARIAT. Simbolul indic
plasamentul cheii externe, iar simbolul exprim faptul c
aceast cheie extern este coninut n cheia primar. Relaia 1:1
plaseaz cheia extern n tabelul cu mai puine linii.
13
Relaia m:n devine un tabel special, numit tabel asociativ, care
are dou chei externe pentru cele dou tabele asociate. Cheia
primar este compunerea acestor dou chei externe plus
eventuale coloane adiionale. Tabelul se deseneaz punctat.
Relaiile de tip trei devin tabele asociative. Cheia primar este
compunerea a trei chei externe plus eventuale coloane adiionale.
Transformarea atributelor
Un atribut singular devine o coloan.
Atributele multiple devin tabele dependendente ce conin cheia
primar a entitii i atributul multiplu. Cheia primar este o
cheie extern, plus una sau mai multe coloane adiionale.
Entitile devin tabele, iar atributele lor devin coloane n aceste
tabele. Ce devin atributele relaiilor? Pentru relaii 1:1 i 1:n,
atributele relaiilor vor aparine tabelului care conine cheia
extern, iar pentru relaii m:n i de tipul trei, atributele vor fi
plasate n tabelele asociative.







conduce lucreaza_in apartine_la









atasat_la
cod_salariat#
nr_proiect#






SALARIAT
cod_salariat#
DEPARTAMENT
cod_departament#
PROIECT
nr_proiect#
SARCINA
nr_proiect#
nr_sarcina#
SALARIAT
cod_salariat#
PROIECT
nr_proiect#
SALARIAT
cod_salariat#
TELEFON
cod_salariat#
nr_telefon#
14
Cele patru tipuri de tabele (independente, dependente, subtabele i
asociative) se deosebesc prin structura cheii primare.

Tabel Reprezint Cheie primar
Independent entitate independent nu conine chei externe
Subtabel Subentitate o cheie extern
entitate dependent
Dependent
atribute multiple
o cheie extern i una sau mai
multe coloane adiionale
relaie m:n
Asociativ
relaii de tip 3
dou sau mai multe chei externe
i (opional) coloane adiionale

Diagrama conceptual pentru proiectarea modelului relaional
comentat a fost construit din diagrama E/R prin adugarea tabelelor
asociative i prin marcarea cheilor externe.


Schemele relaionale corespunztoare acestei diagrame conceptuale
sunt urmtoarele:
SALARIAT(cod_salariat#, nume, prenume, sex, job_cod, cod_sot,
forma_plata, nr_depart);


PROIECT
nr_proiect#
descriere
buget_alocat
SARCINA
nr_proiect#
nr_sarcina#
data_inceperii
stare
DEPARTAMENT
cod_departament#
nume
nr_cladire
AGENT_TERITORIAL
zona
comision
PROGRAMATOR
limbaj
nivel
SALARIAT
cod_salariat#
salariu
nume
sex
job_cod
conduce lucreaza_in
apartine_la
ATASAT_LA
cod_salariat#
nr_proiect#
functie
TELFON
cod_salariat#
nr_telefon#
casatorit
15
DEPARTAMENT(cod_departament#, nume, numar_cladire,
cod_sal);
ATASAT_LA(cod_salariat#, nr_proiect#, functia);
PROIECT(nr_proiect#, descriere, buget_alocat);
SARCINA(nr_proiect#, nr_sarcina, data_inceperii, stare);
AGENT_TERITORIAL(cod_salariat#, zona, comision);
PROGRAMATOR(cod_salariat#, limbaj, nivel);
TELEFON(cod_salariat#, nr_telefon#).
Gestiunea activitilor unei firme de construcii
CONTRACTANT(cod_contractant#, adresa, telefon, cont, banca,
tip_contractant);
SUBANTREPRENOR(cod_contractant#, nume, nr_reg_comert,
nume_adm, functie_adm);
INVESTITOR(cod_contractant#, tip_investitor);
PERS_FIZICA(cod_contractant#, nume, prenume, bi);
PERS_JURIDICA(cod_contractant#, tip_juridic, nume, reprez_legal,
functie);
CONTRACT(nr_contract#, tip_contract, data_incheiere, garantie,
val_investitie, durate_executie, cont, banca, perioada, avans, data_avans,
cod_contractant);
SANTIER(nr_santier#, specialitate, sef);
OBIECTIV_INVESTITIE(cod_obiectiv#, denumire, adresa, adc,
nr_cert_urb, nr_aut_constr, nr_contract, cod_contractant);
LUCRARE(cod_lucrare#, cod_obiectiv#, tip_lucrare, nume, data_inc,
data_sf, nr_santier, cod_contractant);

16








SUBANTREPENOR
nume
nume_adm
funcie_adm
LUCRARE
cod_lucrare#
cod_obiectiv#
ANTIER
nr_antier#
specialitate ef
CONTRACTANT
tip_contractant
adresa
telefon
cont
banca
cod_contractant#

OBIECTIV_INVESTITIE

cod_obiectiv#
denumire
adresa

CONTRACT

nr_contract#
tip_contract
data_avans

INVESTITOR
tip_investitor

PERS_FIZICA
nume
prenume
bi

PERS_JURIDICA
tip_juridic
nume
functie
incheie
investeste_in
atasat_la
necesita
executa
executa
17

Gestiunea activitilor de editare dintr-o editur


SALARIAT(cod_salariat#, nume, prenume, vechime, salariu, job);
GRAFICIAN(cod_salariat#, tip);
TEHNOREDACTOR(cod_salariat#, tip_platforma, tip_editor, viteza);
REDACTOR_SEF(cod_salariat#, experienta);
LIMBA(cod_salariat#, limba_cunos#);
TELEFON(cod_salariat#, nr_telefon#);
REALIZEAZA(cod_salariat#, nr_frame#, nr_publicatie#, nr_capitol#,
data_inc, data_lim);
FRAME(nr_frame#, nr_publicatie#, nr_capitol#, tip, dim, format);
CAPITOL(nr_publicatie#, nr_capitol#, dimensiune, cod_salariat);
PUBLICATIE(nr_publicatie#, stil, beneficiar, autor, cod_salariat, cost,
titlu, limba).

Exemple curs!





SALARIAT
cod_salariat#
nume
GRAFICIAN
tip
TEHNOREDACTOR
tip_editor
REDACTOR_SEF
experienta
REALIZEAZA
cod_salariat#
nr_publicatie#
nr_capitol#
nr_frame#
FRAME
nr_publicatie#
nr_capitol#
nr_frame#
tip
CAPITOL
nr_publicatie#
nr_capitol#
dimensiune
PUBLICATIE
nr_publicatie#
stil
TELEFON
cod_salariat#
nr_telefon#
LIMBA
cod_salariat#
limba_cun#
job
cuprinde coordoneaza
scrie
include

You might also like