五、设计题 
(一)现有关系数据库如下:
数据库名:我班同学数据库
同学表(学号 char(6)姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号 char(6),宿舍电话)
SQL语言实现下列功能的sql语句代码:
1.创建数据库[我班同学数据库]代码 。
2.创建数据表[宿舍表]代码;
  宿舍表(宿舍号 char(6),宿舍电话)
  要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码
3.创建数据表[同学表]代码 ;
  同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
  要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)
4.将下列宿舍信息添加到宿舍表的代码 
      宿舍号      宿舍电话
        101        6331157
        102        6331777
       
        修改  宿舍号为101 宿舍电话:6331158
        删除  宿舍号为102 宿舍信息
5.创建视图[同学表视图]代码 ;
  同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话)
6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。 
7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。 
8.创建带参数的存储过程[某宿舍同学过年的味道]:姓名, 性别, 宿舍电话
  执行此过程,查询'101'宿舍情况  
9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:问莲鱼说888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。 
(二) 现有关系数据库如下:
数据库名:学生成绩数据库
学生表(学号 char(6),姓名,性别,民族,身份证号)
课程(课号 char(6),名称)
成绩表(ID,学号,课号,分数鲜于贞雅)
SQL语言实现下列功能的sql语句代码:
1.    创建数据库[学生成绩数据库]代码
2.    创建[课程表]代码
  课程表(课号 char(6),名称)
  要求使用:主键(课号)、非空(名称)
3.    创建[学生表]代码
  学生表(学号 char(6),姓名,性别,民族,身份证号
  要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)
4.    创建[成绩表]代码
  成绩表(ID,学号,课号,分数)
  要求使用:主键(课号)、外键(成绩表.学号,成绩表.课号)、检查(分数),自动编号(ID)
5.    将下列课程信息添加到课程表的代码
        课号      课程名称
        100001    大学语文
        100002    大学英语
        100003    西班牙语
        修改  课号为100002的课程名称:实用英语
        删除  课号为100003的课程信息       
6.    写出创建:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;
7.    写出创建:某门课程成绩那不是爱 内嵌表值函数以及检索的代码;
        检索:所有修  实用英语  这门学生的成绩;
8.    写出创建:某门课程高低均分  计算某门课程成绩最高分、最低分、平均分 存储过程以及执行的代码;
        执行:所有修  实用英语  这门学生的最高分、最低分、平均分;
9.    检索姓李的女同学的情况:姓名、性别、民族。
10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、姓名。
11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_SQL脚本。
(三)有一个[学生课程]数据库,数据库中包括三个表:
学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。
课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。
成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno Cno, Grade) (SNO, CNO)为关键字。
SQL语言实现下列功能:
1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。
2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。胡冰卿图片
4.查询学习1号课程的学生最高分数、平均成绩。
5.查询与“李洋”在同一个系学习的学生。
6.将计算机系全体学生的成绩置零。
7.删除学号为05019的学生记录。
8.删除计算机系所有学生的成绩记录。
(四)现有关系数据库如下:
数据库名:教师数据库
教师表(编号 char(6),姓名,性别,民族,职称,身份证号)
课程表(课号 char(6),名称)
任课表(ID,教师编号,课号,课时数)
SQL语言实现下列功能的sql语句代码:
1.    创建上述三表的建库、建表代码 ;
  要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)
2.    将下列课程信息添加到课程表的代码 
        课号      课程名称
        100001    SQL Server数据库
        100002    数据结构
        100003    VB程序设计
        修改  课号为100003的课程名称:Visual Basic程序设计
        删除  课号为100003的课程信息       
3.    写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码; 
4.    写出创建[某门课任课教师]内嵌表值函数以及检索的代码; 
        检索:所有代'SQL Server数据库'这门课程的老师姓名;
5.    写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码; 
6. 写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。 
执行:计算“郭老师”的总课时。 
7.    检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。 
8.    建一个规则,并将其绑定到教师表的职称列上,规定取值为('教授','副教授','讲师', '助教')之一。 
(五)现有关系数据库如下:
数据库名:医院数据库
医生表(编号,姓名,性别,出生日期,职称)
病人表(编号,姓名,性别,民族,身份证号)
病历表(ID,病人编号,医生编号,病历描述)
SQL语言实现下列功能的sql语句代码:
1.    创建上述三表的建库、建表代码;
  要求使用:主键(师医生表.编号,病人表.课号)别让我哭、外键(病历表.医生编号,病历表.病人课号)、非空(职称,姓名)、检查(性别),自动编号(ID)  
2.    将下列医生信息添加到医生表的代码
编号  姓名 性别 出生日期 职称
100001 杜医生 1963-5-18 副主任医师
100002 郭医生 1950-7-26 副主任医师
100003 刘医生 1973-9-18 医师
        修改  编号为100002的医生职称为‘主任医师’