Formas Normais
Transcrição
Formas Normais
'HVHQKRGH%'V5HODFLRQDLV 0RGHODomR GH'DGRVHP (5 &DS (QWLW\5HODWLRQVKLS 0RGHOR5HODFLRQDO &DS &RQYHUVmR(5ª5HODFLRQDO &DS 5HILQDPHQWRH)RUPDV1RUPDLV&DS 64/6WUXFWXUHG4XHU\/DQJXDJH &DSVH 2EMHFWLYRV ✖ &RQKHFHU DV)RUPDV1RUPDLVDWpj)1 GH%R\FH&RGG ✖ 3HUFHEHURVHIHLWRVGDGHVQRUPDOL]DomR 20RGHOR 5HODFLRQDO 'HSHQGrQFLDVIXQFLRQDLV )RUPDV1RUPDLV ,QWURGXomR $VIRUPDVQRUPDLVHVWDEHOHFHPFULWpULRVGH TXDOLGDGHGHGHVHQKRQRPRGHOR5HODFLRQDO 3HUPLWHPGHWHFWDUHSUHYHQLUDUHGXQGkQFLD HDFRHUrQFLDGDLQIRUPDomR )XQGDPHQWDPVHQDVGHSHQGrQFLDVHQWUHRV DWULEXWRVGDVUHODo}HV GHSHQGrQFLDV IXQFLRQDLV ,QWURGXomR )RLH[WHQVLYDPHQWHXVDGRFRPRFULWpULRGH GHVHQKRGHVLVWHPDVGHLQIRUPDomR $RQtYHOGRPRGHOR5HODFLRQDOGHYHVHU XVDGRSDUDGHWHFWDUHYHQWXDLVSUREOHPDV DVVRFLDGRVjGDUHGXQGkQFLDHFRHUrQFLDGD LQIRUPDomR $RQtYHOGRPRGHOR(QWLGDGH$VVRFLDomR GHYHVHUXVDGRSDUDLGHQWLILFDUHQWLGDGHVH GHWHUPLQDURVVHXVDWULEXWRV 2SUREOHPDGD5HGXQGkQFLD GRV'DGRV ± $QRPDOLDGHLQVHUomRTXDQGRRVIDFWRV FRQKHFLPHQWRLQGHSHQGHQWHVQmRSRGHPVHU LQVHULGRVLQGHSHQGHQWHPHQWHQDEDVHGHGDGRV ± $QRPDOLDGHHOLPLQDomRTXDQGRVHHOLPLQD XPDLQVWkQFLDGHXPIDFWRSHUGHVHLQVWkQFLDVGH RXWURVIDFWRVLQGHSHQGHQWHV ± $QRPDOLDGHDFWXDOL]DomRTXDQGRD DFWXDOL]DomRGHXPIDFWRLPSOLFDDDOWHUDomRGH XPDVpULHGHLQVWkQFLDVGHRXWURVIDFWRV LQGHSHQGHQWHV ([HPSOR,QWURGXWyULR Consideremos a seguinte Entidade /Relação Encomenda Quantidade Nº Encomenda Encomenda NºEncomenda | Nº Peça | Quantidade| Preço Unitário Nº da Peça | | | | | | Preço Unitário $QRPDOLD GH LQVHUomR 6y SRGHPRV LQGLFDU R SUHoR GH FDGD SHoD VH H[LVWLUHP HQFRPHQGDV SHQGHQWHV $QRPDOLD GH HOLPLQDomR $R HOLPLQDU XPD HQFRPHQGD SHUGH VH D LQIRUPDomR UHODWLYD DR SUHoR GH FDGD SHoD $QRPDOLD GH DFWXDOL]DomR $ DOWHUDomR GR SUHoR GH XPD SHoD LPSOLFD D DOWHUDomR GR PHVPR HP WRGDV DV HQFRPHQGDV H[LVWHQWHV ([HPSOR,QWURGXWyULR 'HSHQGrQFLDV)XQFLRQDLV Encomenda Quantidade Nº Encomenda Encomenda Nº da Peça NºEncomenda | Nº Peça | Quantidade| Preço Unitário | | | | | | Preço Unitário Diagrama de Dependências Funcionais 2 SUREOHPD UHVLGH QDV UHODo}HV Quantidade GH GHSHQGrQFLDV HQWUH RV DWULEXWRV GD (QWLGDGH5HODomR Nº Encomenda Preço Unitário ± R 1 GD HQFRPHQGD GHWHUPLQD 1 GD SHoD D 4XDQWLGDGH H R 3UHoR Nº Peça 8QLWiULR ± 2 1 GD SHoD GHWHUPLQD R 3UHoR 8QLWiULR 'LDJUDPDGH'HSHQGrQFLDV )XQFLRQDLV 2XWUR([HPSOR Que informação está contida neste Diagrama de Dependências Funcionais? Nome-Director Endereço-Armazém Nome-Armazém Peça Nº Nome-Fornecedor Data-Inventário QuantidadeEntregue QuantidadeExistente Nº-Encomenda De que modo essa informação é pode ser útil no desenvolvimento de esquemas Relacionais ou mesmo Conceptuais (ER)? 'HILQLo}HV(OHPHQWDUHV 6HMDXPDUHODomR5FRPFRQMXQWRVGHDWULEXWRV;H < 'L]VHTXH;GHWHUPLQD<VHSDUDWRGRRYDORU GH;H[LVWHXPVyYDORUGH< ± 3RU RXWUDV SDODYUDV VHPSUH TXH GRLV WXSORV WrP XP YDORU GH ; FRPXP WrP WDPEpP R YDORU GH < HP FRPXP ± 'L]VH WDPEpP TXH ; p GHWHUPLQDQWH H UHSUHVHQWDVH JUDILFDPHQWH SRU ;! < ± $ GHSHQGrQFLD IXQFLRQDO p XP TXHVWmR VHPkQWLFD 1mR SRGH VHU GHGX]LGD FRP EDVH QXP FRQMXQWR GH WXSORV (VWHV DSHQDV SRGHP FRQILUPDU TXH GHWHUPLQDGD GHSHQGrQFLD QmR H[LVWH ([HPSOR5HVWULo}HVQXPD (QWLGDGH &RQVLGHUHVHD UHODomRREWLGDGH (PSBKRUD ± (PSBKRUD QVV QRPH OXJDU HVFDOmR SUHoRBKRUD KRUDVBWUDE 1RWDomR9DPRVGHQRWDUHVWDUHODomROLVWDQGRRVVHXV DWULEXWRV61/5:+ ± ,VWR UHSUHVHQWD R FRQMXQWR GH DWULEXWRV ^61/5:+` ± 3RU YH]HV UHIHULUHPRV WRGRV RV DWULEXWRV GH XPD UHODomR XVDQGR R QRPH GD UHODomR HJ (PSBKRUD HP YH] GH 61/5:+ $OJXPDV ')V HP(PSBKRUD → ± QVV p D FKDYH ± HVFDOmR GHWHUPLQD SUHoRBKRUD 6 61/5:+ 5 →: S ([HPSOR &RQW123-22-3666 N L Attishoo 48 8 10 40 22 8 10 30 231-31-5368 Smiley → 3UREOHPDV SRU 5 ± : $QRPDOLD GH PRGLILFDomR 3RGHPRV DOWHUDU : ± 131-24-3650 Smethurst 35 5 7 30 434-26-3751 Guldu 35 5 7 32 612-67-4134 Madayan 35 8 10 40 DSHQDV QR SULPHLUR WXSOR" S $QRPDOLD GH LQVHUomR 123-22-3666 Attishoo 48 8 40 231-31-5368 Smiley 22 8 30 ( VH TXLVHUPRV LQVHULU XP HPSUHJDGR H QmR ± R W H N L R H VRXEHUPRV R SUHoR SRU 131-24-3650 Smethurst 35 5 30 KRUD GR VHX HVFDOmR" 434-26-3751 Guldu 35 5 32 $QRPDOLD GH UHPRomR 6H 612-67-4134 Madayan 35 8 40 DSDJDUPRV WRGRV RV HPSUHJDGRV FRP HVFDOmR SHUGHPRV D LQIRUPDomR VREUH R SUHoR j KRUD SDUD R HVFDOmR Hourly_Emps2 R W 8 10 Preçário 5 7 5HILQDPHQWRGHXPHVTXHPD (5 Antes: 7UDGXomR GR HVTXHPD desde (PSUHJDGR61/'( 'HSDUWPHQWR'02 ± /XJDUHV DVVRFLDGRV DRV nome nss WUDEDOKDGRUHV dnome lugar did Trab_Em Enpregado orçam Departmento 6XSRQKDPRV TXH WRGRV RV WUDEDOKDGRUHV GR PHVPR GHSDUWDPHQWR WrP R PHVPR OXJDU ' →/ 'HSWB/XJDU'/ 3RGHPRV DILQDU SRQGR orçam desde 5HGXQGkQFLD FRUULJLGD SRU (PSUHJDGR61'( Depois: nome dnome nss Empregado did Trab_Em lugar Departmento (PSUHJDGR61'( 'HSDUWPHQWR'02/ 3URSULHGDGHVGDV 'HSHQGrQFLDV)XQFLRQDLV UHJUDVGH$UPVWURQJ 5HIOH[LYLGDGH ± 6H<HVWiFRQWLGRHP;HQWmR;!< ,QFUHPHQWR ± 6H;!<HQWmR;=!<= 7UDQVLWLYLGDGH ± 6H;!<H<!=HQWmR;!= 5HJUDV'HULYDGDV $XWR5HIOH[LYLGDGH ± ;!; 'HFRPSRVLomR ± 6H;!<=HQWmR;!<H;!= 8QLmR ± 6H;!<H;!=HQWmR;!<= &RPSRVLomR ± 6H;!<H$!%HQWmR;$!<% 'HSHQGrQFLDWRWDOHDWULEXWRV FKDYHV • Seja X um atributo e Y o conjunto de atributos { y1, y2,...yn} tal que {y1, y2, ...yn} determina X •Dizemos que X é irredutivelmente dependente de Y, se qualquer subconjunto próprio de Y não determina X. •Dizemos que X é um atributo chave se pertence ao identificador da Entidade ou à chave primária da Relação $V)RUPDV1RUPDLV 1 Forma Normal 2 Forma Normal 3 Forma Normal Forma Normal Boyce Codd 4 Forma Normal 5 Forma Normal )RUPD1RUPDO 8PDUHODomRHVWiQD)RUPDQRUPDOVHWRGRV RVVHXVDWULEXWRVVmRYDORUHVHVFDODUHV “Relação” não Normalizada Relação Normalizada Pessoa Residência Pessoa Cidade João Cidade Data Lisboa 01-02-92 Faro 11-12-94 João Lisboa 01-02-92 João Faro 11-12-94 Zé Lisboa 10-10-84 Zé Cidade Data Lisboa 10-10-84 Data 3UREOHPDVFRPD)RUPD 1RUPDO ([HPSOR ID_Pessoa | Projecto | OrçamentoProjecto | TempoGastoProjecto | | | | | | ID_Pessoa Projecto TempoGastoProjecto OrçamentoProjecto (VWDUHODomRHVWiQD)1PDVDSUHVHQWD DVDQRPDOLDVGHLQVHUomRGHDFWXDOL]DomR HGHHOLPLQDomR (OLPLQDomRGDV$QRPDOLDV GR([HPSOR$QWHULRU $HOLPLQDomRGDVDQRPDOLDVLPSOLFDDIUDJPHQWDomR GDUHODomRLQLFLDOHPGXDVQRYDVUHODo}HV ID_Pessoa | Projecto | TempoGastoProjecto | | | | ID_Pessoa Projecto Projecto | OrçamentoProjecto | | Projecto OrçamentoProjecto TempoGastoProjecto (VWDVUHODo}HVQmRWrPDVDQRPDOLDV $)RUPD1RUPDO 8PD5HODomRHVWiQD)RUPDQRUPDOVHHVWiQD )RUPD1RUPDOHFDGDDWULEXWRQmRFKDYHp LUUHGXWLYHOPHQWHGHSHQGHQWHGRVDWULEXWRV FKDYH Consideremos a a Relação R(A,B,C,D) e a dependência A -> D (as dependências AB ->C e AB ->D são implícitas) (VWD UHODomR QmR HVWi QD )1 $ GHFRPSRVLomR GD UHODomR 5 FRP YLVWD j )1 SDVVD SRU FULDU DV VHJXLQWHV 5HODo}HV ± 5$%& FRP D GHSHQGrQFLD $% ! & ± 5$' FRP D GHSHQGrQFLD $ ! ' )RUPD1RUPDO ([HPSORV &DGDHQFRPHQGDUHIHUHVHDSHQDVDXPDTXDQWLGDGH GHXPD~QLFDSHoD&RQVLGHUHD5HODomRRX (QWLGDGH(QFRPHQGD Encomenda(NrEncomenda, NºPeça,PreçoUnitário, Quantidade,PreçoTotal) Quantidade NrEncomenda Preço Total Encomenda Nº da Peça Preço Unitário Quantidade NrEncomenda Preço Unitário Preço Total Nº Peça (VWD(QWLGDGH5HODomRHVWiQD)RUPD1RUPDO" 3UREOHPDVFRPD)RUPD 1RUPDO $V)RUPD1RUPDOQmR JDUDQWHDQmR UHGXQGkQFLDGD LQIRUPDomRVHQGR SRUWDQWRSRVVtYHOTXHRV SUREOHPDVGDVDQRPDOLDV H[LVWDPWDPEpPQDV UHODo}HVQD)1 Preço Total Quantidade NrEncomenda Preço Unitário Nº Peça $UHGXQGkQFLDVXUJHGHYLGRjVGHSHQGrQFLDVHQWUHRV DWULEXWRVQmRFKDYH (OLPLQDomRGDV$QRPDOLDV $HOLPLQDomRGDVDQRPDOLDVLPSOLFDDHOLPLQDomRGDV GHSHQGrQFLDVHQWUHRVDWULEXWRVQmRFKDYH 7DOLPSOLFDDGHFRPSRVLomRGD(QWLGDGH5HODomRRULJLQDOHP GXDV Preço Total Preço Total Quantidade Quantidade NrEncomenda Nº Peça NrEncomenda Preço Unitário Nº Peça Está na 2FN Nº Peça Preço Unitário Estão na 3FN $)RUPD1RUPDO 7RGRVRVDWULEXWRVQmRFKDYHVmRLUUHGXWLYHOPHQWH GHSHQGHQWHVGRVDWULEXWRVFKDYH HVmRLQGHSHQGHQWHVHQWUHVL 2XVHMDD)1LPSOLFDD)1HTXHQmRH[LVWDP GHSHQGrQFLDVHQWUHRVDWULEXWRVQmRFKDYH 7RGDVDVHQWLGDGHVTXHDSHQDVWrPXPDWULEXWRQmR FKDYHHVWmRQD)1VHHVWLYHUHPQD)1 1DGDVHGL]TXDQWRjVGHSHQGrQFLDVP~WXDVHQWUHRV DWULEXWRVTXHSHUWHQFHPjVFKDYHV )RUPD1RUPDO([HPSOR Consideremos a a Relação R(A,B,C) e a dependência B-> C (VWDUHODomRQmRHVWiQD)1 $GHFRPSRVLomRGDUHODomR5FRPYLVWDj)1 SDVVDSRUFULDUDVVHJXLQWHV5HODo}HV ± 5%&FRPDGHSHQGrQFLD%!& ± 5$%FRPDGHSHQGrQFLD$!% cada atributo não chave é independente dos restantes atributos não chave 3UREOHPDVFRPD)RUPD 1RUPDO Seja a Relação X com as seguintes chaves candidatas e dependências funcionais X(a1, a2, a3, a4) a3 a1,a2 a3,a2 a1 a1 a3 a3,a4 a1,a4 2V SUREOHPDV GD )1 VXUJHP TXDQGR ± ([LVWHP GHSHQGrQFLDV HQWUH RV DWULEXWRV GDV FKDYHV FDQGLGDWDV 3UREOHPDVFRPD)RUPD 1RUPDO([HPSOR Director Relação Usa Projecto | Director | Peça | Quantidade | | | | | | Peça Quantidade Projecto Problemas: 2 GLUHFWRU GH FDGD SURMHFWR p DUPD]HQDGR YiULDV YH]HV 2 GLUHFWRU GH XP SURMHFWR Vy p DUPD]HQDGR TXDQGR R SURMHFWR HQFRPHQGDU SHoDV 8P SURMHFWR QmR SRGH VHU DUPD]HQDGR HQTXDQWR R VHX GLUHFWRU QmR IRU FRQKHFLGR Estes problemas resultam da dependência entre Director e Projecto $ PXGDQoD GH XP GLUHFWRU GH XP SURMHFWR LPSOLFD D PXGDQoD GH YiULRV WXSORV $)1GH%R\FH&RGG%&1) 4XDQGRWRGRVRVGHWHUPLQDQWHVVmR FKDYHVFDQGLGDWDV 1mRH[LVWHPGHSHQGrQFLDVHQWUHRVDWULEXWRVQmR FKDYH 1mRH[LVWHPGHSHQGrQFLDVTXHWHQKDPSRU GHWHUPLQDQWHVXEFRQMXQWRVSUySULRVGDVFKDYHV $%&1)VyVHGLVWLQJXHGD)1TXDQGR ± ([LVWHPDLVGRTXHXPDFKDYH ± $VFKDYHVVmRIRUPDGDVSRUYiULRVDWULEXWRV ± $VFKDYHVWrPSHORPHQRVXPDWULEXWRFRPXP ([HPSOR &KDYHV'LVMXQWDV 6HMDD5HODomR)RUQHFHGRU F# Estado Nome Cidade )RUQHFHGRU)1RPH(VWDGR&LGDGH a Em que FN esta Relação está ? a Que anomalias são possíveis na relação Fornecedor ? a Que inconvenientes existem na existência de 2 chaves candidatas ? ([HPSOR &KDYHV6REUHSRVWDV 6HMDD5HODomR9HQGD F# P# 9HQGD)3)QRPH4XDQWLGDGH Quantidade FNome a Em que FN esta Relação está ? a Que anomalias são possíveis na relação ? a Quais são as decomposições mais convenientes ? ([HPSOR 6HMDD5HODomR$XODV Aluno Professor Disciplina $XODV'LVFLSOLQD3URIHVVRU$OXQR a Em que FN esta Relação está ? a Que anomalias são possíveis na relação ? a Quais são os inconvenientes das seguintes decomposições ? V1 (Aluno,Professor) e V2 (Professor,Disciplina) V1 (Aluno,Disciplina) e V2 (Professor,Disciplina) V1 (Aluno,Disciplina) e V2 (Professor,Aluno) 1RWDVVREUHDGHFRPSRVLomR GH5HODo}HV(QWLGDGHV $GHFRPSRVLomRGHXPDUHODomRRX HQWLGDGHFRPYLVWDjVXDQRUPDOL]DomR SRGHLPSOLFDUDSHUFDGHLQIRUPDomR 23UREOHPDGD3HUFDGH,QIRUPDomR (QWUHDVGHFRPSRVLo}HVTXHQmR LPSOLFDPDSHUFDGHLQIRUPDomRLPSRUWD GHFLGLUVREUHDPDLVFRUUHFWD 23UREOHPDGD3HUFDGDV'HSHQGrQFLDV 'HFRPSRVLomRFRPSHUGDVGH LQIRUPDomR 5$%&H$!%H&!% GHFRPSRVLomRGH5HP5$%H5%&HSRVWHULRU UHVWLWXLomRHP5([LVWHSHUGDGHLQIRUPDomR R´1 R1 R3 A |B |C a1 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 a4 | b2 | c4 b1 | c1 A |B b1 | c2 a1 | b1 b2 | c3 a3 | b1 b2 | c4 a2 | b2 a4 | b2 a1 | b1 | c1 B |C Decomposição R2 A |B |C a1 | b1 | c2 a3 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 União a2 | b2 | c4 a4 | b2 | c3 a4 | b2 | c4 'HFRPSRVLomRVHPSHUGDVGH LQIRUPDomR a A decomposição de uma relação diz-se sem perdas quando esta pode ser obtida a partir do join natural das relações resultantes da decomposição a A decomposição de uma relação R(X,Y,Z) (em que X, Y, Z são conjuntos de atributos) em R1(X,Y) e R2(X,Z) é sem perdas se X->Y ou se X->Z. (Teorema de Heath´s) 'HFRPSRVLomRVHPSHUGDVGH ,QIRUPDomR([HPSOR R1: X-> Y, X-> Z, YZ-> X R3: X-> Z X |Y |Z x1 | y1 | z1 R´1 Decomposição X |Z x1 | z1 X |Y |Z X |Y x2 | z2 x1 | y1 | z1 x1 | y1 x3 | z1 x2 | y2 | z2 x2 | y2 x4 | z2 x2 | y2 | z2 R2: X-> Y x3 | y2 | z1 x4 | y1 | z2 x3 | y2 União x3 | y2 | z1 x4 | y1 | z2 x4 | y1 ([HPSORVGH'HFRPSRVLo}HV 6HMDD5HODomR )RUQHFHGRU )(VWDGR&LGDGH 'HFRPSRVLomR ))(VWDGRH) )&LGDGH 'HFRPSRVLomR ))(VWDGRH) &LGDGH(VWDGR $QmRLPSOLFDSHUGDVHQTXDQWRQDVHJXQGD SHUGHVHDGHSHQGrQFLD)!&LGDGH ([HUFtFLR &RQVLGHUHDUHODomR5DEFGHHPTXH ^DE`pDFKDYHSULPiULDHG!H ,QGLTXHWRGDVDVGHSHQGrQFLDVGD UHODomR5 4XDODIRUPDQRUPDOGDUHODomR5" $VVXPDDJRUDTXHDFKDYHSULPiULD 5 p ^DEG` (PTXHIRUPDQRUPDODUHODomR 5SDVVDDHVWDU" ([HUFtFLR &RQVLGHUHDUHODomR5DEFGHPTXH^DE`pDFKDYH SULPiULD ,QGLTXHXPDGHSHQGrQFLDIXQFLRQDOHQWUHRVDWULEXWRVGH5 GHIRUPDDTXH5 QmRHVWHMDQDIRUPDQRUPDO ,QGLTXHXPDGHSHQGrQFLDIXQFLRQDOHQWUHRVDWULEXWRVGH5 GHIRUPDDTXH5 HVWHMDQDIRUPDQRUPDOPDVQmR HVWHMDQDIRUPDQRUPDO ,QGLTXHXPDGHSHQGrQFLDIXQFLRQDOHQWUHRVDWULEXWRVGH5 GHIRUPDDTXH5 HVWHMDQDIRUPDQRUPDOPDVQmR HVWHMDQD%R\FH&RGG ([HUFtFLR &RQVLGHUHDUHODomR5DEFHDVXDGHFRPSRVLomRQDV UHODo}HV5EFH5DF 4XDORXTXDLVDVGHSHQGrQFLDVTXHWrP QHFHVVDULDPHQWHTXHH[LVWLUHQWUHRVDWULEXWRVDEH F SDUDTXHDGHFRPSRVLomRGH5HP5H5QmR UHSUHVHQWHSHUGDGHLQIRUPDomR" $VVXPLQGRDH[LVWrQFLDGDRXGDVGHSHQGrQFLDV DQWHULRUHVHVFUHYDXPDH[SUHVVmRHPiOJHEUD UHODFLRQDOTXHSHUPLWDUHFRQVWLWXLU5DSDUWLUGH5H 5"