【安全生产】实验三实现数据库的安全性与数据的完整性
xxxx年xx月xx日
xxxxxxxx集团企业有限公司
Please enter your company's name and contentv
实验三 实现数据库的安全性与数据的完整性
一、实验目的
1. 了解SQL Server 2000 的身份验证方法。 2. 掌握合法登录帐户的设置。 3. 掌握用户的权限管理方法。
4. 掌握实体完整性与参照完整性的实现方法。 5. 掌握域完整性的实现方法。
二、实验内容
1. Windows和SQL Server2000身份验证的比较。 2. 设置登录帐户。 3. 设置数据库用户权限。 4. 参照完整性 5. 实体完整性 6. 域完整性
三、实验准备
1.登录模式
a) SQL Server和Windows:指定用户可以使用SQL Server身份验证和Windows身份验证连接到SQL Server。
b) 仅Windows:指定用户只能使用Windows身份验证连接SQL Server。
2.权限验证
当验证了用户的身份并允许其登录到SQL Server 2000实例之后,在用户必须访问的每个数据
库中都要求单独的用户帐户。在每个数据库中都要求用户帐户可防止用户连接到 SQL Server 实例并访问服务器上的所有数据库
3.角色
利用角色,SQL Server管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便
可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。
服务器角色
? 系统管理员:拥有SQL Server所有的权限许可。 ? 服务器管理员:管理SQL Server服务器端的设置。 ? 磁盘管理员:管理磁盘文件。
? 进程管理员:管理SQL Server系统进程。 ? 安全管理员:管理和审核SQL Server系统登录。
? 安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。 ? 数据库创建者:创建数据库,并对数据库进行修改
数据库角色
? public:维护全部默认许可。
? db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。 ? db_accessadmin:可以增加或者删除数据库用户、工作组和角色。 ? db_addladmin:可以增加、删除和修改数据库中的任何对象。 ? db_securityadmin:执行语句许可和对象许可。 ? db_backupoperator:可以备份和恢复数据库。
? db_datareader:能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息。 ? db_datawriter:能够增加、修改和删除表中的数据,但不能进行select操作。 ? db_denydatareader:不能读取数据库中任何表中的数据。
? db_denydatawriter:不能对数据库中的任何表执行增加、修改和删除数据操作。
4.实体完整性
把表中的每行看做一个实体,它要求所有行都具有惟一标识通过建立索引、PRIMARY KEY约束、UNIQUE约束以及列的IDENTITY来实现。 例1:
CREATE table employee
(job_id smallint PRIMARY KEY, job_name char(20) not null ) 例2:
CREATE table student (sname char(10), Sno int not null, Primary key(sno)
) 例3: create table ii
(a int not null IDENTITY(1,3), b char )
5.参照完整性
维护被参照表与参照表之间的数据一致性,通过主键(PRIMARY KEY)和外键(FOREIGN KEY)约束实现。使用FOREIGN KEY约束需注意:FOREIGN KEY约束只参照同一个数据库中的其它表, 跨数据库表的参照只能通过触发器来实现。 例:
CREATE table PR
(id int not null primary key, Name char(10) )
CREATE table FR
(id int not null References PR(id), Score int not null)
6.域完整性(用户定义)
要求表中指定列的数据具有正确的数据类型、格式和有效的 数据范围。通过默认值、CHECK、规则等约束实现 例1:CHECK约束
相关推荐: