本实验基于StoreSales数据库中的各个表,用T-SQL命令完成下面要求。
一、索引的使用
1、对Employee中的姓名列建立非聚集索引Employee_name。
CREATE INDEX Employee_name ON Employee(EmplName)
2、对SalesOrder中的订单号和员工号建立唯一聚集索引。
CREATE UNIQUE CLUSTERED INDEX abc ON dbo.SalesOrder(OrderID,EmplID)
3、删除Employee中的索引Employee_name。
DROP INDEX dbo.Employee.Employee_name
二、创建视图
1、创建StoreSales数据库上的视图Emp_view,视图包含Employee表的全部列。
CREATE VIEW Emp_view
AS
SELECT *
FROM Employee
2、创建StoreSales数据库上的视图EmpDep_view,视图包含员工号、员工姓名、部门号和部门名称。
CREATE VIEW EmpDep_view
AS
SELECT EmplID,EmplName,Employee.DeptID,DeptName
FROM Employee,Department
WHERE Employee.DeptID =Department.DeptID
三、查询视图
1、从视图Emp_view查询年龄大于40的员工的员工号、姓名和年龄。
SELECT EmplID,EmplName,2020-year(birthday) as'Age'
FROM dbo.Emp_view
WHERE 2020-year(birthday)>40
2、从视图EmpDep_view中查询姓名为刘强的员工号及所在部门的名称。
SELECT EmplID,DeptName
FROM EmpDep_view
WHERE EmplName='刘强'
四、更新视图
1、向视图Emp_view中插入一行数据“E007,张三,男,1996-3-6,5000,D002”。
INSERT INTO Emp_view VALUES('E007','张三','男','1996-3-6','地址','5000','D002')
2、修改视图Emp_view,将员工张三的工资改为6000,部门号改为D001。
UPDATE Emp_view SET Wages=6000,DeptID='D001'
WHERE EmplName='张三'
3、删除视图Emp_view中张三这名员工的相关信息。
DELETE FROM Emp_view
WHERE EmplName='张三'
五、删除视图
删除视图Emp_view和EmpDep_view
DROP VIEW Emp_view,EmpDep_view