高分求一道SQL数据库问题,急!!!(在线等)

高分求一道SQL数据库问题,急!!!(在线等),第1张

以下SQL语句在SQL Server 2005 Express中测试通过

第一题:CREATE TABLE SHOP

(

S# bigint NOT NULL,

SName nvarchar(50) NOT NULL,

Area nvarchar(50) NOT NULL,

MGR_NAME nvarchar(50) NOT NULL

) ;

第二题:

SELECT GNAME, MGR_NAME FROM SHOP, GOODS, SALE

WHERE GOODSG#=SALEG# and SALES#=SHOPS# and SHOPAREA="EAST"

第三题:

SELECT G#, GNAME FROM GOODS where GNAME like '冰箱'

第四题

CREATE VIEW 商品视图 AS

SELECT G#,GNAMES, S#, SNAME, QUANTITY, AREA

FROM SHOP, GOODS, SALE

WHERE QUANTITY>2000 and GOODSG#=SALEG# and SALES#=SHOPS#

2005-2006(2)数据库系统原理试题(A)参考答案及评分标准

一、填空题(每空1分,共14分)

1、 数据结构

2、 元组

3、 实体完整性 参照完整性

4、 1NF

5、 数据字典

6、 B R +BR B S B S +BR B S

7、 可串行的

8、 RAID

9、 动态Hash 方法 可扩展Hash 方法

10、 并发控制技术 数据库恢复技术

二、选择题(每题1分,共10分)

1、 D 2、A 3、A 4、B 5、C 6、C 7、C 8、C 9、C 10、A

三、简答题(每题4分,共16分)

1. 可以表示任何关系代数 *** 作的5种基本代数 *** 作是什么?

答: ⋃ , - , ⨯ , σ , π

注:1个1分,写对4个即可得4分

2. 关系数据库中常用的连接 *** 作的实现算法有哪些?

答:循环嵌套连接算法(1分)、排序合并连接算法(1分)、hash 连接算法(1分)、索引连接算法(1分)。

3. 简述B 树和B+树的区别。

答:(1)B+树的叶子节点链在一起(2分)。(2)B+树的内节点不存放数据指针(2分)。

4. 什么是数据库事务?什么是数据库事务的原子性?

答:一个存取或更改数据库的程序的运行称为数据库事务(2分)。事务中的所有 *** 作要么全部被成功的完成且这些 *** 作的结果被永久地存储到数据库中,要么这

个事务对数据库和其它事务没有任何影响。这种性质称为事务的原子性(2分)。

四、综合题(每题12分,共60分)

(一)已知关系S ,P ,J ,SPJ 的关系模式为:

S (SNO ,SN ,CITY )

P (PNO ,PN ,COLOR )

J (JNO ,JN ,CITY )

SPJ (SNO ,JNO ,PNO ,QTY )

其中:SNO 为供应商号,SN 为供应商姓名,CITY 为所在城市;PNO 为零件号,PN 为 零件名称,COLOR 为颜色;JNO 为工程项目号,JN 为工程项目名称;QTY 为数量。

1、 试用

∏JN ((∏JNO ,PNO (SPJ )÷ ∏PNO (P ∏JNO ,JN (J ))(4分)

2、试用完成下列查询:把零件号为P2的零件重量增加5,颜色改为**。

UPDATE P

SET WEIGHT=WEIGHT+5,COLOR=’**’

WHERE PNO=’P2’; (4分)

3、试用完成下列查询:取出1个以上供应商提供的零件号。

SELECT PNO

FROM SPJ

GROUP BY PNO

HA VING COUNT (SNO )≥1 (4分)

(二) 设某商业集团数据库有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品” 实体集,属性有商品编号、商品名、规格、单价等;三是“供应商” 实体集,属性有供应商编号、供应商名、地址等。

商店与商品间存在“销售”联系,每个商店可销售多种商品,每个商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;供应商与商品间存在着“供应” 联系,每个供应商供应多种商品,每种商品可以向多个供应商订购。供应商供应商品给每个商店有月供应量。

(1)试画出E-R 图,并在图上注明属性。

(2) 将E--R 图转换成关系模型,并指明主键和外键。

(1)E-R 图如图所示。

(6分,其中实体2分、联系2分、属性2分)

(2)此E--R 图转换成的关系模型如下

商店(商店编号,商店名,地址) 主码为商店编号

供应商(供应商编号,供应商名,地址) 主码为供应商编号

商品(商品编号,商品名,规格,单价)

销售(商店编号,商品号,月销售量)

主码为(商店编号,商品号),外码为商店编号和商品号

供应(供应商编号,商店编号,月供应量)

主码为(供应商编号,商店编号),外码为供应商编号,商店编号

共6分,由于学生的写法多样,教师根据具体情况给分。

(三)1.设关系模式R 其中: U={A, B, C, D, E, P}

F={A→B,C→P,E→A,CE→D}

求出R 的所有候选关键字。

解:由计算可知: (CE)的闭包 = {ABCDEP}

而 C 的闭包={CP}

E 的闭包={ABE} (2分)

所以:R 的候选键为 : CE 。 (2分)

2.判断下面的关系模式最高属于第几范式) ,并说明理由。

R({A,B,C},{AC→B,AB→C,B→C})

答:是1NF ,(2分) 因为该关系的候选键之一为AB, 又因为有B→C,存在部分函数依赖(2分), 所以, 该关系为1NF

3. 设关系R 具有属性集合{O, I, S, A, B},函数依赖集合{I->B, IS->A, A->O}。把R 分解成

3NF ,并使其具有无损连接性和函数依赖保持性。

答:{IB,ISA,AO}(4分)

(四) 设文件F 具有10000个记录,每个记录50字节,其中10字节用来表示文件的键值。每个磁盘块大小1000字节,指向磁盘块的指针占5字节,不允许记录跨两个块。

(1) 如果为文件F 建立简单hash 索引,使用100个hash 桶,则桶目录需要多

少磁盘块?平均每个桶需要多少磁盘块?

答:(1)1 (2)10000个记录/100个桶=100个记录每桶,(2分)100个记

录×50字节每记录/1000字节每块=5块(2分)

(2) 如果为文件F 建立B +树索引,各磁盘块尽量装满,需要多少磁盘块存储索

引?

答:求秩D :5D+10(D+1) D=67 (2分)

即每个叶节点能保存D-1=66个键值。所以叶节点数为⎡10000/66⎤

=152个。(2分)

上一层的内节点同样有67个指针,是一个67叉的节点,

⎡10000/67⎤=3,⎡3/67⎤=1(2分)

因此B+树的节点总数为152+3+1=156个。即需要156个磁盘块

存储B+树索引。(2分)

(五) 对于教学数据库S(S#,SNAME ,AGE ,SEX) ,SC(S#,C#,GRADE) ,C(C#,CNAME ,TEACHER) 。现有一个查询:检索至少学习W ANG 老师所授一门课程的男学生学号和姓名。

1 给出该查询的关系代数表达式,并画出该表达式构成的语法树。

2 使用启发式优化算法对语法树进行优化,得到优化的语法树。

解:(1) 关系代数表达式:

∏ S#,SNAME (σSS#=SCS#∧SCC#=CC#∧SSEX=’男’ ∧teacher=’wang’(S×SC×C )) (3分)

∏ S#,SNAME

SS#=SCS#∧SCC#=CC#∧SSEX=’男’ ∧teacher=’wang’

(3分)

∏ S#,SNAME σSCC#=CC#

σteacher=’wang’

∏ S#,C# SSEX=’男’

s

结果树(3分) c sc (3分)

“商业管理”数据库中有3个实体:商店(商店编号,商店名,地址),商品(商品号,商品名,规格,单价),职工(职工编号,职工姓名,性别)。商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以放在多个商店销售,用“月销售量”来表示商店销售每种商品的情况;商店与职工存在“聘用”联系,每个商店有多名职工,每个职工只能在一个商店工作,商店聘用职工有“聘期”和工资。

①  试画出E-R图,并注明关系类型,注明主键和外键

②  试用SQL语句创建“商业管理”数据库以及其中的表,其中单价、月销售量、工资和聘期字段类型为real,其余字段为字符型。

2 “订货管理”数据库有4个表:仓库(仓库号,仓库名,地址),商店(商店编号,商店名,地址),商品(商品号,商品名,单价)。设仓库和商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品可存储在若干仓库中,仓库存储的商品有“日期”和“存储量”信息;商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以放在多个商店销售,用“月份”和“月销售量”来表示商店销售每种商品的情况;仓库、商店和商品之间存在着“供应”联系,有“月份”和“月供应量”两个属性。

①  试画出E-R图,并注明关系类型,注明主键和外键;

②  试用SQL语句创建“订货管理”数据库以及其中的表, 其中单价、存储量、月份、月供应量和月销售量字段类型为real,日期字段类型为datetime,其余字段为字符型。

3 总结并分别分类列出第二章和第三章中关于创建、修改和删除数据库以及数据表的SQL语言,注意其相同点和不同点。

能把第二站图拍好点吗,我应该可以解决。

select E#,ENAME form EMP where AGE>50 and SEX='男'

select E#,ENAME form EMP join WORKS on EMP E#=WORKS E# join COMP WORKS C#=COMP C# where COMPCNAME="联华公司"

select E#,count() form EMP join WORKS on EMP E#=WORKS E# join COMP WORKS C#=COMP C#  group by E#

select E#,ENAME EMP join WORKS on EMP E#=WORKS E# where C#="C4" or C#="C8"

1。正因为有2个S#,即AS#和BS#,所以在引用时必须指明是哪一个s#,在内连接时目标列中返回哪一个S#都可以。

2查询的是销售冰箱的商店的编号和商店名称,销售信息在销售表,冰箱的信息在商品表,商店的信息在商店表,所以三个表要连接起来。

3后面写上 A ,B,C是表的别名,为了引用方便。

以上就是关于高分求一道SQL数据库问题,急!!!(在线等)全部的内容,包括:高分求一道SQL数据库问题,急!!!(在线等)、【数据库历年期末考试题】数据库原理期末考试题、数据库题:某商业集团关于商店销售商品的数据库含三个表:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9331006.html

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

发表评论

登录后才能评论

评论列表(0条)

保存