六章节数据资源管理技术.ppt

上传人:本田雅阁 文档编号:2337223 上传时间:2019-03-22 格式:PPT 页数:25 大小:199.51KB
返回 下载 相关 举报
六章节数据资源管理技术.ppt_第1页
第1页 / 共25页
六章节数据资源管理技术.ppt_第2页
第2页 / 共25页
六章节数据资源管理技术.ppt_第3页
第3页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《六章节数据资源管理技术.ppt》由会员分享,可在线阅读,更多相关《六章节数据资源管理技术.ppt(25页珍藏版)》请在三一文库上搜索。

1、第六章 数据资源管理技术 科学管理依赖信息,信息是一个组织重要的资源。 数据库技术的使用是 MIS 成熟的重要标志。 数据管理技术的发展 数据人工管理阶段:没有软件支持,只有程序文件的概念 数据处理后程序和数据的内存空间一起被释放。数据和程序相互依赖; 数据结构的变化、修改,导致整个程序的修改。 最大的问题是编程效率低,程序依赖数据,不灵活,容易出错。 文件管理阶段:有分离的程序文件和数据文件,文件系统管理数据 。 程序使用数据文件名访问数据,不必关心其物理位置和细节。便于程序 访问数据,有索引文件,链接文件和散列文件等等。 数据不属于某个特定程序,允许重复使用,但数据文件的结构仍取决于 特定

2、的应用,程序与数据间的依赖关系并未根本改变。具有数据设备独 立性,但不能体现用户观点下的数据逻辑结构独立于数据在外存上物理 结构的要求,在数据物理结构修改时,仍需修改用户应用程序。 文件管理方式是数据资源管理的一大进步,它也是数据库的基础。 文件系统的缺陷:数据冗余(redundancy),每个应用程序有对应的数 据文件,文件间缺乏联系,同样的数据可能重复出现。冗余浪费存储空 间,且数据修改稍有不谨慎可能造成数据不一致性(inconsistency); 其次,数据文件面向应用,当数据结构改变时,程序维护成为系统的主 要矛盾。 第六章 数据资源管理技术 数据管理技术的发展 数据库阶段:数据存储在

3、数据库中,数据资源使用数据库管理系统 的专门软件管理。 数据库用数据结构描述了数据,数据间的联系。数据面向整个应用系统 ,减少冗余,真正实现数据在不同应用中共享。 数据库管理系统(DBMS,Database Management System)的三级模式 ,有物理数据独立性,数据库只根据系统需求独立设计;逻辑数据独立 性,特定用户以逻辑结构(视图)操作数据,大大提高了编程效率。 DBMS 提供方便操作的用户接口,数据库的恢复,并发控制,数据完整 性、安全性等控制功能,保证数据的安全,可靠性。 数据库系统以记录为单位操作数据,也可操作数据项,增加系统灵活性 。 从文件系统发展到数据库系统是信息处

4、理领域中的一个重大变化, 以数据为中心。应用程序设计退居为外围地位。 程序A 程序B 程序C DBMS 数据库 文件管 理系统 文件B 程序A 程序B 程序C 文件A2 文件A1 文件C 第六章 数据资源管理技术 访问远程数据资源 计算机网络中有多台计算机访问数据资源,系统由三部分组成: 客户机(Client)用户操作的多台个人(PC)计算机; 服务器(Server)数据集中存储的计算机。通常只有一台服务器,有些 系统配置有多台服务器; 通信网络连接客户机和服务器的通信线路。 传统的文件方式:客户机应用程序访问远程数据资源时,将文件服务 器上的数据文件装载到客户机上,应用程序在数据文件中找到它

5、所需 的数据,处理后再将整个数据文件回送文件服务器。 整个远程数据资源访问过程都不可见,但占据了时间和网络总线的带宽。 要求有较大内存容量,较强的处理能力的客户机。 客户机/服务器(C/S,Client/Server)方式:客户机的应用程序请求 服务器查找它所需的数据,服务器将数据文件中匹配的数据返回。 节省时间和网络的开销。 发挥了服务器较强的处理功能,客户机只集中处理用户界面。 在两层C/S结构中,客户机必须配置访问的各种数据库的驱动程序,成本 高;用户还必须考虑配置和软件维护问题。三层C/S结构中,插入中间件 服务器,客户机仅需与中间件服务器驱动程序通信,中间件服务器完成与 服务器的不同

6、数据库的驱动问题。 第六章 数据资源管理技术 访问远程数据资源 分布式客户/服务器结构用于更复杂的和更有弹性的系统,系统中有 多个分布配置的服务器,执行不同的功能或某些特殊功能。 浏览器/服务器(B/S,Browser/Server)方式:随着网络技术和 Web技术的发展,使用数据源的数据量剧增,开发Web数据库系统 十分有意义。 在Internet和Intranet上,如网上银行、在线购物、产品信息、市场调查 分析、联机数据库查询等,到处可看到Web数据库的应用。 Web数据库基于C/S结构的三层模式,即Browser/Web server/DB server ,客户层是统一界面的浏览器,数

7、据服务器为服务层,中间层是Web服 务器和应用服务。用户通过浏览器的Web页上输入信息,并发送到Web 服务器,通过应用程序访问数据库,将结果以图形、图像、文本或表的 形式返回浏览器。 一种特别感兴趣的网络计算机:没有磁盘驱动器或其它当地数据存 储设备的PC机,使网络管理简化,又能处理图形用户界面,需要的 是能在任何计算机上运行的图形用户界面,在服务器上修改某个驱 动程序或应用程序时,可以在该服务器的每个网络计算机客户机上 运行。 面向对象的程序设计语言Java,使应用程序独立于异构网络上的多种平 台,提供在任何计算机上运行的图形用户界面设计。 第六章 数据资源管理技术 数据描述 现实世界:现

8、实世界是在人们头脑以外的客观世界(real world), 对信息系统而言,组织的业务活动涉及的物流、人、事、单位以及 相关的数据,如库存管理,涉及货物的存放、进出、搜查等业务活 动。业务活动中抽取的数据为管理活动提供报表、汇总、统计分析 图等。 信息世界:人的认知一是从特殊到一般的归纳,二是从一般到特殊 的演绎。将现实世界中客观存在相互区别的事物或事件抽象为实体 集。实体集具有组成实体的共同的性质(属性) 如学生实体集有姓名 、年龄、性别等共同属 性。 实体集中的具体实例 称实体,有具体的属性 值,如某个学生姓名叫 李四,年龄22岁,性别 为男等,属性值的不同 用来区别不同的实体。 实体标识

9、符是某个属 性(代码)或一组属性 ,唯一标别每个实体。 属性字段 现实世界信息世界计算机世界 事物类实体集 事物 性质 实体 属性 文件 记录 字段 第六章 数据资源管理技术 数据描述 计算机世界:是数据存储形式,在计算机中数据以文件方式存储, 并分下列层次: 字段(field)或称数据项:字段可以命名的最小数据单位,字段名表示 实体的属性。字段值表示每个具体属性值或数据,一般分两大类型:数 值型和字符型。 记录(record):记录结构是字段有序集合,记录描述一个具体实体, 是字段值有序集合,实体属性的数据描述。 例 实体集: 学生(学号, 姓名,年龄, 性别, ) 实体: 99064111

10、 李四 22 男 文件(file):文件是同一实体集的所有记录的集合,所有的学生记录组 成一个学生文件。 其中,主关键字(key)简称主键,是能唯一标识文件中每个记录的字段 或字段集,与信息世界中实体标识符的概念相对应。 数据库是数据层次最高一层,它是综合的、相关的文件集合,它表示一 个应用项目中相关的实体集的集合及实体集间的关联。 我们可以不必关心数据的存储结构和具体实现方式,因为数据库系 统的目标之一,是用户能简单、方便地访问数据库中的数据。 第六章 数据资源管理技术 数据库数据模型:逻辑模型和物理模型。 逻辑模型不涉及数据的表示、物理实现,只描述从系统需求到信息世界的 高层抽象的信息模型

11、。 创建数据逻辑模型的工具是实体联系(E-R)图。 物理模型面向信息模型所采用的具体数据结构,第二层抽象。数据的物理 模型有严格形式化定义,便于计算机中实现数据的存储和访问。 实体间的联系:其联系方式不外乎三种: 一对一(1:1)联系:在两个实体集中,一方的一个实体最多与另一方对应的一 个实体相联系。例如,已婚男性集合和已婚女性集合间实体关系是一对一的联系 。 一对多(1:M)联系:在两个实体集中,一方的一个实体与另一方对应的若干个 实体相联系;反之,另一方的一个实体最多对应一方的一个实体,称一对多联系 。 例如,一个组织部门和职工,在一个具体部门工作的职工有若干个,而一个职工只在一 个部门工

12、作,工作将部门和职工两个实体联系在一起,是一对多的联系。 多对多(M:N)联系:若两个实体集中,任何一方的一个实体都对应另一方的若 干个实体,称多对多联系。 例如,在教学管理中学生和课程,一个具体学生可选修若干门课程,反之,一门课程可 以被若干个同学选修,选修将学生和课程两个实体联系在一起,是多对多的联系。 实体有属性,联系也有属性。例如,学生和课程的选修多对多的联系有成绩属性 。 除多对多联系的属性外,一对一和一对多联系的属性,一般都可归併相应的实体属性中 。 递归联系是一个实体与自身相联系,也有一对一,一对多和多对多的联系。例如一个组 件可以由多个零件组装而成,而一个零件又可以在多个组件中

13、组装使用,这就是多对多 的递归联系,组装使用数量则是联系的属性。 对1:1(m)递归联系,事实上是超类与子类的联系,如职工与干部、领导的联系。 第六章 数据资源管理技术 数据库数据模型 实体联系ER图(Entity Relationship Diagram):数据的逻辑模型强调语义 表达功能,概念简单、清晰,易于理解,便于数据库设计人员和用户交流, 启发、检验、返回补充系统需求。 E-R图使用图形符号表示组织业务活动涉及的实体及实体间联系。 矩形框表示实体,两部分分别表示实体标识及其属性;菱形表示实体间的联系, 带有联系方式的直线相关的实体连接,关系有属性直接附于菱形框。 在实际系统中往往有多

14、个相互关联的实体,作图也比较复杂。 例 仓库主要管理零件入库、出库及采购等事项。工程项目需要仓库提供零件, 仓库需要向零件供应商采购零件, 建立E-R图过程:确定实体集;确定实体间关系;确定实体集名称和属性。 工程项目 (项目编号 J#,项目名称Jname, 开工日期DATE) 零件 (零件编号P#, 零件名称Pname,规格 Psize,重量Pweight) 供应商 (供应商代号 S#,姓名Sname,地址 SADR) 第六章 数据资源管理技术 数据库数据模型 数据的物理模型数据库的数据结构。 层次或树状模型:用倒树结构表示实体及实体间关系。树的结点是记录类型 ,非根结点只有一个父结点,上层

15、与下层间是一对多的关系。 特点是记录间的联系依靠指针,查询效率高。缺点是只能表示一对多的联系,多 对多联系实现复杂困难;数据查询、更新复杂、编程比较复杂。 网状模型:用有向图表示实体及实体间关系。有向图的结点是记录类型,有 向边从箭尾端记录类型到箭头端记录类型是一对多关系。 特点是记录之间的联系用指针,多对多的关系亦可拆成两个一对多的关系。模型 易于实现,查询效率较高,缺点是编写程序比较复杂,程序员必须熟悉数据库的 逻辑结构。 关系模型:用二维表格表达实体集,外键表示实体间关系。 与层次网状模型相比,简单易懂,编程方便,集合论是关系模型的数学基础。 关系数据库的标准化语言SQL已得到广泛应用。

16、典型关系数据库管理系统DBMS 产品有DB2,ORACELE,SYBASE,INFORMIX和微机产品FOXPRO, ACCESS等。 概念简单,易于理解,多对多的关系可简单地分解二个一对多的关系。实体集的 主键用直线下划线表示,则上节仓库管理的实体及实体间关系可表示: 工程项目(J#, Jname, Date) 零件(P#, Pname, Psize, Pweight) 供应商(S#, Sname, Saddr) 供需关系 (J#, p#, Total) 需供关系 (P#, S#, Quantity) 第六章 数据资源管理技术 数据库管理系统 DBMS DBMS 是一个提供对共享数据可靠管理

17、用的软件,数据库系统的核心。 DBMS 对数据库定义、提供用户视图、查询、更新等一切操作,用作数据库与应用 程序之间,或数据库与用户之间的接口。 三级模式结构:内模式、概念模式和外模式。 外模式(external schema):单个用户使用的数据视图,是概念模式的一个子集。 概念模式(conceptual):所有用户的数据定义,系统的、全局的数据视图。 内模式(internet):涉及的数据存储结构,物理存储数据视图,又称存储模式。 数据据库数据的三个抽象级别,使用户只要抽象地处理数据,不必关心数据的表示 和存储,数据的具体组织、管理工作交给DBMS,减轻用户使用系统的负担。 数据在三级模式

18、间差别很大, DBMS 在三级模式间提供两个层次的映射外模式到 概念模式、概念模式到内模式映射。 两级数据独立性: 数据库的逻辑独立性:概念模式的修改不影响外模式,只需改变外模式到概念模式 的映射关系,从而保证子模式不变,应用程序亦无须修改。数据的逻辑独立性,简 化了数据库系统应用程序的设计工作。 数据库的物理独立性:内模式的修改不影响概念模式,只需改变概念模式到存储模 式的映射关系。使数据库只需根据系统需求独立设计,又因为有数据库的逻辑数据 独立性,从而保证对于外模式和应用程序不受存储模式影响,简化了数据库系统应 用系统的开发、设计工作。 两级独立性简化应用系统的开发,提高开发效率。 概念模

19、式能导出不同应用的多种子模式,减少数据冗余,保证数据的一致性,有利于数 据共享。应用程序只操作自己的子模式范围内的数据,把数据库中其他用户的数据隔离 ,用户对数据库概念模式和存储模式的数据都不可见,有利于数据的安全性和保密性。 第六章 数据资源管理技术 数据库管理系统的组成:查询处理器和存储管理器。 查询处理器:查询处理器主要包括有DDL编译器、DML编译器、嵌入型 DML预编译器、查询运行核心程序。 数据描述语言DDL(Data Description Language):定义数据库的三级结构及其 相互之间的映射,定义数据完整性、安全控制等约束。数据库系统中存储三级结 构定义的数据库称数据字

20、典(data dictionary,DD)。 数据操纵语言DML(Data Manipulation Language):实现数据操作。基本的操 作有查询、插入、删除、更新等四种。DML分交互型和嵌入型两种。 DML语言分:过程性的DML必需指示“做什么”和“怎么做”,层次、网状的DML 属过程性DML。非过程性的DML,如关系型的DML,只需指示“做什么”就可, 操作简单、使用方便,深受广大用户欢迎。 存储管理器:存储管理器主要包括有授权和完整性管理器、事务管理器、文 件管理器、缓冲管理器等,提供数据库保护功能如数据恢复、并发控制、数 据库完整性和安全性控制。 安全性保护:规定用户访问数据库

21、的权限防止非法用户窃取的安全、保密保护措 施。系统可采取多种措施,如鉴定用户身份、口令、数据编密码等安全性保护。 完整性管理:完整性指数据的正确性和一致性,通过对数据及数据间的逻辑关系 施加约束条件来实现。如对字段值类型、取值范围、精度等约束,对实体唯一性 约束,对实体间联系的约束等。 故障恢复:数据库在运行过程中难免会造成数据库被破坏,如磁盘损坏、病毒、 或操作不当等偶然因素使数据丢失,系统能恢复到破坏前的状态称故障恢复。 在使用故障恢复功能时,数据备份,事务管理必不可少。 并发控制:在多用户或网络应用中的数据库,多个用户操作同一数据时,必须控 制不合理的时差有可能造成数据出错现象。 第六章

22、 数据资源管理技术 数据库管理系统的组成 存储管理器: 并发错误解决方法是控制相关进程互斥地访问数据库,如用加锁和开锁控制。用 户程序中使用锁,就可能存在死锁问题。编写应用程序时,必须采取预防死锁的 措施。 数据库的维护功能提供数据库管理员运行DB系统时使用。如数据导入、备份、文 件重组、性能监控等,确保数据库保持最佳工作状态。 用户界面:用户是指使用管理信息系统应用程序的联机终端用户。程序员用 程序设计语言(称宿主语言),设计数据库应用程序或用户界面,编写数据 库应用系统。 DBMS 主要由数据定义语言DDL和数据操作语言DML组成,是基于记录模式的语 言,程序设计语言是基于整数、实数、字符

23、、记录、数组等数据类型的运算模式 的语言,两者之间有“缝隙”。 例如,SQL语言不能直接使用指针,数组等数据结构,程序设计语言也没有DDL、 DML。 有二种处理方式:一是扩充宿主语言的编译程序,使之能处理 SQL语句,如VC+ 、VB 等。另一种是自含语言,DBMS 有自己的编译器,也有程序控制命令,可直 接用于编写数据库应用程序,如 VFP、DELPHI 等,使用方便,很受欢迎。 第六章 数据资源管理技术 关系型数据库 关系模型的特点:数据结构是二维表格,简单易理解;集合论是其理 论基础有严密的关系运算理论和关系模式设计理论: 关系模型面向集合处理,一次可操作多个元组,层次、网状模型一次只

24、 能操作一个元组; 关系模型有视图等工具,应用不随数据库改变而改变,有数据逻辑独立 性; RDBMS 只需指出“做什么”不必指出“怎么做”,层次、网状模型必须在应 用程序中用指针指出数据访问路径。 关系型数据库的基本概念 数据库的数据结构是一个由元组行和属性列组成的关系,或直接称作二维表或表 ,用以表示实体集。用外键实现实体集间的联系。 关系的定义:关系是元组的集合,元组是集合中的元素,一个元组为K(K=1 )个属性的集合。关系有如下限制: 1)关系中每一个属性值不可分解,即不允许“表中套表”,也不允许出现重复值。 2)属性的取值范围称值域,每个属性对应一个值域,不同属性可对应同一值域。关系

25、中各属性的次序不改变关系的实际意义。元组中属性理论上是无序的,但在用户使用时 应考虑其有序排列。 3)关系中元组代表具体实体,不允许出现相同元组。元组的顺序不改变关系的意义。 实际上,关系、元组和属性等术语来自于关系数学,多数人习惯直接将关系称为 表,元组称为记录或行,属性称为字段或列。 第六章 数据资源管理技术 关系型数据库 键(key)又称关键字关系模型的一个重要概念,键是由一个或多个属性组 成。有下列几种键: 超键(super key):在关系模式中,能标识唯一元组的属性集。 侯选键(candidate key):能标识唯一元组又无多余属性的属性集。 主键(主关键字):用户选择使用的标识

26、唯一元组的一个侯选键。主键必须唯一 ,不能为空(NULL),以保证标识唯一元组。 外键:如果关系R中的主键又是另一个关系P的侯选键的组成部分,则它是关系P 的外部主键或简称外键。外键不是关系P的主键,但用它构成关系R和P的联系。 次键又称次关键字:用以标识一类元组的一个或多个属性。 关系数据模型的完整性规则 字段(用户定义)完整性:针对某个具体数据项的约束条件,取决于环境。系统 提供定义和检验完整性的机制,无需应用程序承担,保证收集数据的准确性。 如学生年龄定义为两位数,可进一步限制为1530之间,保证系统收集准确的数据。 记录(实体)完整性:要求关系中元组在主键的属性值不能为空,否则不能起到

27、 唯一标识元组的作用;取决环境,要求元组中某些属性之间的相互约束条件。 如在职工实体集中,职工的年龄应大于等于工龄+16,否则为非法记录。 引用完整性又称参照完整性:关系数据库中依靠外码实现表间的联系,不允许引 用不存在的元组。否则将导致插入或删除异常现象,出现孤立无联系的元组。 如插入一个职工,外码车间号是允许置为空(NULL),但不允许车间号的值不在车间 表中。若要删除车间表中某个元组,对职工表中对应的车间号是必须采取三种方法之一 才能保证引用完整性:一是删除职工表中相关的元组;二是将职工表中相关元组车间号 为空,或其它存在的车间号;三是若职工表中存在要删除车间号时,禁止删除。 第六章 数

28、据资源管理技术 关系模型的操作 关系模型集中反映在关系代数上,它允许用户在整个关系范围内进行操作, 非关系模型所支持的语言一般只能操作数据库的一个记录。 关系模型的操作分为两类:代数操作和关系操作。投影、筛选和联结是所有 RDBMS必备的关系操作,称关系数据库的特征操作。 投影(projection):投影操作从关系中垂直地选择指定的列,消去一些列 ,并重新安排列的顺序构成的关系。即关系进行重点减维,满足某些属性要 求,重新组成的关系。 筛选(select):筛选操作从关系中水平地选择出满足条件要求的元组子集 构成的关系。 联结(join):联结是双目操作,它把两个关系联结成一个新关系,笛卡儿

29、 积是基础。 笛卡儿积(cartesian product):设关系R和S的元数分别为r和s ,则R和S 的笛卡 儿积是一个(r+s)元的元组集合,每个元组前r个分量来自R的一个元组,后s个 分量来自S的一个元组。笛卡儿积联结所得的表(元组和列数)往往十分庞大, 而实际意义不大。 条件联结:是关系R和S的笛卡儿积中选出满足条件两个关系的元组。 自然联结(natural join):是实用价值很大的一种联结,它要求被联结的两个关 系有若干相同的属性(字段)名。在公共属性上具有相等值为依据,进行元组合 并构成的关系。自然联结先做RS计算,再从公共属性上具有相等值为条件筛选 ,提取满足条件的元组,去

30、掉重复的公共属性,得到自然联结的结果。 第六章 数据资源管理技术 关系型数据库 结构化查询语言SQL(Structured Query Language)查询命令 SQL确定为美国国家标准和国际标准的关系数据库语言。目前所有的关系型数据库 管理系统,从大型数据库到微机关系型数据库管理系统都支持SQL。 程序设计人员和终端用户,使用SQL语言对数据库中的数据进行检索、修改、定义 和管理。SQL包括:数据定义、数据查询、数据操纵和数据控制。 特点:SQL语言既是自含式语言,又是嵌入式语言。可用于联机交互使用方式,便 于数据库管理员维护数据库和提取信息,又可嵌入程序设计高级语言的程序中,便 于编写数

31、据库应用程序;SQL语言是面向问题型的语言,在进行数据操作时,只需 指出“做什么”,不必指出“怎么做”,大大减轻了用户的负担;加之功能丰富,语法 简单、易学易用,深受用户欢迎。 查询是SQL的核心,Foxpro 数据库查询命令格式: SELECT ALL/DISTINCT别名.选择项AS 别名,别名.选择项AS 别名 FROM 表名表别名,表名表别名 INTO 目标表名/TO FILE 文件名ADDITIVE/TO PRINTERPROMPT/TO SCREEN WHERE 条件 GROUP BY 分组列,分组列 HAVING 过滤条件 UNION ALL SELECT 命令 ORDER BY

32、 排序项 ASC/DESC,排序项 ASC/DESC 该查询命令共有七个子句,除SELECT和FROM子句外,其它可以任选。 第六章 数据资源管理技术 关系型数据库 SQL查询命令 Foxpro 数据库查询命令格式:FROM子句用来指明查询出自一个或多个表的表 名;INTO短语指明查询结果目标表的去向,忽略INTO短语表明查询结果出现 在BROWSE浏览窗口中。SELECT子句指明查询表(一个或多个表)投影字段 ,选择项还可以是常量、表达式和系统函数,如AVG,MAX,MIN,COUNT 和SUM等用以建立目标表的新字段,用“AS 别名”指定新字段名。WHERE子句 指明查询表记录筛选条件和查

33、询表为多个表时的联接条件,多表条件筛选选中记 录构成目标表的记录集合。忽略WHERE子句表明无筛选或联接条件。 GROUP BY子句将查询结果分组;HAVING子句和GROUP BY子句联用通过“过 滤条件” 进一步说明分组;UNION 子句中,由SELECT命令组成另一个子查询 ,将当前查询结果与子查询的结果进行并操作;ORDER BY将查询结果排序。 例 查询“职工工资”表、显示女职工而且基本工资大于300元的职工名单,要求 显示职工姓名,性别,工作部门,工作日期,基本工资和应发工资。其中应发工 资是新添字段,应发工资=基本工资+煤粮补贴+副食补贴。查询命令: SELECT 职工姓名,性别

34、,工作部门,工作日期,基本工资,基本工资+煤粮补 贴+副食补贴 as 应发工资 FROM 职工工资 WHERE 性别=“女“ AND 基本工资 300 第六章 数据资源管理技术 关系型数据库 关系数据库设计:数据库应用系统可以分步实施,但数据库设计必须先 行,且一定要以系统的、全局的观念进行设计。数据库设计好坏直接影响 应用系统性能,最坏可导致应用系统无法实现。 数据库逻辑设计步骤:用户需求分析;E-R模型设计,确定实体;确定实 体属性及表间的联系;优化设计。 关系数据库实体联系模型:在用户需求的驱动下,可用E-R图确定了系统 所须的实体和实体间的联系。 1:1的联系:将任何一个关系的主键,加

35、入另一关系作为外键,即可两个关系 间的联系。 例 学校与校长两个实体集如下: 学校S(学校名称,地址,电话) 校长P(校长姓名,性别,年龄,职称) 学校与校长间存在1:1联系,建立联系后的关系模型为: 学校S(学校名称,校长姓名,地址,电话) 校长P(校长姓名,性别,年龄,职称) 或 学校S(学校名称,地址,电话) 校长P(校长姓名,学校名称,性别,年龄,职称) 注:直线下划线表示关系的主键,波浪线下划线表示外键。 第六章 数据资源管理技术 关系数据库实体联系模型: 1:M联系:在M端关系中加入1端关系的主键作外键构成联系。 如果将1端关系的主键加入M端关系中作外键构成1:M联系,会造成外键很

36、多冗余。 例 车间和职工两个实体集如下: 车间W(车间号,车间名称,电话) 职工E(职工号,姓名,性别,年龄,聘期) 车间聘用职工是1:M的联系,建立联系后的关系模型为: 车间W(车间号,车间名称,电话) 职工E (职工号,车间号,姓名,性别,年龄,聘期) M:N联系:关系型数据库不支持多对多的联系,引入纽带将其分解为两个一对 多的联系。纽带表分别将二个关系的主键,联系的属性置于纽带表中构成。 例 教学模型中,学生和课程两个实体集为: 学生S (学号,姓名,性别) 课程C (课号,课名,学分,开课学期,学时数) 学生和课程两个实体集间,由学生选课建立M:M联系,选课联系有成绩、积点属性 ,建立

37、联系后的关系模型为: 学生S (学号,姓名,性别) 课程C (课号,课名,学分,开课学期,学时数) 选课SC(学号,课号,成绩,绩点) 选课联系的属性置于称选课的纽带表中,不合适置于学生或课程关系中。 假设用户所需的子模式: 成绩子模式G(学号,姓名,课名,成绩,绩点) 子模式G反映了用户使用的数据视图,对应的数据来自关系模式的s和sc。 第六章 数据资源管理技术 关系数据库规范化理论(Normal Form,简称范式NF) :研究从 多种组合中选取一个性能好的关系集合,减少数据冗余和便于维护。 范式理论对操作数据库设计十分重要,用于确定表的属性定义,表的分解。 表的范式可分5个等级,且满足较

38、高等级范式者必须满足较低等级范式。一 般,满足前三个范式即已有比较满意的性能。 1NF如果关系模式中的关系R,其所有属性的值域中每一个值不可再分解,称R 满足第一范式(1NF),否则将其分解。 表是一个简表,任何一字段不能为子表,或字段值不能是数组、集合、枚举量。 RDBMS 不支持数组、列表和嵌套的原因。 例 工资(工号,姓名,基本工资,加班补贴,交通补贴,) 在工资表套有补贴表,而且补贴项是枚举量,非1NF的关系。如果可能全部列举,有的 职工可能有其中的几项,有的可能一项也没有,空白项浪费存储空间十分可观。如果 采用其它补贴一是无法清楚表达究竟是些什么补贴,二是必须介入人工计算。 将补贴表

39、从工资表分离,对应的两个符合1NF关系为: 工资(工号,姓名,基本工资) 补贴(补贴名称,补贴数) 2NF满足1NF的关系R,且R中每一个非主属性完全函数依赖于主键属性,则称 R满足第二范式。即每一个非主属性不能函数依赖主键属性的一部分。 例 学生社团(学号,社团代号,姓名,性别,社团名称) 满足1NF,但不满足2NF,学生姓名、性别只依赖于学号,和社团无关。社团名称只依 赖于社团代号,和学号无关。 关系数据库规范化理论 不满足2NF关系,会引起数据冗余和插入、删除异常现象。例如插入新社团而缺少学 号无法添加;当删去某个学生信息时,可能会丢失有关的社团信息。解决方法:将非 函数依赖部分分解成二

40、个或多个满足要求第二范式(2NF)的关系。 学生(学号,姓名,性别) 社团(社团代号,名称) 学生社团(学号,社团代号) 3FN满足第二范式的关系R,且非主链属性都不传递依赖主链属性,则R满足 第三范式的关系。 例 产品供销(产品代码,名称,规格,供应商名,供应商地址) 非3FN关系同样存在冗余和更新异常问题。解决方法,分解成多个满足3FN的关系。 产品(产品代码,名称,规格,供应商名) 供应商(供应商名,供应商地址) 关系规范化实际上是关系分解,关系属性确定的过程,通过分解使关系达到较高 的范式。分解可有多种可能性,但必须遵循关系分解的基本原则: 无损分解原则,即分解后不丢失信息; 独立关系

41、分解原则,即分解后的关系必须相互独立,避免对一个关系的修改,涉 及到另一个关系。 关系型数据库最大特点之一,它有坚实的理论基础。关系代数以集合代数为基础 ,以关系(表)为分散对象的一组分散集合。 第六章 数据资源管理技术 第六章 数据资源管理技术 数据库技术的发展 分布式数据库系统:是数据库DB技术与网络技术结合的产物。 集中式数据库系统:数据集中在一台服务器上,完成数据管理和数据处 理。集中数据易于管理,可减少冗余,应用程序与数据间有较高的独立 性。但系统不灵活,安全性差,数据服务器发生故障,导致系统瘫痪。 分布式数据库系统:将数据库分散在多台服务器上,通过网络通信连接 构成逻辑整体,分布式

42、DBMS管理分布环境下逻辑集成数据的存取、一 致性、有效性和完整性的软件。 分布式数据库系统灵活、可扩展性好、可靠性高、局部应用响应速度快 ,特别适合分布式管理和控制的机构。但数据安全性和保密性处理困难 ,远程访问时,化费在通信上的开销较大,如系统并发控制、故障恢复 和远程数据访问技术复杂。 分布式数据库系统是非常实用、有发展前景的数据库系统。 面向对象数据库:是面向对象技术与数据库技术结合的产物。 RDBMS只能处理格式化数据,不能处理非格式化多媒体数据,如图形、 图象、声音、正文等,也不支持新的数据类型和嵌套、递归的数据结构 ,难以满足计算机应用领域的拓宽的需要,如CAD/CAM、CIMS

43、、 CASE、OA等领域的应用。 有两种模型:对象关系模型ORDBMS是在传统关系数据库上,扩充SQL 语言,支持处理非结构化数据的结构。面向对象模型OODBMS是在程序 设计语言OOPL上扩充能操作持久性数据,处理数据库。 第六章 数据资源管理技术 数据库技术的发展 数据集市和数据仓库:一个组织或企业在运转时,系统数据库应该 随时收集数据,称操作数据库,它为联机事务处理OLTP提供服务 。数据仓库(Data Warehouse)的目的是巩固、存储和管理从数据 库中抽取的数据,用以分析、解释,用业务所积累的数据作指导, 支持趋势、分析、解释和组织的决策。 数据仓库是一个面向主题的、集成的、稳定

44、的数据集合,主要用于 非结构化决策的联机分析处理OLAP,是操作数据库的数据库。数 据按主题组织,具有时间片的、历史数据,不被更改。 因为,非结构化决策所遇到的问题具有不确定性,数据仓库必须有 较操作数据库大得多的容量,适应联机分析处理、决策支持的所需 。 数据仓库可以很快成长为一个大系统,经常是千兆字节的信息,任 何特殊或不经常使用的分析查询对数据访问都会成为问题。数据集 市(Data Mart)是一个部门或小的数据仓库,被一个小组织优化和 维护,以满足他们的需求。数据集市可以认为是部门仓库或小仓库 ,是主仓库的子仓库。 第六章 数据资源管理技术 在没有任何解释时,数据本身没有多大意义,数据

45、及对数据的解释、分 析构成信息。信息是一种价值高于原数据的资源。 操作数据库:保障组织业务的运作,跟踪组织运作的整过程,其特点: 集中在某个特定时间,针对少量不连续的记录 要求操作数据尽可能和实际情况的变化同步更新 要求系统对所有用户的每项操作提供实时响应 OLTP应用程序允许用户在任何时间操作其个人/少数人的数据,操作数据 库关键是规范化,消除操作数据库的冗余,提供快速响应能力 适用于事务管理,确保在更新多个数据表时保持表间数据一致性,虽然增 加了数据库的开销,但对经常发生数据变化的数据库十分必要 分析型数据库:解决数据分析问题,它能对大数据量、复杂的查询作出 快速反映。适用于OLAP。其特

46、点: 多维数据结构、集成的存储数据 能够预先汇总和求平均值,即时查询涉及成千上万条记录也能迅速响应 两种数据库设计比较: 操作型数据库采用规范化技术尽量减少和消除冗余,便于数据修改 分析型数据库数据不仅可以接受冗余,而且鼓励使用冗余,保留重复信息 ,查询处理器只需要数据库的一部分就能够查询到要求的相关信息,改善 系统性能。 第六章 数据资源管理技术 OLTP与OLAP数据库设计需求对照 事务型数据库(OLTP) 分析型数据库(OLAP) 处理个别记录 关注一般趋势 高生产率(每天数百万事务处理) 低生产率(每天只有数十或数百记录) 系统的操作改变数据 系统的操作可以回答问题 查询只涉及几条记录 查询经常波及整个数据库 许多操作更改源数据 大多数操作是只读,不可更改 支持事务处理 不支持事务处理,支持决策 需要完全时实更新 经常批量更新(例如晚上或周末) 能很快反应新数据 最终反应新数据

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1