使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当()。

使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当()。,第1张

《数据库系统概论》第五版p99有这样一句话:where子句与having短语的区别在于作用对象不同

《数据库系统概论》是2006年高等教育出版社出版的图书,作者是王珊、萨师煊。王珊教授,是中国人民大学信息学院教授、博士生导师。中国计算机学会副理事长,中国计算机学会数据库专委会主任,教育部第五届科学技术委员会委员,中国科学技术协会第六届全国委员会委员等。

数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。

9.答:(1)首先画出一些重的函数依赖,所有这些函数依赖都是根据习题的文字说明和语义假设导出。 语义假设如下:

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#)

数据库系统概论 第5版_王珊.pdf (选择普通下载即可)

另外邮箱也发了一份下载链接,注意查收!

1、PC电脑端或手机网页端登录,即可查看、下载;

2、文件有时效性,若文件失效或下载问题,请及时@私信;

3、资料收集于互联网,仅供个人试读,有能力多支持纸质书籍!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6461409.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-22
下一篇2023-03-22

发表评论

登录后才能评论

评论列表(0条)

    保存