要点应用程序知识点总结(共21页).docx
《要点应用程序知识点总结(共21页).docx》由会员分享,可在线阅读,更多相关《要点应用程序知识点总结(共21页).docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库为收集到的数据提供结构化机制。任何类型的数据库应包含以下特点:它不是将数据保存在网络中的几台不同的服务器上,从而进行集中化管理。它的备份过程更加方便。它提供事务持续性。由于在一个中心位置保存和维护所有数据,它可以实现更大的一致性。它提供恢复和容错能力。它允许多个用户共享数据。它提供安全控制,执行完整性检查、访问控制和必要的机密性。数据库模型:关系数据库模型、层次数据库模型、网络数据库模型、面向对象的数据库模型、对象-关系数据库模型。关系数据库模型(Relational Database Model)使用属性(行)和元组(列)包含和组织信息。关系数据库模型是今天应
2、用最广泛的数据库组织形式,它以表(Table)的形式表示信息。一个关系数据库由一些二维表构成,每个表包含行、列和存储单元(行与列的交叉位置)。每个存储单元仅包含一个数据值,表示一个特定元组的特殊属性值主键(Primary Key)是将记录中的所有数据与一个唯一值联系起来的字段。层次数据库模型(Hierarchical Database Model)是另一种通用的数据库模型。数据元素之间的结构和关系与关系数据库中不同。层次数据模型由记录(Record)和字段(Field)构成,它们之间是逻辑的树形关系。在层次数据库中,父节点可以有一个子节点或者多个子节点,也可以没有子节点。树形结构包含许多分支(
3、Branch),分支又会有一定数量的叶子(Leaf),或者数据字段。这些数据有定义明确、预先指定的访问路径,但在建立关系方面不如关系数据库灵活。层次数据库通常用于映射一对多的数据关系。层次数据库是人们最开始创建的数据库模型,但它并不如关系数据库应用普遍。最常用的层次模型为轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)模型。这种模型也用在Windows注册表结构和不同的文件系统中,但最新的数据库产品通常并不采用这种模型。网络数据库模型建立在层次数据库模型之上。与层次数据库模型不同,在网络数据库模型中,要找到一个数据元素,你不必知道如何从
4、一个分支进入另一个分支,然后从一个父节点进入一个子节点;网络数据库模型允许每个数据元素拥有多个父节点和子记录。形成了一种类似网络的冗余结构,而非严格的树结构(网络数据库这个名称并不表示数据在网络上或在分布在整个网络中,它只是描述数据元素的关系)。网络模型为了实现冗余而建立一种类似于网状网络拓扑的结构;另外,与层次模型相比,网络模型检索数据的速度更快。这种模型使用一种记录(Record)和集合(Set)的结构。一个记录包含字段,它可以通过一个层次化的结构列出。集合是定义不同记录之间的一对多的关系。一个记录可以是任何数量的集合的“所有者”,同一个“所有者”又可能是许多不同的集合。这种结构可以为确立
5、不同数据元素之间的关系提供相当大的灵活性。面向对象的数据库(Object-Oriented Database)可以管理多种不同类型的数据(如图像、语音、文档和视频等)。在关系数据库中,应用程序必须使用它自己的过程从数据库中获得数据,然后根据自己的需求处理这些数据;而传统的关系数据库并不像面向对象的数据库那样能提供访问数据的过程。面向对象的数据库用类(Class)来定义数据属性和数据访问过程。建立这种模型的目的在于突破关系数据库在保存和处理大量数据时遇到的限制。另外,面向对象的数据库并不依赖SQL进行交互,因此,并非SQL客户端的应用程序也可以使用这种类型的数据库。ODBMS并不如关系数据库那样
6、用途广泛,但它主要用于工程和生物学等领域,并满足金融领域的某些需求。对象-关系数据库或对象-关系数据库管理系统(ORDBM)是一种含有一个以面向对象编程语言编写的软件前端的关系数据库。主要用于对保存的数据执行不同的商业逻辑。开放数据库连接(ODBC) 是一个应用程序编程接口(API),允许应用程序与本地或者远程的数据库通信。应用程序向ODBC发出请求,ODBC把它翻译成数据库的命令。应用程序可以不用关心数据库的驱动(Driver),这些都由ODBC完成。是一种针对基本的数据访问技术(如OLEDB)的高级数据访问编程接口。是一组用于访问数据来源,而不只是数据库访问的COM对象。它允许开发者编写程
7、序来访问数据,而不用知道数据库如何运行。在使用ADO时,SQL命令不需要访问数据库。对象链接和嵌入数据库(OLEDB) 是运行在客户端或者服务器上的中间件,把数据分成多个部分。它提供底层接口,允许访问不同数据库的数据以及不同格式的数据。以下是OLE DB的一些特点:l 替代ODBC,扩展它的功能以支持更广泛的非关系数据库,如对象数据库和不一定执行SQL的电子数据表。l 一组基于COM的接口,允许应用程序以统一的方式访问保存在不同数据源中的数据。l 由于OLE DB以COM为基础,因此它仅限于基于微软Windows的客户端工具使用(与OLE无关)。l 开发者通过ActiveX数据对象(ADO)访
8、问OLEDB服务。l 它允许不同的应用程序访问不同类型和来源的数据。ActiveX数据对象(ADO) 是一个API,允许应用程序访问后台数据库系统。它是一组ODBC接口的集合,用可访问(Accessible)的对象来展示数据库的功能,进而操作数据库。ADO通过OLE DB接口与数据库连接,可以用多种不同的脚本语言开发,下面是他的特点:l 是一种针对基本的数据访问技术(如OLEDB)的高级数据访问编程接口。l 是一组用于访问数据来源,而不只是数据库访问的COM对象。l 它允许开发者编写程序来访问数据,而不用知道数据库如何运行。l 在使用ADO时,SQL命令不需要访问数据库。Java数据库连接性(
9、JDBC) 是一个API,允许Java应用程序与数据库通信。应用程序可以直接或者通过ODBC逹接到数据库。以下是JDBC的一些特点:l 是一个提供和ODBC相同功能的API,但专门为Java数据库应用程序设计。l 在Java平台与一系列数据库之间,使用独立于数据库的连接。l JDBC是一种使Java程序执行SQL语句的Java API。可扩展标记语言(XML) 个数据结构化的标准,用于基于Web技术的程序的数据交换。XML是一种自定义的标记语言,可以灵活地表现数据库中的数据。Web浏览器可以解析XML的标签,向用户说明开发者如何表示数据。数据定义语言(DDL) 定义数据库的结构(Structu
10、re)和数据架、构(Schema)。结构说明表的大小、键位置、视图和数据元素关系。数据架构描述数据库存储和操作的数据类型以及它们的属性。DDL定义了数据库的结构、访问操作和完整性过程。数据操作语言(DML) 包含了使用户能查看、操纵和使用数据库的所有命令(view、add、modify、sort 和 delete 命令)。査询语言(QL) 使用户可以对数据库提出査询请求。报表生成器(Report Generator) 提供用户定义的数据过程输出。数据字典是数据元素定义、架构对象(Schema Object)和引用键(Reference Key)的集合。架构对象可以包含表、视图、索引、过程、函数
11、和触发器。数据字典可以包含列的默认值、数据完整性信息、用户姓名、用户的权限和角色,以及审计信息。它是一种通过控制数据库中有关数据的数据集中管理数据库各个部分的工具,提供成组数据元素和数据库之间的交叉引用关系。数据库管理软件创建并读取数据字典,确认架构对象存在,并检查特定用户的进程访问权限。当检索数据库时,用户对数据的访问被特定的视图所限制。在数据字典中,定义了对每个用户的视图权限设置。当需要增加新的记录、表、视图或者架构时,应该更新数据字典以反映这些变化。主键是一个行的唯一标识符,它用于在关系数据库中编写索引。每个行必须拥有一个主键。当用户请求查询一条数据记录时,数据库通过这个唯一的主键跟踪这
12、条记录。数据库软件执行3种类型的完整性服务:语义完整性(Semantic Integrity),参考完整性(Referential Integrity)和实体完整性(Entity Integrity)。语义完整性机制保证结构化规则和语义规则得到遵守。这些规则与以下因素有关:数据类型、逻辑值、唯一性约束以及可能负面影响到数据库结构的操作。如果所有外键参考现有的主键,则说明一个数据库具有参考完整性。应通过某种机制确保没有外键引用不存在的记录的主键,或者空值。实体完整性保证了元组由主键值唯一确定。为了保持实体完整性,每一个元组必须包含个主键。如果不包含主键,数据库就不能引用此元组。一些可配置的操作被
13、用来帮助保护数据库中数据的完整性,这些操作包括回滚、提交、保存点和检查点(Checkpoint)。回滚(Rollback)指的是结束当前事务并取消对数据库做的更改。这些更改可能是数据本身发生的更改或者是架构(Schema)修改。执行回滚后,所做的变更被取消,数据库恢复到先前的状态。回滚发生在数据库出现意想不到的故障或者外部接口处理程序出现错误时。数据库恢复到原始状态,而不是仅仅重传或者更正部分数据。同时,数据库会记录错误和操作日志,以便日后审査。提交(Commit)是指结束事务操作,执行用户做出的数据变更。顾名思义,一旦提交命令执行,用户变更就得到确认,并反映到数据库中。这些变更可以是数据或者
14、数据架构,通过提交操作,其他用户或者应用程序就能访问到更新的数据。如果用户数据变更的提交命令没有正确执行,那么数据库会执行回滚命令。这保证了不会由于发生部分变更而引起数据混乱。保存点(Savepoint)用来保证系统发生故障或者探测到错误时,数据库可以回到系统故障之前的状态。两阶段提交(TwoPhase Commit)机制是数据库用来确保数据完整性的另一种控制。数据库通常会执行事务处理,表示用户与数据库同时进行交互。与事务处理相反的是批处理(Batch Processing),即数据库变更的请求被放入一个队列中并一次性激活而不是在用户提交请求时立即激活。聚合是指这种情形:如果用户没有访问特定信
15、息的权限,但是他有访问这些信息的组成部分的权限。这样,他就可以将每个组成部分组合起来,得到受限访问的信息。用户可以通过不同的途径得到信息,再综合得到本不具备明确访问权限的信息。为了防止聚合,需要防止主体和任何主体的应用程序和进程获得整个数据集合的权限,包括数据集合的各个独立组成部分。客体可以进行分类并赋予较高的级别,存储在容器中,防止低级别权限的主体访问。对主体的查询,可以进行跟踪,并实施基于上下文的分类。这将记录主体对客体的访问历史,并在聚合攻击发生时限制访问企图。另一个安全问题是推理(Inference),和聚合很相似。推理指的是主体通过他可以访问的信息推理出受限访问的信息。当安全级别较低
16、的数据可以描述出较髙级别的数据时,就会发生推理攻击。例如,假设一个职员不应该知道军队在某个国家的行动计划,但是由于他可以访问到食品需求表格和帐篷位置的文档,那么他就可以根据食品和帐篷运送的目的地推算出军队正在向特定地区移动. 一个办法是防止主体或者与主体有关的应用程序和进程间接得到能推论的信息。在数据库开发过程中,可以实施基于内容或者基于情形的访问控制来解决这个问题。基于内容的访问控制(Content-Dependent Access Control)是根据数据的敏感程度实施访问控制。数据越敏感,能够访问数据的个体就越少。基于上下文的访问控制是指软件根据请求的状态和次序,“了解”应允许哪些行为
17、。这表示,用户必须追踪用户以前的访问尝试,并知道什么顺序的访问步骤得到许可。基于内容的访问控制就像是这样:“Julio有权访问文件A吗? ”系统在ACL上检查文件A并返回一个响应:“Julio能够文件这个文件,但只能读取它。”基于上下文的访问控制则更像是这样:“Julio有权访问文件A吗? ”系统然后检查几个数据:Julio做了哪些其他访问尝试?这个请求是否没有按照安全请求的顺序?这个请求是否在系统允许的访问时间内(上午8时至下午5时)提出?如果所有这些问题的答案都与一组事先设置的参数相符,则Julio能够访问文件A。否则,他就不能访问文件A。防止推理攻击的常见措施有单元抑制(Cell Sup
18、pression)、采用数据库分隔,或者噪声和扰动。单元抑制是一种用来隐藏或者不显示特定存储单元内容的技术,防止这些信息被用来进行推理攻击。分隔数据库(Partitioning a Database)包括将数据库分成不同的部分,使未授权用户很难访问到可以用于推理攻击的相关数据。噪声和扰动(Noise and Perturbation)是一种在数据库中插入伪造信息的技术,目的是误导和迷惑攻击者,使得真实的推理攻击不能成功。多数情况下,数据库在规划和开发过程中并没有将安全集成进来。安全需要事后考虑,作为替代,往往需要开发一个数据库可信前端(Front End)。这种方法限制了安全粒度及可以发挥作用
19、的安全功能。数据库可以允许一个组或者一个特定用户访问特定信息,而限制另一个组访问。这种功能通过数据库视图(Database View)实现。多实例(Polyinstantiation)建立了相同主键的多元组和由安全级别定义的实例之间的关系。当一条信息插入到数据库中时,需要限制低级别用户访问这条信息。通过建立另一组数据迷惑低级别用户,使用户认为他得到的信息是真实的,而不是仅仅限制信息的访问。联机事务处理(Online Transaction Processing, OLTP)用于多数据库集群提供容错和高性能的情况。OLTP提供一种监测问题的机制,并在问题发生时立即进行适当处理。OLTP的主要作用
20、是确保事务正确发生或根本不发生。通常,事务处理表示一些不可分割的操作独立发生。如果其中一个操作失败,则剩下的操作需要回滚,以确保只向数据库中输入准确的数据。处理事务的一组系统由一个软件OLTP产品管理和监控,以确保一切顺利平稳地进行。OLTP可以对入站请求做负载均衡。OLTP要实时记录所出现的事务(Transaction)。在一个分布式环境下,这个过程同时修改多个数据库。这个复杂的举动会引起许多关于完整性的威胁,所以数据库软件应该具有一种叫做ACID测试的特性。原子性(Atomicity) 把事务分成多个工作单元,确保所有的修改都生效或者没有一个修改生效。数据库接受所有修改或者不接受任何修改。
21、致性(Consistency) 事务必须遵守每个数据库的完整性策略,保证在不同数据库中的数据的一致性。隔离性(Isolation) 事务完全分开进行,事务之间互不影响。在事务完成之前,所有的修改都没有生效。持久性(Durability)旦事务在所有的系统上都被认为是正确的,它就要提交,数据库不能拒绝它。为了信息检索和数据分析,将多个数据库或数据源联合成一个大的数据库。从各个不同的数据库中提取数据传输到一个中央数据存储区,这个存储区就叫做数据仓库(Data Warehousing)。这些数据被标准化,也就是说删除冗余的信息,并以数据仓库期望的方式对其进行格式化。这使得用户只需查询一个实体,而不用
22、访问和查询不同的数据库。数据仓库提取数据的数据源是用于操作。建立数据仓库是为了进行分析,从而做出商业预测决策,确定营销效率、商业趋势甚至是欺诈行为。相关数据会先进行总结和相互关联,然后再呈现给用户。用户得到的并不是最初的每一项数据,而是最能适合他的需求的更加精简的数据。尽管数据仓库提供更方便的访问控制,但是由于它的集中性,数据仓库需要更严格的安全。如果入侵者进入数据仓库,那么他就可以立即访问整个组织的数据信息了。数据挖掘(Data Mining)是对数据仓库中的数据进行进一步处理以得到更有用信息的过程。数据挖掘工具被用来发现数据的联系和相关性来生成元数据(Metadata)。元数据可以揭示单个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 要点 应用程序 知识点 总结 21
限制150内