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.