数据库实验:数据完整性与安全性控制

版权申诉
0 下载量 130 浏览量 更新于2024-07-02 收藏 595KB DOC 举报
"重庆大学数据完整性控制及数据库安全性控制的实验报告" 这篇实验报告详细介绍了在数据库原理与设计课程中关于数据完整性控制和数据库安全性控制的实验内容,针对的是重庆大学软件学院2013级的学生。实验涵盖了SQLServer2008平台,通过Windows 8.1操作系统进行。实验的主要目标是让学生掌握实体完整性、参照完整性和用户定义的完整性,以及数据库的安全性控制,包括创建登录账户、管理权限和删除用户等操作。 实验的第一个部分是数据完整性控制,分为以下几个方面: 1. **实体完整性**:这是确保数据库中每张表的关键字段都有唯一值的基本规则。在实验中,学生通过在`Book`、`Reader`和`Borrow`表中设置主键来实现这一概念。例如,为`Book`表添加主键`Bno`,使用了以下T-SQL语句: ```sql use Library; alter table Book add constraint pk_bnoprimary key (Bno); ``` 主键的添加确保了每个书籍编号(Bno)的唯一性。 2. **参照完整性**:它确保了表之间的引用关系正确无误,即外键必须引用存在的主键。在`Borrow`表中,`Rno`和`Bno`被设为主键,确保读者编号(Rno)和书籍编号(Bno)的组合是唯一的,且它们分别对应`Reader`和`Book`表的主键。 3. **用户定义的完整性**:允许用户自定义特定于应用的约束,以满足业务规则。这部分可能包括检查约束、默认值或触发器。虽然实验报告没有详细说明,但在实际应用中,可能会有类似限制年龄范围或限制图书借阅数量的规则。 4. **触发器**:是数据库中的一种特殊程序,当特定的DML(数据操纵语言)操作(如INSERT、UPDATE或DELETE)发生时自动执行。触发器可以用来强制执行更复杂的业务逻辑,例如在借阅图书时检查读者的信用状况。 实验的第二个部分是数据库安全性控制,涉及以下内容: 1. **创建登录账户**:这是授予用户访问数据库系统的权限的第一步。在SQL Server中,可以通过`CREATE LOGIN`命令创建新的登录账户。 2. **创建数据库用户和角色**:在数据库级别创建用户,然后将用户分配到特定的角色,可以方便地管理权限。`CREATE USER`命令用于创建用户,而`ALTER ROLE`或`EXEC sp_addrolemember`用于将用户添加到角色。 3. **权限管理**:通过GRANT、DENY和REVOKE语句来控制用户对数据库对象的访问权限,如读取、写入、修改等。 4. **删除数据库用户和登录账户**:当不再需要用户或登录时,可以使用`DROP USER`和`DROP LOGIN`命令进行删除。 实验报告中还应包含每个实验内容的详细步骤和结果截图,以便教师评估学生的理解和操作能力。这些原始记录提供了实验操作的可视化证明,有助于确认学生是否正确执行了所学知识。 这个实验旨在通过实践让学生深入理解数据完整性和数据库安全性的核心概念,并能够熟练运用这些知识在实际数据库管理系统中进行操作。