以下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数据库问题,急!!!(在线等)、【数据库历年期末考试题】数据库原理期末考试题、数据库题:某商业集团关于商店销售商品的数据库含三个表:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)