数据库完整性与安全性实验报告

需积分: 0 0 下载量 106 浏览量 更新于2024-08-05 收藏 414KB PDF 举报
"史文翰的《数据库原理》实验报告,主要探讨了数据库的完整性与安全性,通过MySQL5.7在Windows 10环境下进行。实验涵盖了完整性规则的定义与实现,包括实体完整性和参照完整性的约束,以及安全性内容,如用户访问权限的设置和管理。实验展示了如何定义主键、外键,如何插入、删除数据,以及如何创建存储过程和触发器。此外,还设置了新的数据库用户并限制其权限,以体现数据库的安全管理。" 实验详细说明: 一、实验目的 本次实验旨在帮助学习者深入理解数据库的完整性与安全性。通过定义和实施完整性规则,增强对kingbase数据库中实体完整性和参照完整性的理解。同时,通过学习和实践kingbase的安全性内容,加深对数据库安全性的认知。 二、实验环境 实验在装有MySQL 5.7的Windows 10 64位操作系统上进行。 三、实验内容 实验分为两个部分:完整性实验和安全性实验。完整性实验关注如何设置主键和外键以确保数据的实体完整性和参照完整性;安全性实验则涉及用户账户的创建、权限的分配,以及对数据库访问的控制。 四、实验步骤及结果 1. 完整性实验: - 定义了学生数据库中各表的主键和外键,以实现实体和参照完整性约束。 - 插入违反实体完整性约束的数据,展示插入操作失败。 - 插入违反参照完整性约束的数据,验证外码约束的重要性。 - 通过尝试删除学生表数据,演示参照完整性约束防止破坏关联数据。 - 创建存储过程查询学生选课情况,演示过程的使用。 - 定义触发器,在插入新记录时自动更新学生出生日期,但由于MySQL的限制,需修改触发器才能实现。 2. 安全性实验: - 创建新用户“pig”,并赋予其对学生数据库的只读权限。 - 演示sa用户和新用户对数据库的不同访问权限,显示只读权限用户无法修改数据。 五、实验小结 实验通过实际操作强调了数据库完整性的重要性和安全性管理的必要性。完整性保证了数据的一致性和准确性,而安全性则确保了数据的保护和合理的访问控制。实验过程中遇到的问题,如触发器的限制,提示了在设计数据库时应考虑各种潜在的约束和规则。