07_metodologie_sinteza
TRANSCRIPT
-
8/19/2019 07_Metodologie_sinteza
1/48
METODOLOGIE
“GRAFICĂ”DE NORMALIZARE
PRIN SINTEZĂProbleme frecvente
!ol"#$$ $m%rov$&'#$$
Universitatea Al.I. Cuza IașiFacultatea de Economie și Administrarea AfacerilorDepartamentul de Contabilitate, Informatică economică șiStatistică
-
8/19/2019 07_Metodologie_sinteza
2/48
!ol"#$$ $m%rov$&'#$$ T"tor$'le v$(eo
!a"#etodolo$ie. Introducere,atomicitate
%ttp&''(drv.ms'(ovv$)(
!b"#etodolo$ie. DF simetrice, c%eisuro$at%ttp&''(drv.ms'(ovvubl
!c"#etodolo$ie. D incluziune, )C*F%ttp&''(drv.ms'(ovvDvn
!d"#etodolo$ie. D#+,izolare,temporalitate
%ttp&''(drv.ms'(ovv*p
http://1drv.ms/1ovvgB1http://1drv.ms/1ovvublhttp://1drv.ms/1ovvDvnhttp://1drv.ms/1ovvNTphttp://1drv.ms/1ovvNTphttp://1drv.ms/1ovvDvnhttp://1drv.ms/1ovvublhttp://1drv.ms/1ovvgB1
-
8/19/2019 07_Metodologie_sinteza
3/48
S"b$ecte (e ($!c"#$e
• Atomizarea selectivă a atributelor neatomice• Dependen-e func-ionale• Eliminarea DF simetrice'redundante• C%ei suro$at pt. entită-i /i rela-ii 0ntre
entită-i1• Dependen-e de incluziune DI1• 2raful DF'DI
• Ciclicită-i /i )C*F• ransformarea dependen-elor multi3valoare
D#+1 0n DF• Analiza $rupurilor izolate 0n $raf1 de atribute• +aliditate temporală
-
8/19/2019 07_Metodologie_sinteza
4/48
O (e!cr$ere !"m'r) *+n lb,en-le&). ' meto(olo-$e$
Fotac%e, #. 3 A Simpler and #ore4ractical35riented #et%odolo$6 forDatabase Desi$n 0n 4roceedin$s of t%e 7t%International )usiness Information#ana$ement Association I)I#A1Conference, )onn, 2erman6, pp. 89!3
8:91, 87 /tt%011%'%er!,!!rn,com1!ol21%'%er!,cfm3'b!tr'ct4$(562789:
P
http://papers.ssrn.com/sol3/papers.cfm?abstract_id=932487http://papers.ssrn.com/sol3/papers.cfm?abstract_id=932487http://papers.ssrn.com/sol3/papers.cfm?abstract_id=932487http://papers.ssrn.com/sol3/papers.cfm?abstract_id=932487http://papers.ssrn.com/sol3/papers.cfm?abstract_id=932487
-
8/19/2019 07_Metodologie_sinteza
5/48
Rec'%$t"l're *PPT ;;8.0 C"m N<!e 'le- 'tr$b"tele "ne$ =D
*u se preiau 0n )D& Atributele $relev'nte pentru aplica-ie Atributele la ale căror valori n" 'vem
'cce!
Atributele ne>element're cu valoricompuse1; Film, Student , Carte, Închiriere,Tranzacţie etc.
Atributele calculabile pe baza altoratribute1 sau derivate
-
8/19/2019 07_Metodologie_sinteza
6/48
Atom$c$t'te
Accep-iunea clasică a atomicită-ii& valoriletuturor atributelor trebuie să
-
8/19/2019 07_Metodologie_sinteza
7/48
Atr$b"te 'tom$ce
*umele unui atribut su$erează destulde bine dacă atributul este atomic saunu&Atributul MatricolStudent este atomicAtributul Student n" este atomic un
student are un nume, un CNP, unmatricol
, este 0nscris la ospecializare
, 0ntr3un an de studii1NumeClient este atomicClient n" >Atributul Telefon numărul1 este atomic
-
8/19/2019 07_Metodologie_sinteza
8/48
O re-"l) %r$v$n( 'tom$c$t'te'
Atunci cBnd o componentă a unui atributneatomic 3 e=. Autori, CuvinteCheie
◦ apare, singură, ca sursă/destinaţie în alte
dependenţe uncţionale,◦ este olosită în calcule/prelucrări,
se recomandă atomizarea sa; 0n caz contrar, poate < folosită forma
compozită'repetitivă'colec-ie
-
8/19/2019 07_Metodologie_sinteza
9/48
E?em%l" (e 'tom$&'re *@.
Adresa este alcătuită din& Strada, Nr , Bloc,Scara, Eta, Apart , CodPo!tal, "ocalitate,Comună, #udeţ
De cele mai multe ori, nu intereseazăinforma-ii precum&
◦ !"ţi studenţi do#icilia$ă pe strada A%stinenţei &
◦
!"ţi clienţi au sediul la nr. ' & n sc%imb, următoarele informa-ii au un
$rad de utilitate mai mare&◦ !"ţi studenţi proin din *udeţul +aslui &
◦ !"ţi clienţi au sediul în #unicipiul a-i &
-
8/19/2019 07_Metodologie_sinteza
10/48
E?em%l" (e 'tom$&'re *7.
ntrucBt&
avem motive să păstrăm 0n Adresă doar
Strada, Nr , Bloc, Scara, Eta, Apart /i, separat, să construim o rela-ie 3
C5DU?I345A@E CodPo!tal,
"ocalitate, Comună, #udeţ G
Cod4o/tal
@ocalitate
Comună
Hude-
-
8/19/2019 07_Metodologie_sinteza
11/48
DF !$metr$ce *+n c'& c) FEAA 'r've' n"m'$ !t"(en#$ romn$.
#atricol C*4, dar /i C*4#atricol
De aceea,◦ #atricol *umeStudent◦ #atricol Adresa
dar /i◦ C*4 *umeStudent◦ C*4 Adresa
-
8/19/2019 07_Metodologie_sinteza
12/48
Tr'n!form're' DF !$metr$ce
#atricol
*umeStudent Adresa
C*4
#atricol
*umeStudent AdresaC*4
-
8/19/2019 07_Metodologie_sinteza
13/48
El$m$n're DF!$metr$ce1re("n('nte *@.
?e$ulă&4entru orice entitate'proces'..., vor <
păstrate numai DF 0n care !"r!' e!tec/e$' %r$m'r) a entită-ii'procesului'...... Se elimină toate DF ce decur$ din
calitatea de cheie alternativă pentru
entitatea' procesul'... respectivă1
-
8/19/2019 07_Metodologie_sinteza
14/48
El$m$n're DF!$metr$ce1re("n('nte *7.
C0nd atributele nu sunt c%ei
candidat, se ia 0n calculpreceden-a celor două DFE=. pentru un %otel
I(C'&'re I(Re&erv'redeoarece rezervarea precedecazarea
-
8/19/2019 07_Metodologie_sinteza
15/48
Atr$b"te c/e$ !"ro-'t *SB.
Atribute arti
-
8/19/2019 07_Metodologie_sinteza
16/48
S"ro-)r$ *@.
ipDocument4latăSerieDocument4lată
*rDocument4lat
ăDataDocument4lată
Suma4lătită
*rFact4lătită
ipDocument4lată
SerieDocument4lată
*rDocument4lat
ă DataDocument4lat
Suma4lătită
*rFact4lătit
ă
Id4lată
PLĂŢI_FCS (Fără cheie surogat)
PLĂŢI_CS (Cu cheie surogat)
-
8/19/2019 07_Metodologie_sinteza
17/48
S"ro-)r$ *7.
PLĂI4FCS 4@KLI( ipDocument4lată,SerieDocument4lată, *rDocument4lată,DatăDocument4lată, *rFact4lătită,
Sumă4latăG
PLĂI4CS
4@KLI8 Id4lată, ipDocument4lată,SerieDocument4lată, *rDocument4lată,DatăDocument4latăG
4@KLI8"FAC Id4lată, *rFact4lătită,
Sumă4latăG
-
8/19/2019 07_Metodologie_sinteza
18/48
S"ro-)r$ *2.
Sc%ema fără c%eie suro$at o sin$urătabelă 3 4@KMI(1 are, prin compara-ie cusc%ema 4@KLI"CS tabelele 4@KMI8 /i4@KMI8"FAC1, cBteva probleme&
◦
*u putem introduce un document de plată fărăa preciza o factură pe care o ac%ită aceldocument plă-ile 0n avans sunt imposibile1
◦ Un document de plată fără serie cum este 543
ul1 nu poate < introdus, 0ntrucBtSerie%ocumentPlată este componentă a c%eiiprimare, deci valorile *U@@ sunt interzisepentru acesta
Sc%ema 4@KLI"CS are o tabelă 0n plus /i orestric ie referen ială
-
8/19/2019 07_Metodologie_sinteza
19/48
Folo!$re' SB %t, “$(ent$c're'”"ne$ '!oc$'#$$ *@.
E=istă situa-ii cBnd o entitate este asociatăuneia sau mau multor entită-i speci&ce&
◦ 5 persoană '%Persoana NumePers, '%Persoana %ataNasterii1 are unul sau mai mul-i copii&'%Persoana N'O NumeCopil
◦ Un furnizor poate livra numai anumite produse◦ 5 carte are unul sau mai mul-i autori◦ Un student urmează anumite cursuri◦ etc.
n asemenea situa-ii, depeden-ele
func-ionale sunt neputincioaseJ
-
8/19/2019 07_Metodologie_sinteza
20/48
Folo!$re' SB %t, “$(ent$c're'”"ne$ '!oc$'#$$ *7.
Solu-ie& introducerea unui atribut de tipc%eie suro$at care să e=primele$ătura'asocia-ia&
5 anumită persoană este părintele unuianumit copil. SP& I(P'tern$t'te
Un anumit furnizor poate livra un anumit
produs. SP& I(F"rn$&'rePro("! 5 anumită persoană este co1autorul unei
anumite căr-i. SP& I(A"torC'rte
-
8/19/2019 07_Metodologie_sinteza
21/48
Folo!$re' SB %t, “$(ent$c're'”"ne$ '!oc$'#$$ *2.
ID4aternitate
ID4ersoană
*ume4ers
Data*a/terii
*umeCopil
IDFurnizare4rodus
IDFurnizor
Adresă
*umeFurnCodIdentifFiscală
Cod4rodus
Den4rodus
U#
-
8/19/2019 07_Metodologie_sinteza
22/48
C/e$ !"ro-'t $ 7NF *@.
5 veste bună& Cu c%ei suro$at scăpăm deproblema 8F* 0ntrucBt c%eia primară estesimplă1
i o veste rea& 4roblemele de par-ialitate aleDF se transformă 0n probleme de tranzitivitate
*u am rezolvat nimic, ci am amBnat rezolvarearedundan-elor din 8F* 0n 9F*
COMENZI@ I(Com'n() D't'Comen&$$I(F"rn$&or N"meF"rn A(re!) Loc'l$t'te
Co(Pro("! DenPro("! Pre#
-
8/19/2019 07_Metodologie_sinteza
23/48
C/e$ !"ro-'t $ 7NF *7.
Aducerea C5#E*I( 0n 8 *FPROD
-
8/19/2019 07_Metodologie_sinteza
24/48
C/e$ !"ro-'t $ 7NF *2.
C5#E*I( nu era 0n 8*F, 0nsă putemfentaJ 8 *F folosind o c%eie suro$at 3'dProdusComandat ; o valoare a acestuiatribut identi
-
8/19/2019 07_Metodologie_sinteza
25/48
C/e$ !"ro-'t $ 7NF *8.
Aducerea C5#E*I( 0n 9 *FPROD
-
8/19/2019 07_Metodologie_sinteza
26/48
C/e$ !"ro-'t $ 7NF *.
Aducerea C5#E*I8 0n 9 *F&
PROD
-
8/19/2019 07_Metodologie_sinteza
27/48
COMENZI@ J -r'f K !c/em)
IdComanda
DataComen
zii
Cod4rodus
IdFurnizorDen4rodus
*umeFurn
PROD
-
8/19/2019 07_Metodologie_sinteza
28/48
COMENZI7 J -r'f K !c/em)
PROD
-
8/19/2019 07_Metodologie_sinteza
29/48
De%en(en#e (e $ncl"&$"ne *DI.
E=primă o rela-ie de tip este un / esteo 0ntre două atribute.E=. Un #ana$er Id#ana$er1 este un an$aQatIdAn$aQat1
Indică o specializare'particularizare
*u $enerează tabele suplimentare, ci, 0n
-
8/19/2019 07_Metodologie_sinteza
30/48
Gr'f c" DI
ANGAAI M'rc)An-''t N"meAn-''tCom%'rt$ment
D't'An-')r$$HMANAGERI M'rc'ef NrAn$E?%er$en#)Con(HPROIECTE I(Pro$ect N"mePro$ect De!cr$ereD't'St'rt
D"r't' M'rc'efH
DataAn$aQării
Id4roiect
Descriere4roiect
*ume4roiect
DataStart4roiect
Durată4roiect
#arcăSecretară
#arcăAn$aQat
*umeAn$aQat
Compartiment
#arcăef IdCopiator
DataAc%izi-ionării
Den#odel
+itezăe%noredactare
*rAniE=perien-ăCond
-
8/19/2019 07_Metodologie_sinteza
31/48
Form' norm'l) =oce>Co((*=CNF. > tr'n!form're *@.
IDStudent
*r4uncteAcumulate
Den#aster
*umeutore
IDStudent
*r4uncteAcumulate
Den#aster
*umeutore
-
8/19/2019 07_Metodologie_sinteza
32/48
Form' norm'l) =oce>Co((*=CNF. > tr'n!form're *7.
A
) C
A
) C
A)
CD
A)
CD
-
8/19/2019 07_Metodologie_sinteza
33/48
IdComandă
DataCmd
*rFactIdFurnizor
+alFactDataFact
o com'n() e!te onor't) c" m'$ m"lte f'ct"r$ *"nf"rn$&or.
o f'ct"r) onore'&' o !$n-"r) com'n() n"merele (e f'ct"r$ !e re%et) *%rov$n (e l'
m,m,f"rn$&or$.
DataCmd
*rFact
+alFactDataFact
DataCmd
*rFact +alFact
DataFact
IdFacturare
BCNF
Cu “surogare”
IdComandă
IdComandă
IdFurnizor
IdFurnizor
Problem) re&olv't) %r$n =CNF $ %r$n SB
-
8/19/2019 07_Metodologie_sinteza
34/48
-
8/19/2019 07_Metodologie_sinteza
35/48
Re&olv're' %robleme$ DF“con($#$on'te”
Id?ezervare
Data?ezerv
*umeCl
Camera?ez
IdClient
AdresaCl
IdCazare
Datancep"?ez
DataSf"?ez
DataCazare
Cameră*r
DataDecazare
Id"Caz"bazată "pe"?ezerv
Id"Caz"f ăr ă"?ezerv
-
8/19/2019 07_Metodologie_sinteza
36/48
Tr'n!form're' DM +n DF
SubiectIdAutor
IS)*
A
-
8/19/2019 07_Metodologie_sinteza
37/48
Atr$b"te $&ol'te +n -r'f
*rFact
Datafact
Client
DISCOUNTURI FACTURI CAMERA DE GARDĂ (TRIAJ)
+aloareFact
l#inimă"Fact
#a=imă"FactRDiscount
IdDoctor
Data5rancep2ar
dă
*umeDoctor...
Data5raSf2ardă
Data5raSosirii
ID4acient
*ume4acient...
Simptome
-
8/19/2019 07_Metodologie_sinteza
38/48
*In.'l$($t'te tem%or'l)
-
8/19/2019 07_Metodologie_sinteza
39/48
De ce !c/em' =D n&)r$ e!te$ncorect) %e termen l"n-3
n timp, se modi
-
8/19/2019 07_Metodologie_sinteza
40/48
Sol"#$' @
Mo($c)r$ !c/em)
4?5DUSECod4r, Den4r, U#, 2rupaG4?5DUSE"+A Cod4r, DataIntrare+i$oare,
DataIe/ire+i$oare, 4rocent+AG
*rFact
DataFact
CodCl
@inie Cod4r
Den4r U#antitate
4re-Unit
4rocent+A
DataIntrare+i$oare4roc+A
DataIe/ire+i$oare4roc2rupa
-
8/19/2019 07_Metodologie_sinteza
41/48
De&'v'nt' J !ol"#$e @
ATarea valorii unei facturi necesită ointero$are mai comple=ă&SELECT f,NrF'ct S
-
8/19/2019 07_Metodologie_sinteza
42/48
Sol"#$' 7
Mo($c)r$ !c/em)4?5DUSECod4r, Den4r, U#, 2rupaG@I*IIFAC *rFact, @inie, Cod4r, Cantitate, 4re-Unit,
4rocent+AG
*rFact
DataFact
CodCl
@inie
Cod4r
Den4r
U#
Cantitate
4re-Unit
2rupa4rocent+A
Sol #$' 7
-
8/19/2019 07_Metodologie_sinteza
43/48
Sol"#$' 7 J'v'nt'e1(e&'v'nt'e
AvantaQe◦ Fiecărei facturi i se reconstituieJ corect valoarea totală,
indiferent de numărul de modi
-
8/19/2019 07_Metodologie_sinteza
44/48
Sol"#$' 7 b$!
Mo($c)r$ !c/em)4?5DUSECod4r, Den4r, U#, 2rupaG
@I*IIFAC *rFact, @inie, Cod4r, Cantitate, 4retUnit, +A@inieG
3 acelea/i avantaQe /i dezavantaQe ca ale solu-iei 83 0n plus, aTarea procentelor +A ale unui produs de3a lun$ul
anilor necesită calculul +A@inie ' Cantitate 4retUnit1
*rFact
DataFact
CodCl
@inieCod4r
Den4rU#
Cantitate4re-Unit
2rupa
+A@inie
-
8/19/2019 07_Metodologie_sinteza
45/48
Sol"#$' 2
4?5DUSECod4r, Den4r, U#, 2rupa, 4rocent+A"CrtGFACU?I *rFact, DataFact, CodCl, +AFact, +alotala,
+alIncasata G
@I*IIFAC *rFact, @inie, Cod4r, Cantitate, 4retUnit, +A@inieG
*rFact
DataFact
CodCl
@inie Cod4r
Den4rU#
Cantitate
4re-Unit
2rupa4rocent+A"Crt
+AFact+alotala
+alncasată
+A@inie
-
8/19/2019 07_Metodologie_sinteza
46/48
Sol"#$' 2 J 'v'nt'e1(e&'v'nt'
AvantaQe◦ Simplitate număr mic de atribute1◦ Se cunosc procentele +A curente◦
Se poate aTa /i o parte din procentele +Aprecedente +A@inie'cantitate pretunit1◦ Calculul simplu al valorii /i +A unei facturi
DezavantaQ◦ *u putem cunoa/te cu e=actitate istoria
procentelor +A pentru
-
8/19/2019 07_Metodologie_sinteza
47/48
Sol"#$' 8
4?5DUSECod4r, Den4r, U#, 2rupa, 4rocent+A"CrtGFACU?I *rFact, DataFact, CodCl, +AFact, +alotala,
+alIncasata G@I*IIFAC *rFact, @inie, Cod4r, cantitate, 4reUnit, +A@inieG4?5DUSE"+A Cod4r, DataIntrare+i$oare, DataIesire+i$oare,
4rocent+AG
*rFact
DataFact
CodCl
@inieCod4r
Den4rU#
antitate4re-Unit
2rupa4rocent+A"Crt
+AFact+alotala
+alncasată
+A@inie
4rocent+
DataIntrare+i$oare4roc
DataIesire+i$oare4roc
-
8/19/2019 07_Metodologie_sinteza
48/48
Sol"#$' 8 J 'v'nt'e1(e&'v'nt'e
AvantaQe◦ Se cunosc procentele +A curente◦ 4utem cunoa/te cu e=actitate istoria
procentelor +A pentru