第 1 页:单选题 |
第 4 页:应用题 |
第 5 页:设计与应用题 |
第 6 页:参考答案与解析 |
三、设计与应用题
1.【解题思路】
(1)ER图的画法
建立相应的ER图的过程如下:
第一,确定实体类型。本题有四个实体类型,即Teacher实体,Course实体,Student实体和DEPT实体。
第二,确定联系类型。Teacher实体与Course实体之间是多对多关系,即T-C关系,Student实体与Course实体之间是多对多关系,即S-C关系。DEPT实体与Teacher实体之间是一对多关系,即D-T关系。DEPT实体与Student实体之间是一对多关系,即D-S关系。
第三,把实体类型和联系类型组合成ER图。
第四,确定实体类型和联系类型的属性。
Teacher实体集属性:教师号、教师名
Course实体集属性:课程号、课程名、课程学分
Student实体集属性:学号、学生姓名、学生性别
DEPT实体集属性:系编号、系名称
(2)ER模型转换为关系模式的规则
①把ER模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。
②把ER模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定。
若联系为1:1,则每个实体集码均是该关系的候选码。
若联系为1:n,则关系的码为n端实体集的码。
若联系为m:n,则为各实体集码的组合或其中一部分实体集码的组合。
③合并具有相同码的关系。根据规则,把一个ER模型转换为关系模式,一般经历下面两个步骤:
第一,标识ER模型中的联系。
第二,依次转换与每个联系相关联的实体集及联系。
【参考答案】
ER图如下所示:
设计3NF,如下:
DEFY(DeptN0,DeptName),主码:DeptN0,无外码
Teacher(TN0,TName,DeptNO),主码TN0,外码DeptNO
Student(SN0,SName,Sex,DeptNO),主码SN0,外码DeptNO
Course(CN0,CName,Credit),主码CN0,无外码
T-C(TN0,CNO),主码(TN0,CNO),外码TN0,CNO
S-C(SN0,CN0,成绩),主码(SN0,CNO),外码SN0,CNO
2.【解题思路】
采用JOIN联合查询,先用WHERE条件查出符合销售时间=@year的记录,再将找出的记录和图书表合并,并采用单价*销售数量计算出联合查询的表数据,最后根据GROUP BY统计每种书的销售价格总和。
【参考答案】
CREATE FUNCTION BOOK_PROFIT(@year int)
RETURNS@f_BOOK_PROFIT table(
书号varchar(50),
销售总额int)
AS
BEGIN
INSERT INTO@f_BOOK_PROFIT
SELECT a书号,SUM(a单价*b销售数量)
FROM图书表a JOIN销售表b ON a书号=b书号
WHERE year(b销售时间)=@year
GROUP BY a.书号
RETURN
END
或者
CREATE FUNCTION BOOK_PROFIT(@year int)
RETURNS@f_BOOK_PROFlT table(
BOOK_ID varchar(50),
PROFIT int)
AS
BEGIN
INSERT INTO@f_BOOK_PROFIT
SELECT a.BOOK_ID,SUM(a.BOOK_PRICE*b,SALE_NUM)
FROM BOOK a JOIN SALE b ON a.BOOK ID=b.B00K ID
WHERE year(bSALE_TIME)=@year
GROUP BY a.BOOK_ID
RETURN
END
3.【解题思路】
(1)SQL Server 2008的数据恢复模式有三种:
①简单恢复模式,此方法可以最大幅度减少事务13志的管理开销,因为恢复模式不备份事务日志。但是如果数据库损坏,则简单恢复模式将面临极大的数据丢失风险。在这种恢复模式下,数据只能恢复到最新备份状态。因此对于用户数据库,简单恢复模式只适用于测试和开发数据库,或用于主要包含只读数据的数据库。
②完整恢复模式,此方法可以完整的记录所有事务,并将事务13志记录保留到对其备份完毕为止。此方法相对简单恢复模式来说,更占用时间。
③大容量日志恢复模式,此方法只对大容量操作进行最小记录,使事务日志不会被大容量加载操作所填充。
在数据导入过程中,所有的业务都是暂停的,因此可以采用简单恢复模式提高数据导入速度。且只在数据导入的过程中暂时的修改恢复模式,因此数据并不会丢失。
(2)提高数据库性能的方法一般是从外部环境、调整内存分配、调整磁盘I/0、调整竞争资源等几方面着手来改变数据库的参数。SQL Server 2008采用将数据缓冲在内存的方式,因此在数据库系统运行的过程中会占用一定的内存,又因为I/O并不存在问题,说明内存尚满足需求。CPU使用率很高,表明CPU的计算能力不足,应该增加CPU的数量。
【参考答案】
(1)此方法能够提高数据导入速度。原因:此系统I/O很高,修改恢复模式后,系统最大限度减少日志开销,可提高导入速度。由于仅在数据导入过程中修改恢复模式,所以并无数据丢失风险。
(2)第一种方案比较合理。原因:SQL Server 2008采用将数据缓冲在内存的方式,因此内存的使用率比较高是正常情况,且现阶段I/O并不存在问题,表明内存满足需求。此阶段CPU使用率很高,表明CPU计算资源不足,因此增加CPU数量对解决问题有效。
相关推荐:
2015年全国计算机等级考试无纸化考试系统操作指南北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |