数据库索引与视图笔记


一、索引

INDEX 索引(默认为非唯一非聚集)
UNION INDEX 唯一索引
CLUSTERED INDEX 聚集索引

1.创建索引:

例:对Employee中的姓名列建立非聚集索引Employee_name

CREATE INDEX Employee_name ON Employee(EmplName)

例:对SalesOrder中的商品号和订单号建立唯一聚集索引
CREATE UNION CLUSTERED INDEX IX_GoodsIDOrderID ON SalesOrder(GoodsID,OrderID)

2.使用系统存储过程查看索引属性:

EXE sp_helpindex Employee

其中Employee是需要查看索引的表名-

3.修改索引

REBUILD 重建索引
rebuild_index_option 重建索引选项
例:修改索引IX_DiscountTotal,将填充因子(FILLFACTOR)改为80

ALTER INDEX IX_DiscountTotal ON OrderDetail
REBUILD  WITH(PAD_INDEX=ON,FILLFACTOR=80)

4.删除索引

例:删除已建索引IX_DiscountToal

DROP INDEX OrderDetail.IX_DiscountToal6

二、视图

1.创建视图

例:创建StoreSales数据库上的视图Emp_view,视图包含Employee表的全部列。

CREATE VIEW Emp_view
AS
SELECT *FROM Employee

2.查询视图

例:从视图Emp_view查询年龄大于40的员工的员工号、姓名和年龄。

SELECT EmplID,EmplName,2020-year(Birthday)as '年龄'
FROM Emp_view
WHERE EmplName=’刘强’

3.更新视图

插入数据:
例:向视图Emp_view中插入一行数据“E007,张三,男,1996-3-6,5000,D002”

INSERT INTO Emp_view VALUES('E007','张三','男','1996-3-6',' ','5000','D002')

修改数据:
例:修改视图Emp_view,将员工张三的工资改为6000,部门号改为D001

UPDATE Emp_view SET Wages='6000',DeptID='D001'
WHERE EmplName='张三'

例:删除视图Emp_view中张三这名员工的相关信息

DELETE FROM Emp_view
WHERE EmplName='张三'

4.删除视图

DROP VIEW Emp_view 
DROP VIEW EmpDep_view

文章作者: Cy_Dragon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cy_Dragon !
评论
  目录