• 了解数据库管理系统的基本概念
数据库管理软件
• 数据库管理系统(DBMS)能够提供用户和应用程序在需要时访问、<br>查看和更改数据,还可以实施访问控制限制,提供数据完整性和元余,<br>以及为数据操作建立不同的过程。
• 事务处理持续化(transaction persistence) 意味着执行事务处理的数据库过<br>程是持久可靠的。在进行事务处理之后,数据库的安全状态应保持原状,同时<br>还需要确保事务处理的完整性。
• 理解数据库完整性和安全的概念
3种主要类型的完整性服务
1. 语义完整性(semantic integrity)机制保证结构化规则和语义规则得到遵守。这些规则与以下因素有<br>关:数据类型、逻辑值、唯一性约束以及可能负面影响到数据库结构的操作。<br>2.参考完整性(referential integrty),如果所有外键都参考现有的主键,那么数据库就具有参考完整性。<br>应当通过某种机制确保没有外键引用不存在的记录的主键或者空值。<br>3. 实体完整性(entity integrity)保证了元组由主键值唯一确定。为了保持实体完整性,每一个元组都必<br>须包含一个主键。如果不包含主键,那么数据库就不能引用此元组。
聚合和推理
聚合(aggregation)指的是组合不同来源的信息的行为.用户没有明确的权限可以访问组合得到的信息,<br>但组合得到的信息比信息的各个组成部分拥有更高敏感性。<br>推理(inference), 当某个主体根据通过聚合了解到的部分而演绎全部信息时,就会出现推理问题。当<br>安全级别较低的数据可以描述出较高安全级别的数据时,就会发生推理攻击。推理是得到不是明显可用的<br>信息的能力。<br>
数据库视图
如果数据库管理员希望允许中层管理者看到其部门的收支情况,但不允许他们看到整个公司的财务状况,<br>那么就可以利用数据库视图。高层管理者可以看到所有的视图,包括部门和整个公司的财务数据,而每个<br>经理只能查看本部门的数据。
多实例
为了防止聚合和推理问题的发生,可以使用多实例的方法。多实例建立了具有相同主键的多个元组和由安<br>全线别定义的实例之间的关系。当一条信息插入到数据库中时,需要限制低级别用户访问这条信息。通过<br>建立另一组数据迷惑低级别用户,使用户认为他得到的信息是真实的,而不是仅仅限制信息的访问。
联机事物处理
联机事务处理(Online Transaction Processing,OLTP)用于群集数据库以提供容错和高性能的情况。<br>OLTP提供了监测问题以及在问题发生时立即进行适当处理的机制。OLTP 的主要目标是确保事务处理的正<br>确发生或根本不发生。
ACID
数据库软件应该实现一种名为ACID测试的四个特征:<br>原子性(atomicity) 将事务处理分成多个工作单元,并且确保所有的修改都生效或者没有一个修改生效。<br>要么所有修改都提交,要么数据库回滚。<br>一致性(consistency) 事务处理必须遵守为特定数据库制定的完整性策略,并且确保在不同数据库中的所<br>有数据的一致性。<br>隔离性(isolation) 事务处理完全隔离执行直至完成,同时事务处理之间互不影响。在事务处理完成之前,<br>修改的结果不会生效。<br>持久性(durability) 一旦事务处理在所有的系统上都被验证为是正确的,它就会被提交,并且数据库无法<br>回滚。