Click here to load reader

第七章 逻辑数据库设计 任务:把概念数据库模式变换为逻辑数据库模式 特点:数据库设计从这一阶段起依赖于逻辑数据模型和 DBMS

  • Upload
    lupita

  • View
    160

  • Download
    7

Embed Size (px)

DESCRIPTION

G. 第七章 逻辑数据库设计 任务:把概念数据库模式变换为逻辑数据库模式 特点:数据库设计从这一阶段起依赖于逻辑数据模型和 DBMS ( 以下以关系模型和关系 DBMS 为基础讨论逻辑数据库设计 ) 目标:  满足用户的完整性和安全性要求;  动态关系至少达到 3NF ;静态关系至少达到 1NF;  在逻辑级支持数据库各种事务的高效率运行; 存储空间利用率高。 第一节 形成初始关系数据库模式 第二节 关系数据库设计理论 第三节 关系模式作规范化方法 - PowerPoint PPT Presentation

Citation preview

  • DBMS (DBMS) 3NF1NF;

    G

  • 1.R2.WR3.EAT4.RW5./G1

  • R(,,,,,,,,,)1.ER E RRE REG11

  • 2 WR WEW ERREW R1NWER(,,,,,)G12

  • 001 002 003 001 A11001 A12002 A11002 A12 001 81 001 84 001 87 002 90 003 91 (,)3 AESATEkT:AT{k,A}.A(a1,a2)T{k,a1,a2}()(,,,)

    G13()(,)

  • 4.RWABST11:N (1:1) 1:1, N,N; 2:w, ,AB ,R, R .2M:N 12001 002 003 851 001852 001853 003001 901 2002 901 3002 902 2901 902 903 N1NMG14

  • 1Ck EiEikk kk (,,) (,) (,)2EiCEik (,,,) (, ,,)3t k (,,,,,)5./ Ck,A1,, Ank E1,, EmCG15

  • 4 k mtiEi o(,,,,,,,a,b)a=1,b1G151

  • G166.CE1,, EmEikCkLkLEiCkLkLkE1,, Em u1(,,,)(,,,)(,,,)(,,,)2(,,,,)(,,,,)(,,,,)(,,,)

  • G177.

    ()

  • 1970Codd

    G2

  • (,,,,)(1)(2)(3).(4):(,)1),,;2),,;3),,;4)G21

  • 1 RUXYU Rrrt1t2. t1t2XY, YXXYXY (xy) X YYXXYXY.

    1.2.YXXY, YXXY3. G22

  • M01 81M01 82M02 91M02 92P01 83P01 84P02 93P02 9412(,,,)()[] (,,,) G221

  • 2 X Y,XZZY, XY,YX; XY,YX, XYYX. XXYYX[] (,,,) ,{,} {,} G222

  • 3 RUXYZU YXZ-XZ-YY-X XY,YZ,XZ, ZX [1](,,) ---[2](,,) [3](,,) X=Y= (,)Z=XY, YXYZZ-Y ZXG223

  • 0001 001 780001 002 870002 001 900002 002 65 0001 01980002 01980003 02980004 0298 001 002 003 004 4 RUKU. KUKR 5 RXSXRS 212G224123

  • . 6 RUF. RFr,XY FXY FXYFXY {,} [Armstrong]RUF. : YXU,FXY.(XY,F) FXY,ZU,FXZYZ. FXY,YZ,FXZ. 1 Armstrong.(A) A.G23

  • YXtsrstX,Y.YXUYZtsrstXZ,YZ.XXYYZtsrstX,YZ.XXYYZYXU,FXY.[]YXU,Rrts, t[X]=s[X],t[Y]=s[Y],XYFXY,ZU,FXZYZ.[]Rrts,t[XZ]=s[XZ],t[X]=s[X],t[Z]=s[Z],FXY,ZU,t[Y]=s[Y],t[Z]=s[Z],t[YZ]=s[YZ],FXZYZ.FXY,YZ,FXZ.[]Rrts, t[X]=s[X],XYt[Y]=s[Y], YZt[Z]=s[Z] G231A

  • 2 1) :XY,XZXYZ 2):XY,YWZXWZ 3) :XY,Z YXZ ,A.1)XYXXY XZXYYZXYZ .2)XYXWYW YWZXWZ .3)ZYYZXYXZ . 0001 1 900002 2 850003 1 600004 1 600005 2 55G232

  • 1 XABXA,XB. (2)1 A(1)1 1 XABXAXB XAB 1 XA1A2 AkXAj(1jk)G233

  • 7 RUF FFF+ 8 RUFXU. XF+={A|XAFA} XF G234XYPQMNHKF+XABCXF+UFXYF2XBFA2 R(A,B,C) , F{AB,BC}X=A,x+F={A,B,C}X=B,x+F={B,C}X=C,x+F={C}

  • 2 RUF XYFAYXF+ .Y=B1 B2 BK YXF+ (XF+) XB1,,XBKFA. (1) XYFA. G235

  • 1 XFX+F 1. X0:=X; /*X0XF*/2. B:={A|VWF,VX0,AW}; /*FVX0VW, W*/3. X1:=X0 B;4. if X1X0 then X0:=X1;goto 2 else X+::=X1 endif3 X*F1XF XYUX*FY*F . 13X*FY*F

    3 1XF,X*FXF+X1=X0X U G236

  • []X*(1)X*X+F .XX*FAX^X. X0X1X^ X0Vi()ViWiF()X0Wi() X0B=Wi()X0X1=BX0() X0X XX*().(2)X+F X*. V X+F VX* XVFAnA nVX* n1,.1:VX,XX*VX* 2: XVF,,VX^,VX* nkn=k+1TiiA ATk+1A.TkVXXX*,VX*.TkX1V1,ZU,X=ZX1, V=ZV1 (X1V1F) 3,V1X1*F X*ZXX* ,V=ZV1 X* ..TkXY,YV,YX*,VX* .G237

  • A:F,AF+;A:F+FA.

    4 RUF. A. xyFA,F. TH1. xyFA,F.i xF+FvwvxF+wxF+ii iR r F rx+iii 2,xyFA, y x+. yy1U-x+. rFxy. xyF m= x+ ya b c 12a b c 34rUG238

  • 9 GFG+=F+GF

    4 GFFG+ GF+GFG+=F+ FF+= G+GG+=F+FG+ GF+, XYF+ 4 XYFAG+A XYG++= G+ F+G+. G+F+ . G+=F+ GF FG+ XYFXYG+ ?XYGA?YXG+ ?XGXG+1G239

  • 10 F: (1) F (2) XAF , F-{XA}F (3) XAF , ZX(), (F-{XA}){ZA}F5 F 1 FXA1AK{XAi|i=1k} (1) 2 FXAG=F-{XA}FGXA, GF GF+( ) , FG+(?) FXAG+ (A) XAGA AXG+ AXG+(7.2.1) 3 XAFX=X1XKXi Gi=(F-{XA})({X-Xi}A) GiF{X-Xi}AXA , A(X-Xi)F+ G2310

  • [](,,,,) F1={,,}, F2={,}, F3={,,,}, F1[]. Fm1Fm2F F ={AB,BA,BC,AC,CA} Fm1={AB,BC,CA} , Fm2={AB,BA,AC,CA} (2)FXA, G=F-{XA} FGXA GFAXG+G2311

  • ()BCNF.1 1NF. 1NF2 1NF 2NF. 2NF.3 2NF 3NF.4 1NFXY XBCNF.[]G24[1][2][3][4]

  • G24a1 1NF. 21NF 2NF. [1](,,,,,)1NF{,} 2NF.1NF.

  • G24b21NF 2NF. 2NF. 3 2NF 3NF. [2](,,,,){,} 2NF.3NF,2NF.1

  • G24c3 2NF 3NF. 4 1NFXY XBCNF. [3](,,){,}{,}3NF.BCNF.3NF.

  • ( , , , ,,){}{,},XYXBCNF.BCNFBCNF ()4 1NFXY XBCNF. 3NFBCNF.[4]G24d

  • G24e1(,,) BCNF 2(,,) 2NF(,,,,)1NF21(,)BCNF 22(,)BCNF(,,,)3NF1(,,)2(,)BCNF[5][6]BCNF

  • .

    XYXY

    [][][]G25

  • G25a [] () ()() ()() ()() ()1NF ..[], ;=

  • RUXYU Z=U-X-Y. Rrr(X,Z) YZXYY XX Y. ZX Y XYZ X YX Z . rXZr XY,XY Z= R1(,),R2(,)G25b

  • XYZ RX Y (YX)XR 4NF. 4NFBCNF.R(,,)RBCNF( )4NF.R1(,)R2(,)4NFG25c

  • G26

    RRiUUiUiU(1in).Rrr=U1(r)Un(r)R(R1,,Rn).UiUR RiUUi, UiU(1in).(R1,,Rn)UiR5NFPJNF. 1R{A,B,C}(AB,BC). ABCR5NF.R4NF.2S{ABC} J{(AB,BC,AC),(AB,BC),BC,CBA}. BCSS5NF

  • ,1NF3NF . . . .G3

  • .[]1 RRiUUi U=i=1nUi={R1Rn}R

    []2 RUF ={R1Rn}R, FRiUi Fj={XY|XYF+,XYUj }

    []3 ={R1Rn}RrR m(r)=R1(r)Rn(r) r. G31

  • 1 1={P()Q()R()} F={}, F1=F2=F3= 2 2={P()R()} F={}, F1={}F2={} 3 3={P()R()} F={}, F1={}F2={} G311(,,)

  • 80 80 80104 70 80 80 80104 70 80 80 70 80101 80102 80 80103 80103 80104 70R rrr rm( r)[1] 1 r m(r) 2 s= m (r) Rj (r)=Rj (s) 3 m(m( r))= m( r) G3121r

  • 4 rr=m(r) [1] RnRk1)knS a ipqSip=Siq=a.2)Fxy xi1,i2,,im y aa.3)a,,xyxxya,a;G313

  • Rn,k1)knS ; a. ipq Sip=Siq=a2)Fxy,x,y,a,a;.3)a,. 1 2 3 p q n1 1 1 1 1 1 1 2 2 2 2 2 2 2

    i i i i i i i

    k k k k k k k 1 2 3 p q n1 1 1 1 1 1 1 2 2 2 2 2 2 2

    i i i i a a i

    k k k k k k kxyx,a,a;xy12G314

  • A B C D ER1 a 1 1 a 1R2 a a 2 2 2 R3 3 a 3 3 aR4 4 4 a a aR5 a 5 5 5 a R(A,B,C,D,E)F={AC, BC, CD, DEC, CEA}={R1(AD), R2(AB), R3(BE),R4(CDE), R5(AE)} A B C D ER1 a 1 1 a 1R2 a a 1 2 2 R3 3 a 3 3 aR4 4 4 a a aR5 a 5 1 5 a A B C D ER1 a 1 1 a 1R2 a a 1 2 2 R3 3 a 1 3 aR4 4 4 a a aR5 a 5 1 5 a A B C D ER1 a 1 1 a 1R2 a a 1 a 2R3 3 a 1 a aR4 4 4 a a a R5 a 5 1 a a A B C D ER1 a 1 a a 1R2 a a a a 2 R3 3 a a a aR4 4 4 a a a R5 a 5 a a a A B C D ER1 a 1 a a 1R2 a a a a 2 R3 a a a a aR4 a 4 a a a R5 a 5 a a aACBCCDDECCEAa,13245C125C345G315

  • 1 1:j,jRja. 2 1,a. aa,.3 1:j,jRja. 124 1F. ,F .,, ,F.1 R1 ra. :a,. , 4,rF,a. ,3,rjRja(j), m(r)=R1(r)Rk(r)a.rm(r)..:a,.()G316

  • 212 (1) ={R1,R2}R; (2) U1U2UR1R2R; (3) FR, U1U2U1-U2F+ U1U2U2-U1F+

    Z=U1U2 , X=U1-U2 ,Y=U2-U1 .R1ZX,R2ZY,21G317 U1U2 U1-U2 U2-U1R1 aaaa aaaa 1111R2 aaaa 2222 aaaaZYX

  • .5 RUF=(R1,,Rk) RUiRiFiFUi F+=(i=1kFi)+

    [2]FF1F2FkG=(i=1kFi) F+=G+(1)for xyF do if y xG then F+G+ endfor;(2)F+=G+.4 F+=G+GF+FG+GFG+F+=G+G32

  • G3211 1={P()Q()R()}. F1=F2=F3=, G+=(F1F2F3)+= F+ G+12 2={P()R()}. F1={}F2={} , G+=(F1F2)+ ={,,, ,} G+,F+ G+, 23 3={P()R()}. F1={}F2={} G=(F1F2)=F,F+=G+ 3(,,)F={}

  • 3NF(1) 3NF(2) BCNF 4NF

    3NFBCNF4NF

    1. 3NF1 2. 3NF2 3. BCNF 4. 4NFG33

  • 3NF1

    R(1NF)UG. 3NF. :if XAGXA=U then (=R;)else (:=;for A not in G do := {R(A)}; for XAG do := R(X,A));endif.G33a

  • 3NF2

    R(1NF)UG., 3NF. (1)3NF1R={R1,R2,R3,,Rn} (2)= {R1R2R3RnRk } RkRG33b

  • BCNF

    R(1NF)UF., BCNF.:={R}while BCNF do BCNFS SBCNFXY SYXYSendwhile. G33c

  • G33d4NFR(1NF)UD., 4NF.:={R}while 4NF do 4NFS S4NFXY S-YXYSendwhile.

  • G4 1. (1) 80/20 (2) 2.

  • G5

    1. 2. 3.

    1. 2.

  • G6

  • 1.LRA=j (i fi LRAij )2.LRA=j (i fi LRAij RECSIZEj )3.DSTOR= j NRECj RECSIZEj fi i LRAij ij RECSIZEjI() NRECj jG7