




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxPro 1 教学辅助课件 VisualFoxPro6 0关系数据库系统是新一代数据库管理系统的杰出代表 以它强大的性能 完整而又丰富的工具 超高速的速度 极其友好的界面 以及完备的兼容性等特点 吸引众多的国内外用户 倍受广大用户的欢迎 VisualFoxPro6 0及它的中文版 是可运行于Windows95和WindowsNT平台的32位数据库开发系统 它不仅可以简化数据库管理 而且能使应用程序的开发流程更为合理 VisualFoxPro6 0使组织数据 定义数据库规则和建立应用程序等工作变得简单易行 利用可视化的设计工具和向导 用户可以快速创建表单 查询和打印报表 VisualFoxPro6 0还提供了一个集成化的系统开发环境 它不仅支持过程式编程技术 而且在语言方面作了强大的扩充 支持面向对象可视化编程技术 拥有功能强大的可视化程序设计工具 前言 在目前 VisualFoxPro6 0是用户收集信息 查询数据 创建集成数据库系统 进行实用系统开发较为理想的软件 本课程是根据教育部提出的非计算机专业计算机基础教学三个层次要求 是以VisualFoxPro6 0为主要内容介绍关系数据库管理系统基础理论及应用系统开发知识 不仅介绍数据库基础理论 介绍了VisualFoxPro6 0的基本操作 而且介绍面向对象可视化编程 应用系统开发的方法 步骤 本课程将通过大量的 实用的 丰富多彩的实例讲述面向对象编程的概念 深入浅出地使学生学会VisualFoxPro6 0基本操作 面向对象编程及应用系统开发 前言 第一章 数据库系统基础知识 章目录 1 1数据管理技术的发展1 2数据库系统1 3数据模型1 4关系数据库1 5VisualFoxPro系统简介 1 1数据管理技术的发展 1 1 1数据与数据处理1 数据和信息数据是人们用于记录事物情况的物理符号 为了描述客观事物而用到的数字 字符以及所有能输入到计算机中并能被计算机处理的符号都可以看作数据 有两种基本形式的数据 数值型数据 字符型数据 此外 还有图形 图像 声音等多媒体数据 信息是数据中所包含的意义 通俗地讲 信息是经过加工处理并对人类社会实践和生产活动产生决策影响的数据 数据与信息既有区别 又有联系 数据是表示信息的 但并非任何数据都能表示信息 信息只是加工处理后的数据 是数据所表达的内容 另一方面信息不随表示它的数据形式而改变 它是反映客观现实世界的知识 而数据则具有任意性 用不同的数据形式可以表示同样的信息 数据处理是指将数据转换成信息的过程 它包括对数据的收集 存储 分类 计算 加工 检索和传输等一系列活动 其基本目的是从大量的 杂乱无章的 难以理解的数据中整理出对人们有价值 有意义的数据 即信息 作为决策的依据 2 数据处理 1 1 2数据管理技术 1 人工管理阶段20世纪50年代中期以前 计算机主要应用于科学计算 数据量较少 一般不需要长期保存数据 硬件方面 没有磁盘等直接存取的外存储器 软件方面 没有对数据进行管理的系统软件 在此阶段 对数据的管理是由程序员个人考虑和安排的 他们既要设计算法 又要考虑数据的逻辑结构 物理结构以及输入输出方法等问题 程序与数据是一个整体 一个程序中的数据无法被其他程序使用 因此程序与程序之间存在大量的重复数据 数据存储结构一旦有所改变 则必须修改相应程序 应用程序的设计与维护负担繁重 2 文件系统阶段20世纪50年代后期至60年代后期 计算机开始大量用于数据管理 硬件上出现了直接存取的大容量外存储器 如磁盘 磁鼓等 这为计算机系统管理数据提供了物质基础 软件方面 出现了操作系统 其中包含文件系统 这又为数据管理提供了技术支持 文件系统提供了在外存储器上长期保存数据并对数据进行存取的手段 文件的逻辑结构与存储结构有一定区别 即程序与数据有一定的独立性 数据的存储结构变化 不一定影响到程序 因此程序员可集中精力进行算法设计 并大大减少了维护程序的工作量 文件系统使计算机在数据管理方面有了长足的进步 时至今日 文件系统仍是一般高级语言普遍采用的数据管理方式 然而当数据量增加 使用数据的用户越来越多时 文件系统便不能适应更有效地使用数据的需要了 其症结表现在3个方面 1 数据的冗余度大 由于数据文件是根据应用程序的需要而建立的 当不同的应用程序所需要使用的数据有许多部分相同时也必须建立各自的文件 即数据不能共享 造成大量重复 这样不仅浪费存储空间 而且使数据修改变得非常困难 容易产生数据不一致 即同样的数据在不同的文件中所存储的数值不同 造成矛盾 2 数据独立性差 在文件系统中 数据和应用程序是互相依赖的 即程序的编写与数据组织方式有关 如果改变数据的组织方式 就必须修改有关应用程序 这无疑将增加用户的负担 此外 数据独立性差也不利于系统扩充 系统移植等开发推广工作 3 缺乏对数据的统一控制管理 在同一个应用项目中的各个数据文件没有统一的管理机构 数据完整性和安全性很难得到保证 数据的保护等均交给应用程序去解决 使得应用程序的编制相当繁琐 较好地解决文件系统存在的问题 正是数据库系统的目标 3 数据库系统阶段20世纪60年代后期 计算机在管理中应用规模更加庞大 数据量急剧增加 数据共享性更强 硬件价格下降 软件价格上升 编制和维护软件所需成本相对增加 其中维护成本更高 这些成为数据管理在文件系统的基础上发展到数据库系统的原动力 在数据库系统中 由一种叫做数据库管理系统 DBMS DatabaseManagementSystems 的系统软件来对数据进行统一的控制和管理 从而有效地减少了数据冗余 实现了数据共享 解决了数据独立性问题 并提供统一的安全性 完整性和并发控制功能 数据库是在数据库管理系统的集中控制之下 按一定的组织方式存储起来的 相互关联的数据集合 在数据库中集中了一个部门或单位完整的数据资源 这些数据能够为多个用户同时共享 且具有冗余度小 独立性和安全性高等特点 数据库技术的发展先后经历了层次数据库 网状数据库和关系数据库 层次数据库和网状数据库可以看作是第一代数据库系统 关系数据库可以看作是第二代数据库系统 自20世纪70年代提出关系数据模型和关系数据库后 数据库技术得到了蓬勃发展 应用也越来越广泛 但随着应用的不断深入 占主导地位的关系数据库系统已不能满足新的应用领域的需求 正是实际中涌现出的许多问题 促使数据库技术不断向前发展 涌现出许多不同类型的新型数据库系统 下面概要性地作一些介绍 1 分布式数据库系统 分布式数据库系统 DistributedDatabaseSystem 是在集中式数据库基础上发展起来的 是数据库技术与计算机网络技术 分布处理技术相结合的产物 分布式数据库系统是地理上分布在计算机网络不同结点 逻辑上属于同一系统的数据库系统 能支持全局应用 同时存取两个或两个以上结点的数据 2 面向对象数据库系统 面向对象数据库系统 Object OrientedDatabaseSystem 是将面向对象的模型 方法和机制 与先进的数据库技术有机地结合而形成的新型数据库系统 它从关系模型中脱离出来 强调在数据库框架中发展类型 数据抽象 继承和持久性 它的基本设计思想是 一方面把面向对象语言向数据库方向扩展 使应用程序能够存取并处理对象 另一方面扩展数据库系统 使其具有面向对象的特征 提供一种综合的语义数据建模概念集 以便对现实世界中复杂应用的实体和联系建模 因此 面向对象数据库系统首先是一个数据库系统 具备数据库系统的基本功能 其次是一个面向对象的系统 针对面向对象的程序设计语言的永久性对象存储管理而设计的 充分支持完整的面向对象概念和机制 3 多媒体数据库系统 多媒体数据库系统 Multi mediaDatabaseSystem 是数据库技术与多媒体技术相结合的产物 在许多数据库应用领域中 都涉及到大量的多媒体数据 这些与传统的数字 字符等格式化数据有很大的不同 都是一些结构复杂的对象 4 数据仓库 信息技术的高速发展 数据库应用的规模 范围和深度不断扩大 一般的事务处理已不能满足应用的需要 企业界需要在大量信息数据基础上的决策支持 数据仓库 DataWarehouse 技术的兴起满足了这一需求 数据仓库作为决策支持系统 DecisionSupportSystem 的有效解决方案 涉及3方面的技术内容 数据仓库技术 联机分析处理 On LineAnalysisProcessing OLAP 技术和数据挖掘 DataMining 技术 1 2 1数据库系统的组成数据库系统是把有关计算机硬件 软件 数据和人员组合起来为用户提供信息服务的系统 因此 数据库系统是由计算机系统 数据库及其描述机构 数据库管理系统和有关人员组成 是由这几个方面组成的具有高度组织性的总体 1 硬件数据库系统对计算机硬件的要求除要求CPU的处理速度高 内存容量大以外 还要求有足够的外存空间以存储数据库中的数据 1 2数据库系统 2 软件数据库系统中的软件包括操作系统 数据库管理系统及数据库应用系统等 数据库管理系统是数据库系统的核心软件之一 它提供数据定义 数据操作 数据库管理 数据库建立和维护以及通信等功能 数据库应用系统是指系统开发人员利用数据库系统资源开发出来的 面向某一类实际应用的应用软件系统 它分为两类 1 管理信息系统 这是面向机构内部业务和管理的数据库应用系统 2 开放式信息服务系统 这是面向外部 提供动态信息查询功能 以满足不同信息需求的数据库应用系统 3 数据库数据库系统中的数据库是按一定法则存储在计算机外存储器中的大批数据 它不仅包括描述事物的数据本身 而且还包括相关事物之间的联系 数据库中的数据往往不是像文件系统那样 只面向某一项特定应用 而是面向多种应用 可以被多个用户 多个应用程序共享 其数据结构独立于使用数据的程序 对于数据的增加 删除 修改和检索由系统软件进行统一的控制 无论是哪一类信息系统 从实现技术角度而言 都是以数据库技术为基础的计算机应用系统 4 数据库系统的有关人员数据库系统的有关人员主要有3类 最终用户 数据库应用系统开发人员和数据库管理员 DBA DatabaseAdministrator 最终用户指通过应用系统的用户界面使用数据库的人员 他们一般对数据库知识了解不多 数据库应用系统开发人员包括系统分析员 系统设计员和程序员 系统分析员负责应用系统的分析 他们和用户 数据库管理员相配合 参与系统分析 系统设计员负责应用系统设计和数据库设计 程序员则根据设计要求进行编码 数据库管理员是数据管理机构的一组人员 他们负责对整个数据库系统进行总体控制和维护 以保证数据库系统的正常运行 1 2 3数据库系统的特点1 数据共享数据共享是指多个用户可以同时存取数据而不相互影响 数据共享包括以下三个方面 所有用户可以同时存取数据 数据库不仅可以为当前的用户服务 也可以为将来的新用户服务 可以使用多种语言完成与数据库的接口 2 减少数据冗余数据冗余就是数据重复 数据冗余既浪费存储空间 又容易产生数据的不一致 在非数据库系统中 由于每个应用程序都有自己的数据文件 所以数据存在着大量的重复 数据库从全局观念来组织和存储数据 数据已经根据特定的数据模型结构化 在数据库中用户的逻辑数据文件和具体的物理数据文件不必一一对应 从而有效地节省了存储资源 减少了数据冗余 增强了数据的一致性 3 具有较高的数据独立性所谓数据独立是指数据与应用程序之间的彼此独立 它们之间不存在相互依赖的关系 在数据库系统中 数据库管理系统通过映像 实现了应用程序对数据的逻辑结构与物理存储结构之间较高的独立性 数据库的数据独立包括两个方面 1 物理数据独立 数据的存储格式和组织方法改变时 不影响数据库的逻辑结构 从而不影响应用程序 2 逻辑数据独立 数据库逻辑结构的变化 如数据定义的修改 数据间联系的变更等 不影响用户的应用程序 4 增强了数据安全性和完整性保护数据库加入了安全保密机制 可以防止对数据的非法存取 由于实行集中控制 有利于控制数据的完整性 数据库系统采取了并发访问控制 保证了数据的正确性 另外 数据库系统还采取了一系列措施 实现了对数据库破坏的恢复 1 3 1实体及其联系1 实体从数据处理的角度看 现实世界中的客观事物称为实体 它可以指人 如一个教师 一个学生等等 也可以指物 如一本书 一张桌子等 它不仅可以指实际的物体 还可以指抽象的事件 如一次借书 一次奖励等等 它还可以指事物与事物之间的的联系 如学生选课 客户订货等 1 3数据模型 一个实体可有不同的属性 属性描述了实体某一方面的特性 例如 教师实体可以用教师编号 姓名 性别 出生日期 职称 基本工资 研究方向等属性来描述 每个属性可以取不同的值 对于具体的某一教师 其编号为10121 姓名为张衡梨 性别为男 出生日期为1963年9月7日 职称为教授 基本工资为678元 研究方向为网络信息系统 分别为上述教师实体属性的取值 属性值的变化范围称作属性值的域 如性别这个属性的域为 男 女 职称的域为 助教 讲师 副教授 教授 等等 由此可见 属性是个变量 属性值是变量所取的值 而域是变量的变化范围 由上可见 属性值所组成的集合表征一个实体 相应的这些属性的集合表征了一种实体的类型 称为实体型 例如上面的教师编号 姓名 性别 出生日期 职称 基本工资 研究方向等表征 教师 这样一种实体的实体型 同类型的实体的集合称为实体集 在VisualFoxPro中 用 表 来表示同一类实体 即实体集 用 记录 来表示一个具体的实体 用 字段 来表示实体的属性 显然 字段的集合组成一个记录 记录的集合组成一个表 相应于实体型 则代表了表的结构 2 实体间的联系实体之间的对应关系称为联系 它反映了现实世界事物之间的相互关联 例如 图书和出版社之间的关联关系为 一个出版社可出版多种书 同一种书只能在一个出版社出版 实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系 实体之间有各种各样的联系 归纳起来有3种类型 1 一对一联系 1 1 如果对于实体集A中的每一个实体 实体集B中有且只有一个实体与之联系 反之亦然 则称实体集A与实体集B具有一对一联系 2 一对多联系 1 n 如果对于实体集A中的每一个实体 实体集B中有多个实体与之联系 反之 对于实体集B中的每一个实体 实体集A中至多只有一个实体与之联系 则称实体集A与实体集B有一对多的联系 3 多对多联系 m n 如果对于实体集A中的每一个实体 实体集B中有多个实体与之联系 而对于实体集B中的每一个实体 实体集A中也有多个实体与之联系 则称实体集A与实体集B之间有多对多的联系 1 3 2数据模型数据模型是对客观事物及其联系的数据描述 反映实体内部和实体之间的联系 由于采用的数据模型不同 相应的数据库管理系统也就完全不同 在数据库系统中 常用的数据模型有层次模型 网状模型和关系模型3种 层次模型用树形结构来表示实体及其之间的联系 在这种模型中 数据被组织成由 根 开始的 树 每个实体由根开始沿着不同的分支放在不同的层次上 树中的每一个结点代表实体型 连线则表示它们之间的关系 根据树形结构的特点 建立数据的层次模型需要满足两个条件 1 有一个结点没有父结点 这个结点即根结点 2 其他结点有且仅有一个父结点 层次模型具有层次清晰 构造简单 易于实现等优点 但由于受到如上所述的两个条件的限制 它可以比较方便地表示出一对一和一对多的实体联系 而不能直接表示出多对多的实体 对于多对多的联系 必须先将其分解为几个一对多的联系 才能表示出来 因而 对于复杂的数据关系 实现起来较为麻烦 这就是层次模型的局限性 采用层次模型来设计的数据库称为层次数据库 2 网状模型网状数据模型用以实体型为结点的有向图来表示各实体及其之间的联系 其特点是 1 可以有一个以上的结点无父结点 2 至少有一个结点有多于一个的父结点 由于树形结构可以看成是有向图的特例 所以网络模型要比层次模型复杂 但它可以直接用来表示 多对多 联系 然而由于技术上的困难 一些已实现的网状数据库管理系统 如DBTG 中仍然只允许处理 一对多 联系 在以上两种数据模型中 各实体之间的联系是用指针实现的 其优点是查询速度高 但是当实体集和实体集中实体的数目都较多时 这对数据库系统来说是理所当然的 众多的指针使得管理工作相当复杂 对用户来说使用也比较麻烦 3 关系模型关系模型与层次模型和网状模型相比有着本质的差别 它是用二维表格来表示实体及其相互之间的联系 在关系模型中 把实体集看成一个二维表 每一个二维表称为一个关系 每个关系均有一个名字 称为关系名 虽然关系模型比层次模型和网状模型发展得晚 但是因为它建立在严格的数学理论基础上 所以是目前比较流行的一种数据模型 自20世纪80年代以来 新推出的数据库管理系统几乎都支持关系模型 本书讨论的VisualFoxPro就是一种关系数据库管理系统 1 4 1关系模型1 关系模型的基本概念 1 关系一个关系就是一张二维表 通常将一个没有重复行 重复列的二维表看成一个关系 每个关系都有一个关系名 在VisualFoxPro中 一个关系对应于一个表文件 其扩展名为 dbf 2 元组二维表的每一行在关系中称为元组 在VisualFoxPro中 一个元组对应表中一个记录 1 4关系数据库 3 属性二维表的每一列在关系中称为属性 每个属性都有一个属性名 属性值则是各个元组属性的取值 在VisualFoxPro中 一个属性对应表中一个字段 属性名对应字段名 属性值对应于各个记录的字段值 4 域属性的取值范围称为域 域作为属性值的集合 其类型与范围具体由属性的性质及其所表示的意义确定 同一属性只能在相同域中取值 5 关键字关系中能惟一区分 确定不同元组的属性或属性组合 称为该关系的一个关键字 单个属性组成的关键字称为单关键字 多个属性组合的关键字称为组合关键字 需要强调的是 关键字的属性值不能取 空值 所谓空值就是 不知道 或 不确定 的值 因而无法惟一地区分 确定元组 6 候选关键字关系中能够成为关键字的属性或属性组合可能不是惟一的 凡在关系中能够惟一区分 确定不同元组的属性或属性组合 称为候选关键字 7 主关键字在候选关键字中选定一个作为关键字 称为该关系的主关键字 关系中主关键字是惟一的 8 外部关键字关系中某个属性或属性组合并非关键字 但却是另一个关系的主关键字 称此属性或属性组合为本关系的外部关键字 关系之间的联系是通过外部关键字实现的 9 关系模式对关系的描述称为关系模式 其格式为 关系名 属性名1 属性名2 属性名n 关系既可以用二维表格描述 也可以用数学形式的关系模式来描述 一个关系模式对应一个关系的结构 在VisualFoxPro中 也就是表的结构 2 关系的基本特点在关系模型中 关系具有以下基本特点 1 关系必须规范化 属性不可再分割 规范化是指关系模型中每个关系模式都必须满足一定的要求 最基本的要求是关系必须是一张二维表 每个属性值必须是不可分割的最小数据单元 即表中不能再包含表 2 在同一关系中不允许出现相同的属性名 VisualFoxPro不允许同一个表中有相同的字段名 3 关系中不允许有完全相同的元组 即冗余 4 在同一关系中元组的次序无关紧要 也就是说 任意交换两行的位置并不影响数据的实际含义 5 在同一关系中属性的次序无关紧要 任意交换两列的位置也并不影响数据的实际含义 不会改变关系模式 以上是关系的基本性质 也是衡量一个二维表格是否构成关系的基本要素 在这些基本要素中 有一点是关键 即属性不可再分割 也即表中不能套表 3 关系模型的优点 1 数据结构单一 关系模型中 不管是实体还是实体之间的联系 都用关系来表示 而关系都对应一张二维数据表 数据结构简单 清晰 2 关系规范化 并建立在严格的理论基础上 关系中每个属性不可再分割 构成关系的基本规范 同时关系是建立在严格的数学概念基础上 具有坚实的理论基础 3 概念简单 操作方便 关系模型最大的优点就是简单 用户容易理解和掌握 一个关系就是一张二维表格 用户只需用简单的查询语言就能对数据库进行操作 1 4 2关系数据库以关系模型建立的数据库就是关系数据库 RDB RelationalDatabase 关系数据库中包含若干个关系 每个关系都由关系模式确定 每个关系模式包含若干个属性和属性对应的域 所以 定义关系数据库就是逐一定义关系模式 对每一关系模式逐一定义属性及其对应的域 一个关系就是一张二维表格 表格由表格结构与数据构成 表格的结构对应关系模式 表格每一列对应关系模式的一个属性 该列的数据类型和取值范围就是该属性的域 因此 定义了表格就定义了对应的关系 在VisualFoxPro中 与关系数据库对应的是数据库文件 dbc文件 一个数据库文件包含若干个表 dbf文件 表由表结构与若干个数据记录组成 表结构对应关系模式 每个记录由若干个字段构成 字段对应关系模式的属性 字段的数据类型和取值范围对应属性的域 一个关系模型的实际例子 学生 选课 课程关系模型 1 4 3关系运算1 选择选择运算是从关系中查找符合指定条件元组的操作 以逻辑表达式指定选择条件 选择运算将选取使逻辑表达式为真的所有元组 选择运算的结果构成关系的一个子集 是关系中的部分元组 其关系模式不变 选择运算是从二维表格中选取若干行的操作 在表中则是选取若干个记录的操作 在VisualFoxPro中 可以通过命令子句FOR WHILE和设置记录过滤器实现选择运算 2 投影投影运算是从关系中选取若干个属性的操作 投影运算从关系中选取若干属性形成一个新的关系 其关系模式中属性个数比原关系少 或者排列顺序不同 同时也可能减少某些元组 因为排
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年普货押运员试题及答案
- 2025年劳动人事代理与员工职业生涯规划服务合同
- 粮食储备库存管理与调配流程
- 毕业论文要实证分析吗
- 项目班子配备情况
- 大理石产品定制化生产方案
- 排水管道建设质量控制与监测方案
- 临床医学概要外科复习试题及答案
- 2025年安全生产考试题库(医疗行业安全规范)试题及答案
- 家居行业智能家居互联解决方案
- 员工自付社保协议书
- 网络直播带货对大学生消费观的影响机制研究
- cvte2107校招笔试题目及答案
- 活鹅宰杀协议书
- AI技术提升医学人才培养质量的探索与实践
- 美宜佳转让协议合同
- 混改公司合同协议模板
- 儿童多种维生素课件
- GA/T 2159-2024法庭科学资金数据清洗规程
- 江苏常州2025年公开招聘农村(村务)工作者笔试题带答案分析
- 2025年职工职业技能竞赛(物业管理师)参考试题(附答案)
评论
0/150
提交评论