...试题二参考2006年上半年 数据库系统工程师 下午考卷) 1到9题用S...
发布网友
发布时间:2022-04-26 08:19
我来回答
共4个回答
热心网友
时间:2022-04-09 05:22
试题二(15分)
阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
[说明]
某企业网上销售管理系统的数据库部分关系模式如下所示:
客户(客户号,姓名,性别,地址,邮编)
产品(产品号,名称,库存,单价)
订单(订单号,时间,金额,客户号)
订单明细(订单号,产品号,数量)
关系模式的主要属性及约束如表2-1所示。
表2-1关系模式的主要属性及约束
关系名 约束
客户 客户号唯一标识一位客户,客户性别取值为“男”或者“女’
产品 产品号唯一标识一个产品
订单 订单号唯一标识一份订单。一份订单必须且仅对应一位客户,一份订单可由一到多条订单明细组成。一位客户可以有多份订单。
订单明细 一条订单明细对应一份订单中的一个产品
客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。
表2-2客户关系
客户号 姓名 性别 地址 邮编
Ol 王晓丽 女 南京路2号 200005
02 林俊杰 男 北京路18号 200010
表2-3产品关系
产品号 名称 库存 单价
01 产品A 20 298.00
02 产品B 50 168.00
表2-4订单关系
订单号 时间 金额 客户号
1001 2006.02.03 1268.00 01
1002 2006.02.03 298.00 02
表2-5订单明细关系
订单号 产品号 数量
1001 01 2
1001 02 4
1002 01 1
[问题1](3分)
以下是创建部分关系表的SQL语句,请将空缺部分补充完整。
CREATE TABLE 客户(
客户号CHAR(5)___(a)___
姓名CHAR(30),
性别CHAR(2)___(b)___
地址CHAR(30),
邮编CHAR(6));
CREATE TABLE 订单(
订单号CHAR(4),
时间 CHAR(10),
金额 NUMBER(6,2),
客户号 CHAR(5) NOT NULL,
PRIMARY KEY(订单号),
___(c)___;
[问题2](4分)
请根据如下查询语句,回答问题(d),(e)和(f)
SELECT 客户号
FROM 订单,订单明细
WHERE 订单明细.订单号 = 订单.订单号 AND
产品号 = "02’AND
数量>10;
(d)上述查询语句的功能是什么?请简要回答。(30个字以内)
(e)将上述查询语句转换成对应的关系代数表达式。
(f)上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
[问题3](3分)
请按题意将下述SQL查询语句的空缺部分补充完整。
按客户购买总额的降序,输出每个客户的客户名和购买总额。
SELECT 客户.客户名,___(g)___
FROM 客户,订单
WHERE 客户.客户号 = 订单.客户号
___(h)___
___(i)___;
[问题4](3分)
用SQL语句完成下述要求。
(1)定义一个描述订单的客户号和对应订单明细中产品号关系的视图,客户产品(客户号,产品号)。
(2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。
SELECT 客户号
FROM 客户产品 客户产品1
WHERE___(j)___
(SELECT*
FROM客户产品 客户产品2
WHERE___(k)___
(SELECT*
FROM客户产品 客户产品3
WHERE___(l)___));
[问题5](2分)
当—个订单和对应的订单明细数据入库时,应该减少产晶关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。
1、补充完善题目中的数据库相应描述信息,并据此分析得到相应的实体—联系图(E-R图)。
2、根据E-R图得出相应的关系模式,并进行适当的规范化(规范化到3NF)。
3、创建一个数据库,并将2中得到的关系模式转换成数据库中相应的表。
4、 给创建好的各个表添加好主键约束、外键约束,并视情况添加相应的唯一约束、默认值约束、检查约束等以保证数据的完整性。
下面还有追加问题~问题补充:
5、 给数据库中合适的表上创建至少一个索引。
6、 至少创建一个用户自定义函数,并将其绑定到合适的表上。
7、 至少创建一个视图。
8、 至少创建一个用户存储过程(可视具体情况决定是否带相应的参数)。
9、 至少创建一个触发器。
本大题还有3个问题,请各位高手作答。
1、 补充完善题目中的数据库相应描述信息,并据此分析得到相应的实体—联系图(E-R图)。
2、 根据E-R图得出相应的关系模式,并进行适当的规范化(规范化到3NF)。
3、 创建一个数据库,并将2中得到的关系模式转换成数据库中相应的表。
我不会做~
热心网友
时间:2022-04-09 06:40
6+56464534124455454kjnok
热心网友
时间:2022-04-09 08:15
有点经验的做过数据库系统开发的程序员都做得出,基本看了一下不是很难,晚上下班后我帮你做.现在上班中
热心网友
时间:2022-04-09 10:06
(
客户号CHAR(5) not null,
姓名CHAR(30),
性别CHAR(2) not null,