2014SQL Server 2005题库(十四)(含答案).docVIP

  • 20
  • 0
  • 约 12页
  • 2017-07-09 发布于江西
  • 举报

2014SQL Server 2005题库(十四)(含答案).doc

SQL Server 2005题库 五 操作题 1# 现有关系数据库如下: 数据库名:教师数据库 教师表(编号 char(6),姓名,性别,民族,职称,身份证号) 课程表(课号 char(6),名称) 任课表(ID,教师编号,课号,课时数) 用SQL语言实现下列功能的sql语句代码: 1. 创建上述三表的建库、建表代码(14分); 要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID) 2. 将下列课程信息添加到课程表的代码(6分) 课号 课程名称 100001 SQL Server数据库 100002 数据结构 100003 VB程序设计 修改 课号为100003的课程名称:Visual Basic程序设计 删除 课号为100003的课程信息 3. 写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码;(4分) 4. 写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分) 检索:所有代SQL Server数据库这门课程的老师姓名; 5. 写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分) 6. 写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。(6分) 执行:计算“郭老师”的总课时。(6分) 7. 检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。(4分) 8. 建一个规则,并将其绑定到教师表的职称列上,规定取值为(教授,副教授,讲师, 助教)之一。(4分) 答案: 1. create database [教师数据库] --(2分) use [教师数据库] go create table 教师表 --(6分) ([编号] char(6) primary key, [姓名] nchar(4) not null, [性别] nchar(1) check([性别] in (男, 女)), [民族] nchar(8) default 汉族 not null, [职称] nchar(12), [身份证号] char(18) unique ) create table 课程表 --(2分) ([课号] char(6) primary key, [名称] char(40) not null ) create table 任课表 --(4分) (ID IDENTITY(1, 1), [教师编号] char(6) references 学生表(学号), [课号] char(6) references 课程表(课号), [课时数] integer check([课时数] between 0 and 200)) 2. insert 课程表 values(100001, SQL Server数据库) insert 课程表 values(100002, 数据结构) insert 课程表 values(100003, VB程序设计) update 课程表 set 名称=Visual Basic程序设计 where 课号=100003 delete 课程表 where 课号=100003 3. create view [任课表视图] as select 教师编号,姓名,课号, 课程名称,课时数 from 教师表,任课表 where 教师表.编号=任课表.教师编号 4. create function [某门课任课教师](@课程名 varchar(15)) returns table as return (select 课程名称, 课时数, 教师姓名=姓名 from 任课表视图 where 课程名=@课程名) go select * from [某门课任课教师](SQL Server数据库) 5. create procedure [统计课时数] as select 最大课时数=max(课时) ,最小课时数=min(课时),平均课时数=avg(课时) from 任课表 go execute [统计课时] 6. create procedure [统计课时] @教师名 nchar(16), as begin de

文档评论(0)

1亿VIP精品文档

相关文档