220 likes | 362 Views
Firmă IT. Reali zatori: Neagu Silvia-Elena Popescu L ă cr ă mioara-Elena Scutaru Bogdan-Emanuel. Firma IT. Cerin ţ e:
E N D
Firmă IT Realizatori: Neagu Silvia-Elena Popescu Lăcrămioara-Elena Scutaru Bogdan-Emanuel
Firma IT Cerinţe: Proiectare unei baze de date a unei companii de dimensiune medie din domeniul IT. Firma livrează diferite produse clienţiilor săi, de la simple aplicaţii create la cerere, până la instalări de echipamente hardware şi software paticlurizat. Firma are ca angajaţi diverşi experti, consultanţi şi personal auxiliar. Intregul personal este angajat pe termen nelimitat, nu există angajaţi temporari sau colaboratori.
Modul de implementare: Compania este imaparţităîn mai multe departamente,fiecaredepartamentfiindcondus de catre un angajat din cadruldepartamentuluirespectiv. Pentru un proiect care trebuiedezvoltat in cadrulfirmei, se formează o echipa de persoaneselectate din maimultedepartamente.Managerul de proiectestepedeplinşiexclusivresponsabil de conducereaproiectului,independent de ierarhia de conducere din cadrulfirmei.
Entităţi: O entitate este un lucru, obiect, persoană sau eveniment care are ca semnificaţie pentru o afacere modelata, despre care trebuie sa colectam si sa memoram datele. O entitate este reprezentată in ERD (EntityRelationshipDiagram) printr-un dreptunghi cu colţurile rotunjite.
Exemple de entităţi si modul de reprezentare PROFESOR PACIENT ELEV
O entitate este de fapt o clasă de obiecte şi pentru orice entitate exista mai multe instanţe ale sale. O instanţă a unei entităţii este un obiect, o persoană, eveniment, particular din clasa de obiecte care formează entitatea. Un atribut poate fi obligatoriu sau opţional. Un atribut obligatoriu este precedat in ERD de un asterisc *, iar un atribut opţional va fi precedat de un cerculeţ . Atributele care definesc in mod unic instanţele unei entităţi se numesc identificatori unici(UID). Atributele din UID sunt îîntotdeaunaobligatorii, acestea sunt precedate de semnul diez #(nu mai trebuie pus si un asterisc in fata acestor atribute).
Exemplu: Entiatea Carte CARTE # titlu # autor # data_apariţiei *format *număr_pagini
Relaţii intre entităţi: O relaţie este o asociere, legătură, sau conexiune existentă intre entităţi şi care are o semnificaţie pentru afacerea modelată. Orice relaţie este bidirecţională,legând doua entităţi sau o entitate cu ea însăşi. Orice relaţie este caracterizată de următoarele elemente: • numele relaţiei • opţionalitatea relaţiei • gradul (cardinalitatea) relaţiei
Tipuri de relatii: • Relaţii one-to-one – o instanţă si numai una a acestei entităţi este in relaţie cu o instanţă a celeilalte entităţi. INTREBARE are RASPUNS CORECT pentru PERSOANA este PROFESOR este LOC DE PARCARE ocupat de MAŞINĂ ocupa
publică • Relaţii one-to-many– sunt relaţiile de la unul la mai mulţi. De exemplu o editura poate publica mai multe cărţi. EDITURA CARTE publicată srisă POET POEZIE scrisă de formată din FORMAŢIE ARTIST cântă in memorat pe CD FILM conţine
Relaţii many-to-many – sunt relaţii de la mai mulţi la mai mulţi. Spre exemplu un medicament poate apărea pe mai multe reţete şi mai multe reţete pot conţine acelaşi medicament. apare pe MEDICAMENT REŢETA conţine
Modelarea datelor istorice: Viaţa înseamnă schimbare, orice lucru se schimbă de-a lungul timpului si doar obiectele se modifică în timp, ci chiar si relaţiile dintre aceste obiecte se schimbă. Prieteniile se pot rupe, se leagă alte prietenii, oamenii îşi schimbă locul de muncă etc.. Deci si datele dintr-o bază de date pot suferi modificări de-a lungul timpului.
MODELAREA DATELOR ISTORICE Dateledintr-o bază de date pot suferimodificări de-a lungultimpului. De exemplu, prețulproduselorpoatesuferimodificăridestul de des. Factorii care duc la acestemodificări pot fidintreceimai diverși: rata, inflația, anotimpul etc. Așadaratributulprețdin cadrulentității produsse modifică de-a lungultimpului.
Formele entităţilor: • Prima forma normala O entitate se găseşte în prima forma normală dacă si numai dacă: • nu există atribute cu valori multiple • nu există atribute sau grupuri de atribute care se repetă. Atributele trebuie să conţină o singura informaţie. Dacă un atribut are valori multiple, sau un grup de atribute se repetă, atunci trebuie să creaţi o entitate suplimentară pe care sa o legaţi de entitatea originală printr-o relaţie de 1:m(de unul la mai mulţi).În noua entitate vor fi introduse atributele sau grupurile de atribute care se repetă.
A doua forma normală O entitate se găseşte în a doua forma normală dacă si numai dacă se găseşte în prima forma normală si în plus, orice atribut care nu face parte din UID (UniqueIDentifier) va depinde de întregul UID nu doar de o parte a acestuia. Dacă o entitate sa găseşte în prima forma normala si UID-ul său este format dintr-un singur atribut atunci ea se găseşte automat în a doua forma normală.
A treia forma normală O entitate se găseşte în treia formă normală dacă si numai dacă se găseşte în a doua formă normală si în plus nici un atribut care este parte a UID-ului nu depinde de un alt atribut non-UID. Cu alte cuvinte, nu se acceptă dependenţe tranzitive, adică un atribut să depindă de UID în mod direct.
Maparea relaţiilor: • Maparea relaţiilor one-to-many În general, la maparea unei relaţii de tip one-te-many, vom introduce in tabela corespunzătoare entităţii de pe partea many a relaţiei, o cheie primară a entităţii de pe partea one a relaţiei. Câmpurile astfel introduse se vor numi cheie străină(foreignkey). Aşadar: • cheia străină a unei tabele este cheia primară din tabela referinţă • Cheia străină este întotdeauna introdusă în tabela corespunzătoare entităţii din partea many a relaţiei.
Maparea relaţiilor one-to-one Dându-se două entităţi A si B legate între ele printr-o releţieone-to-one, este evident ca putem include cheia primară A in cadrul tabelei B, dar putem proceda la fel de bine şi invers, incluzând cheia primară a tabelei B in cadrul A, deoarece fiecărei instanţe a entităţii A îi corespunde cel mult o instanţă a entităţii B, dar si invers, oricărei instanţe a entităţii B îi corespunde cel mult o instanţă a entităţii A.
Maparea relaţiilor recursive Dacă vom privi o relaţie recursivă ca pe o relaţie de tipul one-to-many între o entitate si ea însăşi. • ANGAJAT • #marca • *nume • *prenume • *data angajarii • *adresa • telefon • email coordonat de conduce
Tipurişi subtipuri Un subtip sau o subentitateeste o clasificare a unei entităţi care are caracteristici cu o entitate generală, precum atribute si relaţii. Subtipurile se reprezintă in cadrul hărţii relaţiilor ca entităţi in interiorul altei entităţi. Atributele şi relaţiilor ca entităţi în interiorul altei entităţi. Atributele şi relaţiile comune tuturor subtipurilor se vor reprezenta la nivelul supertipuluisau superentităţii. Atributele si relaţiile supertipului vor fi moştenite de către subtipuri.
Relaţii exclusive(arce) Există doua tipuri de relaţii exclusive: • Relaţii exclusive obligatorii in care toaterelaţiilecefac parte din arcul respective suntobligatorii, ceeaceînseamnă că de fiecaredată, unadintrerelaţii are obligatoriu loc. • Relaţii exclusive opţionalecazîn care toaterelaţiilecefac parte din arc sunt opţionale. în acestcaz, de fiecare data are loc celmaimultuna din relaţii, existândvarianta ca pentru o instanţă a entităţii careiaaparţinearcul să nu aibă loc niciunadintrerelaţiile din grupul respective.
NONTRASFERABILITATEA • Spunemdespre o relaţie căestenontrasferabilădacăo asociaţieîntredouăinstanţe ale celordouăentităţi, odatăstabilită, nu maipoatefimodificată. Nontrasferabilitateauneirelaţii se reduce la faptulcăvalorilecheiistrăinecorespunzătoarerelaţieirespective nu pot fimodificate.