文档详情

数据库实用技术-实验六.doc

发布:2017-04-03约4.75千字共13页下载文档
文本预览下载声明
院(系) 计算机学院 专业 计算机科学与技术 班级 姓名 学号 同组人 实验室 S4305 组号 日期 课程 数据库实用技术 指导教师 成绩 实验项目编号 8103203006 实验项目名称 索引和数据的完整性 一、实验目的 掌握索引的使用方法; 掌握数据完整性的实现方法; 二、实验环境 WIN7操作系统 SQL Server2008 三、实验原理(或要求) 了解索引的作用与分类; 掌握索引的创建方法; 理解数据的完整性的概念与分类; 掌握各种数据完整性的实现方法。 四、实验步骤 (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 INDEX Dep_ind ON Departments(DepartName) USE YGGL GO ALTER INDEX ALL ON Employees REBUILD (3)删除索引。 使用DROP INDEX语句删除表Employees上的索引Depart_ind,计划使用如下SQL语句: DROP INDEX Depart_ind ON Employees (4)数据完整性。 ①创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 CREATE TABLE Employees5 ( EmployeeID char(6)NOT NULL , Name char(10) NOT NULL PRIMARY KEY, Sex tinyint, Education char(4), CONSTRAINT UK_id UNIQUE(EmployeeID) ) ②删除上例中创建的UNIQUE约束。 ALTER TABLE Employees5 DROP CONSTRAINT UK_id GO ③创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女。 CREATE TABLE student ( 号码 char(6)NOT NULL, 性别 char(2) NOT NULL, CHECK(性别 IN(男,女)) ) ④创建新表Salary2,结构与Salary相同,但Salary2表不可以OutCome列大于Income列。 CREATE TABLE Salary2 ( EmployeesID char(6) NOT NULL, Income float NOT NULL, OUTCOME float NOT NULL, CHECK (Income=OutCome) ) ⑤对YGGL数据库中的Employees表进行修改,其增加“DepartmentID”字段的CHECK约束。 USE YGGL GO ALTER TABLE Employees ADD CONSTRAINT depart check(DepartmentID=1 AND DepartmentID=5) ⑥创建一个规则对象,用以限制输入到该规则所绑定的列中的值只能是该规则中列出的值。 CREATE RULE list_rule AS @list in(财务部,研发部,人力资源部,销售部) GO EXEC sp_bindrule list_rule,Departments.DepartName GO
显示全部
相似文档