1)一个职工不能同时成为多个部门的领导人; 2)一个职工不能同在在多个部门就职; 3) 一个职工不能同时参加多个生产项目;
4) 一个职工不能同时在两个不同的办公室办公; 5) 一个职工不能同时拥有两部或两部以上的电话;
AREA
DBUDGET
OFF#DEPT#MGR_EMP#
PHONE#EMP#PROJ#PBUDGET#
JOBTITLE
DATE
SALARY
6)一个生产项目不能同时分配给多个部门; 7)一个办公室不能同时分配给多个部门;
8)部门号、职工号、项目号、办公室号及电话号码是全局惟一的。 (2)先按照图5。12设计一组关系模式,它们都是属于INF的。 DEPT(DEPT#,DBUDGET,MGR_EMP#) PRIMARY KEY(DEPT#)
DEPT#和MGR_EMP#都是候选码,把DEPT#作为主码。
F={DEPT#→DBUDGET,DEPT#→MGR_EMP#,MGR_EMP#→DEPT#} EMPI(EMP#,DEPT#,PROJ#,OFF#,PHONE# PRIMARY KEY (EMP#)
F={EMP#→DEPT#,EMP#→PROJ#,EMP#→OFF#,EMP#→PHONE#,PHONE#→OFF#,OFF#→DEPT#,PROJ#→DEPT#} JOB(EMP#,JOBTITLE)
PRIMARY KEY(EMP#,JOBTITLE)
F={EMP#,JOBTITLE→EMP#,EMP#,JOBTITLE→JOBTITLE} SALHIST(EMP#,JOBTITLE,DATE,SALARY) PRIMARY KEY (EMP#,DATE)
F={EMP#,DATE→JOBTITLE,EMP#,DATE→SALARY} PROJ(PROJ#,DEPT#,PBUDGET) PRIMARY KEY (PROJ#)
F={PROJ#→DEPT#,PROJ#→PBUDGET} OFFICE(OFF#,DEPT#,AREA) PRIMARY KEY (OFF#)
F={OFF#→DEPT#,OFF#→AREA} PHONE(PHONE#,OFF#) PRIMARY KEY (PHONE#)
F={PHQNE#→OFF#}
(3)现在来分析一下这7个关系模式,发现:SALHIST(EMP#,DATE,JOBTITLE,SALARY)的属性包含了JOB(EMP#,JOBTLTLE)的属性,所以JOB(EMP#,JOBTITLE)可以消去。
EMP1中OFF#和DEPT#都传递函数依赖于主码(EMP#)。OFF#通过PHONE#,DEPT#通过PROJ#或OFF#(然后通过PHONE#)传递依赖于{EMP#},所以可以把EMP1(EMP#,DEPT#,PROJ#,OFF#,PHONE#)分解成下面4个3NF的关系模式: EMP(EMP#,PROJ#,PHONE#) PRIMARY KEY (EMP#)X(PHONE#,OFF#)
PRIMARY KEY(PHONE#)Y(PROJ#,DEPT#)
PRIMARY KEY(PROJ#)Z(OFF#,DEPT#) PRIMARY KEY(OFF#)
然而,X就是PHONE,Y是PROJ的投影,Z是OFFICE的投影,所以X、Y、Z都可以消去。
最后可以得到下面6个关系模式,所有这些关系模式都是属于3NF的,进一步发现他们也是BCNF的。
DEPT(DEPT#,DBUDGET,MGR_EMP#) PRIMARY KEY(MGR_EMP#) EMP(EMP#,PROJ#,PHONE#) PRIMARY KEY(EMP#)
SALHIST(EMP#,DATE,JOBTITLE,SALARY) PRIMARY KEY (EMR#)
PROJ(PROJ#,DEPT#,PBUDGET) PRIMARY KEY(PROJ#)
OFFICE(OFF#,DEPT#,AREA) PRIMARY KEY(OFF#) PHONE(PHONE#,OFF#)
PRIMARY KEY(PHONE#)
10.答:其语义假设如下:
(1)任何两个顾客的收货地址都不相同; (2)每一个订单都有一个惟一的订单号码。
(3)每个订单的订单细则在这个订单里有一个惟一的编号。 函数依赖图如下:
ADDRESSADDRESS
QTYORD
ORD#
DISCOUNT
CREDLIM
BAL
CUST#
QTYOUTDANGER
PLANT#QTYOH
ITEM#DESCNLINE#
相应的BCNF关系模式如下:
CUST(CUST#,BAL,CREDLIM,DISCOUNT) PRIMARY KEY(CUST#) SHIPTO(ADDRESS,CUST#) PRIMARY KEY(ADDRESS)
ORDHEAD(ORD#,ADDRESS,DATE) PRIMARY KEY(ORD#)
ORDLINE(ORD#,LINE#,ITEM#,QTYORD,QTYOUT) PRIMARY KEY (ORD#,LINE#) ITEM(ITEM#,DESCN)
PRIMARY KEY(ITEM#)
IP(ITEM#,PLANT#,QTYOH,DANGER) PRIMARY KEY (ITEM#,PLANT#)
ER图如下图片所示:
在画E-R图时,可以按照对问题的描述按步骤画出每一句话中涉及的实体,再根据给出的实际语义,画出实体之间的联系。前一句话可以画出教研室和教员、班级和学生之间一对多的联系。
另外有的教授和副教授每人各带若干研究生,而一个研究生一般指定一个导师,这是通常规则,所以可以画出教员和学生之间一对多的关系。按照上述的分析方法,从题的说明中得出实体和联系。
扩展资料:
ER图是用来描述现实世界中的实体关系模型,实体就是客观上或者逻辑上存在并且可以区分的人事物。ER图会促使人们以最适合技术理解实现的方法,来规范的描述功能模块的核心要素。
这个图就是数据库的物理结构。而这种描述是无二义的,最清晰传达PM的设计思想。ER图包含实体、属性、联系以及连接线,实体是客观上或者逻辑上能够相互区分的事物。
除此之外实体在ER图中用矩形表示,矩形框内写明实体名。而属性是实体所具有的某一特性,一个实体可由若干个属性来刻画。在ER图中用椭圆形表示,并用无向边将其与相应的实体连接起来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)