1、数据库技术与应用实验报告课件实验 1 数据定义一实验目的:1. 熟悉 SQL Server 2005 的运行环境和使用方法2. 掌握数据库的定义方法3. 掌握数据表的定义方法4. 掌握数据表中写入数据的方法二实验内容:操作 1.1:创建一个 test 数据库,其主数据文件逻辑名 test_data,物理文件名 test_data.mdf,初始大小 10MB ,最大尺寸为无限大,增长速度 1MB ;数据库日志文件逻辑名称为 test_log,物理文件名为 test_log.ldf ,初始大小为 1MB ,最大尺寸为 5MB ,增长速度为 10%。操作 1.2 :使用 T-SQL 语句查看数据库
2、test 属性操作 1.3 :使用 T-SQL 语句删除数据库 test操作 1.4 :创建学生表: student(st_id,st_nm,st_sex,st_birth,st_score,st_date,st_from)操作 1.5 :创建课程信息表: couse(cs_id,cs_nm,cs_tm,cs_sc)操作 1.6 :创建选课表: slt_couse(cs_id,st_id,score,sltdate)操作 1.7 :创建院系信息表: dept(dp_id,dp_nm,dp_drt,dt_tel)操作 1.8 :删除 “dept表”操作 1.9 :分别向 “student表”、
3、“couse表”、“slt_couse 表”、 “dept表”中输入数据记录三实验总结:实验 2 数据完整性一实验目的:1. 掌握数据表的修改方法2. 掌握数据表的空值约束、默认值约束、检查约束定义的方法3. 掌握数据表主键、外键定义的方法4. 掌握数据表唯一性约束定义的方法二实验内容:操作 2.1 :为 “dept ”表添加 “dp_count ”列(数据类型为 nvarchar ,长度为 3,允许为空)操作 2.2 :修改 “dept ”表的 “dp_count ”列数据类型为 int操作 2.3 :删除 dept ”表的 “dp_count ”列操作 2.4 :将 student 表中的
4、 st_sex 列属性更改为 NOT NULL操作 2.5 :将 student 表中的 st_from 列默认值设置为“陕西省”操作 2.6 :将 slt_couse 表中的 score 列的检查约束设置为 =0 且=100操作 2.7 :将 dept 表中的 dp_id 列设置为主键操作 2.8 :将 dept 表中的 dp_nm 列设置为唯一性约束操作 2.9 :外键设置,被参照表为 dept ,属性为 dp_id ,参照表为 student ,属性为 st_dpid三实验总结:实验 3 数据更新一实验目的:1. 掌握向数据表中插入数据的方法2. 掌握修改数据表中数据的方法3. 掌握删除
5、数据表中数据的方法二实验内容:操作 3.1 :向 dept 表插入一条记录, 系号 11,系名自动控制系, 系主任为李其余, 电话 81234567操作 3.2 :向 student 表插入一条记录,学号 070201001 ,姓名为王小五,性别为男,出生日期为 1990 年 9 月 9 日,系号为 11,其余字段为 NULL 或默认值操作 3.3 :向 couse 表插入一条记录,课程号 1234 ,课程名为操作系统,其余字段为 NULL 或默认值操作 3.4 :向 slt_couse 表插入一条记录,课程号 1234 ,学名 070201001 ,其余字段为 NULL或默认值操作 3.5
6、:修改 student 表记录,将王小五的入学成绩改为 88操作 3.6 :修改 couse 表记录,将所有记录的学分改为 4,学时改为 64操作 3.7 :修改 slt_couse 表记录, 将课程号为 1234 ,学名为 070201001 的记录的成绩改为 77操作 3.8 :删除 slt_couse 表记录,将课程号为 1234 ,学名为 070201001 的记录删除操作 3.9 :删除 couse 表记录,将课程号为 1234 的记录删除三实验总结:实验4 数据查询I一实验目的:1. 掌握 Select语句简单查询的方法2. 掌握使用关系表达式和逻辑表达式进行条件查询的方法3. 掌
7、握使用 LIKE 关键字进行模糊查询的方法4. 掌握使用 Between And、IN 、NOT NULL 关键字进行查询的方法二实验内容:操作 4.1 :查询所有系的信息操作 4.2 :查询所有的课程号与课程名称操作 4.3 :显示所有学生班级操作 4.4 :查询dept 表中系号为11 的院系信息操作 4.5 :查询student 表中 2008 年及以后入学的学生信息操作 4.6 :查询选修了 1002 号课程且成绩在 60 以下的学生学号操作 4.7 :查询所有 “计算机 ”开头的课程信息操作 4.8 :查询所有课程名中包含 “信息 ”的课程信息操作 4.9 :查询在 1989.7.1
8、 到 1990.6.30 之间出生的学生信息操作 4.10 :查询11 系、 12 系、 13 系的学生信息操作 4.11:查询选修了 1001 号课程且成绩为空的学生选课信息三实验总结:实验 5 数据查询 II一实验目的:1. 掌握对查询结果进行排序的方法2. 掌握对查询结果进行存储的方法3. 掌握在查询中使用统计函数的方法4. 掌握对查询结果进行分类汇总的方法二实验内容:操作 5.1:查询课程信息,按课程名称降序排序操作 5.2:查询选修了 1001 号课程成绩非空的学生学号和成绩,并按成绩降序排序操作 5.3:查询学生信息,按姓名升序排序,再按系号降序排序操作 5.4:查询陕西籍学生,将
9、结果保存在新表 st_shanxi操作 5.5:查询课程总数操作 5.6:查询选修 1001 号课程的学生人数、最高分、最低分和平均分操作 5.7:求各个课程号和相应的选课人数操作 5.8:统计各班人数操作 5.9:依次按班级、系号对学生进行分类统计人数、入学平均分三实验总结:实验 6 数据查询 III一实验目的:1. 掌握使用 SQL Server 形式进行连接查询的方法2. 掌握使用 ANSI 形式进行连接查询的方法二实验内容:操作 6.1:用 SQL Server 形式连接查询学生学号、姓名、性别及其所选课程编号操作 6.2:用 ANSI 形式连接查询学生学号、姓名、性别及其所选课程编号
10、操作 6.3:用 SQL Server 形式连接查询学生学号、姓名及其所选课程名称及成绩操作 6.4:用 ANSI 形式连接查询学生学号、姓名及其所选课程名称及成绩操作 6.5:查询选修了 1002 课程的学生学号、姓名及 1001 课程成绩操作 6.6:查询选修了“数据结构”课程的学生学号、姓名及课程成绩三实验总结:实验 7 数据查询 IV一实验目的:1. 掌握子查询的概念2. 掌握查询中使用子查询的方法2. 掌握在更新语句中使用子查询的方法二实验内容:操作 7.1:用子查询对各班人数进行查询(新增列)操作 7.2:用子查询对各课程的选课人数进行查询(新增列)操作 7.3:查询选修了 100
11、2 课程成绩不及格的学生的学号、姓名和性别,并按姓名升序排序操作 7.4:查询 “东方红 ”同学所在班的学生信息,并按姓名降序排序操作 7.5:查询系主任为“赵虎”的系的所有学生信息操作 7.6:将 070511 班所有学生信息插入到 表 student01( st_id,st_nm,st_sex )操作 7.7:生成 1002 号课程的成绩单 student02(st_id,st_nm, score)操作 7.8:将有不及格成绩的学生的 st_mnt 值更改为 3操作 7.9:将没有被选修的课程的学分更改为 0操作 7.10:删除学分为 0 的选课信息三实验总结:实验 8 索引一实验目的:1
12、. 掌握创建非聚集索引、复合索引、唯一非聚集索引的方法2. 掌握查看数据表上索引的方法3. 掌握更改数据表的索引名的方法4. 掌握删除数据表的索引的方法二实验内容:操作 9.1:在 student 表的 st_nm 属性上创建非聚集索引操作 9.2:在 student 表的 st_id 和 st_nm 属性上创建复合索引操作 9.3:在 student 表的 st_id 属性上创建唯一非聚集索引操作 9.4:查看 student 表的索引操作 9.5:更改 student 表的索引名操作 9.6:删除 student 表的索引 idx_stid三实验总结:实验 9 视图一实验目的:1. 掌握在
13、创建、删除视图的方法2. 掌握对视图进行查询的方法3. 掌握对视图中的数据进行插入、修改、删除的方法二实验内容:操作 9.1:创建学生情况视图 view_student(st_id, st_nm, st_sex, st_dpid)操作 9.2:创建院系情况视图 view_dept(dp_id, dp_nm)操作 9.3:创建学生选课情况视图 std_slt(a.st_id, a.st_nm, a.st_sex, b.cs_id, b.score)操作 9.4:由 view_student 视图创建 01 系学生情况视图操作 9.5:删除 std_slt 视图操作 9.6:查询 view_dep
14、t 视图中所有院系的编号及其名称操作 9.7:查询 view_student 视图中所有 01 系的学生操作 9.8:向 view_student 视图中插入学生记录操作 9.9:将 view_dept 视图中 01 系的系名更改为 信息管理系 操作 9.10:删除 view_student 视图中学生 李丽 的信息三实验总结:实验 10 存储过程一实验目的:1. 掌握创建不带参数和带参数的存储过程的方法2. 掌握执行不带参数和带参数的存储过程的方法3. 掌握查看存储过程的方法二实验内容:操作 10.1:针对学生表 student,创建一个名称为 student_proc 的存储过程, 功能是
15、从数据表 student中查询所有男学生的信息。操作 10.2:创建一个带参数的存储过程 proc_stu_class,功能是根据参数班级信息(默认值为070511),查询此班所有学生的信息。操作 10.3:创建一个带输入输出参数的存储过程 proc_stuinfor ,功能是根据参数学生学号, 查询此学生的姓名和入学成绩。操作 10.4:存储过程 proc_stuwang 参数中使用通配符,功能是根据参数(默认值为“王 %”),查询所有某姓学生的信息。操作 10.5:执行不带参数的存储过程 proc_student操作 10.6:执行带一个参数的存储过程 proc_stu_class操作 1
16、0.7:执行一个带输入输出参数的存储过程 proc_stuinfor操作 10.8:执行参数中使用通配符的存储过程 proc_stuwang操作 10.9:查看存储过程 proc_student 的详细信息三实验总结:实验 11 自定义函数一实验目的:1. 掌握创建标量函数、内嵌表值函数、多语句表值函数的方法2. 掌握调用标量函数、内嵌表值函数、多语句表值函数的方法二实验内容:操作 11.1:自定义标量函数,实现对学生成绩的评价操作 11.2:调用自定义标量函数,查询学生的学号、姓名、课程编号、课程名称、课程成绩、课程成绩等级信息操作 11.3:自定义内嵌表值函数,根据指定的班级查询此班所有的
17、学生信息操作 11.4:调用自定义内嵌表值函数,查询 070512 班的学生信息操作 11.5:自定义多语句表值函数,根据输入的学生学号返回选修该课程的学生姓名和成绩操作 11.6:调用自定义多语句表值函数,查询学号为 070501101 的学生姓名和成绩三实验总结:实验 12 触发器一实验目的:1. 掌握创建标量函数、内嵌表值函数、多语句表值函数的方法2. 掌握调用标量函数、内嵌表值函数、多语句表值函数的方法二实验内容:操作 12.1:创建 INSERT 触发器 tri_stuInsert ,在插入学生信息数据时检查入学日期是否超过当前日期,若超过当前日期,则给出警告信息操作 12.2:执行
18、 INSERT 语句,激发触发器 tri_stuInsert操作 12.3:创建 UPDATE 触发器 tri_stuUpdate ,在对学生入学成绩修改时,显示修改前后的成绩操作 12.4:执行 UPDA TE 语句,激发触发器 tri_stuUpdate操作 12.5:创建 DELETE 触发器 tri_stuDelete ,当删除某学生记录时,同时删除选课表中的相关记录操作 12.6:执行 UPDA TE 语句,激发触发器 tri_stuDelete操作 12.7:在数据库上创建 DDL 触发器 safety,实现删除和修改表时显示警告信息操作 12.8:查看学生表上存在的触发器的信息操作 12.9:禁止或启用在数据库 test 中表 student 上创建的所有触发器三实验总结:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1