面向对象系统分析与设计ch11文件和数据库的设计.ppt

上传人:小飞机 文档编号:6435975 上传时间:2023-10-31 格式:PPT 页数:23 大小:248.58KB
返回 下载 相关 举报
面向对象系统分析与设计ch11文件和数据库的设计.ppt_第1页
第1页 / 共23页
面向对象系统分析与设计ch11文件和数据库的设计.ppt_第2页
第2页 / 共23页
面向对象系统分析与设计ch11文件和数据库的设计.ppt_第3页
第3页 / 共23页
面向对象系统分析与设计ch11文件和数据库的设计.ppt_第4页
第4页 / 共23页
面向对象系统分析与设计ch11文件和数据库的设计.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《面向对象系统分析与设计ch11文件和数据库的设计.ppt》由会员分享,可在线阅读,更多相关《面向对象系统分析与设计ch11文件和数据库的设计.ppt(23页珍藏版)》请在三一办公上搜索。

1、Ch11 文件和数据库的设计,本章主要讨论永久性数据,永久性数据必须存储在文件和数据库中。讨论了永久性数据的组成,优化数据库的要求,不同类型的属性,7种不同的文件类型,及不同文件访问方式,组织方式,然后讨论关系数据库的前三层范式。最后简要介绍面向对象的数据库。,11.1文件和数据库,信息系统将数据存储在文件或数据库中。在计算机科学或软件工程中术语永久性数据与文件或数据库等价。图11.1形象地描述了文件和数据库的关系永久性数据的组成 位 二进制数 字节表示一个字符 属性通常也称为域,数据元素或对象,由 一个或多个字节组成 记录通常称为元组,有时称为对象。由一 个或多个属性组成,(a)位 0111

2、0001(b)字节 A,B,Z,0,1,9,#,&,$,etc(c)属性 模板 名 中名 姓 社会安全号 州 Ronland J Norman 559-65-8213 CA 值或实测(d)记录(每行一个记录)名 中名 姓 社会安全号 州 Ronland J Norman 559-65-8213 CA Rashmi B Kumar 371-48-4562 MI,文件 由若干条类型相似的记录组 成。例如图11.3所示 数据库包含了若干个相关文件。文件夹通常称为目录,用于组织多 个相关的文件和数据库。11.1.1 数据结构 在本章中,数据结构是和记录等价的,因为它们都是通过组合相关的属性产生的。通常

3、在讨论记录的成分或者不同的记录模板之间的关系时,我们用术语数据结构来代替记录。,进行数据结构或记录设计的两个最为重要的要求:简单性,非冗余性。简单性:所创建的数据结构尽可能的简 单明了。原因(1)数据结构简单便于维 护(2)易于作为报表生成软件的 输入,用户容易取得所关 心的数据。非冗余性:整个数据库中不存在任何重复拷贝 的属性,记录或文件。,这个要求是很高的,一个设计得很好的信息系统往往也只能在属性这一层上实现了非冗余性。原因在于:简单性和非冗余性是互相抵触的。如果数据结构过于简单,则必然会导致大量的冗余数据;反之,如果数据结构做到了无冗余,则它必然会很复杂。说明:(1)在使用结构化方法进行

4、信息系统开发时,应该创建对象关系框图和数据结构框图来直观的表示数据结构之间的关系。(2)在使用面向对象的方法时,应该使用通用-特定结构,整体-部分结构,和实例联系来表示其关系。,11.1.2 属性的分类 属性可以分为4大类:键,描述字,审查控制字与安全字。任一个数据结构,记录或对象的每一个属性都可归为上面所说的4类。以图11.6为例。1 键 键属性能够用于将一条记录与同一文件中的其他记录区分开来。键分为主键,次键或外键(1)主键 主键可以通过组合两个或两个以上的属性来获得。作用:a在一个文件中唯一标识某个记录。b为文件中的每一条记录提供一 种访问方 式。,(2)次键 为文件中的每一条记录提供一

5、条辅助的访问途经。与主键属性类似,往往是用于访问文件中的一条特定记录。与主键不同的是,次键属性不必是唯一的,可能同一次键标识多条记录。它能将可能提取的记录数降低到可接受的范围,直到用户提取出他想要的那一条。(3)外部键 用于建立一个文件中的记录与另一文件中的记录的联系。一个外部键提供了多条记录的访问途经。例如图11.8所示2 描述字 大多数的属性都属于描述字。描述性的属性可以作为主键或次键,往往是作为次键,因为在文件中可能存在着相同的属性值。,3 审查控制字 帮助审查数据和控制。审查类属性存在于记录与文件之中,用于帮助实现审查功能。控制类属性是由系统分析员加入记录和文件以实现对系统的控制。一般

6、标志属性并不是原始数据结构的组成部分,而是在设计时期所创建的,辅助完成用户所需的功能。4 安全字 在系统设计时期创建的,用于处理信息系统的安全问题。,11.1.3 文件类型 关系数据库中使用同义词“表”来代表文件。文件可以分为几类,包括主文件,事务文件,表文件,临时文件,日志文件,映像文件和存档文件。1 主文件 包括信息系统中某一类成员的基本数据记录。一个信息系统可以存在一个或多个主文件。它是信息系统中的核心数据成员。例如图11.10(a)是一个主文件的例子。,2 事务文件 包含了信息系统中有关某一类商业活动的数据记录。一个信息系统中可以存在一个或多个事务文件。事务文件为信息系统中某一段时间内

7、发生的业务活动的记录。图11.10(b)为一事务文件的例子。3 表文件 表文件是具有以下特点的主文件:首先,表文件的内容在很长一段时间内不会变化。其次,它的内容具有表的特征,可以写成表的形式。,(4)临时文件 是临时产生的,随时创建随时使用。(5)日志文件 它包含主文件和事务文件中某些记录的拷贝,按时间顺序记录了修改主文件的事件。通常日志文件同时包含修改之后记录的内容和修改之后记录的内容,以及事务文件的变化情况。意义:(1)使信息系统可以被审查;(2)可以对信息系统的处理情况进行 统计和分析;(3)可以在系统出故障之后恢复主文件和事务文件。,(6)映像文件 是某一种文件的重复拷贝,内容与原文件

8、相同。当系统因维护等原因需要停机时,可以使用映像文件来维持系统运转。在不允许有停机事件出现时,必须使用映像文件。(7)存档文件 一般为主文件、事务文件和日志文件的历史版本。每一个信息系统都有一部分程序来决定哪一部分数据以及何时这些数据应当以如存档文件或移出存档文件。这样就减少了记录的数量和所占有的资源,提高了系统的处理速度。,11.1.4文件访问与组织1 文件的访问 指在文件内读取记录的方法。(1)连续访问 通过文件内的指针来读取文件。意味着文件开始处记录号为1,依次访问后继的记录,写记录也如此。适于需要对文件中的多数记录进行操作的情况。(2)直接访问 通过物理地址对某条记录的直接访问,又称随

9、机访问。无需从第1个记录开始扫描。常用于在线、交互式的信息系统中。2 文件的组织 指在文件内存储记录的方法。有4种:有序、连续、相关或直接、索引。,(1)有序的文件组织 文件内的记录按时按顺序排列。例如日志文件,ATM事务的记录文件,电子邮件收件箱文件。(2)连续的文件组织 文件内按一定的逻辑次序存储纪录。记录依据一个或多个属性的顺序排列,当需要添加记录时,必须找到合适的位置进行插入。一个连续组织的文件内的记录必须一直保持有序。(3)相关或直接的文件组织 依据哈希算法,用记录的键值产生物理地址而直接存储。可能因两个键值相同出现“碰撞”。,一个简单的解决方法,是创建一个审查控制字段来存储被移走的

10、记录的地址。如图11.16这样在查找时,同样使用哈希算法,记录也出现“碰撞”时,可以根据指针属性找到所需记录。,(4)索引文件组织 索引文件组织通常使用两种文件:索引文件和实际数据记录文件。索引文件由系统维护,按键的顺序排列,含有该键值记录的存储地址;实际记录文件类似于有序文件组织的文件,新记录加到文件尾,而索引文件进行更新。例如图11.17所示,11.1.5 范式化 范式化指将复杂的数据结构简单化,使之易于维护和更容易满足用户需求的过程。范式化的重点针对数据元素或数据结构中的属性。7个层次的范式化第1,第2,第3,第4,Boyce-Codd,第5,及域-键范式化。每一个范式都附带着简化数据结

11、构的规则。当且仅当一个数据结构满足N范式规则,并且满足所有低于N的范式规则次凡是成为满足N范式。大多数商业信息系统中数据结构都只进行了3层次的规范化。图11.18提出了前3个范式的规则。,现以某公司的销售订单类为例说明范式化的过程。图11.19是销售订单,用销售订单类,图11.20来表示它的数据结构。(1)满足第1范式:将重复的属性组移出该数据结构,创建新的数据结构。如图11.21所示,实例如图11.23所示。(2)满足第二范式:是将所有不是完全依赖于主键的所有成员属性的非主键属性移出数据结构。如图11.25所示。,(3)满足第3范式:将所有依赖于另一个非主键的数据元素移出。如图11.27所示

12、。11.1.6 面向对象的数据库面向对象的数据库=面向对象+数据库功能面向对象=复杂对象+对象标识+封装+对象 类型+继承+覆盖与结合+延伸性+计算完整性数据库功能=持久性+并发性+事务+恢复+查询+版本+完整+安全+性能,面向对象的数据库中以对象模型为基础11.1.7 面向对象数据库的演进 面向对象概念最初起源于面向对象的编程(OOP)。在面向对象的环境中程序员可以要求数据对象进行属于自己的操作。面向对象数据库概念起源于20世纪80年代早期的Smalltalk和PSAlogo。OODB快速发展的原因见图11.30所示。面向对象被选为新一代数据库技术的基础原因:首先,面向对象的数据结构可以操作

13、用户自定义的数据类型,克服了关系数据库只能操作有限数据类型的缺点。其次,面向对象数据库模型,可以将数据与程序封装,通过封装与继承,面向对象的数据库模型可以减少开发复杂的信息系统及数据模型的困难。支持面向对象的数据模型的数据库系统必须同时支持与SQL语言兼容的数据库查询语言。SQL语言是新数据库系统与传统的关系数据库结构的接口。面向对象数据模型的作用就是支持复杂数据结构的同时保持关系数据库的理论基础,除了继承与对象标识之外,OODB还支持面向对象编程的另一基本概念抽象数据类型。如图11.31,OODB的概念源于3个方面:传统的数据库系统,语义数据模型与面向对象的编程。,11.1.8 面向对象数据模型的特点 可以被称为面向对象的数据模型的数据结构的必要条件,见图11.32。1989年东京举行的第一次关于推理和面向对象的数据库的国际会议上发表了一篇“面向对象的数据库系统的声明”,如图11.33所示。11.1.9 面向对象的数据库的优点 图11.34中列出了面向对象的数据库的优点和缺点。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号