欢迎来到天天文库
浏览记录
ID:49530315
大小:437.50 KB
页数:9页
时间:2020-03-02
《实验五索引和数据完整性.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.实验五索引和数据完整性1、目的与要求(1)掌握索引的使用方法。(2)掌握数据完整性的实现方法。2、实验准备(1)了解索引的作用与分类。(2)掌握索引的创建方法。(3)理解数据完整性的概念及分类。(4)掌握各种数据完整性的实现方法。3、实验内容(1)建立索引。①使用CREATEINDEX语句创建索引。A、对YGGL数据库的Employees表中的DepartmentID列建立索引。在“查询分析器”窗口中输入如下程序并执行。B、在Employees表的Name列和Address列上建立复合索引。C、对Department表上的DepartmentName列建立唯一非
2、聚集索引。【思考与练习】A、索引创建后在对象资源管理器中查看表的索引。上面分别创建了Employees表和Department表的索引,在对象资源管理器中的表中将相应的表打开,在“索引”中显示该表中建立的索引。详细结果如上面截图中显示。B、了解索引的分类情况。按索引的组织方式能够将索引分为聚集索引和非聚集索引两种类型。聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。非聚集索引完全独立于数据行的结构。C、使用CREATEINDEX语句能够创建主键吗?word范文.D、在什么情况下能够看到建立索引的好处?数据库索引是为了增加查询
3、速度而对表字段附加的一种标识。数据库的索引并不是只有好处或者只有坏处的。当我们的数据库足够大,恰当的建立索引就会大大的提高查询搜索的速度;在这里举个反例,像查询性别这种大量重复的字段时候,是否建立索引是没有多大区别的;还有当表内数据不是很多的时候建立索引也是没有多大意义的,因为索引也是要占用资源的。但是当我们数据库非常大时候,经常进行GROUPBY查询时候,若将GROUPBY字段上建立索引就会很大程度上面较少查询搜索所花费的时间。②使用界面方式创建索引。使用界面方式在Employees表的PhoneNumber列上创建索引。启动SQLServerManagerme
4、ntStudio,在对象资源管理器中展开数据库YGGL,展开表Employees,右击“索引”,选择“新建索引”选项。在新建索引的窗口中填写索引的名称和类型,单击“添加”按钮,在列框中选择要创建索引的列,选择完单击“确定”按钮即完成创建的工作。【思考与练习】A、使用界面方式创建一个复合索引。word范文.B、在Employees表的设计窗口中选择Address列,右击选择“索引/键”菜单项,在新窗口中为Address创建一个唯一索引。C、创建一个数据量很大的新表,查看使用索引和不使用索引的区别。(2)重建索引。重建Employees表中的所有索引。【思考与练习】重
5、建表Employees中EmployeeID列上的索引。(3)删除索引。使用DROPINDEX语句删除表Employees上的索引depart_ind,使用如下T-SQL语句。从上面截图中可以显示,之前在Employees表中创建的depart_ind索引已经被删除。word范文.【思考与练习】A、使用DROPINDEX一次删除Employees表上的多个索引。B、使用界面方式删除Department表上的索引。在数据库YGGL中的Department表中打开“索引”,找到表Department表上的索引Dep_ind,右键删除,在弹出的“删除对象”窗口中选择“确
6、定”,删除索引Dep_ind。(4)数据完整性。①创建一个表Employees5,只含EmployeeID、Name、Sex和Education列。将Name设为主键,作为列Name的约束。对EmployeeID列进行UNIQUE约束,并将其作为表的约束。②删除上列中创建的UNIQUE约束。【思考与练习】A、使用T-SQL命令创建一个新表,使用一个复合列作为主键,作为表的约束,并为其命令。word范文.B、使用ALTERTABLE语句为表Employees5添加一个新列Address,并未该列定义UNIQUE约束。C、使用界面方式为一个新表定义主键和UNIQUE约
7、束,并了解如何使用图形向导方式删除主键和UNIQUE约束。③创建新表student,只考虑“号码”和“性别”两列,性别只能够包含男或女。【思考与练习】向该表中插入数据,“性别”列插入“男”和“女”以外字符,查看会发生什么情况?模拟用户不小心输入汉字错误:④创建新表Salary2表,结构与表Salary相同,但是表Salary2不允许OutCome大于word范文.InCome列。【思考与练习】A、向表中插入数据,查看OutCome比InCome大时会发生什么情况?在“查询分析器”中输入上面截图中的代码,执行后出现下面这样的错误。原因:在创建表Salary2的时候,
8、规定了In
此文档下载收益归作者所有