数据库管理与维护(SQL Server 2008)鲍丽红天水师范学院目录目录实验一SQL Server 2008安装 (1)实验二数据库创建和管理 (2)实验三数据库数据表的创建和管理 (3)实验四数据库的数据查询 (5)实验五Transact-SQL的编程实现 (6)实验六销售管理数据库中视图的应用 (7)实验七数据库中索引的应用 (8)实验八存储过程的应用 (9)实验九触发器的应用 (10)实验十数据库安全性管理 (11)实验十数据库的日常维护 (12)实验十二自动化管理(选做) (13)实验一SQL Server 2008安装【实训目的】1、了解安装SQL Server 2008 的硬件和软件的要求2、掌握SQL Server 2008 的安装方法3、掌握对象资源管理器与查询编辑器的使用【实训内容】1、在本地计算机上练习安装SQL Server2008 R2版本。
2、练习启动、暂停和关闭SQL Server2008的某一服务器。
实验二数据库创建和管理【实训目的】1、掌握数据库创建的方法2、掌握数据库扩容和收缩的方法3、掌握查看数据库信息方法4、掌握数据库的分离和附加的方法【实训内容】1、创建了一个library数据库,该数据库的主数据文件逻辑名称为Library_data,物理文件名为Library.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Library_log,物理文件名为Library.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。
2、对library数据库进行扩容,添加一个5 MB的数据文件和一个5MB的事务日志文件。
3、对数据库library进行修改,将事务日志文件的大小增加到15MB,将数据文件library1和library2分别增加到15MB和30MB。
同时增加两个文件组,分别包含一个数据文件,逻辑文件名library3和library4,物理文件名为library2.ndf和library4.ndf,初始大小都为15MB,最大尺寸为无限制。
增长速度为15%;增加一个10MB事务日志文件,最大尺寸无限制,增长速度为10%。
4、利用SQL Server Managerment Studio将library数据库名改为newlibrary。
5、利用sp_renamedb将newlibrary数据库名改为library。
6、将library数据库文件移植到D:\data。
实验三数据库数据表的创建和管理【实训目的】1、掌握数据表的创建方法。
2、掌握数据表的约束的使用。
3、掌握数据表的数据操作。
【实训内容】1、创建数据库library。
2、在library数据库中,创建读者信息表readers,表结构如表3- 1所示。
表3- 1 读者表(readers)3、在library数据库中,创建图书信息表books,表结构如表3- 2所示。
表3- 2 图书表(books)4、在library数据库中,创建图书借阅信息表borrow,表结构如所示。
表3- 3 图书借阅表(borrow)5、在图书表books,增加一个“书的价格”和“出版社”字段,结构如下表3-18所示。
表3- 4 字段的结构6、将readers表的readerName字段的所属数据类型改为varchar(30),并且加上not null 约束。
7、在图书信息表books中,增加用于检查输入书的价格列的值必须大于10元一个约束。
8、在读者表,增加一个默认约束,年级编号默认值为“1”。
9、在读者readers数据表,增加一个唯一约束,读者学号为唯一。
实验四数据库的数据查询【实训目的】1、掌握SELECT语句的语法格式。
2、掌握简单查询和多表查询。
【实训内容】在销售管理数据库CompanySales中完成下列的查询操作。
1、按照如表4- 1所示的格式,列出所有员工的姓名和薪水。
表4- 1雇员的姓名和薪水表2、查询所有工资在2000元至3000元之间的员工的姓名和雇佣日期,并按雇佣日期的先后排列。
3、查询已订购了商品的公司名称,联系人姓名和所订的商品名称和数量。
4、查询所有订购了“鼠标”公司名称和联系方式。
5、查询客户名称为“通恒机械有限公司”的公司的订购信息。
6、查询工资超过平均水平员工的姓名。
7、年龄最大的员工的工资。
8、查询每一种商品的订购情况。
9、查找订购了“打印纸”的客户订购的全部产品的信息。
10、如果订单表中订单的订购的总数量超过400,显示顾客表中的客户的信息。
实验五Transact-SQL的编程实现【实训目的】1、掌握变量的使用。
2、掌握函数的使用方法。
3、掌握各种控制语句的使用【实训内容】1、用Transact-SQL编程:先为两个变量@x和@y赋值,然后求这两个变量的和、差、乘积和商。
2、编程计算1*2*3*4*5*…*100的值。
3、编程计算S=1+(1+3)+(1+3+5)+……+(1+3+……+51)。
4、编程计算S=1!+2!+3!+ (6)5、输出100至200间能既被3整除,又能被5整除的数。
6、销售管理数据库CompanySales数据库中,查询是否有商品接受的订单的总数量超过100,如果有则输出该商品的订单中数量信息;没有的话,就输出“不存在订单数高于100的商品!”7、在销售管理数据库CompanySales数据库的雇员表中,获取各雇员的工龄信息。
8、利用联机帮助学习流程控制语句和函数的知识。
实验六销售管理数据库中视图的应用【实训目的】1、掌握视图的创建、修改和重命名2、掌握视图中数据的操作【实训内容】1、在销售管理数据库系统中,创建有关所有“男”雇员视图Employee _mal。
2、创建有关客户订购产品的订单的信息视图,并命名为customer_order,查询有关“通恒机械”公司所订购产品的信息。
3、创建有关雇员接收订单的信息视图,并命名为em_order,按雇员计算接受订单中订购产品的数量平均值、最大值和最小值。
4、有关订购“打印纸”的信息视图,并命名为paper_order。
5、修改Employee_mal视图,改为有关“女”雇员的资料,并利用视图查询超过3000元的女雇员的平均工资。
6、修改paper_order的定义,改为有关“苹果汁”的订购信息。
7、将paper_order视图的名称改为apple_order。
8、在Employee_mal视图,插入一行数据。
姓名:章秒亦,性别:女,出生年月:1980-12-9,薪水:4500,然后查看执行的结果数据。
实验七数据库中索引的应用【实训目的】1、了解索引的作用2、掌握索引的创建方法3、掌握设计索引的原则【实训内容】1、在销售管理数据库系统中,完成设计各表的索引。
2、利用SQL Server Management Studio 完成创建各表的索引。
3、查看所有的统计信息。
4、对数据表进行插入数据操作,然后查看索引的碎片信息。
实验八存储过程的应用【实训目的】1、掌握存储过程的概念、了解存储过程的类型。
2、掌握存储过程的创建方法。
3、掌握存储过程的执行方法4、掌握存储过程的查看、修改、删除的方法。
【实训内容】1、在销售管理数据库系统中,创建一个名为proc_select存储过程,实现查询所有员工的信息。
2、在销售管理数据库系统中,创建一个名为proc_employee_order存储过程,要求实现如下功能:根据员工的姓名,查询该员工的奖金情况,奖金根据该员工接收订单的总金额计算得到。
(奖金=总金额*5%)。
调用存储过程,查询员工王孔若和蔡慧敏的奖金。
3、在销售管理数据库系统中创建存储过程,存储过程名proc_Customer_order,要求实现如下功能:根据客户的公司名称,查询该客户的订单情况,如果该公司没有订购商品,则输出“某某公司没有订购商品”信息,否则输出订购商品的相关消息,包括公司名称、联系人姓名、订购商品名称、订购数量、单价等。
通过调用存储过程proc_Customer_order,显示“通恒机械有限公司”订购商品情况。
4、删除销售管理数据系统中存储过程proc_select。
实验九触发器的应用【实训目的】1、掌握的触发器概念、了解触发器的类型。
2、掌握触发器的创建方法。
3、掌握触发器的执行方法4、掌握触发器的查看、修改、删除的方法。
【实训内容】1、在销售管理数据库系统创建触发器trigger_delete,实现如下的功能:当在销售管理数据系统库中的订单表的数据被删除时,显示提示信息“订单表记录被修改了”。
2、查看trigger_delete触发器文本定义。
3、对Sell_order表创建名为reminder的触发器,当用户向Sell_order表中插入或修改记录时,自动显示Sell_order表中的记录。
4、Employee表创建名为emp_updtri的触发器:实现若对姓名修改时,自动检查订单表,确定是否有该员工的订单,如果存在该员工,则撤销操作。
5、创建一个INSERT触发器,当在companySales数据库的Employee表中插入一条新员工记录时,如果是“人事部”的员工,则撤消该插入操作,并返回出错消息。
6、创建一个名为Employee_deleted的触发器,其功能是:当对Employee表进行删除操作时,首先检查要订单表,如果删除的员工没有接受订单,可以删除该员工的消息,否则撤销删除,显示无法修改的信息。
7、创建一个prudct_P_order_delete的触发器,其功能是:当对商品表中的商品删除记录时,同时删除订单表中相应的订单,并显示提示“有关商品已被删除”8、删除trigger_delete触发器。
9、创建触发器以免数据库中的索引被修改或删除。
实验十数据库安全性管理【实训目的】1、掌握SQL Server身份验证的模式。
2、掌握创建和管理登录名3、掌握创建和管理数据库用户4、掌握权限的创建和管理的方法。
【实训内容】1、设置SQL Server 20008身份验证模式为混合验证模式。
2、创建一个SQL Server登陆名aa和cc,默认数据库为master,赋予其系统管理员(systen administrator)角色。
3、在操作系统中创建用户bb,然后在SQL Server中创建其对应登录名bb。
4、删除的登陆账号cc。
5、了解特殊的账户sa的作用。
6、来创建登录名aa对应的在companySales数据库下的数据库用户user_aa。
登录名bb 对应的用户user_bb。
7、销售管理数据库中创建新建用户角色tangdb,并将添加用户user_aa。
8、授予销售管理数据库用户user_aa对employee表有select与delete和update的权限。