数据库安全性与完整性实验报告
数据库安全性是指保护数据库免受未经授权的访问、使用、披露、破坏或修改的各种机制和技术。数据库安全性的主要目标是保护数据库中的数据,确保数据的机密性、完整性和可用性。本实验报告的主要目的是通过使用 SQL 对数据进行安全性控制,熟悉数据库安全性的各种机制和技术。
一、实验目的
实验的主要目的包括:
1. 熟悉通过 SQL 对数据进行安全性控制。
2. 了解授权和权力回收的机制。
二、实验工具
实验使用的工具是 KingbaseES 和其交互式查询工具 ISQLW。
三、实验容和要求
实验的主要内容包括:
1. 使用 SQL 对数据进行安全性控制,包括授权和权力回收。
2. 在数据库中建立用户 U1、U2、U3、U4、U5、U6、U7,并将其设为 CONNECT 角色。
3. 在 SYSTEM 用户与 7 个 CONNECT 用户之间进行授权。
四、实验方法及步骤
实验的方法和步骤如下:
4.1 把查询 student 表的权限授给用户 U1。
* 以 SYSTEM 的身份进入查询分析器,建立用户 U1,U2,U3,U4,U5,U6,U7,并将其设为 CONNECT 角色。
* 以 SYSTEM 的身份进入企业管理器,查看用户 U1 的权限。
* 以 U1 的身份进入查询分析器,进行任意查询。
* SELECT* FROM "S-C"."STUDENT"
* 打开企业管理器,设置 U1 的权限,以 U1 的身份进入企业管理器,把查询 Student 表的权限授给用户 U1。
4.2 把查询 student 表和 course 表的权全部操作限授给用户 U2 和 U3。
* 以 SYSTEM 的身份进入查询分析器,把对 Student 表和 Course 表全部操作权限授予用户 U2 和 U3。
* GRANT ALL PRIVILEGES ON TABLE "S-C"."STUDENT","S-C"."COURSE" TO U2,U3;
* 以 U2/U3 的身份进入查询分析器,进行任意查询。
* SELECT* FROM "S-C"."STUDENT","S-C"."COURSE"
4.3 把对表 SC 的权限授给所有用户。
* 以 U3 的身份进入查询分析器,进行任意查询。
* SELECT* FROM "S-C"."SC"
* 以 SYSTEM 的身份进入查询分析器,把对表 SC 的查询权限授予所有用户。
* GRANT SELECT ON TABLE "S-C"."SC" TO PUBLIC;
* 以 U3 的身份进入查询分析器,进行任意查询。
4.4 把查询 student 表和修改学生学号的权限授给用户 U4。
* 以 SYSTEM 的身份进入查询分析器,对 student 表插入一条新的学号。
* INSERT INTO "S-C".STUDENT(SNO,SNAME,SSEX,SDEPT,SAGE)VALUES('20121512',' 张三 ','男','计算机科学与技术','20');
* 以 U4 的身份进入查询分析器,进行任意查询。
* SELECT* FROM "S-C"."STUDENT"
五、实验结果
实验的结果显示,使用 SQL 对数据进行安全性控制,可以有效地保护数据库中的数据,防止未经授权的访问和修改。
六、结论
实验的结论是,数据库安全性是非常重要的,使用 SQL 对数据进行安全性控制可以保护数据库中的数据,防止未经授权的访问和修改。同时,实验也表明,授权和权力回收是数据库安全性的关键机制。