第1章 数据库基本理论A.ppt_第1页
第1章 数据库基本理论A.ppt_第2页
第1章 数据库基本理论A.ppt_第3页
第1章 数据库基本理论A.ppt_第4页
第1章 数据库基本理论A.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP程序设计 第 章数据库基本理论 教学内容 数据库基础理论 VisualFoxPro6 0的基本操作 结构化程序设计的基本方法 面向对象可视化编程方法 步骤 应用系统开发的方法 步骤 本章要点 信息 数据和数据处理数据库和数据模型数据库管理系统数据库应用系统数据库系统及体系结构 信息 数据和数据处理 1 信息与数据信息 Information 是以数据为载体的客观世界实际存在的事物 事件或概念在人们头脑中的反映 数据 Data 是反映客观事物属性的记录 是信息的载体 对客观事物属性的记录是用一定的符号来表达的 因此说数据是信息的具体表现形式 数据与信息的区别 信息是有用的数据 数据是信息的表现形式 信息是通过数据符号来传播的 数据如不具有知识性和有用性则不能称其为信息 用数据符号表示信息 其形式通常有三种 数值型数据 即对客观事物进行定量记录的符号 如体重 年龄 价格等 字符型数据 即对客观事物进行定性记录的符号 如姓名 单位 地址等 特殊型数据 如声音 视频 图像等 信息 数据和数据处理 从计算机的角度看 数据泛指那些可以被计算机接受并能够被计算机处理的符号 2 数据处理随着计算机技术的发展 计算机系统从单一的数值计算逐渐扩展到了数据处理的各个领域 所谓数据处理实际上就是利用计算机对各种类型的数据进行处理 它包括对数据的采集 整理 存储 分类 排序 检索 维护 加工 统计和传输等一系列操作过程 数据处理的目的是从大量的 原始的数据中获得我们所需要的资料并提取有用的数据成份 作为行为和决策的依据 信息 数据和数据处理 数据处理技术的发展大致经历了以下三个阶段 1 人工管理阶段 2 文件管理阶段 3 数据库管理阶段 1 人工管理阶段这个阶段处理的数据量很小 程序员只能自己编程管理数据 并将他们与程序紧密结合在一起 程序与数据相互依赖 无法实现共享 信息 数据和数据处理 人工管理方式出现在计算机应用于数据管理的初期 由于没有必要的软件 硬件环境的支持 用户只能直接在裸机上操作 用户的应用程序中不仅要设计数据处理的方法 还要阐明数据在存贮器上的存贮地址 在这一管理方式下 用户的应用程序与数据相互结合不可分割 当数据有所变动时程序则随之改变 程序的独立性差 另外 各程序之间的数据不能相互传递 缺少共享性 因而这种管理方式既不灵活 也不安全 编程效率很低 信息 数据和数据处理 2 文件管理阶段文件管理方式即把有关的数据组织成一种文件 这种数据文件可以脱离程序而独立存在 由一个专门的文件管理系统实施统一管理 程序 数据 b 文件管理 文件管理系统是一个独立的系统软件 它是应用程序与数据文件之间的一个接口 在这一管理方式下 应用程序通过文件管理系统对数据文件中的数据进行加工处理 应用程序的数据具有一定的独立性 也比手工管理方式前进了一步 但是 数据文件仍高度依赖于其对应的程序 不能被多个程序所通用 由于数据文件之间不能建立任何联系 因而数据的通用性仍然较差 冗余量大 信息 数据和数据处理 3 数据库管理阶段数据库系统管理方式即对所有的数据实行统一规划管理 形成一个数据中心 构成一个数据仓库 数据库中的数据能够满足所有用户的不同要求 供不同用户共享 程序 c 数据库管理 数据库 数据库管理系统 数据库 程序 在数据库系统管理的系统环境下 应用程序对数据的管理和访问灵活方便 而且数据与应用程序之间完全独立 使程序的编制质量和效率都有所提高 由于数据文件间可以建立关联关系 数据的冗余大大减少 数据共享性显著增强 信息 数据和数据处理 采用数据库系统管理具有以下优点 1 编制程序极为简单 2 程序中不需要了解数据的数量和顺序 只需要知道你准备操作的那部分数据的名字及数据类型 3 可直接对数据的某一部分分量进行操作 而无需知道全面的数据结构 其他分量的个数 名字和数据类型 4 程序将无需随数据结构的改变而修改 信息 数据和数据处理 与文件系统比较 数据库系统管理具有以下特点 1 数据的结构化在文件系统中 数据在整体上是没有结构的 数据库系统则不同 在同一数据库中的数据文件是有联系的 且在整体上服从一定的结构形式 2 数据共享共享是数据库系统的目的 也是他的重要特点 一个库中的数据不仅可为同一企业或机构之内的各个部门所共享 也可为不同单位 地域甚至不同国家的用户所共享 而在文件系统中 数据一般是由特定的用户所专用的 信息 数据和数据处理 与文件系统比较 数据库系统管理具有以下特点 3 数据独立性在文件系统中 数据和应用程序相互依赖 一方的改变总是要影响另一方的改变 数据库系统则力求减小这种相互依赖 实现数据的独立性 4 可控冗余度数据专用时 每个用户拥有并使用自己的数据 难免有许多数据相互重复 这就是冗余 实现共享后 不必要的重复将全部消除 但为了提高查询效率 有时也保留少量重复数据 其冗余度是可调节的 信息 数据和数据处理 所谓数据库 就是以一定的组织方式将相关的数据组织存储在一起形成的 能为多个用户共享的 与应用程序彼此独立的一组相关数据的集合 数据库的性质是由其中的数据模型决定的 客观事物的普遍联系性决定了作为事物属性记录符号的数据与数据之间也存在着一定的联系性 具有联系性的相关数据总是按照一定的组织关系排列 从而构成一定的结构 对这种结构的描述就是数据模型 数据库和数据模型 常用的数据模型有层次模型 网络模型和关系模型三种 人才管理中心 北京市 国有企业界 科研机构 高等院校 广东省 黑龙江省 上海市 1 层次模型层次模型表示数据间的从属关系结构 是一种以记录某一事物的类型为根结点的有向树结构 层次模型象一棵倒置的树 根结点在上 层次最高 子结点在下 逐层排列 数据库和数据模型 2 网状模型网状模型是层次模型的扩展 表示多个从属关系的层次结构 呈现一种交叉关系的网络结构 网状模型可以表示较复杂的数据结构 即可以表示数据间的纵向关系与横向关系 这种数据模型在概念上 结构上都比较复杂 操作上也有很多不便 数据库和数据模型 3 关系模型用二维表格作为基本的数据结构 通过公共的关键字段来实现不同二维表之间 或 关系 之间 的数据联系 数据库和数据模型 关系模型的主要特点有 关系中每一数据项不可再分 是最基本的单位 每一竖列数据项是同属性的 列数根据需要而设 且各列的顺序是任意的 每一横行记录由一个事物的诸多属性项构成 记录的顺序可以是任意的 一个关系是一张二维表 不允许有相同的字段名 也不允许有相同的记录行 数据库和数据模型 数据库的分类 数据库和数据模型 前面介绍的数据模型是对数据库如何组织的一种模型表示 数据模型的主要特征是数据结构 因此数据模型的确定 就等于确定了数据间的关系 即数据库的框架 有了数据间的关系框架 再把表示客观事物具体特征的数据装入框架中 就形成了数据库 数据库的性质是由其中的数据模型决定的 在数据库中的数据如果依照层次模型进行数据存储 则该数据库为层次型数据库 如果依照网状模型进行数据存储 则该数据库为网状数据库 如果依照关系模型进行数据存储 则该数据库为关系数据库 VisualFoxPro数据库管理系统所管理的数据 都是依照关系模型进行存储的 因此其数据库为关系数据库 数据库的分类 数据库和数据模型 数据库 非关系型 关系型 层次型数据库 网状数据库 关系数据库 数据库系统的分代 非关系型 层次 网状 关系型RDBS 第一代 第二代 第三代 对象 关系数据库系统ORDBS 层次数据库 采用树作为数据结构 网状数据库 采用图作为数据结构 一次查询只能访问一个记录 RelationalDatabaseSystems 采用线性表即表格来组织数据 采用的每一个表称作一个关系 表的一行称为一个记录 代表一个实体 而每一列称为字段 代表一个实体的属性 一次查询仅用一条命令或语句 就可以访问整个关系 二维表 效率提高 通过多表联合操作 可以对有关联的若干表实现 关联 查询 object rationaldatabasesystems 除包含第二代数据库系统功能外 还应支持正文 图象 声音等数据类型 支持类 继承 函数 方法等对象机制 提供高度集成的 可支持客户机 服务器应用的用户接口 关系数据库 数据库和数据模型 关系数据库 RelationDatabase 是若干个依照关系模型设计的数据表文件的集合 也就是说 关系数据库是由若干张完成关系模型设计的二维表组成的 一张二维表为一个数据表 数据表包含数据及数据间的关系 一个关系数据库由若干个数据表组成 数据表又由若干个记录组成 而每一个记录是由若干个以字段属性加以分类的数据项组成的 在关系数据库中 每一个数据表都具有相对的独立性 这一独立性的唯一标志是数据表的名字 称为表文件名 关系数据库的组成 数据库和数据模型 关系数据库 dbc 数据表一 数据表二 数据表三 记录 记录 记录 数据库和数据模型 关系数据库数据的规范化 关系模型是以关系集合理论中重要的数学原理为基础的 通过创建某一关系中的规范化准则 既可以方便数据库中数据的处理 又可以给程序设计带来方便 这一规范化准则称为数据规范化 DataNormalization 关系模型的规范化理论是研究如何将一个不好的关系模型转化为一个好的关系模型的理论 它是围绕范式而建立的 规范化理论认为 关系数据库中的每一个关系都要满足一定的规范 根据满足规范的条件不同 可以化分为五个等级 分别称为第一范式 1NF 第二范式 2NF 第五范式 5NF 其中 NF是 normalform 的缩写 通常在解决一般性问题时 只要把数据规范到第三个范式标准就可以满足需要 数据库和数据模型 关系数据库数据的规范化 关系模型规范化的三条原则如下 1 第一范式 在一个关系中 消除重复字段 且各字段都是不可分的基本数据项 2 第二范式 若关系模型属于第一范式 则关系中每一个字段都完全依赖于主关键字段的每一部分 3 第三范式 若关系模型属于第一范式 且关系中所有非主关键字段都只依赖于主关键字段 以下是某专门人才管理中心有关专门人才的信息 如表1 1所示 表 1信息中心专门人才基本情况一览表 规范化的基本思想是逐步消除数据依赖关系中不合适的部分 使依赖于同一个数据模型的数据达到有效的分离 遵循数据规范化原则 为了方便 有效地使用这些信息资源 可以将表1 1分成三个独立的数据表 表1 2 表1 3及表1 4 使每一个数据表都具有独立的属性 同时又依赖于共同的关键字段 编号 并且使数据表间保持一定的关联关系 且三个数据表中的数据又能体现表1 1中的全部信息 三个独立的数据表的内容如下 1 专门人才基本情况一览表 如表1 2所示 它收入了信息中心管理的专门人才的自然情况 2 专门人才专业特长一览表 如表1 3所示 它收入了信息中心专门人才的专业特长情况 3 专门人才成就成果情况一览表 如表1 4所示 它收入了信息中心专门人才的成就及成果情况 数据库和数据模型 表 2信息中心专门人才基本情况一览表 表1 3信息中心专门人才专业特长一览表 表1 4信息中心专门人才成就成果一览表 以上三个表中的数据 包含了表1 1中所有的有关专门人才的信息 可以看出 若将这些数据集中在一个表中 表1 1 则表的结构十分复杂 若将表1 1做成二维表就会有许多数据重复出现 造成数据的冗余 这必然导致数据存储空间的浪费 使数据的输入 查找和修改更加麻烦 相反 遵循由于依赖数据规范化的准则建立多个相互关联的数据表 并让这些分开的数据表依靠关键字段保持一定的关联关系 就可以有效的改进上述缺点 在数据库管理系统环境下 可将这些相关联的数据表存储在同一个数据库中 并保持一定的关联关系 使用时如同一个表一样 操作更方便 如图1 1 数据库和数据模型 一对一 一对多 如图1 1 专门人才基本情况数据库 表1 2 表1 3 表1 4 把这些依赖于关系模型建立的数据表组织在一起 可以反映客观事物数据间的多种对应关系 一般情况下 同一个数据库中的相关联的表间关系有一对一 一对多 多对一和多对多关系 1 一对一关系一对一关系 即在两个数据表中选一个相同字段做为关键字段 把其中一个数据表中的关键字段称为原始关键字段 该字段值是唯一的 而另一个数据表中的关键字段称为外来关键字段 该字段值是唯一的 如通过编号这一相同字段可将表1 2与表1 3联系起来 表1 2中的编号为原始关键字段 该字段值是唯一的 表1 3中的编号为外来关键字段 该字段值也是唯一的 两个表便构成了一对一的关系 数据库和数据模型 预览表 2 一对多关系一对多关系 即在两个数据表中选一个相同的字段做为关键字段 把其中一个数据表的关键字段称为原始关键字段 该字段值是唯一的 而把另一个数据表中的关键字段称为外来关键字段 该字段值是重复的 如通过编号这一相同字段可将表1 2与表1 4联系起来 表1 2中的编号为原始关键字段 该字段值是唯一的 而表1 4中的编号为外来关键字段 该字段值是重复的 两个表便构成了一对多的关系 把一个复杂的表分成一对多的关系 尽管重复还存在 但仅仅是外来关键字段的重复 这就减少了数据输入及数据存储的复杂性 数据库和数据模型 预览表 3 多对一关系多对一关系与一对多关系是类似的 唯一的区别是在两个相关联的数据表中 选择哪一个数据表中的关键字段为原始关键字段 该字段值是重复的 即把这个数据表称为父表 与它关联的另一个数据表中的关键字段称为外来关键字段 该字段值是唯一的 称其为子表 两个表便构成了多对一的关系 在表1 4与表1 2中 如果以表1 4中编号为原始关键字段 该字段值是重复的 而表1 2中的编号为外来关键字段 该字段值是唯一的 便构成了多对一的关系 在这两个关联表中 我们称表1 4为父 称表1 2为子表 数据库和数据模型 预览表 4 多对多关系多对多关系 即在两个数据表中选一个相同字段做为关键字段 把其中一个数据表关键字段称为原始关键字段 该字段值是重复的 而把另一个数据表中的关键字段称为外来关键字段 该字段值也是重复的 这样两个数据表间就有了多对多的关系 要处理多对多的关系 只要把多对多的关系分成两个不同的多对一或一对多的关系便可 总之 数据规范化的准则并不是法律 它只是在用户建立数据结构时起到一个指导性的作用 以减少对应用程序的灵活性的限制 提高数据的使用率 数据库和数据模型 数据库和数据模型 数据表的关系运算 选择 从表中选择出某一范围或满足某一条件的记录进行操作 如 Listallfor 王 姓名投影 从表中选择某一些字段进行操作 如 Sorttonewon平均分fields学号 姓名 平均分连接 从两张以上的表中选择适当的数据连接成一个新的关系 如 JoinwithBfor学号 B 学号 数据库管理系统 DBMS 正如使用高级语言需要解释 编译程序的支持一样 使用数据库语言也需要一个特定的支持软件 这就是 数据库管理系统 数据库管理系统 DataBaseManagementSystem 是在建立在操作系统基础上的帮助用户建立 使用和管理数据库的软件系统 是数据库系统的核心组成部分 也是用户和程序操作数据库的界面 它担负着计算机操作者和数据库之间的解释 翻译工作 数据库管理系统 DBMS 数据库管理系统通常由三个部分组成 数据定义语言 DDL 用于定义和建立数据库 数据操作语言 DML 用于增加 删除 修改和检索数据库中的数据 数据库管理例行程序 负责数据的安全性控制 完整性控制 并发控制 通信控制 数据存取 数据修改以及工作日志 数据库转储 数据库重新组织等公用管理事务 一种DBMS只能支持一种模型的数据库系统 目前在PC机上使用的都是关系数据库管理体统 目前较有影响的DBMS有 ORACLE DB2 SYSBASE SQL server ACCESS VF等 数据库应用系统 DBAS 数据库应用系统 DataBaseApplicationSystem 专指基于数据库的应用系统 一个DBAS通常由数据库和应用程序两部分组成 他们都需要在DBMS支持下开发 数据库设计 概念结构设计 逻辑结构设计 数据库物理设计应用程序开发 功能分析 总体设计 模块设计 编码调试 数据库系统 DBS 数据库系统 DataBaseSystem 是指计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论