安全性要求:
a、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其
密码,保证
用户身份不被盗用;
b、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据
的类别和内容;
c、系统应对不同用户设置不同的权限,区分不同的用户。
完整性要求
是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束
来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库
完整性约束可以通过 DBMS 或应用程序来实现,基于 DBMS 的完整性约束作
为模式的一部分存入数据库中。通过 DBMS 实现的数据库完整性按照数据库
设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计
(本文主要讨论前者)。数据库完整性对于数据库应用系统非常关键,其作用
主要体现在以下几个方面:
1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不
合语义的数据。
2.利用基于 DBMS 的完整性控制机制来实现业务规则,易于定义,容易
理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基
于 DBMS 的完整性控制机制是集中管理的,因此比应用程序更容易实现数据
库的完整性。
3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效
能。比如装载大量数据时,只要在装载之前临时使基于 DBMS 的数据库完整
性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数
据库的完整性。
4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用
软件的错误。
数据库完整性约束可分为 6 类:列级静态约束、元组级静态约束、关系级
静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常
由应用软件来实现。不同 DBMS 支持的数据库完整性基本相同,Oracle 支持
的基于 DBMS 的完整性约束如下表所示:
数据库完整性设计示例
一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完
整性约束实现的业务规则,然后在充分了解特定 DBMS 提供的完整性控制机
制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应
用软件设计方法,合理选择每个业务规则的实现方式;最后,认真测试,排除
隐含的约束冲突和性能问题。基于 DBMS 的数据库完整性设计大体分为以下
几个阶段:
1.需求分析阶段
经过系统分析员、数据库分析员、用户的共同努力,确定系统模型中应该
包含的对象,如人事及工资管理系统中的部门、员工、经理等,以及各种业务
规则。
10