1 BAZE DE DATE.doc

Embed Size (px)

Citation preview

  • 8/18/2019 1 BAZE DE DATE.doc

    1/16

    BAZE DE DATE

    Prin bază de date  înţelegem o colecţie de date elementare şiinterdependente, structurate şi organizate astfel încât să fie accesibile uneicomunităţi de utilizatori.

    Bazele de date sunt concepute pentru a prelucra volume mare de informaţii.Organizarea datelor în unul sau mai multe fi iere stocate în memoria externă esteșîn concordan ă cu această defini ie.ț ț

    in pacate, utilizarea directă a fi ierelor are mai multe dezavanta!e precum"ș# acces dificil la date $ în practică, pentru fiecare acces trebuie scris un

     program, în plus orice modificare a structurii fi ierului presupuneș

    modificarea tuturor programelor care îl folosesc.# lipsa de securitate $ întrucât orice programator poate accesa directfi ierele, este imposibil să se garanteze securitatea i integritateaș șdatelor.

    # într$un mediu în care mai mul i utilizatori accesează acelea i fi iereț ș șapar probleme de concuren ă greu de rezolvat.ț

    Prin urmare, devine necesară utilizarea unui soft%are specializat,responsabil cu gestionarea fi ierelor bazei de date, u urarea rezolvării aspectelor deș șsecuritate i de furnizare de diferite tipuri de interfe e necesare pentru a accesaș țdatele.

    &cest soft%are complex poartă denumirea de 'istem de (estiune a Bazelor de ate )'(B* i reprezintă sistemul de programe care permite construireaș

     bazelor de date, introducerea informaţiilor în bazele de date şi dezvoltarea deaplicaţii privind bazele de date. +onceptul de 'istem de (estiune a Bazelor deate )'(B* se regăseşte cu aceeaşi denumire şi semnificaţie în terminologiafranceză )'(B $ 'steme de (estion de Bases de onnees* şi engleză )-B' $ataBase -anagement 'stem*.

      +onceptul de bază de date  a apărut în /01 în cadrul primului raport+O&'23  prezentat la lucrările unei conferinţe pe probleme de limba!e degestiune a datelor “Development and Management of Computer – centered date-base”. 3a această conferinţă a fost lansată ideea organizării datelor prinintermediul unui fişier de descriere globală, numit dicţionar de date  care aremenirea de a asigura independenţa programelor faţă de date şi a datelor faţă de

     programe4.Baza de date conţine nu numai datele operaţionale ale organizaţiei, ci şi o

    descriere a acestora. e aceea ea este definită şi ca o colecţie autodescrisă deînregistrări integrate. &ceastă descriere a datelor este cunoscută sub denumirea decatalog de sistem  sau dicţionar de date  sau meta-date )date despre date*. 5atura

    1 +Onference on &ta '2stems 3anguages 6 +onferinţa despre 3imba!ele 'istemelor deate23ungu, 7., ş.a., Baze de date, Organizare, proiectare şi implementare , 8ditura &ll,Bucureşti, //9, p.:

  • 8/18/2019 1 BAZE DE DATE.doc

    2/16

    autodescriptivă a bazelor de date este cea care determină independenţa program$date.

    &ccesul utilizatorilor la informaţiile despre structura unei baze de date serealizează prin intermediul dicţionarului de date.

    Sistemul de gestiune a bazelor de date  constituie o interfaţă între utilizatorişi baza de date şi asigură următoarele funcţiuni"

    . escrierea structurii bazei de date" a fiecărui tabel, a relaţiilor dintre tabele, a restricţiilor în reprezentarea informaţiilor etc. cua!utorul unui limba! de descriere a datelor 3.3 este utilizat atât pentru proiectarea bazelor de date cât şi

     pentru redefinirea lor.

    4. Operaţii asupra datelor aflate în baza de date"# introducerea ini ială aț datelor # adăugarea de noi date# modificarea unor date existente pentru a le pune în

    acord cu realitatea# ştergerea unor date devenite inutile

      +u a!utorul unui limba! de manipulare a datelor 3-:. 7nterogarea bazei de date, adică extragerea unor informaţii stocate

    în aceasta, realizarea de statisci asupra datelor etc. cu a!utorul unuilimba! de cereri 3+

    1. &dministrarea i protec iaș ț  bazei de date.

     Diferite modele de baze de date8xistă mai multe modele de baze de date, diferen iate în func ie deț ț

    reprezentarea datelor pe care le con ine"ț Modelul ieraric" atele sunt clasificate ierar;ic într$o structură de tip

    arbore. &cest model folose te pointeri între înregistrări.ș  &cesta a fost primul model'(B

     Modelul de re eaț  " ca si modelul ierar;ic acest model foloseste pointeri laînregistrări. 'tructura sa nu este neapărat arborescentă.

    4

  • 8/18/2019 1 BAZE DE DATE.doc

    3/16

     Modelul rela ional ț  " datele sunt stocate în tabele bidimensionale )formate dinrânduri i coloane*.ș   -anipularea acestor date are loc în conformitate cu teoriamatematică a rela iilor.ț  

     Modelul deductiv" datele sunt reprezentate în formă tabelară, dar manipularea lor se face prin calculul predicatelor.

     Modelul orientat pe obiecte" datele sunt stocate ca obiecte, adică structurinumite clase de date cu membri.

    Bazele de date rela ionale reprezintă cel mai frecvent tip de baze de datețutilizat.

     Niveluri şi modele de reprezentare a datelor în bazele de date

  • 8/18/2019 1 BAZE DE DATE.doc

    4/16

    >ăzută prin prisma celor trei niveluri, baza de date poate fi reprezentată caîn figura următoare.: 

    ?tilizator &  ?tilizator B  ?tilizator B4 

    &plicaţie 

    ?tilizator &4 

    +omenzi 

    autonome  &plicaţie +omenzi 

    autonome 

    7magine & 

    )nivel extern* 7magine B 

    )nivel extern* 

    @. 

    ... 

    @. Scema 

    e!ternă " 

    Scema 

    e!ternă # 

    75A8C&D& &  75A8C&D& B 

    7magine globală 

    )nivel global* Scema conceptuală 

    $globală% 

    Sistem de 

    gestiune a bazei de date 

    75A8C&D& 

    BAZA DE DATE MEMORATĂ PE DISC Scema internă 

     &ivele de abstractizare a datelor 'n bazele de date

     eterminarea structurii unei baze de date se poate aborda ascendent,

    realizându$se descrierea sc;emelor externe, urmată de elaborarea sc;emeiconceptuale, sau descendent definind mai întâi, sc;ema conceptuală şi deducândulterior sc;emele externe posibil de obţinut.

    +el mai adesea, sc;ema conceptuală se obţine pe baza sc;emelor externe, prin eliminarea redundanţelor şi ErafinareaF acestora. Arecerea de la sc;emaconceptuală la cea internă se face prin intermediul limba!elor de descriere a datelor,care sunt incluse în '(B$uri. ?n model de date presupune un limba! de descrierea realităţii, în timp ce o sc;emă este o descriere a unei realităţi după un model dat.

     Nivelul extern (schema externă)

    3a nivelul extern, fiecare grup de lucru care manipulează datele posedă oanumită descriere a acestora numită sc;emă externă. &ceastă descriere corespundefelului în care grupul vede baza de date în programele lui de aplicaţii. Prin urmarenivelul extern reflectă mulţimea datelor care prezintă interes pentru un utilizator sau pentru un grup de utilizatori.

      8xistă aşadar, mai multe sc;eme externe, fiecare sc;emă externă presupune utilizarea unei părţi din baza de date, folosind informaţiile într$un mod

    3  Cotac;e, -., Baze de date relaţionale. Organizare, interogare şi normalizare, 8dituaGunimea, 7aşi, //H, p.:4

    1

  • 8/18/2019 1 BAZE DE DATE.doc

    5/16

     bine determinat. &ceastă parte de informaţie se numeşte vedere. Ciecărei vederi îicorespunde un grup de utilizatori. Pentru un grup particular se definesc tipurile decereri de informaţii şi modul de determinare a datelor din B care formeazărăspunsuri la aceste cereri. ?n pas important în proiectarea unei B estedeterminarea vederilor şi a claselor de utilizatori asociate lor. >ederile permit caaceleaşi date să fie privite din perspective diferite de diferiţi utilizatori.

      Nivelul conceptual (modelul conceptual)

     5ivelul conceptual este un nivelul central care structurează datele astfelîncât acestea să poată fi preluate şi prelucrate cu a!utorul unui '(B.

     5ivelul conceptual reprezintă viziunea proiectanţilor B asupra datelor.-odelul conceptual )sc;ema conceptuală* al datelor este esen ial pentruț buna dezvoltare a bazei de date.

  • 8/18/2019 1 BAZE DE DATE.doc

    6/16

    ?n atribut poate fi simplu, când poate lua o singură valoare, sau repetitivcînd poate lua mai multe valori)exemple" 3imbi straine cunoscute, numar telefon*.

    8xistă atribute care necesită valori JnuleF fapt care trebuie să fie luat înconsiderare la proiectarea bazei de date.

    8ntitatea este percepută ca un tip de obiecte. Ciecare obiect individualconstituie o realizare)sau instanţă* a entităţii.

  • 8/18/2019 1 BAZE DE DATE.doc

    7/16

    &ceste valori reprezintă cardinalitatea maximă a asocierii. O asociere estecaracterizată şi de o cardinalitate minimă care indică obligativitatea participăriiinstanţelor la asociere.

    Cardinalitatea minimă zero" pot exista instanţe ale entităţii care nu participă la nici o realizare a asocierii.

    Cardinalitatea minimă unu" toate instanţele entităţii trebuie să participe laasociere.

     (olul  unei entităţi este un nume care desemnează modul de participare alentităţii la o asociere. 7dentificarea asocierilor se realizează prin rolurile entităţilor 

     participante deci, concret, cu a!utorul identificatorilor entităţilor participante.8xemple"

    7n determinarea asocierilor trebuie să se ţină seama şi de posibilitateaexistenţei asocierilor complexe )între mai mult de două entităţi*. e exemplu, fie

    'A?85A

    +od student 5umePrenumeata na teriiș

    +?'

    +od cursenumire curs

     5r.puncte creditP&A7+7P&, n L, n

    H

    8P&A&-85A

    +od departamentenumire departament&dresa departament

    &5(&G&A

    +5P 5umePrenumeata na teriiș&dresa 

    ,   L, nlucreaza la loc munca

    3?+8&M&

    ata încadrarii

    Cardinalitate ma!imă

      Cardinalitate minimărol rol   "tribut al asocierii

    8P&A&-85A

    +od departamentenumire departament&dresa departament

    &5(&G&A+5P

     5umePrenumeata na teriiș&dresa 

    L,   L,  

    +O5?+8

    ata numirii

  • 8/18/2019 1 BAZE DE DATE.doc

    8/16

    entităţile C?57MO, -&A87&3, 8POM7A şi asocierile binarecorespunzătoare. &ceste asocieri permit să se determine furnizorii materialelor,materialele intrate în depozite respectiv furnizorii ce aprovizionează depozitele. 5use poate determina ce furnizor aprovizionează cu un anumit material un anumedepozit. 7ntroducerea asocierii EaprovizionareF între entită ile C?57MO,ț-&A87&3 i 8POM7A permite rezolvarea cereriiș Ece furnizor aprovizionează cuun anumit material un anume depozitNF.

    Cazui s!e"ia#e de entită$i %i as&"iei

     Subentitate- Superentitate.

  • 8/18/2019 1 BAZE DE DATE.doc

    9/16

    7ntre subentitate şi superentitate există întotdeauna o asociere de tip,"L,,semnificând faptul că o instanţă a unei subentităţi este asociată cu o singurăinstanţă a entităţii de bază şi reciproc.

    O subentitate se reprezintă într$un dreptung;i inclus în dreptung;iul carereprezintă superentitatea corespunzătoare.

    Generalizarea este procesul de abstractizare invers specializării, prin care secrează un supertip de entitate pornind de la mai multe tipuri de entităţi. Pentruaceasta se identifică atributele comune ale mai multor tipuri de entităţi şi acesteatribute vor caracteriza superentitatea, iar atributele care diferă de acestea rămânatribute specifice ale fiecărui tip.

    e exemplu, dacă au fost definite tipurile de entităţi" &?AO-OB73 )-arca,>iteza-axima, Pret, 5umarPasageri* şi +&-7O5 )-arca, >iteza-axima, Pret,Aona!*, se poate defini un supertip al acestor tipuri" >87+?3 )-arca,

    >iteza-axima, Pret*, care cuprinde toate atributele comune, iar tipurile&?AO-OB73 şi +&-7O5 devin subtipuri ale tipului >87+?3, fiecareconţinând atributele specifice )5umărPasageri pentru tipul &?AO-OB73 şi Aona!

     pentru tipul +&-7O5*.ezultatul obţinut prin generalizare este, ca şi în cazul specializării, o

    ierar;ie de tipuri şi subtipuri de entităţi, iar asociearea dintre mulţimilecorespunzătoare este tot o asociere ". +eea ce diferă în generalizare faţă despecializare, este doar modul în care se definesc nivelele ierar;iei.

    'pecializarea poate fi totală)instanţele superentităţii aparţin unei subentităţi*sau parţiala)pot exista instanţe ale superentităţii care să nu aparţină nici unei

    AN'A(AT+5P

    nume si prenumeadresa

    ECONOMIST

    +alificare

    IN'INER 

    'pecializare

    M)NCITOR

    -eserie

    /

  • 8/18/2019 1 BAZE DE DATE.doc

    10/16

    subentităţi*. (eneralizarea, fiind prin definiţie gruparea de entită i de!a existente înț baza de date nu poate fi decât totală.

    7ntre subtipuri poate exista o excluziune, ceea ce se traduce prin faptul ca oanumita instanţă nu poate apartine decat unei singure subentităţi. 8xista insa sicazuri în care aceea i instanţă apar ine mai mulor subtipuri. e exemplu un anga!atș țal unei universita i poate fi şi student la frecven ă redusă.ț ț  Pentru astfel de situa iițtrebuie precizate după caz rela ii de excluziune, incluziune, etc.ț

    7ntroducerea de subtipuri prin specializare sau prin generalizare prezintădouă avanta!e principale" favorizează proprietăţile comune la nivelul tipului)superentităţii* şi face mult mai clară reprezentarea unor tipuri de asocieri la care

     participă numai o parte dintre entităţi.

     Asocieri reflexive Pot exista asocieri şi intre o entitate şi ea insăşi, acestea se numesc asocierirefle!ive sau recursive.

    Eta!e#e &b ineii m&de#u#ui Entitate*As&"ieeț* 7dentificarea entită ilor sistemuluiț

    4* 7dentificarea atributelor i a identificatorilor entită ilor ș ț:* 7dentificarea asocierilor între entită iț1* 7dentificarea atributelor proprii asocierilor 9* 'tabilirea cardinalită ilor ț0* Arasarea diagramei

     Nivelul intern

     5ivelul intern este nivelul elementar la care pot fi considerate datele şi sereferă la modul în care sunt stocate datele pe suporturi magnetice. 3a acest nivelstructura datelor este foarte detaliată. 5ivelul intern cuprinde structurile de date şi

    -uncitor 

    conduce

    subordonat 'ef  ec;ipa

    L

  • 8/18/2019 1 BAZE DE DATE.doc

    11/16

    organizările fişierelor utilizate pentru stocarea datelor pe dispozitivele de stocare.8l tratează probleme cum ar fi" alocarea spaţiului de stocare pentru date şiindexuri, descrierile înregistrărilor pentru stocare, cu dimensiunile de stocare

     pentru articolele de date, plasarea înregistrărilor, te;nicile de comprimare şi decodificare a datelor. 5ivelul intern interacţionează cu metodele de acces alsistemului de operare )te;nici de administrare a fişierelor, pentru stocarea şiregăsirea înregistrărilor de date* pentru a plasa datele pe suporturile de stocare, aregăsi datele, a realiza indexurile.

    7ncluderea în baza de date a descrierii structurii acesteia o deosebeştecalitativ de fişierele de date, deoarece prin aceasta se asigură independenţa datelor din bază faţă de programele de aplicaţii şi invers. Posibilitatea modificării structuriila un nivel, fără a afecta structura celorlalte niveluri este întâlnită sub numele de

    independenţa datelor, prezentă sub două forme"

    • independenţa fizică de date, adică posibilitatea modificării structurii bazei de date la nivel intern )cum ar fi utilizarea unor organizări ale fişierelor saustructuri de stocare diferite, a unor dispozitive diferite de stocare, modificarea deindexuri sau de algoritmi ;as;*, fără a fi necesară sc;imbarea structuriiconceptuale şi rescrierea programelor de prelucrare a datelor. &semeneamodificări sunt necesare pentru ameliorarea performanţelor de lucru )viteză deacces, mărimea fişierelor etc.*. &utonomia fizică este cea care asigură şi

     portabilitatea bazei de date de pe un sistem de calcul pe altul fără modificareasc;emei conceptuale şi a programelor=

    • independenţa logică de date se referă la faptul că modificareasc;emei conceptuale a bazei de date )cum ar fi adăugarea sau eliminarea unor entităţi, atribute sau relaţii* nu necesită şi modificarea sc;emei externe saurescrierea programelor de aplicaţii.

    8ste important să se facă distincţie între descrierea bazei de date şi baza dedate însăşi. escrierea bazei de date constituie sc;ema bazei de date. 8a estespecificată în timpul procesului de proiectare a bazei de date şi este sc;imbatărareori. 'etul de date din baza de date se numeşte instanţa bazei de date. -ai multeinstanţe ale bazei de date pot corespunde aceleiaşi sc;eme a bazei de date.

  • 8/18/2019 1 BAZE DE DATE.doc

    12/16

    M&de#u# e#a$i&na# a# date#&

     Modelul rela ional al datelor ț    a fost conceput i dezvoltat deș8dgar CranQ +odd )/4:64LL:, informatician american de origine engleză* laînceputul anilor /HL i cuprinde trei componente principale" structura datelor,șintegritatea datelor i prelucrarea datelor.ș

    Stu"tua date#&

     7n modelul rela ional al datelor sunt definite no iunile deț ț atribut , domeniu,rela ieț  , scema rela ieiț  , scema rela ionalăț  .

    ?n atribut  este un identificator)un nume* ce descrie o informatie memoratăîn baza de date. Domeniul  unui atribut este o mul ime de valori posibile. &ceste valori suntț

    de tip similar.O rela ieț    este o submul ime a produsului cartezian aț n  domenii ale

    atributelor)nKL*.8lementele unei rela ii se numescț tupluri.7ntr$o rela ie nu sunt permise tupluri identice.ț

    ela iile sunt reprezentate sub forma tabelelor bidimensionale în care fiecarețrând reprezintă un tuplu i fiecare coloană)atribut al rela iei* reprezintă valorileș țactuale ale tuplurilor dintr$un domeniu al produsului cartezian. Aabelele formează

    structura logică a modelului rela ional.ț3a nivel fizic, sistemul utilizează diverse te;nici de stocare )fi iereșsecven iale, indexate, tabele de dispersie, compresia datelor, pointeri etc*. Aabelelețreprezintă o abstractizare a datelor înregistrate fizic în memorie.

    *radul  )aritatea* unei rela ii este dat de numărul de atribute.ț Pentru o rela ie)tabel*, pot exista trei tipuri deț cei)identificatori*"

    • ceie candidat  6 un ansamblu minimal de atribute)coloane* eventual unsingur atribut care permite identificarea fără ec;ivoc a fiecăruituplu)rând* al rela iei)tabelului*.ț

    • ceie primară. Pentru fiecare rela ie se alege o c;eie candidat care va fițdesemnată ca fiind c;eia primară a rela iei. +elelalte c;ei candidat, dacațexistă, poartă denumirea de cei alternante. &tributele care compun c;eia

     primară nu pot avea valoarea 5ull )valoare conven ională pentru situa iaț țîn care valoarea unui atribut este necunoscută sau neaplicabilă*.

    • ceie străină 6 un ansamblu de atribute)eventual un singur atribut* alunei rela ii care în acela i timp este c;eie primară sau alternantă în altăț șrela ie ', nu neapărat distinctă de i care respectă regula integrită iiț ș țreferen iale)ț  (+(* adică valorile c;eii străine, dacă nu sunt null , seregăsesc printre valorile c;eii primare )candidat*ale rela iei '.ț

    4

  • 8/18/2019 1 BAZE DE DATE.doc

    13/16

    Scema rela ieiț   precizează numele rela iei, lista de atribute cu domeniile lor ți c;eia primară a rela iei.ș ț

    Scema rela ionalăț    este compusă din mul imea sc;emelor rela iilor cuț țmen ionarea c;eilor străine.ț

    e exemplu, pentru rela iile +O-&5& i +3785A urmatoare"ț ș 

    avem următoarea sc;emărela ională"ț

    +O-&5&)5r+omanda,R+od+lient*

    +3785A)+od+lient, 5ume+lient, &dresa+lient*

    Integitatea date#&  8ste dată de corectitudinea informa iilor con inute în baza de date iț ț ș

     presupune detectarea, corectarea i prevenirea diferitelor erori. +ondi iile deș țintegritate nu permit introducerea în baza de date a unor date aberante.

    8xistă constrângeri)reguli* de integritate la nivel de domeniu care privescanumite valori pentru atribute, constrângeri la nivel de tuplu i constrângerișmultituplu$ combina ii de mai multe tupluri, constrângeri legate de c;eile candidatț)unicitatea valorilor c;eii i pentru c;eia primara, excluderea valorilor nule*,șconstrângeri legate de c;eia străină )necesitatea existen ei unei valori apar inândț țc;eii primare din rela ia asociată care să coincidă cu valoarea c;eii străine nenulăț)7**.

    Pe#u"aea date#&&re la bază algebra rela ională bazată pe o colec ie de operatori ce au caț ț

    operanzi rela ii. ezultatul aplicării unui operator la una sau două rela ii)în func ieț ț țde aritatea acelui operator* este tot o rela ie.ț

    'unt cinci opera ii de bază care pot fi aplicate rela iilor" reuniunea, diferen a,ț ț ț produsul cartezian, proiec ia i selec ia.ț ș ț

    +3785A

    +od+lient 5ume+lie

    nt&dresa+lie

    nt

    4: -arius Pitesti41 Bogdan Pitesti

    49 adu Bucuresti

    :

    c;eie strainăc;eie primară

  • 8/18/2019 1 BAZE DE DATE.doc

    14/16

    A#g&itm de tans+&mae a m&de#u#ui Entitate*As&"iee ,n m&de# e#a i&na#-ț

    O entitate devine o rela ie)tabel*ț4 ?n atribut al unei entită i devine atribut al rela iei corespunzătoare)coloană înț țtabel*. 7dentificatorul entită ii devine c;eie primară a rela iei.ț ț

     

    8)7d8, &tribut, &tribit4,@, &tributn*

    :. O asociere, în func ie de tipul său, va fi reprezentată fie printr$o rela ie specialăț ț)tabel asociativ* fie printr$o c;eie străină într$una din cele două rela ii care facețreferire la c;eia primară a celeilalte rela ii.ț

    :. &socierile maximale " se rezolvă prin intermediul c;eii străine.+;eia străină va fi plasată în func ie de cardinalitatea minimă.ț

      $Pentru cardinalitatea minimă "L c;eia străină va fi plasată în rela iațcu cardinalitatea minimă .

    8)7d8, R7d84, @*84)7d84, @*$Pentru cardinalitatea minimă L"L c;eia străină va fi plasată în rela ia cu mai pu ineț țtupluri.

    $Pentru cardinalitatea minimă " c;eia străină va fi plasată în oricare rela ie.ț

    87d8&tribut&tribut4@&tributn

    8

    7d8

    84

    7d84, L,

    1

  • 8/18/2019 1 BAZE DE DATE.doc

    15/16

    :.4 &socierea maximală "n se rezolvă prin intermediul c;eii străine. +;eiastrăină va fi plasată în rela ia de partea a asocierii.ț

    8)7d8, &tribut, &tribut4, @, &tributn, R7d84, &tributS&, &tributS&4 *84)7d84, @..*

    :.: &socierea maximală n"n se transformă într$o rela ie nouă, un tabel asociativțcare con ine două c;ei străine corespunzătoare celor două tabele asociate. +;eiaț

     primară a tabelului asociativ este compusă din cele două c;ei străine plus eventualalte coloane adi ionale.ț

    8xemplificare"

    'e dore te realizarea unei aplica ii cu baze de date pentru eviden a vânzărilorș ț ț

     produselor unei firme. Produsele se vând către clien i prin intermediul facturilor.ț'e consideră următoarea colec ie )simplificată* a datelor ț " 5rCactura, ataCactura, +od+lient, 5ume+lient, &dresa+lient, +odProdus,enumireProdus, +antitate, Pret unitar.eguli de gestiune"

    • O factură este emisă pentru un client• ?nui client îi pot fi emise mai multe facturi• O factură face referire la mai multe produse• ?n produs este obiectul mai multor facturi

    'ă se realizeze modelul conceptual i modelul rela ional al datelor.ș ț

    ezolvare"8ntită ile sistemului sunt"țCactura, +lient, Produs.

    8ntitatea Cactura este caracterizată prin atributele 5rCactura i ataCactura.ș 5rCactura reprezintă identificatorul entită ii.ț8ntitatea +lient este caracterizată prin atributele +od+lient, 5ume+lient,&dresa+lient. +od+lient reprezintă identificatorul entită ii.ț8ntitatea Produs este caracterizată prin atributele +odProdus, enumireProdus,Pret. +odProdus reprezintă identificatorul entită ii.ț

    7ntre entită ile +lient i Cactură există asociereaț ș TT solicită de cardinalitate n./

    87d8&tribut&tribut4@&tributn

    847d84@

    9

    &sociere&tributS&

    &tributS&4

    , L,n

  • 8/18/2019 1 BAZE DE DATE.doc

    16/16

    7ntre entită ile Cactură i Produs există asociereaț ș TT facturareKK de cardinalitatenn i cuș  atributul specific cantitate/

    -odelul conceptual al sistemului analizat este următorul"

     

    Prin aplicarea algoritmui de transformare a modelului 8ntitate$&sociere în modelrela ional ob inem următorul model rela ionalț ț ț "

    +3785A7 )+od+lient, 5ume+lient, &dresa*,C&+A?7 )5rCactura, ata, R+od+lient*,PO?'8 )+odProdus, enumire, Pret*,8A&377C&+A?7 )R5rCactura, R+odProdus, +antitate*

    0

    +3785A

    +od+lient 5ume+lient&dresa

    C&+A?&

     5rCacturaata'olicităL, n ,

    PO?'

    +odProdusenumirePret

      Cacturare

    +antitateL,n

    ,n