网站大量收购独家精品文档,联系QQ:2885784924

数据库实验报告数据实验报告.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库实验报告数据实验报告

实验7 索引和数据完整性的使用 目的与要求 掌握索引的使用方法; 掌握数据完整性的实现方法; 实验准备 了解索引的作用与分类; 掌握索引的创建方法; 理解数据的完整性的概念与分类; 掌握各种数据完整性的实现方法。 实验内容 (1)建立索引 ①使用CREATE INDEX语句创建索引。 对YGGL数据库的Employees表中的DepartmentID列建立索引。 在查询分析器中输入如下程序并执行: USE YGGL GO CREATE INDEX depart_ind ON Employees(DepartmentID) GO 在Employees表的Name列和Address列上建立复合索引。 CREATE INDEX Ad_ind ON Employees(Name,Address) 对Departments表上的DepartmentName列建立唯一非聚集索引。 CREATE UNIQUE INEDX Dep_ind ON Departments(DepartmentName) 【思考与练习】 a.索引创建完后在对象资源管理器中查看表中的索引。 b.了解索引的分类情况 c.使用CREATE INDEX语句能创建主题吗? d.在什么情况下可以看到建立索引的好处? ②使用界面方式创建索引。 使用界面方式在Employees表的PhoneNumber列上创建索引。 启动SQL Server Management Studio,在对象资源管理器中展开数据库YGGL,展开表Employees,右击“索引,选择“新建索引”选项。在新建索引的窗口中填写索引的名称和类型,单击“添加”按钮,在列表框中选择要创建的索引的列,选择完单击“确定”按钮即完成创建工作。 【思考与练习】 a.使用界面方式创建一个复合索引。 b.在Employees表的表设计窗口选择Address列,右击选择“索引/键”菜单项,在新窗口中的Address列创建一个唯一的索引。 c.创建一个数据量很大的新表,查看使用索引和不使用索引的区别。 (2)重建索引。 重建表Employees中的所有索引。 USE YGGL GO ALTER INDEX ALL ON Employ REBUILD 【思考与练习】重建表Employees中EmployeeID列上的索引。 (3)删除索引。 使用DROP INDEX语句删除表Employees上的索引Depart_ind,计划使用如下SQL语句: DROP INDEX Depart_ind ON Employees 【思考与练习】 a.使用QROP INDEX一次删除Employees表上的多个索引 b使用界面方式删除Department表上的索引。 (4)数据完整性。 ①创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 CREATE TABLE Employees5 ( EmployeesID char(6)NOT NULL PRIMARY KEY, Sex tinyint Education char(4), CONSTRAINT UK_id UNIQUE(EmployeesID) ) CREATE TABLE student (号码char(6)NOT NULL 性别char(2) Employees CHECK(性别 IN(“男”,“女”)) CREATE TABLE Salary2 ( EmployeesID char(6) NOT NULL Income Float NOT NULL, OUTCOME FLOAT NOT NULL, CHECK (INCOME=OUTCOME) ) 【思考与练习】 a.向表中插入数据,查看OUTCOME值比INCOME值大是会有什么情况。 b.创建一个表Employees6,只考虑“学号”和“出生日期”两列,出生日期必须晚于1980年1月1日。 ⑤对YGGL数据库中的Employees表进行修改,为其增加“DepartmentID”字段的CHECK约束。 use YGGL go alter table Employees add constraint depart check(DepartmentID=1 and DepartmentID=5) 【思考与练习】测试CHECK约束的有效性。 ⑥创建一个规则对象,用以限制输入到该规则所绑定的列中的值只能是该规则中列出的值。 create rule list_rule as @list in(财务部,研发部,人力资源部,销售部

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档