2011年下学期期末综合练习题
学备注:答案请用红色字体写出。
数据库名:学生成绩数据库
学生信息表(学号 char(6),姓名,性别,民族,身份证号) 课程信息表(课号 char(6),名称) 成绩信息表(ID,学号,课号,分数)
一、用SQL语言实现下列功能的sql语句代码。
1.创建数据库[学生成绩数据库] 的方法有哪几种,分别是什么?(9分)。 答:有SSMS T—SQL 2.创建数据表[课程信息表]代码;(8分)
课程信息表(课号 char(6),名称) 要求使用:主键(课号)、非空(名称) 答:Use 学生成绩数据库 go create table 学生信息表
(课号 char(6)not null primary key) 3.创建数据表[学生信息表]代码;(8分)
学生信息表(学号 char(6),姓名,性别,民族,身份证号) 要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别) 答:Use 学生成绩数据库 go create table 学生信息表
(学号 char(6) not null primary key, 性别 varchar(2) check constraint(性别 in (‘男’,‘女’)),
姓名 char(8) not null 民族 varchar (20) default ‘汉族’not null, 身份证号 char(20) unique )go
4.创建数据表[成绩信息表];(8分) 成绩信息表(ID,学号,课号,分数) 要求使用:外键(学号,课号)、检查(分数),自动编号(ID) 答: use 成绩数据库 go create table 成绩信息表 (ID char(8) 学号
课号
分数 int cheak(分数 in)
5.将下列课程信息添加到课程信息表的代码(8分)
课号 名称 100101 西班牙语
100102 大学英语
修改 课号为100102的课程名称:专业英语
删除 课号为100101的课程信息
6.创建视图[成绩信息表视图]的代码;(8分)
成绩信息表视图(学号,姓名,课号,课程名称,分数) 答: create view view1 as select 学号,姓名,课号,课程名称,分数 from 成绩信息表,学生信息表,成绩信息 where 学生信息表,学号=成绩信息表,学号 and 课程信息表,课号=成绩信息表,课号
7.从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。(5分 答: Select 姓名、性别、民族 From学生信息表
Where姓名=‘刘%’ and 性别=‘女’
8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。(6分)
9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(20分) 存储过程功能:查询某门课程的最高分、最低分、平均分; 执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;
二、创建一个存储过程,利用传入参数传入班级编号,查询该班级编号的学生的学号,姓名,入学成绩,班级编码,班级名称,所属系部,并执行它。(20分) 表说明:
学生信息表(学号 char(6),姓名,性别,民族,身份证号, 入学成绩) 班级信息表(班级编码char(6),学号char(6),班级名称) 系部信息表(系部号,学号char(6),系部名称) Creat proc proc1 @班级编号 As Select 学号,姓名,入学成绩,班级编码,班级名称,所属系部 From学生信息表,班级信息表,系部信息表 Where 学生信息表,学号=系部信息表,学号
Exce proc1 班级编码=@班级编码