计算机三级数据库1-9套应用题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九套
1.在某数据库中,相关表的建表语句如下:
create tableT1(
a1int primary key,
a2int,
a3int foreign key references T2(a3));
create tableT2(
a3int primary key,
a4int,
a5int foreign key references T2(a3));
create tableT3(
a1int,
a3int,
a6int,
primary key (a1, a3),
a1 foreign key references T1(a1),
a3 foreign key references T2(a3));
请画出相应的E-R图,使得可以从该E-R图推导出上述表定义,其中实体和联系的名称可以自定,实体的主码属性请使用下划线标明。
2.设在SQL Server 2008某数据库中有商品表和销售表,两个表的定义如下:CREATE TABLE 商品表(
商品号 char(10) PRIMARY KEY,
商品名varchar(40),
类别varchar(20),
进货单价int );
CREATE TABLE 销售表(
商品号 char(10) REFERENCES 商品表(商品号),
销售时间datetime,
销售数量int,
销售单价int,
PRIMARY KEY(商品号,销售时间) );
现要创建一个存储过程:查询指定类别的每种商品当前年累计销售总数量。请补全下列代码。
CREATE PROC p_TotalSales
@lbvarchar(20)
AS
SELECT 商品名,
(
year(销售时间
)AS 当年销售总数量Array
FROM 商品表
3.设某超市经营管理系统使用SQL Server 2008数据库管理系统。为了保证数据库可靠运行,数据库管理员设置了每天夜间对数据库一次全备份,备份数据保留2个月的备份策略。上线运行1年后,SQL Server数据库中数据已经达到近200GB。每天夜间要运行3个小时才能将数据库进行一次全备份,影响了夜间统计等业务正常运行。同时,备份空间也非常紧张。请解释出现此现象的原因,并提出优化的方法。
第八套
1.已知有如下关系模式:
T1(a1,a2, a3, a5),T2(a3,a4),T3(a5, a6),T4(a3, a5, a7),其中带下划线的属性标识为所在关系模式的主码,T1中的a3是参照T2的外码,T1中的a5已知有如下关系模式:
T1(a1,a2, a3, a5),T2(a3,a4),T3(a5, a6),T4(a3, a5, a7),其中带下划线的属性标识为所在关系模式的主码,T1中的a3是参照T2的外码,T1中的a5是参照T3的外码,T4中的a3是参照T2的外码,T4中的a5是参照T3的外码。
请将上述关系模式用适当的ER图表示出来,并用下划线标注出作为实体主码的属性。
2.设在SQL Server2008某数据库中有商品表和销售表,两个表的定义如下:CREATE TABLE 商品表(
商品号 char(10) PRIMARY KEY,
商品名varchar(40),
类别varchar(20),
进货单价int );
CREATETABLE 销售表(
商品号 char(10) REFERENCES 商品表(商品号),
销售时间datetime,
销售数量int,
销售单价int,
PRIMARYKEY(商品号,销售时间) );
现要创建一个存储过程:查询指定类别的每种商品当前年销售总金额(销售总金额=销售单价* 销售数量)。请补全下列代码。
CREATEPROC p_TotalProfit
@lbvarchar(20)
AS
SELECT 商品名
销售表 t1
FROM 商品表
3.设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)
销售单据明细表(销售单据编号,商品编号,单价,数量)
在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加"付款总金额"属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
1.设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,电话公用,顾客可在不同日期买同一商品。
(1)请画出该单位的商务ER图模型并优化。(6分)
(2)将ER模型换成关系模型并规范化到3NF。(4分)
2.
(1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。(5分)
(2)检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。(5分)
3.在SQL Server 2008中,设有教师表(教师号, 姓名, 所在部门号, 职称)和部门表(部门号, 部门名, 高级职称人数)。请编写满足下列要求的后触发型触发器(设触发器名字为tri_zc)。
每当在教师表中插入一名具有高级职称("教授"或"副教授")的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称)(10分)