Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Baze de date

baze de date



+ Font mai mare | - Font mai mic



1 . MODELUL CONCEPTUAL SI MODELUL FIZIC

Descrierea unei afaceri se face prin date.Datele sunt ceva neprelucrat,fapte din care deducem alte fapte .Informatia e partea unei date cu inteles special,rezultat al combinarii sau compararii de date.Analiza datelor determina modelul conceptual     cu ajutorul unor diagrame ERD.Punerea in practica determina modelul fizic.



Organizarea si prelucrarea lor le face informatii

2. ENTITATI SI INSTANTE

O entitate este:ceva semnificativ despre care trbuie sa cunosc date;un nume pentru lucrurile care le inregistrez intr-un tabel ;sunt reprezentatate in casute,numele e in interior cu majuscule la singular ;un substantiv din texte,ecrane,brosuri.dar sa ne ferim de sinonime. O instanta e un caz particular din entitate.

Ex :elev e entitate ; elevul Tica e o instanta

Entity

Instance

PRODUCT

SHOE

SOFTWARE

WINDOWS 98

SERVICE

MANICURE

TOOL

KNIFE

TELEPHONE TYPE

NOKIA 1100

Entity

Atributes

SHOP

address, name, profile

TREE

name, type

STUDENT

name, address, e-mail, age (date of birth)

MOVIE STAR

real_name, stage_name, nationality

COLOR

name, RGB_code

3. ATRIBUTE SI IDENTIFICATOR UNIC

Un atribut este o parte specifica dint-o entitate care o masoara,califica,clasifica,descrie. poate avea o singura valoare la un moment dat.Orice atribut are un tip de data,dar unele se modifica mereu deci sunt volatile (ex:varsta),altele sunt obligatorii(ex:numele persoanei) sau unele pot sa lipseasca adica sa fie nule deci optionale(ex:nr de telefon);numele lor apar in casuta entitatii sub numele ei ,precedate de (obligatorii),O(optionale), (identificatorii unici);raspund la intrebarile care?,ce fel de format?

Un identificator unic(UID) face     distictia intre diferitele instante ale aceleasi entitati.Reprezentarea datelor se face cu diagrame ERD.UID artificiali(nu exista in realitate dar e importanta pentru identificare unica.EX:nr matricol la studenti),UID simplu(un singur atribut),compus(mai multe atribute),UID secundar(avem de regula mai multi candidati pentru un UID dar alegem unul pentru primar,celelalte pot fi folosite ca secundar)

Restrictii de integritate

Restrictiile de integritate definesc conditii pe care trebuie sa le satisfaca datele din baza de date , pentru a fi considerate corecte , coerente in raport cu lumea reala la care se refera . Restrictiile de integritate reprezinta principalul mod de integrare a semanticii datelor in cadrul modelului relational al datelor , mecanismele de definire si verificare a acestor restrictii reprezentand principalele instrumente pentru controlul semanric al datelor .Exista doua tipuri de restrictii , si anume restrictii structurale care sunt inerente modelarii datelor si restrictii de functionare , si anume restrictii structurale care sunt inerente modelarii datelor si restrictii de functionare (comportament)care sunt specifice unei anumite baze de date .Restictiile structurale sunt de patru tipuri : de cheie , de referinta , de entitate si de dependenta intre date ,

din care primele trei , constituie multimea minimala de restrictii de integritate pe care trebiue sa le respecte un SGBD relational .Aceste restrictii sunt definite in raport cu notiunea de cheie a unei relatii .

Definitia O cheie a unei relatii r, este o multime K R , atfel incat :

(i)pentru orice doua tupluri t1,t2 ale lui r Þt1 (K)¹t2(K);

(ii)nu exista nici o submultime proprie a lui K cu proprietatea (i).

Altfel spus, cheia reprezinta o multime minimala de atribute ale caror valori identifica in mod unic un tuplu intr-o relatie .

Fiecare relatie are cel putin o cheie .Daca exista mai multe chei posibile , ele se numesc chei candidat .Una din cheile candidat va fi aleasa de administratorul bazei de date pentru a identifica efectiv tupluri si ea va primi numele de cheie primara(IDENTIFICATOR UNIC) .Cheia primara (IDENTIFICATOR UNIC) nu poate fi reactualizata .Restul cheilor vor purta numele de chei alternative sau alternante.

Atributele care reprezinta cheia primara(IDENTIFICATOR UNIC) pot fi subliniate sau urmate de semnul # in schema relatiei respective .Un grup de atribute din cadrul unei relatii care contine o cheie a relatiei se numeste supercheie.

4. CONVENTII PENTRU REALIZAREA DIAGRAMELOR ERD

O entitate este:ceva semnificativ despre care trebuie sa cunosc date;un nume pentru lucrurile care le inregistrez intr-un tabel ;sunt reprezentate in casute(dreptunghiuri),numele e in interior cu majuscule la singular ;un substantiv din texte,ecrane,brosuri.dar sa ne ferim de sinonime.

Orice atribut re un tip de data,dar unele se modifica mereu deci sunt volatile (ex:varsta),altele sunt obligatorii(ex:numele persoanei) sau unele pot sa lipseasca adica sa fie nule deci optionale(ex:nr de telefon);numele lor apar in casuta entitatii sub numele ei ,precedate de *(obligatorii),O(optionale), (identificatorii unici);raspund la intrebarile care?,ce fel de format?

O relatie este o linie continua(obligatorie e relatia se traduce TREBUIE) sau discontinua(optionala e relatia se traduce POATE ) cu o ramificatie(are o valoare) sau mai multe(mai multe valori). Daca sunt mai multe entitatii relatiile se fac cu o matrice

Un identificator unic(UID) face distictia intre diferitele instante ale aceleasi entitati.Reprezentarea datelor se face cu diagrame ERD.UID artificiali(nu exista in realitate dar e importanta pentru identificare unica.EX:nr matricol la studenti),UID simplu(un singur atribut),compus(mai multe atribute),UID secundar(avem de regula mai multi candidati pentru un UID dar alegem unul pentru primar,celelalte pot fi folosite ca secundar)

Regulile procedurale nu le pun in ERD,pe cand cele structurale le pun.Un ERD e corect daca trece prin cele 3 forme normale.

relatia n:n

Linia intrerupta inseamna ceva optional(se traduce "poate") in directia din care pleaca.

rezolvarea relatiei n:n cu relatiile 1:n si n:1.

Modelarea ERD in tabele se face ca mai sus.

O linie barata la directia"mai multe" inseamna identificator unic compus in aceea directie adica preia si identificatorul unc din cealalata tabela(entitate).

Maparea relatiilor

simplific astfel:

Atributele care difera sun optionale si pot sa fie NULL(sa fie inregistrari vide in tabel).Pentru produse noi apar atribute noi deci optionale si se pot reprezenta ierarhic(recursiv).

se modeleaza astfel:

Conventii:

randàinstanta

coloanaàatribut

tabelaàentitate

cheie primara pkàidentificator unic uk

cheie straina fk(se pune acolo unde are mai mult sens)à identificator unic secundar

Diagrama unui tabel:

Se observa cheia compusa in cazul legaturii 1:1.Pot sa inbuteliez un sifon dar nu e obligatoriu.Pentru fiecare tip de sifon am un anumit tip de imbuteliere deci am cheie compusa pentru ca ma intereseaza mai mult asta.

Angajatii pot lucra intr-un singur department.

Un departament trebuie sa aibe mai multi angajati.

Datele din cheia primara trebuie sa fie in cea straina sau sa fie NULL.Denumirea tabelelor e la plural,cu majuscule incepe cu o litera si poate contine $ sau # darn u poate contine ?,* ;nu trebuie sa fie un cuvant rezervat ;se pot face prescurtari :

-daca e format din mai multe cuvinte iau prima litera de la primul,prima litera de la cel de al doilea si ultima de la cel de al doilea ;

-prima litera din prima silaba, prima litera din a doua silaba si ultima litera.

Campurile care aveau spatii se transforma cu subliniere.

Se vede legatura intre cheia primara si cea straina.Chiat daca am doua chei straine cealalata este optionala iar cea de legatura e obligatorie.Relatiile recursive pot fi privite ca o relatie 1 :n intre doua tabele identice.

daca linia e intrerupta inseamna ca aceea cheie straina e optionala(cu cerc).

Un cec pentru salariu odata dat pentru un angajat nu poate sa se mai dea la altulàNONTRANSFERABILITATE'

La fel nota data unui elev nu poate sa se dea la altul in acelasi timp fara sa fie evaluat.

La simbolul  romb se fac explicatii procedurale iar cheia straina are prescurtarea numelui tabelei cu care se leaga cea curenta.

La relatiile barate se specifica faptul ca am o cheie compusa si scriu acest lucru precizand si prescurtarea numelui.

JUSTIFIC PRIN FAPTUL CA o banca e cunoscuta prin cont si nume deci am nevoie de cheie compusa.Deci in tabela conturi avem cheia compusa care contine cheia primara din cealalata tabela ca si componenta obligatorie.

Maparea recursiva se face precizand transformarile si legaturile de chei.

JUSTIFICARE :linia discontinua inseamna ca o cladire poate avea etaje(deci e optional).Daca Era obligatoriu se punea linie continua.Se observa ca am numai UID compus la recursivitate.

Maparea relatiilor n :n se face ca mai sus si se observa ca am doua chei compuse ambele obligatorii.

Tabelul are o coloana in plus pentru fiecare atribut din subtip,dar coloanele obligatorii de acolo sun optionale la supertip.

Cheia PRIMARA la la fiecare subtip e la fel a la supertip ;fiecare tabel are optionalitate origina la subtip ;numai o singura cheie secundara e obligatorie,restul fiind optionale pentru ca am o excludere reciproca.

Obs.Cheia straina e intodeauna in partea MANY.

Incalcarea integritatii apare numai la adaugare,stergere,actualizare.

5. TIPURI SI SUBTIPURI

ARCURI(OR EXCLUSIV)

REGULI:

Mutually Exclusive:orice instanta apartine doar unui singur subtip, adica un produs nu poate fi simultan atat carte cat si revista.

REGULI STRUCTURALEà

Reguli care se pot deduce de pe ERD

Exemplu: Toti profesorii din scoala trebuie sa aiba o diploma de licenta. (=>campul licenta este obligatoriu!)

REGULI PROCEDURALEà

Reguli interne ale firmei care nu pot fi "prinse" in ERD. Pentru a asigura respectarea acestor reguli se apeleaya la software. Aceste reguli trebuie sa fie documentate.Exemplu: Pentru a participa la cursul de Programare elevii trebuie sa fi parcurs cursul de Algebra. (se va scrie un program care verifica in baza de date daca elevul a facut acest curs)

Nontransferabilitatea => valoarea campului AUTHOR_ID din tabela POEMS nu se poate modifica.

Diamondul apare intotdeauna pe partea cu MANY!!!

Varianta 1: Order Item-urile vor primi un identificator unic in intreaga tabela.

In acest caz fiecare ORDER ITEM este identificat unic doar prin id-ul din entitatea Order Item.

Varianta 2: Itemurile pot primi un numar de ordine in cadrul unei comenzi:.


Fiecare elev poate merge FIE la scoala generala FIE la LICEU fie la SAM dar poate sa nu mearga la nici una din ele pt. ca relatiile pe care este pus arcul sunt optionale

In acest caz doar id-ul din Entitatea ORDER ITEM nu mai este suficient, se observa ca sunt mai multe instante cu acelasi id 1. De aceea identificatorul unic este compus din Id-ul din ORDER ITEM impreuna cu Id-ul comenzii (combinatia ID + ORDER ID). Acest tip de UID se marcheaza cu relatie barata in partea entitatii ORDER ITEM (bara inseamna ca 'imprumutam' id-ul entitatii din cealalta parte a relatiei)

Fiecare elev TREBUIE sa mearga FIE la scoala generala FIE la liceu fie la SAM dar obligatoriu merge la una din ele pt. ca relatiile pe care este pus arcul sunt obligatorii

Arcurile pot fi modelate utilizand subtipurile

O entitate(supertip) poate avea subtipuri,adica un grup de instante au proprietati speciale(subtip).Un subtip mosteneste atribute,relatii ale supertipului,nu are la randul lui subtipuri ;are mai multe atribute comune ;exista cel putin unul si unul secund ;o instanta a supertipului apartine unic la un subip ;o entitate poate fi oricand subtip daca subdivizam instantele.Regulile pot fi structurale(ne da tipul de informatie si relationarea lor),procedurale(diverse tipuri de relatie la procesele unei afaceri).

OBS:nu pot exista numai cupluri de linie continua cu cea discontinua pentru ca nu functioneaza  OR EXCLUSIV adica ARCUL.Nu pot fi nici numai linii continue peste tot.

Relatia recursive se poate reprezenta cu arce.

Relatii ierarhice si recursive

Un manager e angajat si conduce angajati deci se conduce si pe el.Un manager supervizeaza activitatea angajatilor deci si activitatea sa pentru ca si el e la randul sau angajat.

Se observa ca in supertip am ca optionale campurile specifice din subtip.

Istoricul datelor

UID-ul din RENTAL HISTORY este:

Date + Star id + Jewelry Id

Þ    In aceeasi zi, aceeasi persoana nu poate imprumuta o aceeasi bijuterie de doua ori (normal)

Þ    Insa in aceeasi zi, doua persoane diferite pot imprumuta aceeasi bijuterie (anormal!)

UID-ul din RENTAL HISTORY este: Date

Þ    Ca nu pot exista 2 instante a acestei entitati cu aceeasi data

Þ    Nu se poate inchiria decat o singura bujuterie pe zi, adica nu pot imprumuta bijuteri mai multor persoane (chiar daca acestea solicita alte bijuterii), si nu pot inchiria mai multe bijuteri aceleiasi persoane in aceeasi zi.

Þ    Firma da faliment L

UID-ul din RENTAL HISTORY este: Date + Star id

Þ    Ca nu pot exista 2 instante a acestei entitati avand aceeasi combinatie date + star id

Þ    O persoana nu poate imprumuta decat o singura bijuterie intr-o zi, dar pot fi imprumutate, in aceeasi zi, bijuterii mai multor persoane

Þ    O alta situatie anormala in acest caz este ca doua persoane diferite (star id diferit) pot imprumuta aceeasi bijuterie in aceeasi zi. ceea ce e destul de anormal.

6. CARACTERISTICILE UNOR RELATII: TIPURI DE RELATII;TRANSFERABILITATE, RELATII IERARHICE, RELATII RECURSIVE, ARCE

RELATII INTRE TABELE

Sunt bidirectionale ;au nume,optionalitate si cardinalitate

Ex :Un jucator joaca intr-o echipa.

Relatiaàjoaca

Optionalitateaà

Un jucator trebuie sa joace intr-o echipa àobligatorie

Un jucator poate sa joace intr-o echipa àoptionala

Cardinalitateaà

Un jucator trebuie sa joace intr-o echipa si numai una à1 la 1

(semnificata prin linie continua)

Un jucator trebuie sa joace intr-o echipa sau mai multe à1 la n

Semnificata prin ramificatii in directia repectiva.

La o echipa poate juca unul sau mai multi jucatoriàn la 1

Semnificata prin ramificatii in directia repectiva.

Cardinalitatea da tipul relatiei.

Relatii 1 :1àcardinalitate 1

1)Banca poate avea un singur cont.

Contul poate sa apartina la o singura banca.

2) Banca TREBUIE SA AIBA un singur cont.

Contul poate sa apartina la o singura banca.

3) Banca poate avea un singur cont.

Contul TREBUIE SA AIBA o singura banca.

Banca TREBUIE SA AIBA un singur cont.

Contul TREBUIE sa apartina la o singura banca.

Relatii n :1

1)O caseta POATE contine mai multi muzicieni.

Mai multi muzicieni TREBUIE SA FIE inregistrati pe o banda

2)O caseta TREBUIE SA CONTINA mai multi muzicieni.

Mai multi muzicieni TREBUIE SA FIE inregistrati pe o banda

O caseta TREBUIE SA CONTINA mai multi muzicieni.

Mai multi muzicieni POT FI inregistrati pe o banda

La fel cazul 1 :N SAU N :n.

O relatie nu trebuie dedusa di alte relatii pentru ca se numeste redundanta.

Reguli:

- Exhaustive: sunt acoperite toate cazurile posibile, adica in exemplul nostru, orice publicatie este o carte (BOOK), o revista (MAGAZINE), brosura promotionala (PROMO BROCHURE), iar pt. a fi siguri ca acoperim toate situatiile sau daca ne gandim ca in viitor vom putea avea si alte produse s-a inclus si subtipul OTHER.

Mutually Exclusive:orice instanta apartine doar unui singur subtip, adica un produs nu poate fi simultan atat carte cat si revista.

ANALOGIE:

Se obtine de fapt o partitie a multimii instantelor supertipului.

REGULI STRUCTURALE:

Reguli care se pot deduce de pe ERD

Exemplu: Toti profesorii din scoala trebuie sa aiba o diploma de licenta. (=>campul licenta este obligatoriu!)

REGULI PROCEDURALE:

Reguli interne ale firmei care nu pot fi "prinse" in ERD. Pentru a asigura respectarea acestor reguli se apeleaza la software. Aceste reguli trebuie sa fie documentate.Exemplu: Pentru a participa la cursul de Programare elevii trebuie sa fi parcurs cursul de Algebra. (se va scrie un program care verifica in baza de date daca elevul a facut acest curs)

RELATIE N : 1

Un autor POATE(LINIA DISCONTINUA E SEMNIFICATIA) avea mai multe poeme.Un poem are un singur (ROMBUL E SEMNIFICATIA)autor.

Nontransferabilitatea(grafic pare ca un romb) => valoarea campului AUTHOR_ID din tabela POEMS nu se poate modifica.

Diamondul apare intotdeauna pe partea cu MANY!!!

Varianta 1: Order Item-urile vor primi un identificator unic in intreaga tabela.

In acest caz fiecare ORDER ITEM este identificat unic doar prin id-ul din entitatea Order Item.

Varianta 2: Itemurile pot primi un numar de ordine in cadrul unei comenzi:

In acest caz doar id-ul din Entitatea ORDER ITEM nu mai este suficient, se observa ca sunt mai multe instante cu acelasi id 1. De aceea identificatorul unic este compus din Id-ul din ORDER ITEM impreuna cu Id-ul comenzii (combinatia ID + ORDER ID). Acest tip de UID se marcheaza cu relatie barata in partea entitatii ORDER ITEM (bara inseamna ca 'imprumutam' id-ul entitatii din cealalta parte a relatiei)

Fiecare produs mai POATE (SEMNIFICATIA E LINIA DISCONTINUA)apartine uneia sau mai multor ordini(SEMNIFICATIA SUNT LINIILE MULTIPLE)..

Fiecare ordine contine Obligatoriu (SEMNIFICATIA E LINIA CONTINUA )unul sau mai multe produse(SEMNIFICATIA SUNT LINIILE MULTIPLE).

FIECARE COPIL trebuie OBLIGATORIU(SEMNIFICAT PRIN LINIA CONTINUA) SA AIBA NUMAI o singura mama.O mama POATE (semnificat prin linie discontinua)sa aiba unul sau mai multi copii.

7. REZOLVAREA RELATIILOR DE TIPUL MANY-TO-MANY

In acest caz doar id-ul din Entitatea ORDER ITEM nu mai este suficient, se observa ca sunt mai multe instante cu acelasi id 1. De aceea identificatorul unic este compus din Id-ul din ORDER ITEM impreuna cu Id-ul comenzii (combinatia ID + ORDER ID). Acest tip de UID se marcheaza cu relatie barata in partea entitatii ORDER ITEM (bara inseamna ca 'imprumutam' id-ul entitatii din cealalta parte a relatiei)

1. Se pastreaza optionalitatea(SEMNIFICATIA E LINIA DISCONTINUA) relatiilor originale

Ex: Each ORDER MUST contain one or more products(fiecare ORDINE trebuie sa contina unul sau mai multe produse)

Þ    Each ORDER MUST contain one or more order items(fiecare ordine trebuie OBLIGATORIU(SEMNIFICATIA E LINIA CONTINUA) sa contina unul sau mai multe coduri ID de produse).

Each PRODUCT MAY appear on one or more ORDERS(FIECARE PRODUS poate(semnificatia e linia discontinua )) avea o ordine).

Þ    Each PRODUCT MAY appear on one or more ORDER ITEMS(fiecare produs poate avea unul sau mai multe coduri).

2. In partea entitatii de intersectie (ORDER ITEM) relatiile sunt mandatorii(obligatorii).

Each ORDER ITEM MUST contain one and only one PRODUCT.

Each ORDER ITEM MUST be for one and only one ORDER.

3. Relatiile dinspre entitatea de intersectie sunt cu MANY:

Each ORDER must contain ONE OR MORE order items.

Each PRODUCT may appear on ONE OR MORE ORDER ITEMS.

4. Deobicei relatiile dinspre entitatea de intersectie sunt barate, asta insemnand ca un ORDER ITEM este unic identificat prin id-ul ORDER-ului impreuna cu ID-ul PRODUCT-ului.

Se poate insa decide includerea unei chei artificiale care sa identifice unic fiecare order item si atunci dispar barele.

Aceasta varianta este de preferat daca UID-urile entitatilor originate sunt compuse.

8. NORMALIZAREA DATELOR: PRIMA FORMA NORMALA, A DOUA FORMA NORMALA, A TREIA FORMA NORMALA

Prima forma normala

- nu exista atribute cu valori multiple

nu exista atribute sau grupuri de atribute

care se repeta.

PRIMA FORMA NORMALAàATRIBUTELE SA AIBA VALORI UNICE

Probleme: - Deobicei, un student are mai multe note la acelasi curs.

Varianta 1: - Inlocuim atributul grade cu atributele grade1, grade2 si grade3 in ipoteza ca nu va exista nici un curs la care studentii primesc mai mult de 2 note.

Probleme: - Ce se intampla daca se schimba regula facultatii si studentii pot

avea oricate note la un curs?

- Ce se intampla daca un student sau un profesor isi schimba

numele sau un student isi schimba adresa, trebuie sa modificam

aceste informatii in toate inregistrarile din BD unde acea

informatie apare


Solutia: Introducem o noua entitate STUDENT si in care vom memora datele despre studenti iar in entitatea GRADE vom memora doar notele


PROBLEMA: UID-ul unei note fiind compus din id-ul cursului si id-ul studentului inseamna ca aceasta combinatie trebuie sa fie unica. Deci nu avem voie sa avem doua inregistrari cu aceeasi pereche (course_id, student_id) adica un student poate avea o singura nota la o anumita materie. Dar daca instroducem in UID si data in care a fost data nota respectiva problema este rezolvata: un student nu poate primi 2 note la aceeasi materie in aceeasi zi (situatie destul de rezonabila!)


A doua forma normala

prima forma normala

orice atribut care nu face parte din UID va depinde de intregul UID nu doar de o parte a acestuia.

A DOUA FORMA NORMALAàSA FIE FORMA NORMALA UNU SI ORICE ATRIBUT NON CHEIE SA FIE DEPENDENT DE INTREG ATRIBUTUL CARE E IDENTIFICATOR UNIC

Comentarii:

- UID-ul entitatii GRADE este (COURSE ID + STUDENT ID)

- dar COURSE NAME nu depinde decat de COURSE ID nu si de

STUDENT ID

Solutia: Cream inca o entitate: COURSE

A treia forma normala

a doua forma normala

nici un atribut care nu este parte a UID-ului nu depinde de un alt atribut non-UID

Cu alte cuvinte nu se accepta dependente tranzitive, adica un atribut sa depinda de UID in mod indirect.

A TREIA FORMA NORMALAàESTE DE FORMA NORMALA DOI IN CARE NICI UN NON-UID ATRIBUT NU POATE DEPINDE DE UN ALT NON-UID ATRIBUT .SA SE ELIMINE DEPENDENTELE TRANZITIVITIVE(ORICE ATRIBUT DEPINDE DE UN NON-UID ATRIBUT)

Modelul obtinut anterior este deja in forma normala 3. Dar daca dorim sa adaugam informatii suplimentare despre profesor: adresa, numar de telefon, email etc. obtinem urmatorul ERD care nu este in forma normala 3, noile informatii depinzand doar de atributul teacher id care nu este UID-ul entitatii COURSE:

Solutia: Introducem o noua entitate TEACHER

Am obtinut o relatie many-to-many care trebuie rezolvata:

Exemplu

  • lucru in echipa pentru elaborarea unui proiect dupa un plan dat

realizarea modelului conceptual, harta relatiilor



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 3900
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved