1、教学管理”路径下。它由5MB主要数据文件(教学管理1.mdf和1MB日志文件(教学管理_log.ldf)组成。并且主要数据文件以2MB增长速度增长,其最大数据文件大小为15MB,事物日志文件以1MB增长速度增长,其最大数据文件大小为10MB。)启动SQL Server 2005,单击“新建查询”,在弹出窗口中输入如下语句:create database 教学管理on(name=教学管理1,filename=c:教学管理1.mdf,size=5,maxsize=15,filegrowth=2)log on(name=教学管理_log,教学管理_log.ldfsize=1,maxsize=10,f
2、ilegrowth=1)任务二、为教学管理数据库增加一个次要数据文件(教学管理2.ndf),该文件大小为4MB,以10%增长速度增长,最大增长到10 MBalter database 教学管理add file(name=教学管理,教学管理2.ndfsize=4,filegrowth=10%)任务三、将“教学管理”数据库中主要数据文件“教学管理1.mdf”大小扩充为20 MB。modify filesize=20)任务五、创建教师表。use 教学管理create table 教师(教师名 char (4) not null PRIMARY KEY,教师姓名 varchar(10),性别 char
3、(2) default 男职称 varchar(10),所在部门 varchar(30),登录密码 varchar(30) default teacher实训项目二 数据查询的实现任务一、对学生表进行学号、姓名、性别、出生日期、专业的查询,结果按姓名字段升序排序。select 学号,姓名,性别,出生日期,专业from 学生表order by 姓名 asc任务二、为结果集制定姓名,查询学生表中的学生及姓名列,要求查询结果中姓名列的名称为“学生姓名”。select 学号,姓名 as 学生姓名任务三、查询所有学生的学号、姓名、性别和年龄。select 学号,姓名,性别,year(getdate()-
4、year(出生日期)as 年龄任务四、显示学生的专业情况,要求:不显示重复的专业。select distinct 专业任务五、显示前3名较年长的学生信息select top 3 学号,姓名,出生日期order by 出生日期任务六、查询不是计算机网络技术专业的女同学的信息。select *where 专业计算机网络技术and 性别=女任务七、使用IN关键字查询成绩是88、87、75的同学信息。from 选课表where 成绩 IN (88,87,75)order by 成绩任务八、查询所有姓李的老师的信息。from 教师where 教师姓名 like 李%任务九、计算选课表中的成绩总分、平均分
5、、最高分、最低分。select SUM(成绩) as 总分,AVG(成绩)AS 平均分,MAX(成绩)AS 最高分,MIN(成绩)AS 最低分任务十、按学生分组计算选课表中的成绩总分、平均分、最高分、最低分。select 学号, SUM(成绩) as 总分,AVG(成绩)AS 平均分,group by 学号任务十一、按学生分组,求出学生的总分,要求生成汇总行和明细行。select 学号,成绩order by 学号compute SUM(成绩)by 学号任务十二、使用连接查询,查询教师所担任的课程号、课程名和课程性质。select 教师号,授课任务表.课程号,课程名,课程性质from 授课任务表
6、 join 课程表 on (授课任务表.课程号=课程表.课程号)任务十三、查询没有选课的学生信息。select 学号,姓名,性别from 学生表 where 学号 not in (select distinct 学号 from 选课表)任务十四、查询选课表中低于平均分的学生的学号。select distinct 学号 as 低于平均分的学生from 选课表 where 成绩 40beginprint选择该课程的人数有+str(stcount)+人print 进行分班上课endelse任务八、使用CASE语句对学生按性别分类。select 学号,姓名,性别=case 性别when then 该生
7、是男同学该生是女同学实训项目四 索引、视图、存储过程、触发器创建任务一、对学生表创建一个复合索引,使用姓名字段和出生日期字段。create INDEX I_studenton 学生表(姓名,出生日期)withPAD_INDEX,FILLFACTOR=40任务二、使用SQL语句创建一个视图,命名为 V_ 选课。要求基表的数据来源为:学生表、选课表、授课任务表、教师、课程表。选择的字段为:学生表中的学生号、姓名和班级,课程表中的课程号和课程名字段,授课任务表中的授课学期字段,教师表中的教师号、教师姓名和所在部门字段。create view view_选课表asselect 学生表.学号,学生表.姓
8、名,学生表.班级,课程表.课程号,课程表.课程名,选课表.成绩,授课任务表.授课学期,教师.教师号,教师.教师姓名from 授课任务表 inner join教师 on 授课任务表.教师号=教师.教师号 inner join课程表 on 授课任务表.课程号=课程表.课程号 inner join选课表 on 授课任务表.授课编号=选课表.授课编号 inner join学生表 on 选课表.学号=学生表.学号任务三、建立一个用户存储过程,实现在教学管理数据库中查询所有学生的学号、姓名、课程名、学分和成绩的功能,并执行该存储过程。IF EXISTS(SELECT NAME FROM sysobject
9、s where name=st_score and type=pDROP PROCEDURE st_scoreGOcreate PROCEDURE st_scoreselect 学生表.学号,学生表.姓名,课程表.课程名,课程表.学分,选课表.成绩from 学生表 join 选课表 on 选课表.学号=学生表.学号join 授课任务表 on 授课任务表.授课编号=选课表.授课编号存储过程st_score创建后,执行该存储过程只需在查询窗口中输入:execute st_score任务四、建立一个用户存储过程,实现在教学管理数据库中查询某人指定课程的成绩和学分的功能,并执行该存储过程。IF EXI
10、STS(SELECT NAME FROM sysobjectsquery_stscoreDROP PROCEDURE query_stscore5create PROCEDURE query_stscore5name char(8),cname char(16) join 授课任务表 on 授课任务表.授课编号=选课表.授课编号 join 课程表 on 授课任务表.课程号=课程表.课程号where 学生表.姓名 = name and 课程表.课程名 = cname存储过程query_stscore创建后,执行该存储过程只需在查询窗口中输入:execute query_stscore 张珊 ,大
11、学英语任务五、建立一个用户存储过程,用于实现计算指定学生的总分的功能,并执行该存储过程。query_sumDROP PROCEDURE query_sumcreate PROCEDURE query_sumname char(8),total float outputselect total=SUM(选课表.成绩)where 学生表.姓名 = namegroup by 选课表.学号存储过程 query_sum创建后,执行该存储过程只需在查询窗口中输入:declare t floatexecute query_sum 张珊,t outputselect 张珊 as 姓名,t as 查询学生的总分
12、任务六、在教学管理数据库中创建一个删除类型的触发器nodelete,当在课程表中删除记录时触发该触发器,显示不允许删除的数据的提示信息。并验证该触发器的功能。nodelete1trDROP PROCEDURE nodelete1create TRIGGER nodelete1ON 课程表INSTEAD OF DELETEASPRINT instead of 触发器开始执行本表中不允许删除数据触发器nodelete创建后,验证该触发器只需在查询窗口中输入:delete from 课程表 where 课程号=08005 实训项目五 数据库维护及其他管理任务二、创建一个新登录账户,名称为t_logi
13、n,密码为123,登录后默认的数据库是教学管理数据库,使用默认语言为us_english。sp_addlogin t_login1,123教学管理us_english任务三、一非事务方式和事务方式执行SQL程序,实现的功能是将选课表中所有记录的成绩设置为60,然后将选课编号为7的选课记录成绩再加60,分析两者执行结果。非事务方式:update 选课表 set 成绩=60update 选课表 set 成绩=成绩+60where 选课编号=7事务方式:if error 0 -如果出现错误则回滚操作rollback tranelse -如果没有错误则提交事务commit tran任务四、通过执行SQL语句来查看数据库中的锁信息。begin tranupdate 选课表 set 成绩 =60exec sp_lockrollback五、分析与讨论1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论对策成功或失败的原因。2、总结数据库开发及维护的过程及注意点。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1