Transcript 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. Compania este imaparţită în mai multe departamente, fiecare departament fiind condus de catre un angajat din cadrul departamentului respectiv. Pentru un proiect care trebuie dezvoltat in cadrul firmei, se formează o echipa de persoane selectate din mai multe departamente. Managerul de proiect este pe deplin şi exclusiv responsabil de conducerea proiectului, independent de ierarhia de conducere din cadrul firmei. O entitate este un lucru, obiect, persoană sau evrniment care are ca semnificatie pentru o afacere modelata, despre care trebuie sa colectam si sa memoram datele. O entitate este reprezentată in ERD (Entity Relationship Diagram) printr-un dreptunghi cu colţurile rotunjite. PROFESOR PACIENT ELEV O entitate este de fapt o clasă de obiecte şi pentru orice entitate exista mai multe instanţe ale sale.O instanta a unei entităti 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 instantele unei entitaţi se numesc identificatori unici(UID). Atributele din UID sunt intotdeauna obligatorii, acestea sunt precedate de semnul diez #(nu mai trebuie pus si un asterisc in fata acestor atribute). Entiatea Carte CARTE # titlu # autor # data_apariţiei *format *număr_pagini O relatie este o asociere, legătură, sau conexiune existentă intre entităţi şi care are o semnificaţie pentru afacerea modelată. Orice relatie este bidirecţională,legând doua entităţi sau o entitate cu ea însăşi. Orice relaţie este caracterizată de urmatoarele elemente: – numele relaţiei – opţionalitatea relaţiei – gradul (cardinalitatea) relaţiei 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 pentru PERSOANA LOC DE PARCARE este RASPUNS CORECT este ocupat de ocu pa PROFESOR MAŞINĂ 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 POET sris ă FORMAŢIE FILM publi că publicată scrisă de formată din cântă in memora t pe conţine CARTE POEZIE ARTIST CD 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. MEDICAMENT apare pe conţine REŢETA Viaţa inseamnă 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 îsi schimbă locul de muncă etc.. Deci si datele dintr-o bază de date pot suferi modificări de-a lungul timpului. 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 nomală si în plus, orice atribut care nu face parte din UID (Unique IDentifier) va depinde de intregul 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 tranyitive, adică un atribut să depindă de UID în mod direct. Maparea relaţiilor one-to-many În general, la maparea unei relaţii de tip one-te-many, vom introduce in tabela corespunzătoare entitatăţ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ă(foreign key). Aşadar: cheia străină a unei tabele este cheia primară dein tabela referinţă Cheia străină este întotdeauna introdusă în tabela corespunzătoare entităţii din partea many a relatiei. Maparea relaţiilor one-to-one Dându-se două entităţi A si B legate între ele printr-o releţie one-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 corepunde cel mult a intanţă 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 conduce coordonat de Un subtip sau o subentitate este 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 antităţi. Atributele şi relaţiilor ca entităţi în interioru altei entităţi. Atributele şi relaţiile comune tuturor subtipurilor se vor repreyenta la nivelul supertipului sau superentităţii. Atributele si relaţiile supertipului vor fi moştenite de către subtipuri. Există doua tipuri de relaţii exclusive: Relaţii exclusive obligatorii in care toate relaţiile ce fac parte din arcul respective sunt obligatorii, ceea ce înseamnă că de fiecare dată, una dintre relaţii are obligatoriu loc. Relaţii exclusive opţionale caz în care toate relaţiile ce fac parte din arc sunt opţionale. în acest caz, de fiecare data are loc cel mai mult una din relaţii, existând varianta ca pentru o instanţă a entităţii careia aparţine arcul să nu aibă loc niciuna dintre relaţiile din grupul respective. Datele dintr-o bază de date pot suferi modificări de-a lungul timpului. De exemplu, prețul produselor poate suferi modificări destul de des. Factorii care duc la aceste modificări pot fi dintre cei mai diverși: rata, inflația, anotimpul etc. Așadar atributul preț din cadrul entității predus se modifică de-a lungul timpului.