河南财经政法大学软件学院
实验报告 201 年---201 年 第 学期
专 业:
课程名称: 数据库实用教程 班 级: 姓 名: 学 号: 指导教师:
实验报告
实验一 熟悉SQL Server 2008环境
实验目的 (1)了解Microsoft SQL Server 2008系统 (2)熟悉SQL Server服务的启动和停止 (2)熟悉SQL Server 2008管理器的使用 实验内容 (1)启动SQL Server服务; (2)启动SQL Server 2008管理器,熟悉其界面环境; (3)停止SQL Server服务。 实验数据记录及分析(或程序及运行结果) 思考题: 1、 如何启动/停止SQL Server服务? 2、 SQL Server 2008系统有几个系统数据库? 1.利用Windows Service、SQL Server Configuration Manger和命令方式来完成启动和停止的。 2. SQL Server 2008有5个系统数据库,它们分别为Master、Model、MSDB、TempDB和Resource。 评语: 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验二 数据库操作
实验目的 (1)了解数据库的结构以及一些基本概念 (2)掌握使用图形化的方法创建和管理数据库 (3)掌握使用T-SQL语句创建和管理数据库 实验内容 (1)启动SQL Server服务; (2)启动SQL Server 2008管理器,利用图形化的方法创建数据库student(结构如下表); (3)利用图形化的方法修改数据库student,增加数据文件,其中,该数据文件的逻辑文件名为student_data2,物理文件名为C:\\DATA\\student_data2.ndf,初始大小为50MB,最大大小为100MB,以30%的速度增长; (4)利用图形化的方法删除数据库student; (5)利用CREATE DATABASE命令创建数据库student(结构如下表); (6)利用ALTER DATABASE命令修改数据库student,增加日志文件,其中,该日志文件的逻辑文件名为student_log2,物理文件名为C:\\DATA\\student_log2.ldf,初始大小为3MB,最大大小为50MB,以1M的速度增长; (7)利用DROP DATABASE命令删除数据库student。 选项 数据库名称 数 据 文 件 初始容量 最大容量 增长量 日 志 文 件 参数 student student_data C:\\DATA\\student_data.mdf 3MB 不受限制 1MB student_log C:\\DATA\\student_log.ldf 1MB 20MB 10% 逻辑文件名 物理文件名 逻辑文件名 物理文件名 初始容量 最大容量 增长量 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验三 数据表操作
实验目的 (1)掌握数据表的结构 (2)理解SQL Server的基本数据类型 (3)掌握使用图形化的方法创建和管理数据表 (4)掌握使用T-SQL语句创建和管理数据表 (5)掌握约束的分类和创建 实验内容 (1)启动SQL Server服务; (2)启动SQL Server 2008管理器,利用图形化的方法创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表; (3)利用图形化的方法对数据表进行修改: 在表stu_info中,增加备注字段,字段名memo,字段类型nvarchar,字段长度200; 在数据表course_info中,对于字段course_name设置UNIQUE约束; 在数据表stu_grade中,对于字段grade设置CHECK约束,其取值在0到100之间; 在数据表stu_grade中,对于字段course_id设置FOREIGN KEY约束,其取值参考数据表course_info中course_id字段取值; (4)利用图形化的方法删除数据表stu_grade; (5)利用CREATE TABLE命令创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表; (6)利用ALTER TABLE命令修改数据表: 在表stu_info中,增加身份证号码字段,字段名code,字段类型char,字段长度18; 在数据表stu_info中,对于字段code设置UNIQUE约束; 在数据表stu_info中,删除身份证号码字段code; 在数据表stu_grade中,对于字段grade设置CHECK约束,其取值在0到100之间; 在数据表stu_grade中,对于字段course_id设置FOREIGN KEY约束,其取值参考数据表course_info中course_id字段取值; (7)利用DROP TABLE命令删除数据表stu_info。 学生信息表(stu_info) 列名 数据类型 大小 小数位 是否为空 默认值 约束 含义 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
stu_id name birthday sex address mark major sdept char nvarchar date nchar nvarchar int nvarchar nvarchar 10 20 1 20 20 20 否 否 男 主键 学号 姓名 生日 性别 籍贯 入学成绩 专业 院系 课程信息表(stu_info) 列名 course_id course_name course_type course_mark course_time pre_course_id 数据类型 char nvarchar nvarchar int int char 大小 小数位 是否为空 默认值 3 20 20 3 否 否 考试 约束 主键 外键 含义 课程编号 课程名 课程类型 课程学分 课程学时 先行课程 学生成绩表(stu_grade) 列名 stu_id course_id grade 数据类型 char char decimal 大小 小数位 是否为空 默认值 10 3 5 2 否 否 约束 主键、外键 主键 含义 学号 课程编号 成绩 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验四 表数据的插入、修改和删除
实验目的 (1)掌握在SQL Server 2008管理器中对数据库表进行插入、修改和删除数据的操作 (2)掌握用T-SQL语句对数据库表进行插入、修改和删除数据的操作 (3)理解数据更新操作时要注意数据的完整性 实验内容 (1)启动SQL Server服务; (2)启动SQL Server 2008管理器,利用图形化的方法向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表; (3)利用图形化的方法对表数据进行修改: 在数据表stu_info中,将学号(stu_id)为“2007070101”同学的籍贯(address)改为“河南洛阳”; 在数据表stu_grade中,将成绩(grade)小于60分的所有同学成绩增加10%; (4)利用图形化的方法删除数据表stu_grade中成绩(grade)小于60分的记录; (5)利用INSERT INTO命令向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表; (6)利用T-SQL语句UPDATE命令修改表数据: 在数据表stu_info中,将学号(stu_id)为“2007070102”同学的院系(sdept)改为“会计学院”; 在数据表stu_grade中,将成绩(grade)小于60分的所有同学成绩置空; (7)利用DELETE命令删除数据表stu_info中所有性别(sex)为空的记录。 学生信息表(stu_info) stu_id name birthday sex address mark major sdept 2007070101 张元 2007070102 张红 2007070103 王明 2007070104 李伟 2007070201 郑澜 2007070202 赵恒 2007070203 张兰 1985-10-09 男 河南郑州 580 计算机科学与技术 信息学院 1985-01-14 河南开封 565 计算机科学与技术 信息学院 1986-07-08 男 河南洛阳 570 计算机科学与技术 信息学院 1986-03-11 男 河南郑州 564 计算机科学与技术 信息学院 1985-12-01 河南平顶山 567 电子商务 电子商务 电子商务 信息学院 信息学院 信息学院 1986-02-03 男 河南周口 566 1986-04-06 女 河南许昌 571 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
2007080101 李伟 2007080102 钱丽 2007080201 孙楠 课程信息表(stu_info) course_id 701 702 703 704 706 801 802 803 804 1985-09-12 男 河南郑州 578 1985-11-23 女 河南安阳 573 1986-11-19 男 河南南阳 578 会计学 会计学 财务管理 会计学院 会计学院 会计学院 course_name 计算机基础 操作系统 计算机网络 数据库原理 Java 宏观经济学 初级会计 财政学 会计电算化 course_type course_mark course_time pre_course_id 考试 考试 考试 考查 考查 考试 考试 考试 考查 3 4 4 3 3 4 4 3 3 50 50 50 50 40 50 50 50 701 701 701 704 学生成绩表(stu_grade) stu_id 2007070101 2007070101 2007070101 2007070102 2007070102 2007070102 2007070104 course_id 701 702 703 701 702 703 701 grade 89 81 52 85 47 77 91 stu_id 2007070104 2007080101 2007080101 2007080102 2007080102 2007080201 2007080201 course_id 702 801 802 801 802 803 804 grade 88 79 91 87 40 75 82 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验五 数据查询
实验目的 (1)掌握SELECT语句的基本语法 (2)掌握子查询、模糊查询、连接查询的表示 (3)掌握数据汇总的方法 (4)掌握GROUP BY子句和ORDER BY子句的作用和使用方法 实验内容 针对student数据库中的数据表,完成下列查询: (1)SELECT基本使用 查询每个同学的所有数据; 查询每个同学的学号、姓名和院系; 查询学号为“2007070103”同学的姓名、性别、籍贯和院系; 查询每个女同学的,并将结果中各列的标题指定为学号、姓名和院系; 查询计算每个同学的年龄; 查询所有其籍贯含有“阳”的同学的姓名、性别、籍贯; 查询课程编号“701”,且成绩在70~90之间的同学的学号; (2)嵌套查询 查询选修“701”课程的同学的学号、姓名和院系信息; 查询没有选修“701”课程的同学的学号、姓名和院系信息; 查询比会计学院的同学入学分数都高的同学学号、姓名、专业和院系信息; (3)连接查询 查询每个同学的学号、姓名、课程名和成绩信息; 查询入学成绩大于575分的同学姓名和其选课情况(包括课程名称、课程学时和成绩); (4)数据汇总 查询信息学院同学入学平均分; 查询全体同学的入学最高分和最低分; 查询会计学院同学总人数; 查询学号为“2007070101”同学的各门课程总分; (5)GROUP BY 查询每个院系的总人数; 查询每位同学的平均分; (6)ORDER BY 将各位同学的信息按入学成绩由高到低排列输出; 查询每个同学的学号、姓名、课程名和成绩信息,并按成绩由低到高排列输出。 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验数据记录及分析(或程序及运行结果) 评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验六 索引
实验目的 (1)掌握索引的概念 (2)掌握利用图形化的方法创建索引的方法 (3)掌握使用T-SQL语句创建索引的方法 (4)掌握索引分析的方法 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法创建下列索引: 对学生信息表stu_info的name列创建非聚集索引idx_name; 对学生成绩表stu_info的stu_id、course_id列创建复合索引idx_stu_course_id; (3)利用图形化的方法对索引idx_name进行修改,使其成为唯一索引; (4)利用图形化的方法删除索引idx_stu_course_id; (5)利用CREATE INDEX命令创建下列索引: 对课程信息表course_info的course_name列创建非聚集索引idx_course_name; 对学生成绩表stu_info的stu_id、course_id列创建复合索引idx_stu_course_id; (6)利用sp_helpindex查看课程信息表course_info上的索引信息; (7)利用DROP INDEX命令删除索引idx_course_name。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验七 视图
实验目的 (1)理解视图的重要性 (2)掌握视图的建立 (3)掌握视图的使用 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法创建下列视图: 视图view_male,包含学生信息表中所有男生信息; 视图view_stu_grade,包含每个同学的学号、姓名、课程名和成绩信息; 视图view_avg,包含每个同学的学号、姓名、平均成绩信息; (3)利用图形化的方法对视图v_male进行修改,只显示信息学院所有男生的信息; (4)利用图形化的方法删除视图view_male; (5)利用图形化的方法查询视图view_male中记录信息; (6)利用CREATE VIEW命令创建下列视图: 视图view_female,包含学生信息表中所有女生信息; 视图view_count,包含每个院系的名称和学生人数信息; 视图view_sum,包含每个同学的学号、姓名、课程总成绩信息; (7)利用ALTER VIEW命令修改视图view_female,增加加密性; (8)利用DROP VIEW命令删除视图view_female; (9)通过视图,查询下列信息: 查询“信息学院”的学生人数; 查询学号“2007070101”同学的所选课程及其成绩信息。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验八 存储过程
实验目的 (1)掌握存储过程的意义 (2)掌握存储过程的使用方法 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法创建带参数存储过程proc_select,输入学生学号,输出学生姓名和专业信息; (3)利用图形化的方法创建带参数存储过程proc_insert,能够完成新增学生记录; (4)利用图形化的方法删除存储过程proc_insert; (5)利用CREATE PROCEDURE命令创建带参数存储过程proc_query,输入学生学号,输出学生不及格的课程数; (6)利用DROP PROCEDURE删除存储过程proc_query; (7)执行存储过程proc_select,根据学号“2007070101”查询其姓名和专业信息。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验九 触发器
实验目的 (1)掌握触发器的意义 (2)掌握触发器的使用方法 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法创建触发器tri_update_del,对于学生信息表stu_info和学生成绩表stu_grade,实现级联更新和级联删除; (3)在学生信息表中,分别更新和删除一条记录,观察在学生成绩表中数据的变化; (4)利用图形化的方法删除触发器tri_update_del; (5)利用CREATE TRIGGER命令创建触发器tri_insert,当向学生成绩stu_grade表中插入某个学生的某门课程的成绩的时候,检查该学生不及格的课程的数量是否已经达到4门,如果是,则把这个学生的信息插入到退学学生信息表stu_info2中,stu_info2表的结构和stu_info表的结构相同; (6)利用DROP TRIGGER命令删除触发器tri_insert。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验十 数据库安全
实验目的 (1)掌握数据库的安全性能 (2)掌握使用用户实现数据库安全性的方法 (3)掌握使用角色实现数据库安全性的方法 (4)掌握权限分配的方法 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法创建SQL Server身份验证模式登录,其中登录名称为自己的学号,密码为hnufe,默认数据库为student,其他保持默认值; (3)利用图形化的方法创建Windows身份验证模式登录,其中登录名称为login_s1; (4)利用图形化的方法删除所创建的登录账户login_s1; (5)利用CREATE LOGIN创建登录,其中登录名称为login_s2,密码为hnufe,默认数据库为student,其他保持默认值; (6)利用DROP LOGIN删除所创建的登录账户login_s2; (7)利用图形化的方法创建数据库角色,新角色名称为role_s1; (8)利用图形化的方法删除数据库角色role_s1; (9)利用CREATE ROLE创建数据库角色role_s2; (10)利用DROP ROLE删除所创建的数据库角色role_s2; (11)利用图形化的方法创建数据库用户,新用户名称为user_s1,其登录名为login_s1; (12)利用CREATE USER命令创建数据库用户,新用户名称为user_s2,其登录名为login_s2; (13)权限设置 把查询表stu_info的权限授予给所有用户; 把查询表course_info的权限授予用户user_s1; 把修改学生学号的权限授予用户user_s2; 把对表stu_info的INSERT权限授予用户user_sl,并允许将此权限再授予其他用户; 把在数据库student中建立表的权限授予用户user_s1; 撤销用户user_s2修改学生学号的权限; 撤销所有用户对于表stu_info的查询权限。 实验数据记录及分析(或程序及运行结果) 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
评语: 日期: 年 月 日 河南财经政法大学软件学院 第 14 页 共 22 页
实验报告
实验十一 系统数据维护
实验目的 (1)掌握备份的使用方法 (2)掌握恢复的使用方法 实验内容 (1)启动SQL Server服务; (2)启动SQL Server2008管理器,利用图形化的方法对数据库student进行完整备份; (3)利用图形化的方法,针对(1)中的完整备份,对数据库student进行恢复; (4)利用BACKUP命令对数据库student进行完整备份; (5)利用RESTORE命令,针对(3)中的完整备份,对数据库student进行恢复;。 (6)利用图形化的方法将student数据库中的表stu_info和stu_grade导出到Excel中。 实验数据记录及分析(或程序及运行结果) 评语: 日期: 年 月 日
河南财经政法大学软件学院 第 14 页 共 22 页
因篇幅问题不能全部显示,请点此查看更多更全内容