更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
在进行某学校教务管理系统的数据库设计时,数据库设计人员设计了如下几个关系模式:
系(系号,系名),系号为主码
学生(学号,姓名,所在系号),学号为主码
课程(课程号,课程名,开课系号),课程号为主码
选课(学号,课程号,选课时间),学号和课程号为主码
开发人员在采用关系模式实操到SQL Server 2008的“教务”数据库时,使用了如下表结构定义语句:
CREATE TABLE 系
(
系号 varchar(10) NOT NULL,
系名 varchar(100)
)
CREATE TABLE 学生
(
学号 varchar(50) NOT NULL,
姓名 varchar(50),
所在系号 varchar(10)
)
CREATE TABLE 课程
(
课程号 varchar(50) NOT NULL,
课程名 varchar(100),
开课系号 varchar(10)
)
CREATE TABLE 选课
(
学号 varchar(50) NOT NULL,
课程号 varchar(50) NOT NULL,
选课时间 datetime
)
在执行如下查询语句时发现执行效率较低。
SELECT * FROM 选课 JOIN 学生 ON 学生.学号 = 选课.学号
JOIN 系 ON 系.系号 = 学生.所在系号
JOIN 课程 ON 课程.课程号 = 选课.课程号
WHERE 系.系号='012'
AND convert(varchar(10),选课时间,120) >= '2010-01-01'

1、在查找原因时发现建表语句有问题。请指出问题并说明该问题是否会影响此查询语句的执行效率。

2、设已在 “选课” 表的 “选课时间” 列及 “学生” 表的 “所在系号” 列上建立了索引。请问这两个索引是否能够提高该查询语句的执行效率?如果不能,请说明原因。