partea 1

165
PROIECTAREA SISTEMELOR PROIECTAREA SISTEMELOR INFOR INFOR MA MA TICE TICE DE GESTIUNE DE GESTIUNE Prof.univ dr. Rosca I. Ioan Academia de Studii Economice Academia de Studii Economice - Bucuresti - Bucuresti Facultatea de Contabilitate şi Facultatea de Contabilitate şi Informatica de Gestiune Informatica de Gestiune Prof.univ dr. Zaharie Dorin 2006-2007 2006-2007

description

sig

Transcript of partea 1

  • PROIECTAREA SISTEMELOR INFORMATICEDE GESTIUNE

    Prof.univ dr. Rosca I. Ioan Academia de Studii Economice - Bucuresti Facultatea de Contabilitate i Informatica de GestiuneProf.univ dr. Zaharie Dorin2006-2007

  • Slide 3 22. Concepte de baza ale proiectarii sistemelor informatice: Slide 3 16. Sistemul informational si sistemul informatic Slide 17 22. Metode de proiectare sistemiceSlide 23 - 164. Metoda de proiectare sistemica Slide 23. Modelarea Conceptuala a Datelor (MCD) Slide 24-33. Concepte de baza Slide 34-56. Restrictii de integritate Slide 57-63. Reprezentarea timpului Slide 64-77. Subtipuri de entitati Slide 78-86. Reguli referitoare la Modelul Conceptual al Datelor Slide 87-93. Dependentele functionale Slide 94-101. Normalizarea Slide 102-164. Modelarea Conceptuala a Prelucrarilor (MCP) Slide 105-135. Concepte de baza Slide 136-146. Validarea modelelor Slide 147-164. Modelarea Logica a Datelor (MLD) Slide 154-164. Trecerea de la MCD la MLD Slide 165- Modelarea Logica a Prelucrarilor (MLP)

    CUPRINSI . PROIECTAREA SISTEMICA

  • 1. CONCEPTE DE BAZA ALE PROIECTARII SISTEMELOR INFORMATICE

    1.1. Sistemul informational

    - este un ansamblu de principii, concepte, reguli si tehnici folosite pentru culegerea, inregistrarea si transmiterea datelor in vederea prelucrarii, pentru a obtine informatii care stau la baza luarii deciziilor;

    Se defineste prin trei ipostaze:

    - un continut formal automatizabil; - un continut neformal, viu, dinamic; - un continut orientat catre proiectul unui decident.

  • a) J.L.Le. Moigne vede sistemul informational ca un sistem al organizatiei legat de SISTEMUL OPERAND (DE EXECUTIE) si SISTEMUL DE PILOTAJ (DE DECIZIE)

  • b) J. Meles Sistemul informational reprezinta un ansamblu interconectat a tot ce duce la informarea membrilor unei organizatii: viziune globala sistemica; informatia este destinata personalului unui agent economic; retea complexa de informatii vii, dinamice care intereseaza indivizii unei intreprinderi.

    c) J.C. Emery Sistemul informaional include componente ce execut funcii bine stabilite: Recunoaterea, Transmiterea, Stocajul, Compararea, i distribuirea informaiei. H.C. Lucas Sistemul informaional se refer la totalitatea procedurilor organizate, nct s permit furnizarea de informaii necesare lurii deciziilor i/sau controlului organizaiei.

  • Sistemul informational sub aspect: static presupune: - inregistrarea faptelor survenite in baza informationala - inregistrarea structurilor de date, a regulilor si a restrictiilor in modelul datelor. dinamic presupune: - procesarea informatiilor (aducerea la zi a datelor memorate ) in baza de date si schimbarea structurilor, regulilor si restrictiilor modelului de date, restrictiilor modelului de date.

    Fluxul informational - alcatuit din: - parteneri (interventii externe); - domenii si subdomenii (interventii interne);

    Fluxul = schimburi intre participanti (fizici, financiari, informare)

  • Exemplu:Mesajul = Fluxul unui ansamblu de informatii

  • Exista doua tipuri de mesaje:

    a) Un mesaj pleaca de la declansator (generator)- generatorul declanseaza actiunea;- emitentul asteapta o reactie din partea receptorului;- obtinerea de rezultate;

    b) Un mesaj care pleaca de la informant- generarea unei memorizari;- informarea asupra unei situatii date fara a se astepta un raspuns imediat;- miscarea.

  • Sistemul informatic (Sistem de automatizare a informatiei) este:o componenta a sistemului informational in care toate transformarile (prelucrarile) semnificative ale datelor in informatii sunt efectuate de calculator;necesar sa fie formalizat pentru a fi automatizat :

    continutul intrarilor determina iesirile INTRARI PRELUCRARI IESIRI.

  • 1. Intrarile (date) - reprezentate de:

    Tranzactii externe: - redau dinamica operatiilor economice; - provin din exteriorul sistemului electronic de calcul si sunt realizate de proceduri automate; Ex. inregistrarea unei operatii de aprovizionare cu materiale.

    Tranzactii interne: - redau modificarile structurale in cadrul bazei de date; - sunt asigurate exclusiv in sistemul electronic de calcul prin proceduri automate. Ex. Situatia stocurilor si soldurilor la o anumita data

  • 2. Prelucrarile :

    Ansamblu omogen de proceduri automate (creare, actualizare, exploatare etc.) care actioneaza asupra bazei de date.

    3. Ieirile (informaii)

    - rezultatul prelucrrii bazei de date; - n funcie de forma i coninutul acestora - indicatori sintetici- lista / situatii- grafice- stocare pe suporturi magnetice

  • In fluxul sistemului informatic (de la intrare ctre ieire), unele date se regsesc la ieire in forma iniial, n timp ce altele particip la operaii de calcul (n funcie de formula de calcul) dnd natere unor parametrii (informaii) de ieire.

  • Sistemul informatic poate fi constituit din mai multe subsisteme.

  • Ciclul de via al unui sistem informatic -cuprinde perioadele:

  • 1.2. Metode de proiectare i realizare a sistemelor informatice.

    Evoluie structurabil n trei generaii de metode, determinata de:

    1. creterea ariei de utilizare a instrumentului informatic; 2. creterea gradului de complexitate a aplicaiilor i a cerinelor de integrare; 3. necesitatea diminurii costurilor, creterii productivitii i reducerii riscurilor de realizare; 4. evoluia structurii i tipologiei aplicaiilor de gestiune: SIG, SIAD, SE, SIE, birotic, multimedia; 5. influena exercitat de evoluia limbajelor de programamre, a S.G.B.D., a reelelor de calculatoare, a tehnicilor de gestiune n timp real etc.

  • Metode ierarhice

    - prima generaie, anii '70 - sistemul informaional/informatic este structurat pe baza funciilor sale; - centrate pe analiza funcional: fiecare funcie identificat se subdivide ierarhic n subfuncii, continund n aceast manier pn se ajunge la componente suficient de mici astfel nct acestea s poat fi programate cu uurin;

    Exemple: SADT (Structured Analysis and Design Technique), JSD (Jackson System Development), Yourdon.

  • Avantaje:

    Simplitate, bun adaptare la definirea cerinelor utilizatorului;

    Dezavantaje:

    Concentreaz efortul de analiz asupra funciilor (de prelucrare) neglijnd coerena datelor (a cror structur este totui mult mai stabil dect a prelucrrilor); volatilitatea cerinelor utilizatorilor (funciilor) face ca aplicaiile s fie ntr-o aproape continu reconsiderare.

  • Metode sistemice

    - generaia a doua, anii '80;- se bazeaz pe aplicarea teoriei sistemelor n analiza ntreprinderii;- sistemul informaional/informatic este abordat sub dou aspecte complementare: datele i prelucrrile, care sunt studiate i modelate independent i reunite ct mai trziu cu putin;- acord prioritate datelor fa de prelucrri;- respect cele trei nivele de concepie introduse prin raportul ANSI/SPARC/X31: extern, conceptual, intern;- exemple : MERISE, AXIAL, Information Engineering (J. Martin).

    Avantaje: sistemele se axeaz pe conceptul de baz de date, care ofer mai mult coeren, stabilitate i elimin redondanele;Dezavantaje: deficiene n modelarea prelucrrilor, posibilitatea apariiei de discordane ntre modelele datelor i ale prelucrrilor.

  • - generaia a treia, anii '90;- sistemul informaional/informatic este perceput ca o structur de obiecte autonome, ce se organizeaz i coopereaz ntre ele;

    - un obiect are un anumit comportament, definit prin ansamblul operaiilor (serviciilor) pe care le poate efectua; datele i prelucrrile prin care este implementat acest comportament sunt ncapsulate (maschate) i sunt inaccesibile celorlalte obiecte;

    - fiecare obiect poate participa la compunerea altor obiecte mai complexe;

    - fiecare obiect poate interveni n mai multe funcii sau scenarii funcionale diferite;Metode orientate obiect (obiectuale)

  • Avantaje: permite reutilizarea componentelor de program, favorizeaz modelarea i utilizarea de obiecte complexe.

    Dezavantaje: percepia i reprezentarea monolitic de tipul " totul este obiect " nu corespunde ntotdeauna realitii reprezentate.

    Exemple: OOD (Booch), OMT (Rumbaugh), OOA/OOD (Coad), OOM (Rochfeld).

  • 2. METODE SISTEMICE DE PROIECTARE2.1. Nivele de abstractizare i modelare

  • 2.2. Modelarea conceptual a datelor. Modelul entitate-asociere.

    2.2.1. Concepte de bazEntitate: - reprezentarea unui "obiect" concret sau abstract care: - aparine spaiului problemei de rezolvat (face parte sau este relevant pentru realitatea observat); - are o existen de sine stttoare; - poate fi identificat n raport cu celelalte obiecte de acelai tip.

    Exemple: angajat, produs, utilaj, operaie tehnologic, client, factur O entitate este reprezentat printr-un ansamblu de atribute.Atribut: - caracteristic sau proprietate a unei entiti, semnificativ pentru spaiul problemei de rezolvat.

  • Exemplu:

    Entitatea este perceput aici ca un tip de obiecte. Fiecare obiect individual constituie o realizare a entitii respective. Atributele au, la rndul lor, aceeai conotaie tipologic, n sensul c despre orice realizare a unei anumite entiti se cunosc acelei atribute, dar pentru fiecare dintre acestea coninutul sau valoarea atributelor respective difer.

  • Prenume

    Data nasterii

    Salariul lunar

    ANGAJAT

    Nume

    Ionescu

    Marian

    15/3/65

    720000

    Vasilescu

    Maria

    Entitatea

    Realizri

    ale entitatii

    Atribute

    Valori (realizri) ale atributelor

  • Tip de valori: un anumit ansamblu de valori, definite fie printr-o proprietate fie printr-o enumerare.

    Ex:Stare civil = (necstorit, cstorit, vduv, divorat)Zile lucrtoare = (luni, mari, miercuri, joi, vineri)An studii = (a : a ntreg, 1 a 5)

    Un atribut poate fi:- simplu: atunci cnd pentru o entitate sau o asociere poate lua o singur valoare;- repetitiv: dac pentru o entitate sau o asociere poate lua mai multe valori (ex: limbi strine cunoscute)

    Reguli privitoare la atribute:1. fiecare atribut poate apare ntr-o singur entitate (principiul non- redondanei)2. un atribut poate avea numai valori elementare.

  • Identificatorul entitii: un atribut sau un grup de atribute care primesc valori unice pentru fiecare realizare a entitii respective i pot servi astfel pentru identificarea fr echivoc a acestora. Pentru simplitate se recurge frecvent la coduri care sunt atribute construite special astfel nct s rspund cerinelor de identificare (ex: marc salariat) sau la atribute de tip "numr de ordine" sau "numr de apariie" (ex: numrul de inventar al unui mijloc fix).

    Exemplu incorect: deoarece "prenume copii" poate avea mai multe valori pentru o anumit persoan.

  • n reprezentarea grafic, identificatorul entitii se subliniaz.

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    Identificator

    ANGAJAT

    Nume

    Prenume

    Data nasterii

    Salariul lunar

  • Asocierea: reprezentarea legturii sau corespondenei existente ntre dou sau mai multe realizri de entiti.

    O asociere nu are existen de sine stttoare, depinznd de existena realizrilor de entiti pe care le leag.; n consecin, nu are identificatori specifici.

    O asociere poate avea atribute proprii.

    Entitile care particip la o asociere constituie colecia acesteia. Numrul de entiti care particip la o asociere formeaz dimensiunea sau gradul acesteia (mai mare sau egal cu numrul de entiti al coleciei).

    Cardinalitatea minimal / maximal exprim modul de participare al realizrilor fiecrei entiti la asociere ( valori uzuale:0,1; 1,1; 0,n; 1,n ).

  • Reprezentarea grafic:

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    COMPARTIMENT

    Cod compartiment

    Den compartiment

    NCADRAT-LA

    Data ncadrrii

    1,1

    0,n

    Asociere

    Nume asociere

    Atribut al asocierii

    Cardinalitate

    minimal

    maximal

    Colectie: ANGAJAT, COMPARTIMENT

    Dimensiune: 2 (asociere binar)

  • ntre realizrile acelorai entiti pot exista mai multe asocieri diferite, cu semantic i cardinaliti distincte.

    Asociere reflexiv: o asociere care leag realizri diferite ale aceleiai entiti (colecie = 1). n asemenea cazuri, este indispensabil specificarea n schem a rolurilor jucate de entitate.

    Rol al entitii: nume care servete pentru a desemna participarea entitii la o asociere.

  • Exemplu:

    0,1

    0,1

    Sot

    Sotie

    CSTORIT-CU

    Data cstoriei

    Rol

    PERSOAN

    Nume

    Prenume

    Nr matricol

    Data na[terii

    Colectie: PERSOAN

    Dimensiune : 2

  • Restricii de integritate:

    - reguli suplimentare, nereprezentabile direct n formalismul EA, care trebuie respectate permanent de date.

    Restrictii de integritate structurale:

    - inerente conceptelor folosite la modelare: integritatea entitii: valorile luate de identificatorul entitii trebuie s fie unice i nenule; integritatea referenial: pentru orice realizare a unei asocieri este obligatorie existena realizrile entitilor participante. cardinalitile:

  • 1. Cardinalitatea minimal 0 : pot exista realizri ale entitii care nu narticip la nici o realizare a asocierii;Ex:Un client poate exista chiar daca nu a emis nici o coamndaCardinalitatrea:2. Cardinalitatea minimal 1: toate realizrile entitii trebuie s participe la o realizare a asocierii. Ex anterior: Orice comand trebuie s fie emis de un client.

    Cardinalitatile minimale

  • 3. Cardinalitatea maximal 1: legtura este modificabil sau nu dac nu, legtura poate fi notat prin sgeat.

    Ex:4. Cardinalitatea maximal n: valoarea lui n poate fi precizat.

    Cardinalitatile maximale:O comanda nu-i poate schimba ulterior clentul.

  • 2.2.2. Restrictii de integritateRestrictii de integritate: reguli suplimentare, nereprezentabile direct n formalismul EA, care trebuie respectate permanent de date.

    CARTE

    Cota

    Titlu

    autor

    EXEMPLAR

    Nr exemplar

    An_editie

    Nr_pagini

    CITITOR

    Marca

    Nume

    Prenume

    Adresa

    Limita_impr

    Termen_livrare

    Exista

    Imprumuta

    Data imprumut

    Restituie

    Data restituirii

    O,n

    O,n

    O,n

    O,n

    poseda

    existent

    1,n

    1,1

    imprumuta

    restituie

    restituit

    imprumutat

  • Alaturi de elementele oferite de reprezentarea de mai sus, corespunzatoare cazului unei biblioteci universitare, mai sunt de luat n considerare urmatoarele reguli suplimentare (care constituie restrictii de integritate):-cele mai vechi carti aflate n posesia bibliotecii sunt din anul 1910.-biblioteca grupeaza cititorii n urmatoarele categorii: studenti, cadre didactice, doctoranzi, diversi (cu vrste cuprinse ntre 18 si 70 ani). -drepturile de mprumut ale cititorilor sunt diferentiate astfel:

  • -un cititor poate trece de la o categorie la alta (de exemplu, de la student la doctorand sau cadru didactic) .

    -un mprumut este individual, include unul sau mai multe exemplare din lucrarile care pot fi mprumutate (n limita drepturilor conferite de categoria cititorului si a numarul de carti mprumutate anterior si nerestituite nca.) si are o durata maxima de 20 zile.

    -nu pot fi mprumutate mai multe exemplare din aceeasi lucrare de catre acelasi cititor.

    -la restituirea unei carti mprumutate, se nregistreaza data restituirii si, daca a fost depasit termenul de 20 de zile, se blocheaza dreptul de mprumut al cititorului respectiv pe o durata egala cu numarul de zile de ntrziere.

  • Dupa momentul n care actioneaza, exista doua clase de RI: statice si dinamice.

    R.I. Statice: conditii care trebuie sa se verifice permanent:Ex: An editie 1910.

    R.I. Dinamice: privesc evolutia n timp a datelor.Ex: Categorie cititor poate evolua n felul urmator:

  • 2.2.2.1. Restrictii de domeniu

    RI de domeniu sunt conditii impuse asupra ansamblului de valori acceptate pentru un atribut n cadrul tipului sau domeniului sau. Acestea pot viza:

    continutul unui singur atribut al unei entitati sau asocieri;ex: Categorie = sstudenti, cadre didactice, doctoranzi, diversi} corelatii ntre valorile mai multor atribute ale aceleiasi entitati sau asocieri;ex: pentru Categorie = "studenti", Limita impr = 3, ... corelatii ntre atributele mai multor entitati sau asocieri diferite;ex: pentru acelasi exemplar si acelasi cititor, Data restituire > Data mprumut; corelatii cu valori obtinute pe baza unor operatii de sintetizare (numarare, nsumare, medie etc) a unui ansamblu de entitati;

    ex: pentru un cititor, numarul de asocieri IMPRUMUT fara asocieri RESTITUIRE corespunzatoare

  • 2.2.2.2. Restrictii structurale

    RI structurale sunt: restrictii inerente conceptelor folosite la modelare.

    In cadrul restrictiilor structurale amintim: identificarea entitatilor, identificarea asocierilor, cardinalitatilor

    Identificarea entitatilor: valorile luate de identificatorul entitatii trebuie sa fie unice si nenule.

    Cazuri particulare: a). Un tip de entitate poate fi identificat prin rolul (sau rolurile) asumate de alte entitati n cadrul unei asocieri la care participa si acesta.

  • STOC nu are identificator propriu; identificarea se face prin intermediul rolului Mat-stocat al tipului de entitate MATERIAL .

    Identificarea prin rol se poate realiza n urmatoarele conditii:- asocierea implicata nu trebuie sa fie ciclica;

    - cardinalitatea n asociere a tipului de entitate identificat trebuie sa fie 1,1;

    - cardinalitatea n asociere a tipului de entitate identificator poate fi 0,1 sau 1,1.

    MATERIAL

    Cod material

    Denumire mat

    Stocaj

    STOC

    Stocinitial

    stoccurent

    Material stocat

    Stare stoc

    1,1

    1,1

  • Identificarea asocierilor: prin definitie, fiecare asociere este identificata prin rolurile asumate de entitatile participante. Prin urmare, existenta unei asocieri este conditionata de existenta entitatilor participante.

    Cardinalitatile:

    cardinalitatea minimala 0 : pot exista entitati care nu participa la nici o asociere.

    CLIENT

    Cod client

    Den_client

    Emite

    COMANDA

    Nr _comanda

    Data_com

    0,n

    1,1

  • cardinalitatea minimala 1: toate realizarile entitatii trebuie sa participe la o realizare a asocierii.

    Ex anterior: Orice comanda trebuie sa fie emisa de un client.

    cardinalitatea maximala 1: legatura este modificabila sau nu ? Daca nu, legatura poate fi notata prin sageata.

    Ex:

    CLIENT

    Cod client

    Den_client

    Emite

    COMANDA

    Nr _comanda

    Data_com

    0,n

    1,1

  • cardinalitatea maximala n: valoarea lui n poate fi precizata.

    Ex:

    O comanda poate specifica maximum 6 produse diferite

    PRODUS

    Cod produs

    Den_produs

    Linie

    comanda

    COMANDA

    Nr _comanda

    Data_com

    1,6

    1,n

  • 2.2.2.3. Incluziune, excluziune, egalitate de roluri

    Unele restrictii de integritate formuleaza reguli referitoare la rolurile jucate de un tip de entitate n diverse asocieri.

    Incluziunea: daca o entitate E joaca un rol r1 ntr-o asociere a1, atunci trebuie sa joace si rolul r2 ntr-o asociere a2.

    Notatia grafica:Ex: Un client poate beneficia de un credit numai daca a depus o cerere pentru acesta: ntre rolurile beneficiaza si depune ale aceluiasi client exista o restrictie de incluziune.

  • CLIENT

    0,n

    0,n

    I

    depune

    DEPUNERE

    beneficiaza

    ACORDARE

    CREDIT

    1,1

    acordat

    1,1

    CERERE-

    CREDIT

    depusa

    APROBARE

    0,1

    1,1

    I

    analizata

    aprobat

  • Depunerea unei cereri nu implica si acordarea mprumutului dar acordarea acestuia implica ntotdeauna existenta cererii corespunzatoare.

    Obs. RI de incluziune este redondanta n cazurile n care cardinalitatea minimala a rolului indus este mai mare de zero (analizata depusa n exemplul anterior).

    Egalitatea: restrictia de incluziune ntre rolurile r1 si r2 ale entitatii este reciproca.

    Notatia grafica:

  • Ex: Orice client care este beneficiarului unui credit trebuie sa constituie o garantie pentru acesta si, reciproc, constituirea unei garantii de catre un client se face atunci cnd acesta devine beneficiarul unui credit.

    CREDIT

    CLIENT

    GARANTARE

    0,n

    0,n

    beneficiar

    constituie-garantie

    ACORDARE

    =

    GARANTIE

    acordat

    garanteaza

    0,n

    0,n

  • Excluziunea: rolurile r1 si r2 ale entitatii se exclud reciproc.

    Notatia grafica:Ex: un apartament nu poate apartine simultan unei persoane fizice si unei societati (persoane juridice).

    APARTAMENT

    0,1

    0,n

    0,n

    proprietar-p

    proprietar-s

    PROPRIETATE-

    PERSOANA

    SOCIETATE

    PROPRIETATE-

    0,1

    #

    PRIVATA

    SOCIETATE

    apartine-pers

    apartine-soc

  • 2.2.2.4. Incluziune, excluziune, egalitate de asocieri

    Aceste restrictii impun conditii care actioneaza asupra tuturor rolurilor dintr-o asociere; cu alte cuvinte, este vizata asocierea si toate entitatile participante si nu numai participare unei anumite entitati, ca n cazul anterior.

    RI de rol

    RI de asociere

  • Incluziune

    Ex: Orice produs livrat trebuie sa corespunda unui produs comandat. n acest caz restrictia implica cele doua asocieri n totalitate, nu numai anumite roluri.

    Obs. Unei comenzi i pot corespunde mai multe livrari diferite, fapt reflectat prin asocierea LIVR-CDA; pentru ca restrictia de incluziune mentionata sa fie valida, cardinalitatea rolului bazata-pe trebuie sa fie 1,1.

  • Excluziune

    Ex: n aceeasi tranzactie imobiliara, nu este posibil ca vnzarea si cumpararea sa fie facute de aceeasi persoana. Aceasta nu mpiedica nsa ca o persoana sa fie si vnzator si cumparator, dar n tranzactii diferite (restrictia opereaza asupra asocierii si nu asupra rolurilor).

    CLIENT

    TRANZACTIE-

    VINDE

    CUMPARA

    #

    0,n

    0,n

    1,1

    1,1

    IMOBILIARA

    vandut-prin

    cumparat-prin

    vanzator

    cumparator

  • Egalitatea

    Ex: Fiecarui mprumut de catre un cititor al exemplarului unei carti trebuie sa-i corespunda o restituire si reciproc, fiecarei restituiri trebuie sa-i corespunda un mprumut.

    EXEMPLAR

    Nr exemplar

    An editie

    CARTE

    Titlu

    Autor

    Cota

    EXISTA

    IMPRUMUT

    Data imprumut

    RESTITUIRE

    Data restituire

    1,n

    1,1

    0,n

    0,n

    0,n

    0,n

    imprumutat

    restituit

    imprumuta

    restituie

    existent

    poseda

    CITITOR

    Nr legitimatie

    Nume

    Prenume

    Adresa

    Categorie

    Data nasterii

    Termen penaliz

    Limita impr

    =

  • 2.2.3. Reprezentarea timpului

    Timpul, cel mai frecvent sub forma datei calendaristice, intervine n numeroase probleme. Modelarea EA nu poseda formalisme specifice pentru aspectul temporal. Astfel, reprezentarea este uniforma att pentru entitati durabile (permanente) cum sunt, spre exemplu, clientii, produsele, angajatii etc. ct si pentru cele de tip "eveniment" care au caracterul unei schimbari, modificari, asocieri produse la un moment dat (comenzi, facturi, plati, ncasari etc).n privinta reprezentarii evenimentelor nu apar probleme deoarece, prin definitie, acestea sunt punctuale si au o data (sau un moment) de producere. Cum n activitatea curenta de gestiune acestea sunt reflectate n documente carora li se atribuie numere unice ce pot servi ca identificatori, data apare ca un simplu atribut. Spre exemplu, o comanda, o factura, o plata vor fi identificate prin numarul documentului n care sunt consemnate si vor poseda un atribut care sa specifice data producerii lor (data comenzii, data facturarii, data platii).

  • Asocierile repetitive sau de scurta durata ce apar ntre entitatile stabile ridica nsa probleme specifice. Sa consideram, spre exemplu, asocierea care apare ntre un angajat si compartimentul n care lucreaza. O prima solutie este cea reprezentata n schema de mai jos, care are nsa dezavantajul de a nu arata dect ultimul loc de munca al fiecarei persoane. n cazul n care o persoana trece de la un compartiment la altul (problema fiind similara si la trecerea de la o functie la alta), asocierea corespunzatoare noului loc de munca o va nlocui pe cea anterioara, deci vechiul loc de munca va fi "uitat".

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    COMPARTIMENT

    Cod compartiment

    Den compartiment

    LUCREAZA

    Data ncadrrii

    1,1

    0,n

    lucreaza-la

    loc-munca

  • Ce se ntmpla nsa daca este necesar sa se cunoasca toate locurile de munca ale unui angajat ? Introducerea unui nou tip de asociere ntre cele doua entitati pentru a indica locurile de munca anterioare nu este o solutie valida, deoarece realizarile acesteia risca sa nu poata fi identificate: nimic nu mpiedica o persoana sa revina la un loc de munca la care a mai lucrat cndva (deci aceeasi pereche de valori "Marca, Cod compartiment", care trebuie sa identifice fiecare asociere, apare de mai multe ori).

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    COMPARTIMENT

    Cod compartiment

    Denumire comp compartiment

    LUCREAZA

    Data ncadrrii

    1,1

    0,n

    lucreaza-la

    loc-munca

    A-LUCRAT

    Data incepere

    0,n

    0,n

    a-lucrat-la

    loc-munca-anterior

  • Doua solutii sunt posibile aici: fie introducerea unui nou tip de entitate DATA pentru reprezentarea timpului, ceea ce face ca Data calendaristica sa completeze Marca si Codul compartimentului n identificare asocierilor, fie transformarea asocierii n entitate, aceasta avnd semnificatia de istoric al locurilor de munca ocupate de fiecare persoana. n acest din urma caz, identificarea entitatilor ISTORIC-L-M se face prin atributul propriu Data incepere si prin rolurile entitatilor ANGAJAT si COMPARTIMENT.

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    COMPARTIMENT

    Cod compart.

    Den compart

    LUCREAZA

    Data ncadrrii

    1,1

    0,n

    lucreaza-la

    loc-munca

    A-LUCRAT

    data incepere

    0,n

    0,n

    a-lucrat-la

    loc-munca-anterior

    DATA

    0,n

    Data calend

  • Solutiile ilustrate prin acest exemplu pot fi generalizate, n sensul ca:

    - cea mai avantajoasa solutie consta n plasarea timpului sub forma de atribute n cadrul entitatilor sau asocierilor corespunzatoare;- daca acest lucru nu e posibil, fie se introduce o entitate abstracta pentru reprezentarea timpului fie se transforma asocierea dintre entitatile durabile ntr-un nou tip de entitate care sa reflecte derularea relatiilor dintre acestea n timp (istoric).

    ANGAJAT

    Nume

    Prenume

    Data na[terii

    Salariul lunar

    Marc

    COMPARTIMENT

    Cod compartiment

    Den compartiment

    LUCREAZA

    Data ncadrrii

    1,1

    0,n

    lucreaza-la

    loc-munca

    ISTORIC-LM

    Data incepere

    Data terminare

    0,n

    1,1

    0,n

    1,1

    ISTORIC-

    ISTORIC-

    ANGAJAT

    COMPARTIM

  • Alaturi de gasirea unor modalitati de reprezentare temporala de genul celor prezentate mai sus, s-au facut propuneri de extensie a modelului EA care sa ia n considerare n mod explicit problema timpului. n mod concret, n spatiul unei aplicatii este necesar sa se poata manipula cu urmatoarele referinte temporale: timpul

    ntr-o abordare generala, pot fi identificate urmatoarele referinte n timp: - trecut; - viitor. O asemenea extensie introduce distinctia dintre "obiectele" conceptuale (echivalente entitatilor) si temporale. Entitatile sunt aici obiecte persistente care, odata aparute, nu dispar niciodata. Obiectele temporale materializeaza rolurile active jucate de un obiect conceptual n timp. Spre exemplu, o persoana este o entitate. Pe durata unui anumit numar de ani din viata sa, persoana a fost elev, dupa care a fost student iar apoi angajat. Aceste stari sunt reflectate prin entitati temporale destincte.

  • Existenta unei entitati este caracterizata numai de momentul aparitiei sale. Spre deosebire de aceasta, durata de viata a unei entitati temporale este ntotdeauna un interval nchis la stnga - momentul de debut al rolului nu poate fi niciodata necunoscut - si nchis sau deschis la dreapta - existenta acestuia s-a ncheiat si, n consecinta, se cunoaste momentul terminarii, sau continua.

  • 2.2.4. Subtipuri de entitati

    n numeroase cazuri, n ansamblul entitatile ce apartin unui anumit tip exista subgrupuri cu o anumita relevanta pentru realitatea reflectata si care, n consecinta, trebuie reprezentate explicit. Grupurile de entitati sunt numite subclase ale TE, acesta fiind, la rndul sau, superclasa acestora.

    Spre exemplu, entitatile apartinnd TE ANGAJAT pot fi grupate n MUNCITOR, TEHNICIAN, INGINER, ECONOMIST etc. Fiecare entitate a unui asemenea grup este, n acelasi timp, o entitate a tipului ANGAJAT.

    Definirea de subclase se poate face n doua moduri:

    -pe baza valorilor unui anumit atribut -pe baza unor criterii definite de utilizator.

  • Prin definirea de subclase se efectueaza specializarea entitatilor superclasei acestora (TE). Acestea mostenesc toate atributele superclasei si pot avea atribute proprii specifice, inexistente la nivelul superclasei. Spre exemplu, n subclasele MUNCITOR si INGINER ale TE ANGAJAT dintr-o ntreprindere, alaturi de atributele comune, aferente oricarui angajat (Marca, Nume, Prenume, Data nasterii, etc), pentru muncitori pot exista, suplimentar, atributele specifice Meserie si Nivel calificare iar pentru ingineri, atributul Specialitate.

  • Delimitnd subansambluri de entitati ale aceluiasi tip de entitate, subclasele constituie subtipuri ale acestuia. Reprezentarea grafica uzuala este:

    ANGAJAT

    Marca

    Nume

    Prenume

    Data nasterii

    ...

    MUNCITOR

    Meserie

    Calificare

    INGINER

    Specialitate

    #

  • Aceasta notatie echivaleaza cu existenta unor asocieri SUBTIP, n care cardinalitatea subtipurilor este 1,1, iar a tipului (superclasei) este 0,1.

    ANGAJAT

    Marca

    Nume

    Prenume

    Data nasterii

    ...

    MUNCITOR

    Meserie

    Calificare

    INGINER

    Specialitate

    1,1

    0,1

    0,1

    1,1

    este-un

    este-un

  • Generalizarea este procesul invers, prin care doua sau mai multe tipuri de entitati sunt generalizate, pe baza proprietatilor comune, ntr-un nou tip. n aceasta relatie, TE initiale devin subtipuri ale tipului obtinut prin generalizare. Spre exemplu, tipurile de entitati ANGAJAT si STUDENT dintr-o universitate pot fi generalizate prin tipul PERSOANa, care va prelua atributele comune ale acestora: Nume, Prenume, Data nasterii, Adresa etc.

    Maniera n care se procedeaza - prin specializare sau generalizare - depinde exclusiv de cerintele unei ct mai fidele reprezentari a realitatii. Specializarea poate fi totala (orice entitate a tipului face parte, obligatoriu, dintr-un subtip) sau partiala (pot exista entitati care sa nu apartina nici unui subtip). n exemplul anterior, specializarea este partiala, deoarece exista si alti angajati n afara muncitorilor si inginerilor. Aceasta este o restrictie de integritate specifica, reprezentata grafic prin utilizarea unei linii simple pentru o specializare partiala si a unie linii duble pentru o specializare totala. Cum generalizarea se obtine grupnd tipuri de entitati deja existente, nu poate fi dect totala.

  • ntre subtipuri poate exista un raport de excluziune, ceea ce traduce faptul ca fiecare entitate poate apartine unui singur subtip (ca n exemplul anterior). Exista nsa si cazuri n care aceeasi entitate poate apartine mai multor subtipuri diferite (cu alte cuvinte, submultimile entitatilor apartinnd subclaselor respective nu sunt disjuncte). Aceasta RI este reprezentata grafic prin intermediul simbolului de excluziune. n cazul n care nu exista exclusivitate, este foarte probabila existenta unei RI de incluziune, care sa precizeze conditiile n care are loc "suprapunerea" entitatilor apartinnd fiecarui subtip. Presupunnd, spre exemplu, ca STUDENT si CADRU-DIDACTIC sunt subtipuri ale TE PERSONAL-UNIVERSITATE, se poate formula urmatoarea restrictie de incluziune: pot fi cadre didactice (preparatori, n speta) numai studentii de la studii aprofundate. Cele doua restrictii de integritate sunt total independente. Orice combinatia ntre ele este posibila: partial-exclusiv, partial-inclusiv, total-exclusiv, total-inclusiv.

  • Introducerea de subtipuri prin specializare/generalizare prezinta doua avantaje principale:- factorizeaza proprietatile comune la nivelul tipului (superclasei);- face mult mai clara reprezentarea unor tipuri de asocieri la care participa numai o parte dintre entitati.

  • Ex: O ntreprindere fabrica si livreaza produse finite si subansamble. O cantitate unitara dintr-un anumit produs sau subansamblu se fabrica din alte subansamble si/sau materii prime, n cantitati bine precizate.

    ARTICOL

    Cod articol

    Den articol

    Tip articol

    UM

    STRUCTURA-

    FABRICATIE

    Cantitate nec

    0,n

    0,n

    compus-din

    component-in

  • Un model EA n aceasta forma impune introducerea de restrictii de integritate de genul:

    daca Tip articol este "produs finit" atunci nu poate juca rolul component-n; daca Tip articol este "materie prima" atunci nu poate juca rolul compus-din s.a.m.d.Un model mult mai clar (desi mai voluminos) se poate obtine introducnd specializarea pe baza continutului atributului Tip articol (TE ARTICOL factorizeaza proprietatile comune).

  • ARTICOL

    Cod articol

    Den articol

    Tip articol

    UM

    PRODUS-F

    SUBANS

    MATERIAL

    0,n

    0,n

    0,n

    0,n

    0,n

    0,n

    0,n

    0,n

    #

    este-un

    este-un

    este-un

    Cant-s-p

    Cant-sb-sb

    Cant-m-p

    Cant-m-s

  • Un anumit tip de entitate poate face obiectul mai multor specializari diferite, n masura n care aceasta prezinta semnificatie pentru reprezentarea problemei modelate.

    Ex: O societate de valori imobiliare ofera clientilor sai bunuri imobiliare (apartamente, case, vile) pentru vnzare sau nchiriere. Pentru vnzare, se cunosc pretul si starea bunului (liber, disponibil ulterior). Pentru nchiriere, se cunosc chiria lunara, durata minima a nchirierii si avansul.

    Un bun imobiliar face aici obiectul unei duble specializari, n functie de tip (apartament la bloc sau casa/vila) si n functie de natura ofertei facute de proprietarul sau (vnzare sau nchiriere).

  • Prima dintre specializari aduce avantajul factorizarii atributelor comune n TE BUN-IMOBILIAR si plaseaza atributele specifice n subtipul corespunzator (spre exemplu, Suprafata gradina exista numai pentru casa sau vila). n absenta acestei specializari, att atributele specifice numai apartamentelor ct si cele specifice numai caselor ar fi trebuit sa figureze n TE BUN-IMOBILIAR, desi ele nu pot avea niciodata valori simultan (un bun imobiliar nu poate fi, n acelasi timp, si apartament la bloc si casa). Un atribut suplimentar -Tip bun - ar fi fost necesar pentru a face distinctia adecvata si un set de RI de domeniu ar fi trebuit sa controleze valorile luate de atribute n funtie de continutul acestui atribut.

    A doua specializare face mai clara tipul de tranzactie la care poate participa fiecare bun. Asa cum se observa n schema, numai bunurile oferite spre vnzare pot face obiectul unei vnzari; aici avantajul nu vine din factorizarea atributelor ci din claritatea (si simplitatea) reprezentarii. Specializarea elimina nevoia unui atribut care sa precizeze natura ofertei facute si a RI de rol care sa precizeze ca numai un bun pentru care natura ofertei este "de vnzare" poate fi vndut.

  • POSEDA

    proprietar

    BUN-IMOBILIAR

    Nr bun

    Adresa

    Suprafata

    Nr camere

    Etaj

    APART-BL

    Nr etaje bloc

    CASA-VILA

    Supr curte

    Supr gradina

    Tip incalzire

    #

    Pret solicitat

    Stare

    DE-VANZARE

    Chirie lunara

    Avans minimal

    DE-INCHIRIAT

    Durata minima

    #

    CLIENT

    Nr client

    Nume client

    Adresa client

    No telefon

    OFERTANT

    SOLICITANT

    SE-VINDE

    proprietate-a

    1,1

    1,n

    VANZARE

    Nr tranzactie

    Data vanzare

    CUMPARA

    VINDE

    1,1

    1,1

    0,n

    0,n

    1,1

    0,1

    vanzator

    cumparator

    vandut

    ob-vanzae

    act-vanzare

    act-cumparare

    #

  • Specializarea TE CLIENT aduce avantaje de acelasi tip, indicnd, de exemplu, ca nu poate fi ofertant dect un client care este proprietarul unui bun imobiliar (intermediarii sunt exclusi n aceasta schema). Absenta RI de excluziune dintre cele doua specializari precizeaza ca aceeasi persoana poate att ofertant ct si solicitant. RI dintre asocierile CUMPARA si VINDE precizeaza ca, pentru o anumita vnzare, cumparatorul si vnzatorul trebuie sa fie persoane diferite.

  • 2.2.5. Reguli referitoare la MCD

    Unicitatea numelor.

    Regula de unicitate a numelor se aplica tutoror elementelor ce apar n MCD: TE, TA, atribute, roluri, RI. Prin urmare, se vor elimina eventualele posibile ambiguitati prin utilizarea de nume complete (ex: Nume angajat, Nume produs si nu, simplu, Nume, n ideea ca apartenenta acestui atribut la un tip de entitate sau altul nlatura de la sine ambiguitatea).

    Eliminarea omonimelor si sinonimelor.

    Atribute derivabile

    Atributele derivabile sunt cele ale caror valori se obtin din valorile altor atribute, de regula prin relatii de calcul (ex: Limita mprumut care poate fi determinat pe baza continutului atributului Categorie cititor; Valoare produs comandat care poate fi obtinut nmultind Cantitatea comandata cu Pretul produsului respectiv).

  • n mod normal, aceastea trebuie eliminate din MCD, fiind redondante. Daca nsa prezinta o semnificatie particulara pentru problema studiata (facnd, spre exemplu, obiectul unor RI distincte), este posibila mentinerea lor n schema, nsotite de specificarea relatiilor de calcul sau derivare sub forma de RI.

    Atribute repetitive sau decompozabile

    Prezenta acestora poate indica existenta unor structuri care trebuie reprezentate ca atare. Ex: pentru un student, reprezentarea rezultatelor la examene constituie un atribut repetitiv si decompozabil care indica existenta unei asocieri ntre student si disciplinele pentru care trebuie sa sustina examene.

  • Aceasta regula nu trebuie aplicata pentru orice atribut repetitiv sau decompozabil dect n masura n care conduce la evidentierea unor elemente, entitati sau asocieri semnificative pentru problema reprezentata. Spre exemplu, descompunerea atributului Adresa n Localitate, Strada, Numar etc va fi facuta numai daca delimitarea lor prezinta interes n raport cu perceptia existenta n realitatea modelata.

    STUDENT

    Nr matricol

    Nume

    Prenume

    (Nume-discipl,

    Data examen,

    Nota)

    STUDENT

    DISCIPLINA

    EXAMEN

    Data examen

    1,n

    0,n

    sustine

    cursant

    Nr matricol

    Nume

    Prenume

    Nume discipl

    Cod discipl

  • Minimalitatea identificatorilor

    Aceasta regula prevede ca, n cazul identificatorilor compusi dinntr-un grup de atribute sau roluri, sa nu existe un subgrup n interiorul acestora care sa poata ndeplini functia de identificator. Nerespectarea acestei reguli poate fi usor evidentiata prin examinarea dependentelor functionale dintre atributele sau rolurile ce compun identificatorul.

    Existenta unor atribute ale caror valori devin "nule" pentru anumite valori luate de alte atribute.Aceasta situatie semnaleaza, n general, existenta de subtipuri.

  • O asociere nu poate exista dect o singura data ntre aceleasi entitatiCa si entitatile, asocierilor trebuie sa fie identificabile si identificarea lor se face prin entitatile participante (mai precis, prin identificatorii acestora). Conditiile impuse identificatorilor: valori nenule si unice pentru fiecare element, trebuie respectate si n cazul asocierilor.

    Considernd ca ar exista cardinalitati si pentru asociere (nu numai pentru entitati), acestea ar trebui sa fie ntotdeauna 1,1. Daca pentru aceleasi entitati apar mai multe asocieri (de acelasi tip), nseamna ca restrictia de unicitate este ncalcata. Solutia consta, n acest caz, n transformarea asocierii ntr-o noua entitate.

  • EXEMPLAR

    Nr exemplar

    An editie

    IMPRUMUT

    Data imprumut

    RESTITUIRE

    Data restituire

    0,n

    0,n

    0,n

    0,n

    imprumutat

    restituit

    imprumuta

    restituie

    CITITOR

    Nr legitimatie

    Nume

    Prenume

    Adresa

    Categorie

    Data nasterii

    Termen penaliz

    Limita impr

    =

  • Spre exemplu, fiecare mprumut si fiecare restituire din schema de mai sus trebuie sa fie unice pentru un anumit exemplar si un anumit cititor. Daca nsa un cititor mprumuta de mai multe ori acelasi exemplar, restrictia de unicitate este ncalcata. Rezolvarea consta n introducerea unui TE IMPRUMUT care sa individualizeze mprumutul.

    EXEMPLAR

    Nr exemplar

    An editie

    IMPR-EXEMPL

    0,n

    0,n

    0,n

    imprumutat

    restituit

    imprumuta

    restituie

    CITITOR

    Nr legitimatie

    Nume

    Categorie

    Data nasterii

    Limita impr

    Data imprumut

    IMPRUMUT

    1,1

    1,n

    IMPR-CITITOR

    RESTITUIRE

    Data restituire

    1,n

    cuprinde

    facut-de

    =

  • Aici, fiecare mprumut este identificat prin atributul Data mprumut si prin rolul CITITOR:mprumuta. Un mprumut este facut de un singur cititor si poate cuprinde unul sau mai multe exemplare. Exemplarele mprumutate pot fi restituite toate o data sau pe rnd. Aceeasi solutie se impune si n cazul n care participarea anumitor entitati este optionala, ceea ce face ca o parte din identificatorul asocierii sa devina nedeterminata (nula). Spre exemplu, produsele comandate de clienti sunt livrate si facturate.

    COMANDA

    Nr comanda

    Data comanda

    PROD-COMANDAT

    Cantitate comandata

    PRODUS

    Cod produs

    Den produs

    UM

    1,n

    0,n

    FACTURA

    Nr factura

    Data factura

    PROD-FACTURAT

    Cantitate facturata

    0,n

    1,n

    0,n

    Pret unitar

    1,1

    1,1

    0,1

  • Cum facturarea nu este facuta n acelasi moment cu formularea comenzii, cardinalitatea acesteia este 0,1. Rezolvarea consta si aici n transformarea asocierii n entitate.

    COMANDA

    Nr comanda

    Data comanda

    PRODUS

    Cod produs

    Den produs

    UM

    FACTURA

    Nr factura

    Data factura

    PROD-FACTURAT

    Cantitate facturata

    Pret unitar

    PROD-C-DAT

    Cant comandata

    1,n

    1,1

    1,1

    0,n

    0,n

    1,n

    0,1

    0,n

    CUPRINDE

    SE-REFERA-LA

    CORESPUNDE

  • 2.2.5.1. Dependente functionale

    A. Dependente functionale simple.

    ntre doua atribute A si B exista o dependenta functionala notata AB daca fiecarei valori a lui A i corespunde o singura valoare a lui B. Spre exemplu, pentru un angajat se poate defini urmatoarea dependenta functionala: Marca Numecare exprima faptul ca unui angajat (identificat printr-un numar de marca) i corespunde un singur nume. Relatia inversa: Nume Marcanu este adevarata, deoarece pot exista mai multe persoane cu acelasi nume dar cu numere de marca diferite.

  • Pentru un angajat mai pot fi definite si alte DF:Marca PrenumeMarca Data nasteriiMarca FunctieAtributul aflat n stnga DF este numit determinant. Determinantul poate fi compus din unul sau mai multe atribute.

    Ex: Pretul unitar de aprovizionare este determinat de felul materialului si de numele furnizorului, deoarece acelasi material se poate aproviziona la preturi diferite de la furnizori diferiti.

    Cod material,Cod furnizorPret aprovizionare

    O dependenta functionala X Y este elementara daca pentru orice X strict inclus n X, dependenta functionala XY nu este verificata.

  • b. Dependente functionale multivaloare

    ntre doua atribute A si B exista o dependenta functionala multivaloare, notata:ABdaca o valoare a lui A determina un ansamblu de valori al lui B.

    Ex: Un anumit zbor al unei companii aeriene se efectueaza n mai multe zi ale saptamnii (luni, vineri, duminica).

    Nr zbor Zi saptamna

  • Considernd cazul general al unui TE E n care A,B sunt atribute/grupuri de atribute apartinnd acestuia iar C = E -(A B),

    A B daca:

    - A determina mai multe valori pentru B;- A determina mai multe valori pentru C;- B si C sunt independente unul fata de celalalt.n alti termeni, daca A B atunci A C.

    Dependenta functionala este un caz particular al dependentei functionale multivalore. Daca A B atunci A B

    n contextul modelului EA, DFM corespunde existentei atributelor repetitive sau multivaloare.

  • Proprietatile dependentelor functionale:

    Reflexivitatea: XX.Ex: Cod client Cod client

    Dezvoltarea:Daca XY atunci X,ZY. Ex: Cod client Den client Cod client, Localitate Den client

    Tranzitivitatea:Daca XY si YZ atunci XZ.Ex: Cod client Localitate, Localitate Judet Cod client Judet

  • Aditivitatea:Daca XY si XZ atunci XY,Z.Ex: Cod client Den client, Cod client Adresa client Cod client Den client, Adresa clientProiectia:Daca XY,Z atunci XY si XZ.Ex: Cod client Den client, Adresa client Cod client Den client, Cod client Adresa client

    Pseudo-tranzitivitatea:Daca XY si W,YZ atunci X,WZ.Ex: Marca persoana Loc munca, Loc munca, Functie Indemnizatie conducere Marca persoana, Functie Indemnizatie conducere

  • Dependentele functionale reprezinta RI. Identificatorul unei entitati este un atribut sau un grup de atribute fata de care toate celelate atribute depind functional. Dependentele functionale pot exista si ntre entitati si asocieri. Cardinalitatile 1,1 corespund ntotdeauna unor DF.

  • 2.2.5.2. Normalizarea

    Normalizarea este un proces care asigura:- eliminarea redondantelor fara pierdere de informatie semnificativa- eliminarea anomaliilor manifestate n procesul actualizarii. Anomaliile se pot manifesta n procesul actualizarii n cursul operatiilor de adaugare, stergere si modificare. Ex: Fie entitatea CaMINE definita sa retina modul de repartizare a studentilor n cadrul caminelor:

  • anomalie la inserare: introducerea datelor privitoare la un nou camin, pentru care s-a fixat taxa de cazare, nu se poate face pna cnd nu este repartizat primul student n acest camin. anomalie la stergere: la stergerea informatiei privind studentul Ionescu Dan se pierde informatia privind taxa de cazare la caminul Moxa 1. anomalie la modificare: majorarea taxei pentru studentii din caminul Moxa 2 va impune modificarea tuturor tuplurilor implicate, n caz contrar aparnd inconsistente.

    Aceasta nseamna ca entitatea CaMINE nu a fost bine definita siea va trebui supusa procesului de normalizare.

    FN1: O entitate este n FN1 daca toate atributele sale sunt elementare si nerepetitive.FN2: O entitate este n FN2 daca respecta cerintele FN1 si toate atributele non-identificator sunt dependente de ntregul identificator.

  • Ex:

    Nr_marca

    Nr_lucrare

    Nr_ore

    Nume-angajat

    Den-lucrare

    Obiectiv-constr

    FN 2

    Nr_marca

    Nr_lucrare

    Nr_ore

    Nr_marca

    Nume-angajat

    Nr_lucrare

    Den-lucrare

    Obiectiv-constr

    ANGAJAT

    Nr_marca

    Nume-angajat

    Nr_ore

    EXECUTA

    LUCRARE

    Nr_lucrare

    Den-lucrare

    Obiectiv-constr

    0,n

    0,n

  • FNBC (BOYCE_CODD ): O entitate este n FNBC daca:- respecta cerintele FN3; - nici un atribut ce compune identificatorul nu depinde functional de un alt atribut.

    FN4: O entitate este n FN4 daca:- respecta cerintele FNBC; - nu prezinta dependente multivaloare.

  • Normalizarea entitatilor

    Normalizarea are drept scop eliminarea redondantelor si a anomaliilor de actualizare. Deoarece prin cele mentionate anterior se elimina o parte dintre cazurile de nerespectare a conditiilor de normalizare (existenta unui identificator, eliminarea atributelor repetitive sau compuse), este necesar sa se asigure o atentie deosebita urmatoarelor doua situatii:

    a) existenta de DF tranzitive ntre atribute;b) existenta de DF partiale ntre atributelor neidentificatoare si identificator (atunci cnd acesta este compus din mai multe atribute).

  • Ex: DF tranzitive existente ntre atributele entitatii UTILAJE conduc la descompunerea acesteia n doua tipuri de entitati si la introducerea asocierii corespunzatoare dintre ele.

    Nr inventar

    Val intrare

    Durata funct

    Putere nominala

    Tip utilaj

    UTILAJE

    Tip utilaj

    Durata funct, Putere nominala

    Nr inventar

    Tip utilaj, Val intrare, Durata funct, Putere nominala

    Nr inventar

    Val intrare

    UTILAJ

    Durata funct

    Putere nominala

    Tip utilaj

    CATEG-UTILAJ

    APARTINE

    1,1

    1,n

  • Normalizarea asocierilor

    Situatia este similara entitatilor, cu observatia ca pentru asocieri nu exista identificatori proprii, rolul acestora fiind ndeplinit de identificatorii entitatilor participante.

    Ex:

    n schema urmatoare, fiecare asociere REPARA}IE este identificata prin Nr op interventie si Nr inventar (identificatorii entitatilor participante). Atributul Durata normata depinde nsa functional de o parte a cheii (Nr op interventie), ncalcnd astfel conditiile de normalizare. Solutia corecta consta n plasarea sa n entitatea INTERVENTIE.

  • Nr inventar

    Val intrare

    UTILAJ

    Tarif orar

    Nr op interventie

    INTERVENTIE

    0,n

    0,n

    REPARATIE

    Durata efectiva

    Durata normata

    Den op interventie

    Nr op interventie

    Durata normata

    Nr inventar

    Val intrare

    UTILAJ

    Tarif orar

    Nr op interventie

    INTERVENTIE

    0,n

    0,n

    REPARATIE

    Durata efectiva

    Durata normata

    Den op interventie

  • 2.3. Modelarea conceptuala al prelucrarilor.

    Modelul conceptual al prelucrarilor prezinta succesiunea in timp a operatiilor de cautare la care este supus modelul conceptual al datelor, adica:

    - ce trebuie facut la nivel conceptual fara a indica- cine, cand si unde se realizeaza aceste prelucrari (conceptul organizational);- cum se vor realiza ele in mod concret (conceptul fizic);- are drept scop sa descrie continutul (ce operatii ?, ce rezultate ?) si dinamica (derularea in timp) unei prelucrari intr-o maniera independenta de utilizare a mijloacelor utilizate.

  • Modelul conceptual al prelucrarilor este modelul "eveniment-rezultat" al metodei Merise, ce repune in discutie procedurile (elementele) abordate de MCD formuland pentru fiecare element intrebari de forma:

    - acest element este indispensabil si ce se intampla daca il suprimam;- exista posibilitatea de a-l suprima (atentie la normele juridice si reglemantarile legale;- cat costa mentinerea acestui elemet in procedura sau ce avantaje se obtin din mentinerea lui.

    Modelul conceptual al prelucrarilor, vede intreaga prelucarare ca o succesiune ordonata si logica de proceduri inlantiute, toate in concordanta stricta cu legislatia in vigoare (este vorba de un demers tipic de analiza a valorilor).

  • Nu se poate trece cu vederea impactul utilizarii instrumentului informatic (SGBD) asupra MCP. Astfel, anumite validari pot fi efectuate inca de la culegerea datelor, in loc sa se constate ulterior ca datele sunt complete sau eronate, deci anumite operatii din MCP pot fi eliminate.

  • 2.3.1. Concepte de baza

    Ca si n cazul modelului conceptual al datelor, formalismul modelelor de prelucrare se bazeaza pe construirea unei diagrame avnd trei elemente de baza:

    a) evenimentul declansator, reprezentat grafic printr-o elipsa, de la care pleaca o sageata de legatura pentru simplificare, daca este necesar, elipsa poate fi omisab) operatia, reprezentata grafic printr-un dreptunghi ;c) rezultatul (evenimentul emis), reprezentat tot printr-o elipsad) sincronizarea, reprezentata grafic printr-un triunghi orientat catre operatie.

  • Evenimentul declansator

    Desemneaza un fapt a carui aparitie declanseaza o reactie n cadrul organizatiei; aparitia unui eveniment va antrena derularea de activitati, de operatii, reprezentnd motorul unei actiuni, al unei operatii ( de ex. sosirea unui document).Pentru ca MCP sa fie ct mai stabil, el trebuie sa fie independent de aspectele organizatorice si tehnologice, chiar geografice.De ex. Sosirea unei comenzi de la un client este un eveniment declansator, de natura extern. A satisface aceasta cerere nseamna a o transforma ntr-o livrare de produse. Descrierea continutului prelucrarilor necesare trebuie sa fie independenta de:

    aspectele tehnologice (se utilizeaza calculatorul sau nu ?)aspectele geografice (comanda este prelucrata la depozit sau n alta parte ?)aspecte organizatorice (livrarea este facuta de X la serviciul comercial sau de Y la magazie ?)aspecte temporale (livrarea se face dimineata sau seara ?).

  • Tip eveniment

    Este un concept generic descriind toate aparitiile evenimentelor de aceeasi natura. Capacitatea sistemului de a percepe aceste aparitii este exprimata de doi parametri :capacitatea : indica numarul maxim de aparitii ale acestui tip de eveniment care pot fi percepute de sistem si frecventa : indica legea de manifestare a acestor aparitii.

    Categorii de evenimente

    Un eveniment poate fi :

    extern (receptionat din exterior) : primirea unui CEC, a unui aviz de plata, solicitarea unui credit, etc. intern (generat de activitatea sistemului ntreprindere) : pana unei masini, gasirea unei solutii, etc.

  • Pentru a avea un eveniment trebuie sa coexiste anumite conditii:

    - sa se ntmple ceva (n afara sau n interiorul ntreprinderii) - acest ceva trebuie sa fie perceput de sistem (care trebuie sa fie dotat cu mijloace capabile sa l perceapa)- ntreprinderea sa fie interesata, vaznd n el un posibil eveniment declansator al activitatii sale.

    Operatia

    Se numeste operatie orice actiune (sau secventa continua de actiuni), producatoare de evenimente rezultat, care se executa fara ntrerupere, ca reactie la un eveniment declansator (sau a mai multor evenimente declansatoare sincrone). O operatie constituie un bloc nentrerupt (nu trebuie sa apara rezultate intermediare n interiorul unei operatii).

  • Tip de operatie

    O categorie de operatii ce prezinta aceleasi caracteristici. Un anumit numar de parametri caracteristici permit specificarea unui anumit tip de operatie:

    - desemnarea operatiei nsasi;- durata exprimata n unitati de timp- actiunile elementare constitutive- evenimentele emise si conditiile de emitere.O operatie se finalizeaza ntotdeauna prin emiterea de evenimente functie de situatiile identificate pe parcurs si de conditiile exprimate de aceste situatii (asa-numitele reguli de emisiune).

  • Remarca. O operatie se desfasoara n timp, avnd o anumita durata. La un moment dat ea poate fi :- n asteptarea executiei;- n curs de executie si- terminata.

  • Rezultatul (evenimentul emis) .

    Numim rezultat produsul executarii unei operatii. ntotdeauna trebuie respectata urmatoarea regula: o operatie produce unul sau mai multe rezultate. Descompunerea unei operatii n mai multe operatii distincte implica aparitia unor rezultate intermediare. Un eveniment emis poate fi n acelasi timp un eveniment declansator pentru o alta operatie ( sau alte operatii). De aceea se si utilizeaza acelasi formalism.

  • Reguli de obtinere a rezultatului

    n MCP toate operatiile trebuie sa aiba rezultat. n anumite cazuri obtinerea unuia sau mai multor rezultate poate fi supusa ndeplinirii anumitor conditii. n aceasta situatie este necesar sa fie definite, formulate asa numitele reguli de emisiune sau reguli de actiune. (vezi fig. de mai sus).Exemple :- Relatia date-rezultate este supusa anumitor conditii logice : daca valoarea facturata este mai mare de 1 milion, atunci se acorda o remiza de 1o%, daca nu, se acorda un scont de 2%.- Lansarea unei livrari poate fi diferita daca stocul este insuficient. n acest caz comanda este plasata n asteptare (nu se ntocmeste dispozitie de livrare). Conditia stoc suficient defineste o regula de emisiune a rezultatului cu doua cazuri diferite (stoc suficint; stoc insuficient).

  • Reprezentarea regulilor de emisiune

    Conform figurii de mai jos, diferitele reguli de emisiune sunt reprezentate n partea inferioara a dreptunghiului ce descrie operatia.Reprezentarea este analoga unei formulari de genul :Daca regula de emisiune 1atunci Rezultat A si Rezultat B altfel (regula de emisiune 2)Rezultat B si Rezultat C

  • Sincronizarea

    n anumite cazuri, declansarea unei operatii poate solicita producerea simultana a mai multor evenimente. Cu alte cuvinte, o anumita operatie nu poate avea loc dect daca sunt ndeplinite anumite conditii privind manifestarea evenimentelor ce concura la declansarea operatiei respective. Expresia acestor conditii se numeste sincronizare.

    Principiul sincronizarii

    Sincronizarea exprima sub forma unei propozitii logice faptul ca operatia poate fi declansata sau nu. Ea se exprima printr-o expresie booleana ce leaga evenimentele ce declanseaza operatia.

  • Modul de functionare

    Daca E1, E2 si E3 sunt evenimente declansatoare pentru operatia Oi si daca a, b, c sunt aparitii corespunzatoare evenimentelor E1, E2 sI respectiv E3, atunci sincronizarea :

    a si ( b sau c) , adica a ( b c)

    indica faptul ca operatia Oi este declansata daca o aparitie a evenimentului E1 exista simultan cu una din aparitiile evenimentelor E2 sau E3.

  • Sincronizarea se exprima deci sub forma unei propozitii logice care trebuie sa respecte anumite reguli, dintre care cele mai importante sunt:- conditia trebuie pusa pe evenimentele participative conjugate si- trebuie sa existe situatii care permit declansarea.Conceptul de sincronizare exprima o logica si o dinamica a prelucrarilor. La un moment dat, propozitia logica poate fi verificata. Atunci sincronizarea este activa si operatia este declansata. La un alt moment este posibil ca un singur eveniment declansator sa fie realizat; n acest caz sincronizarea este n asteptarea realizarii altor evenimente care sa declanseze operatia. Daca nici un eveniment nu are loc, sincronizarea este inactiva.

  • Sincronizarea reprezinta concordanta intre doua sau mai multe evenimente. Ea face ca evenimentele sa aiba loc simultan, n acelasi timp, concomitent, sincron. Nu trebuie uitat faptul ca evenimentele sincronizate, prin sincronizare, declanseaza o singura operatie. Totodata, pentru ca un eveniment sa participe la o sincronizare, el trebuie sa fie utilizat n aceasta declansare.

  • Exemplu

    Vom considera ca exemplificare procedura de acordare a unui credit.

    Utiliznd formalismul de mai sus vom defini modelul din figura 1.

    Schema din figura din dreapta constituie un model conceptual al prelucrarilor tipic; el descrie ceea ce se face, fara a preciza nici cine face si nici cu ce instrument.

  • Comentarii la figura 1

    O data cu primirea cererii de credit (eveniment) , are loc o operatie de instruire formala a deschiderii unui dosar de creditare care se finalizeaza dupa caz (functie de regulile de emisiune care au valorile c1 si respectiv c2 si c3) printr-un refuz (cerere nerezolvabila), prin deschiderea efectiva a unui dosar de creditare si n sfrsit, printr-o cerere de informare suplimentara. c1 : nu exista plafon de credite c2 : exista plafon de credite pe termen scurt c3 : exista plafon de credite pe termen lungAcest dosar face sistematic obiectul unei operatii de instruire, care, functie de solvabilitatea clientului (c4 - client nesolvabil sau C5 - client solvabil) se finalizeaza printr-o respingere sau acceptare a dosarului.

  • Notiunea de Proces

    Un proces descrie dinamica prelucrarilor dintr-o activitate determinata. El este format din operatii executate ca reactie la evenimente si producnd rezultate.

    Un proces este:

    - omogen : operatiile si rezultatele concura la o finalitate comuna.- limitat : are granite marcate de evenimentele de origine si de rezultatele terminale.

  • Etapele elaborarii unui proces.

    Procesul este MCP ce corespunde unui domeniu de activitate. El este construit printr-un demers metodologic de modelare (analiza, abstractizare, conceptie), ce cuprinde urmatoarele etape:1. Delimitarea obiectului de activitaten cadrul acestei etape trebuie precizate granitele domeniului de care sunt legate activitatile care intereseaza.2. Identificarea principalelor evenimente.Aici trebuie revazute principalele evenimente externe si interne ale procesului; acestea sunt elemente cheie n realizarea modelului.3. Construirea tabelului evenimente-rezultate.Acest tablou permite definirea continutului procesului , preciznd pe coloane, evenimentele, actiunile induse si rezultatele.

  • 4. Identificarea si descrierea operatiilor.Tabloul evenimente-rezultate, n coloana centrala, permite deja identificare actiunilor induse de evenimentele declansatoare. O analiza mai complecta a contextului permite relevarea regulilor de gestiune, care sunt adesea elemente ale operatiilor.5. Reperarea sincronizarilor.Aparent, mai multe evenimente distincte pot sa declanseze aceeasi operatie. O data stabilite aceste elemente se poate construi schema de baza pentru fiecare operatie. Aceasta schema se numeste bloc operatie.6. Precizarea conditiilor de obtinere a rezultatelor.Se cauta, printre regulile de gestiune, acelea care definesc conditii de obtinere a rezultatelor. Se completeaza apoi schema de baza cu elementele respective.

  • 7. Ordonarea blocurilor-operatie.Structura generala a procesului decurge din cronologia evenimentelor. Deci evenimentele trebuie ordonate cronologic. Acest fapt permite ordonarea diferitelor blocuri-operatie si legarea lor conform principiului : un rezultat ( al operatiei n-1) declanseaza operatia urmatoare (operatia n).8. Verificarea si validarea modelului.Se verifica daca:- orice operatie duce la cel putin un rezultat;- orice operatie este declansata de cel putin un eveniment;- toate blocurile sunt legate.Validarea modelului se face de catre persoanele implicate n proces. Numai ele pot judeca pertinenta modelului propus.

  • Exemplu.

    Etapa 1.Domeniul care ne intereseaza este gestiunea clientilor privind comenzile pentru produse de panificatie (figura 2). Deci nu vor fi luate n considerare nici actualizarea stocurilor, nici activitatile contabile, ntruct nu apartin strict de gestiunea clientilor.

    Etapa 2.Pot fi identificate n principal: trei evenimente externe :1. Sosirea unei comenzi de la un client.2. Existenta unui mijloc de transport disponibil n care sa se ncarce marfa.3. Sfrsitul zilei; trei evenimente interne:1. Acceptarea comenzii.2. Decizia de livrare.3. Sfrsitul activitatii de livrare.

  • Etapa 3. Tabloul evenimente -rezultate.

    Evenimente

    Actiuni induse

    Rezultate

    1. Sosirea comenzii de la client

    Controleaza identitatea si pretul

    Comanda acceptata sau nu

    2. Existenta unui mijloc de transport disponibil

    Efectueaza livrarea

    Livrare efectuata

    3. Sfrsitul zilei

    Examineaza comenzile n asteptare

    Comanda de fabricatie

    1.Acceptarea comenzii

    Consultarea stocurilor de produse

    Comanda livrabila sau nu

    2.Decizie de livrare

    Pregatirea livrarii

    Marfa gata de plecare

    3. Sfrsitul activitatii de livrare

    Expedierea marfii si pregatirea facturii

    Livrare expediata

    Factura

    4. Comanda n asteptare

    Examinarea comenzilor n asteptare

    Comanda de fabricatie

  • Etapa 4.

    Se regasesc 6 operatii si anume:

    OP 1 - Controleaza identitate client si pret;OP 2 -Examineaza stocOP 3 - Pregateste livrareaOP 4 - FactureazaOP 5 - Expediaza marfaOP 6 - Examineaza comenzile n asteptare

    Obs. Au fost retinute doar aspectele conceptuale, eliminndu-se operatiile de tip organizational sau tehnic.

  • Etapa 5

    Vom exemplifica lucrul din aceasta etapa doar pentru un singur bloc operatie, si anume cel corespunzator operatiei 2 (efectueaza livrarea).

  • Etapa 6. Putem avea de ex. urmatoarele reguli de gestiune:a) daca comanda este acceptata. Aceasta regula defineste controlul de identitate si pret si conditioneaza rezultatul (comanda acceptata , respectiv refuzata);b) daca stocul este suficient, regula asemanatoare referitoare la marimea stocurilor.

    Etapa 7.Schema procesului este prezentata n figura 2.

    Etapa 8. Se constata n figura de mai sus ca sunt ndeplinite regulile de modelare n sensul ca orice operatie este declansata de cel putin un eveniment sI fiecare operatie are cel putin un rezultat (eveniment emis)

  • Descrierea detaliata a procesului

    Schema procesului prezentata n figura 3 permite o perceptie rapida a ansamblului prelucrarilor. Daca se doreste nsa o prezentare mai detaliata atunci este recomandat ca aceasta detaliere sa se faca la nivel de bloc operatie, fara sa mai urmeze o nlantuire a blocurilor detaliate, ntruct o schema detaliata a procesului ar fi greu de urmarit, de perceput. n acest caz se utilizeaza pentru eveniment urmatorul formalism.Descrierea detaliata a blocului corespunzator operatiei examinarea comenzilor n asteptare este prezentata n continuare :

  • Aceasta maniera de abordare aduce complemente asupra restrictiilor de timp si volum.

    Schema poate fi completata cu descrierea continutului operatiei, dar de aceasta data sub forma de fisa a operatiei, al carei continut este prezentat n continuare:

  • Descrierea operatiei Denumire: Examinarea comenzilor n asteptare Numar : 6 Proces : Gestiunea clientilor________________________________________________________________

    Mod de sincronizare

    - la sfrsitul zilei (ora 17) - pentru toate comenzile n asteptare________________________________________________________________

    Descrierea regulilor de gestiune

    R1. Pentru fiecare produs:- daca totalul cerut este mai mic dect cantitatea din stoc solicitati livrarea;- daca nu, cereti fabricarea.

  • R2. Comenzile de fabricatie sunt emise cel mai trziu a doua zi dupa examinarea comenzilor.________________________________________________________

    Descrierea regulilor de emisiune

    R1. Starea cererilor de fabricatieAstfel de scheme trebuie elaborate pentru fiecare operatie. Se aplica aici principiul cunoscut al ierarhizarii, mergnd de la general (schema procesului) catre particular (descrierea operatiei).________________________________________________________

  • Revenind la reprezentarea grafica de mai sus putem afirma ca parametri exprimnd dinamica procesului puneau restrictii doar la nivelul nodurilor si anume:- la nivelul sincronizarii (propozitia logica, durata limita) si- la nivelul operatiilor pentru emisiunea de rezultate (reguli de emisiune care orienteaza fluxurile catre o cale sau alta).

    Acesti parametri pot fi completati cu altii plasati pe sagetile de legatura, n amonte si n aval de operatie. Astfel vom avea ca parametri suplimentari:

    - participarea si durata limita (pe sageata eveniment --> sincronizare) si - cardinalitatea (pe arcul operatie --> rezultat)

  • Participare si durata limita (reglarea n amonte)

    Uneori sincronizarea, pentru a fi activata, are nevoie de existenta unui lot de aparitii ale evenimentului declansator. Acest numar constituie participarea tipului de eveniment la tipul de sincronizare. Timpul de activabilitate a acestui lot se numeste durata limita.

    Cardinalitatea evenimentelor (reglarea n aval)

    Operatiile emit rezultate (evenimente emise). Uneori este posibil ca acestea sa fie emise n mai multe exemplare identice. Numarul de exemplare exprima cardinalitatea tipului de eveniment rezultat al operatiei.

  • 2.4. Validarea modelelor

    2.4.1. Modelele externe ale datelor

    Fiecare prelucrare are propriul/propriile sale modele externe (subscheme) de date MCD construit prin prisma unei singure prelucrari. MED se construieste independent de MCD.

  • O prelucrare are ME distincte pentru fiecare consultare si pentru fiecare actualizare. Att pentru consultare ct si pentru actualizare, ME se construiesc pe baza blocurilor logice de date corespunzatoare.

    Loturi logice de date: fluxurile de date vehiculate de o anumita prelucare.

    Evenimentele care activeaza o sincronizare si care nu constituie o cerere de consultare constituie un BLD.

    Combinatia de evenimente produse printr-o regula de emitere a rezultatelor constituie un BLD.

  • Reguli pentru construirea ME

    1) Un ME pentru fiecare consultare sau actulaizare efectuata de o prelucrare.2) Fiecare ME se construieste pe baza BLD folosind formalismul EA.3) Entitatile din ME pot sa nu aiba identificatori.4) Atributele, entitatile si asocierile externe pot sa nu fie atribute, entitati sau asocieri conceptuale.5) Atributele externe echivalente atributelor conceptuale trebuie sa aiba acelasi nume.

  • Ex: modele externe pentru OP1consultare : verificare identitate client

  • actualizare: acceptare comanda de la client

  • 2.4.2. Principiul validarii modelelor

    Fiecare model extern trebuie sa fie deductibil din MCD

  • Ex: MCD-corespondenta directa: Cod produs, Den produs, Cantitate c-data ...-calcul: Valoare = Cantitate c-data * Pret vnz Val-totala =Valoare -echivalenta: Adresa-livr AdresaClient

  • 2.4.3. Reguli de validare n consultare

    Atributele externe trebuie sa fie atribute conceptuale.Daca nu:- omisiuni se completeaza MCD;- date calculate se nlocuieste n ME cu atributele conceptuale necesare calcularii sale; daca acestea nu apar n totalitate n MCD, se adauga;- date ce nu trebuie memorate se elimina din ME, urmnd sa fie tastate direct

  • Trebuie sa existe posibilitatea de-a avea acces la date n structura necesara

    Accesul poate fi facut: - pe baza identificatorului; - prin parcurgerea entitatilor sau asocierilor, una cte una se verifica existenta criteriilor de selectie necesare si se compeleteaza MCD daca este nevoie.Daca se fac consultari pentru care criteriul de acces nu este identificatorul, se adauga n MCD o noua entitate al carei identificator este acest criteriu de acces si asocierea necesara pentru consultare (cai de acces impuse de utilizare si nu de DF). Cardinalitatile asocierilor externe trebuie sa fie incluse n cardinalitatile asocierilor conceptuale ce le corespund semantic.

  • 2.4.4. Reguli de validare n actualizare

    Orice atribut extern trebuie sa serveasca fie la identificarea elementului conceptual de actualizat fie la obtinerea valorii de adaugat sau de modificat a unui atribut conceptual:-se suprima atributele externe care nu servesc nici unuia din scopurile amintite;-se adauga cele absente.

    Cardinalitatile asocierilor externe trebuie sa fie incluse n cardinalitatile asocierilor conceptuale ce le corespund semantic.

    Orice atribut conceptual trebuie sa poata fi inserat (modificat sau sters) prin cel putin un model extern. Daca nu, se adauga modelele externe adecvate.

  • Ex: entitati si asocieri inserate prin ME acceptare comanda de la client

    Trebuie adaugate MCP si ME corespunzatoare pentru actualizarea produselor si clientilor.

  • 2.5. Modelarea logica a datelor

    2.5.1. Cadru general Trecerea de la MCD, care este un model universal, spre o solutie informatica se face gradat, lund n considerare un anumit tip de solutie si apoi, n cadrul tipului respectiv, o solutie direct implementabila.

    Expresia MCD n termenii unui anumit tip de solutie informatica constituie modelul logic al datelor (MLD). Deoarece aplicatiile informatice de gestiune se caracterizeaza prin stocarea si prelucrarea relativ simpla a unor volume mari sau foarte mari de date, tipurile de solutii luate n considerare vizeaza modalitatile de gestionare a datelor pe suporturile de memorie externa.

  • 2.5.2. Modelul relational

    Domeniu: o multime de elemente de tip similar. Exemple:

  • Atribut: - o submultime a unui domeniu careia i s-a atribuit un nume. Numele exprima rolul sau semnificatia atribuite elementelor domeniului respectiv.Ex: - pentru domeniul Orase, pot fi definite atributele aeroport origine, aeroport destinatie, aeroport escala etc.

  • Relatie: o multime R = {(a1,a2,..,an):(a1 A1, a2 A2, ...an An) P(a1,a2,...an) = adevarat} unde A1,A2...An sunt domenii.

    Ex 1: A1: domeniul compozitorilor; A2: domeniul simfoniilor;P(a1,a2) = "a1 est autorul simfoniei a2".P(Beethoven,Eroica)=adevarat; P(Vivaldi,Simfonia fantastica)=fals.Ex 2:personal(MARCA,NUME,PRENUME,DATA-NASTERII)daca (m,n,p,d) personalatunci o persoana cu marca (m), numele (n), prenumele (p) este nascuta la data (d).Relatiile se reprezinta grafic sub forma de tabele, n care se disting:

    gradul relatiei: numarul de atribute utilizatecardinalitatea relatiei: numarul de tupluri (linii n tabel).

  • Cardinalitatea unei relatii este variabila n timp datorita operatiilor de actualizare care pot adauga sau sterge tupluri.

    Pentru o relatie pot exista 3 tipuri de chei: cheie primara: cel mai mic ansamblu de atribute (eventual unul singur) care permite identificarea fara univoc al fiecarui tuplu al unei relatii; atributele care compun cheia primara nu pot avea valori nule. cheie candidat: o alta posibila cheie primara, care nu a fost nsa retinuta ca atare. cheie externa: un ansamblu de atribute (eventual unul singur) care este cheie primara ntr-o alta relatie.

    Restrictie de integritate referentiala: daca ntre un atribut A si o cheie primara B exista o RIR atunci A nu poate lua dect valori care exista si n B. Prin definitie, cheile externe sunt supuse RIR n raport cu cheile primare corespunzatoare.

  • 2.5.3. Trecerea de la MCD la MLD relational

    a. ENTITATIFiecare entitate devine o relatie. Atributele entitatii devin atribute ale relatiei. Identificatorul entitatii devine cheia primara a relatiei.

  • b. ASOCIERIb.1 Cazul general

    1) Asocierea devine o relatie.2) Atributele proprii ale asocierii (daca exista) devin atribute ale relatiei.3) Cheile primare ale entitatilor participante la asociere devin chei externe.4) Identificatorul asocierii devine cheia primara a relatiei.

  • STUDENT(Nr matricol, Nume, Prenume)

    DISCIPLINA(Cod disciplina, Nume disciplina)

    EXAMEN(Nr matricol*, Cod disciplina*, Data examen, Nota)

  • ARTICOL(Cod articol, Den articol, Tip articol, UM)

    STRUCT-FABRICATIE(Cod articol compus*, Cod articol component*, Cantitate necesara)

  • b.2. Asocieri binare avnd cel putin o cardinalitate maximala 1.

    Se adauga la atributele relatiei corespunzatoare entitatii cu cardinalitatea maximala 1 identificatorul celeilalte entitati (cheia primara a relatiei corespunzatoare acesteia), care devine cheie externa. Daca asocierea are atribute proprii, acestea se adauga la rndul lor relatiei care reprezinta entitatea cu cardinalitate maximala 1.

  • COMPARTIMENT(Cod compartiment, Den compartiment)

    ANGAJAT(Marca,Nume, Prenume, Data nasterii, Salariul lunar, Cod compartiment*, Data ncadrarii)

  • PERSOANA(Cod persoana, Nume, Prenume, Data nasterii, Sex, Cod persoana tata*)

  • c. SUBTIPURI DE ENTITATI (Generalizarea/specializarea)

    c.1. Reprezentarea simpla a legaturilor dintre tip si subtipSe aplica regulile de la b.2. conform urmatoarei schemei generale:

  • c.2. Reprezentarea mostenirii

    Reprezentarea mostenirii ca proces de transfer al proprietatilor generice ale tipului spre subtipuri nu beneficiaza de o solutie relationala dedicata. Din aceasta cauza, este necesar sa se recurga la defactorizarea proprietatilor comune.

    a) se favorizeaza specializarea: tipul de entitate generica dispare iar atributele sunt adagate la fiecare dintre subtipuri.

  • b) se favorizeaza generalizarea:

    tipul de entitate generica preia si atributele specializate care, n functie de subtipul reprezentat, primesc valori nule.

    BUN-IMOBILIAR(Nr bun, Adresa, Suprafata, Pret solicitat, Stare, Chirie lunara, Avans minimal, Durata minima, Nr client*)att tipul ct si subtipurile sunt conservate ca atare.

    BUN-IMOBILIAR(Nr bun, Adresa, Suprafata, Nr client*)

    BUN-DE-VNZARE(Nr bun vnzare, Pret solicitat, Stare)

    BUN-DE-NCHIRIAT(Nr bun inchiriat, Chirie lunara, Avans minimal, Durata minima)

    Nr bun vnzare si Nr bun inchiriat trebuie sa respecte restrictiile de integritate referentiala n raport cu Nr bun.

  • In constructie .