数据库实验:索引和安全性语言

数据库实验:索引和安全性语言

实验内容

1. 实验目的

2. 实验内容和要求

3. 实验重点和难点

4、实验过程

实验分析


实验内容

1. 实验目的

掌握索引设计原则和技巧,能够创建合适的索引以提高数据库查询、统计分析效率。

2. 实验内容和要求

针对给定的数据库模式和具体应用需求,创建唯一索引、函数索引、复合索引等;修改索引;删除索引。设计相应的SQL查询验证索引有效性。学习利用EXPLAIN命令分析SQL查询是否使用了所创建的索引,并能够分析其原因,执行SQL查询并估算索引提高查询效率的百分比。要求实验数据集达到10万条记录以上的数据量,以便验证索引效果。

3. 实验重点和难

实验重点:创建索引

实验难点:设计SQL查询验证索引有效性

4、实验过程

(1)创建唯一索引

在零件表的零件名称字段上创建唯一索引。

涉及Part.name

CREATE UNIQUE INDEX Idx_part_name ON Part(Name)

(2)安全性语言

①为Part,Supplier,PartSupp表分别创建一个PurchaseEmployeeRole 角色,对各自的表的信息具有查看、插入权限。

CREATE ROLE PurchaseEmployeeRole;

GRANT SELECT,INSERT ON Part TO PurchaseEmploeeRole;

GRANT SELECT,INSERT ON Supplier TO PurchaseEmploeeRole;

GRANT SELECT,INSERT ON TABLE PartSupp TO PurchaseEmploeeRole;

 

②为Order,LineItem表分别创建一个SaleEmployeeRole角色,对各自的表的信息具有查看、插入权限。

CREATE ROLE SaleEmployeeRole;

GRANT SELECT,INSERT ON Orders TO SaleEmployeeRole;

GRANT SELECT,INSERT ON Lineitem TO SaleEmployeeRole;

 

③为Customer,Nation,Region表分别创建一个CustomerEmployeeRole角色,对各自的表的信息具有查看、插入权限。

CREATE ROLE CustomerEmployeeRole;

GRANT SELECT,INSERT ON Customer TO CustomerEmployeeRole;

GRANT SELECT,INSERT ON Nation TO CustomerEmployeeRole;

GRANT SELECT,INSERT ON Region TO CustomerEmployeeRole;

实验分析

这次实验主要练习索引和用户权限相关的SQL语句操作。创建唯一索引CREATE UNIQUE INDEX 索引名 ON 表名(列名1,列名2……)直接创建,也可添加其他索引。定义不同用户对于数据的操作权限,创建用户后将对应的权限赋予用户即可。

 

 

你可能感兴趣的:(Database,数据库,sql)