20120704-SQL_Server_2005实训内容

  • 格式:doc
  • 大小:159.50 KB
  • 文档页数:8

SQL Server 2005实训任务一、采用“T-SQL语句”或“SSMS”,完成数据库操作1.创建数据库:创建一个StuSeleCourse数据库,其主数据文件逻辑名StuSeleCourse_data,物理文件名StuSeleCourse_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB,文件的存放路径为“d:\test”;数据库日志文件逻辑名称为StuSeleCourse_log,物理文件名为StuSeleCourse_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%,文件存放路径为“d:\test”。

2.查看数据库属性:使用T-SQL语句,查看数据库StuSeleCourse属性二、采用“T-SQL语句”或“SSMS”,完成表操作1.创建表:(1)在StuSeleCourse数据库中,创建学生表student,表中的字段的详细信息如下:表名:student 说明:学生基本信息表(2)在StuSeleCourse数据库中,创建课程信息表course:表名:course 说明:课程信息表(3)在StuSeleCourse数据库中,创建选课表slt_course:表名:slt_course 说明:选课表(4)在StuSeleCourse数据库中,创建院系信息表dept:表名:dept 说明:院系信息表2.修改表结构:(1)向表中添加列:为“dept”表添加“dp_count”列(数据类型为varchar,长度为3,允许为空)(2)修改列数据类型:修改“dept”表的“dp_count”列数据类型为int3.向表中输入数据记录分别向“student”表、“cou r se”表、“slt_course”表、“dept”表中输入两个数据记录,记录内容自己定义。

三、采用“T-SQL语句”或“SSMS”,完成数据完整性操作1.空值约束( NULL )将student表中的st_sex列属性更改为NOT NULL2.默认值约束( DEFAULT )将student表中的st_from列默认值设置为“陕西省”3.默认值对象创建默认值对象df_today为当前日期,并将其绑定到slt_course表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。

4.检查约束( CHECK )将slt_course表中的score列的检查约束设置为>=0且<=1005.规则约束对象创建规则约束对象rl_sex,用于检查性别的取值仅限于“男”和“女”,并将其绑定到student表中的st_sex 列,然后取消绑定,最后删除规则约束对象rl_sex。

6.主键将dept表中的dp_id列设置为主键7.唯一性约束( UNIQUE )将dept表中的dp_nm列设置为唯一性约束8.标识列向slt_course表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为19.外键(FOREIGN KEY )被参照表为dept,参照表为student四、采用“T-SQL语句”或“SSMS”,完成数据更新1.表中插入数据向dept表插入一条记录,系号11,系名自动控制系,系主任为李其余,电话81234567向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990年9月9日,系号为11,其余字段为NULL或默认值向course表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值 向slt_course表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值2.修改表中数据修改student表记录,将王小五的入学成绩改为88修改course表记录,将所有记录的学分改为4,学时改为64修改slt_course表记录,将课程号为1234,学名为070201001的记录的成绩改为773.使用T-SQL语句,删除表中数据删除slt_course表记录,将课程号为1234,学名为070201001的记录删除删除course表记录,将课程号为1234的记录删除五、采用“T-SQL语句”,完成简单查询(1)查询表中所有的列查询所有系的信息(2)查询表中指定列的信息查询所有的课程号与课程名称(3)在查询列表中使用列表达式在查询student表时使用列表达式:入学成绩+400(4)重新命名查询结果使用AS关键字为dept表中属性指定列名:系号、系名、系主任、联系电话使用"="号为course表中属性指定列名:课程号、课程名、学时(=cs_sc*16)、学分(5)增加说明列查询dept表的系号、系名和系主任,向查询结果中插入说明列:系号、系名和系主任(6)查询列表中使用系统函数显示所有学生的学号、姓名、性别和入学年份显示所有学生学号、姓名、性别和班级(学号前6位)(7)消除查询结果中的重复项显示所有学生班级(8)取得查询结果的部分行集显示前5条学生记录信息显示前25%条学生记录信息六、采用“T-SQL语句”,完成条件查询1.使用关系表达式表示查询条件查询dept表中系号为11的院系信息查询student表中11系的学生学号、姓名、性别和所在系编号 查询student表中2008年及以后入学的学生信息在查询student表080808班学生的学号、姓名、性别和入学成绩2.使用逻辑表达式表示查询条件查询student表中非11系的学生信息查询选修了1002号课程且成绩在60以下的学生学号查询2007年入学的11系所有男生信息查询11系和12系的学生信息查询11系和12系所有2007年入学的学生信息3.使用LIKE关键字进行模糊查询查询所有“计算机”开头的课程信息查询所有由三个字组成的“王”姓学生信息查询所有课程名中包含“信息”的课程信息查询学生姓名介于王姓到张姓的信息4.使用Between…And关键字进行查询查询在1989.7.1到1990.6.30之间出生的学生信息查询选修了1001号课程且成绩在60到80之间的学生选课信息5.使用IN关键字进行查询查询11系、12系、13系的学生信息查询所有张,王,李,赵姓的学生的学号、姓名、性别6.使用[NOT] NULL关键字进行查询查询所有生源为非空的学生信息查询选修了1001号课程且成绩为空的学生选课信息七、采用“T-SQL语句”,完成查询排序与查询结果存储(1)查询课程信息,按课程名称降序排序(2)查询选修了1001号课程成绩非空的学生学号和成绩,并按成绩降序排序(3)查询11系学生学号、姓名和年龄,按年龄升序排序(4)查询学生信息,按姓名升序排序,再按系号降序排序(5)创建学生表副本student01,仅保留学生学号、姓名和性别(6)查询陕西籍学生,将结果保存在新表st_shanxi(7)查询选修了1001号课程学生的选课信息,按学号升序排序,将结果保存在新表slt1001 (8)用局部变量@stage保存学生张三的年龄(9)用局部变量@name和@stscore保存070101班按学号排序后最后一个学生的姓名和入学成绩八、采用“T-SQL语句”,查询统计与汇总查询课程总数查询选修1001号课程的学生人数查询被选修课程的数量询选修070101班学生的平均入学成绩查询070101001号学生选修课程的数量、总分以及平均分查询选修1001号课程的学生人数、最高分、最低分和平均分求各个课程号和相应的选课人数统计各班人数依次按班级、系号对学生进行分类统计人数、入学平均分查询选修了均分在75以上的课程号及均分查询选修了2门以上课程的学生学号明细汇总年龄<20的学生,并汇总学生数量、平均年龄按班级明细汇总成绩<85分的学生,汇总学生数、均分九、采用“T-SQL语句”,完成连接查询用SQL Server形式连接查询学生学号、姓名、性别及其所选课程编号用ANSI形式连接查询学生学号、姓名、性别及其所选课程编号用SQL Server形式连接查询学生学号、姓名及其所选课程名称及成绩用ANSI形式连接查询学生学号、姓名及其所选课程名称及成绩查询选修了1002课程的学生学号、姓名及1001课程成绩查询选修了“数据结构”课程的学生学号、姓名及课程成绩用左外连接查询没有选修任何课程的学生学号、姓名用右外连接查询选修各个课程的学生学号十、采用“T-SQL语句”,完成子查询用子查询对各班人数进行查询(新增列)用子查询对各课程的选课人数进行查询(新增列)查询选修了1002课程成绩不及格的学生的学号、姓名和性别,并按姓名升序排序(1)通过子查询实现:——使用IN关键字(2)通过子查询实现:——使用比较运算符查询“东方红”同学所在班的学生信息,并按姓名降序排序(1)通过子查询实现:——IN运算符(2)通过自连接查询实现:——JOIN查询其它班比070511班某一学生的1002号课程成绩高的学生信息(ANY/ALL) 查询其它班比070511班任一学生的1002号课程成绩高的学生信息(ANY/ALL) 查询大于等于60分且且比1003课程平均成绩低的学生课程信息(Between…And) 查询系主任为“赵虎”的系的所有学生信息(1)通过子查询实现:——IN运算符(2)通过子查询实现:——=运算符十一、采用“T-SQL语句”,数据更新与子查询将070511班所有学生信息插入到表student01(st_id,st_nm,st_sex)生成1002号课程的成绩单student02(st_id,st_nm, score)将有不及格成绩的学生的st_mnt值更改为3将没有被选修的课程的学分更改为0删除5系学生的选课信息删除学分为0的选课信息十二、采用“T-SQL语句”,完成简单的数据库应用开发对数据库“StuSeleCourse”中的“student”表的delete操作定义AFTER触发器,检查该学生是否选课,若该学生有选课则不能删除,否则可以删除。

十三、采用“T-SQL语句”或“SSMS”,完成数据库安全性管理设置SQL身份验证的账户:登录名:test密码:123456数据库用户名:test。