资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章,VFP数据库基础,章目录,1.1 数据库基础知识 1.2 关系数据库 1.3 数据库设计基础 1.4 VFP系统概述 1.5 项目管理器 1.6 向导、设计器、生成器简介,1.1 数据库基础知识,1.1.1 计算机数据管理的发展 1.数据和数据处理 数据是指存储在某一种媒体上能够识别的物理符号。为了描述客观事物而用到的数字、字符以及所有能输入到计算机中并能被计算机处理的符号都可以看作数据。有两种基本形式的数据:数值型数据、字符型数据。此外,还有图形、图像、声音等多媒体数据。,数据处理是指将数据转换成信息的过程。它包括对数据的收集、存储、分类、计算、加工、检索和传输等一系列活动。其基本目的是从大量的、杂乱无章的、难以理解的数据中整理出对人们有价值、有意义的数据(即信息),作为决策的依据。 信息是数据中所包含的意义。通俗地讲,信息是经过加工处理并对人类社会实践和生产活动产生决策影响的数据。,2.计算机数据管理,人工管理阶段 时间: 20世纪50年代中期以前 状况:硬件方面,没有磁盘等直接存取的外存储器。软件方面,没有对数据进行管理的系统软件。一般不需要长期保存数据。 特点:程序与数据不具有独立性,一个程序中的数据无法被其他程序使用,因此程序与程序之间存在大量的重复数据,称为数据冗余。,文件系统阶段 时间:20世纪50年代后期至60年代后期 状况:硬件上出现了直接存取的大容量外存储器,如磁盘、磁鼓等,这为计算机系统管理数据提供了物质基础。软件方面,出现了操作系统,其中包含文件系统。 特点:可在外存储器上长期保存数据,程序与数据有一定的独立性。数据与程序相互依赖,导致数据冗余度大,从而浪费存储空间,增加更新开销,容易导致数据的不一致性,另外还缺乏对数据的统一控制管理。,数据库系统阶段 时间:20世纪60年代后期 状况:计算机在管理中应用规模更加庞大、数据量急剧增加,数据共享性更强。硬件价格下降,软件价格上升,编制和维护软件所需成本相对增加,其中维护成本更高。产生数据库管理系统的系统软件来对数据进行统一的控制和管理。 特点:有效地减少了数据冗余,实现了数据共享,解决了数据独立性问题,并提供统一的安全性、完整性和并发控制功能。,分布式数据库系统 分布式数据库系统(Distributed Database System)是在集中式数据库基础上发展起来的,是数据库技术与计算机网络技术、分布处理技术相结合的产物。分布式数据库系统是地理上分布在计算机网络不同结点,逻辑上属于同一系统的数据库系统,能支持全局应用,同时存取两个或两个以上结点的数据。,面向对象数据库系统 面向对象数据库系统(Object-Oriented Database System)是将面向对象的模型、方法和机制,与先进的数据库技术有机地结合而形成的新型数据库系统。 面向对象数据库系统首先是一个数据库系统,具备数据库系统的基本功能,其次是一个面向对象的系统,针对面向对象的程序设计语言的永久性对象存储管理而设计的,充分支持完整的面向对象概念和机制。,1.1.2 数据库系统 数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。 1. 数据库有关概念 数据库(Database)是存储在计算机存储设备上的结构化的相关数据集合。它不仅包含描述事物的数据本身,而且还包括相关事物之间的联系。,数据库管理系统(Database Management System,DBMS)是为数据库的建立、使用和维护而配置的软件。它提供数据定义、数据操作、数据库管理、数据库建立和维护以及通信等功能。例如:Visual FoxPro。 数据库应用系统是指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。例如:以数据库为基础的财务管理系统、人事管理系统、图书管理系统等等。,数据库系统的有关人员主要有3类:最终用户、数据库应用系统开发人员和数据库管理员(DBA:Database Administrator)。 最终用户指通过应用系统的用户界面使用数据库的人员,他们一般对数据库知识了解不多。数据库应用系统开发人员包括系统分析员、系统设计员和程序员。数据库管理员是数据管理机构的一组人员,他们负责对整个数据库系统进行总体控制和维护,以保证数据库系统的正常运行。,2数据库系统的特点 实现数据共享,减少数据冗余 采用特定的数据模型 具有较高的数据独立性 有统一的数据控制功能,1.1.3 数据模型 1实体的描述 客观存在并且可以相互区别的事物称为实体。它可以指人,如一个教师、一个学生等等,也可以指物,如一本书、一张桌子等。它不仅可以指实际的物体,还可以指抽象的事件,如一次借书、一次奖励等等。它还可以指事物与事物之间的的联系,如学生选课、客户订货等。,一个实体可有不同的属性,属性描述了实体某一方面的特性。例如,教师实体可以用教师编号、姓名、性别、出生日期、职称、基本工资、研究方向等属性来描述。每个属性可以取不同的值,属性值的变化范围称作属性值的域。如性别这个属性的域为(男,女),职称的域为(助教,讲师,副教授,教授)等等,由此可见,属性是个变量,属性值是变量所取的值,而域是变量的变化范围。,由上可见,属性值所组成的集合表征一个实体,相应的这些属性的集合表征了一种实体的类型,称为实体型,例如上面的教师编号、姓名、性别、出生日期、职称、基本工资、研究方向等表征“教师”这样一种实体的实体型。同类型的实体的集合称为实体集。 在Visual FoxPro中,用“表”来表示同一类实体,即实体集,用“记录”来表示一个具体的实体,用“字段”来表示实体的属性。显然,字段的集合组成一个记录,记录的集合组成一个表。相应于实体型,则代表了表的结构。,2实体间联系及联系的种类 实体之间的对应关系称为联系,它反映了现实世界事物之间的相互关联。例如,图书和出版社之间的关联关系为:一个出版社可出版多种书,同一种书只能在一个出版社出版。 实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系。实体之间有各种各样的联系,归纳起来有3种类型:,一对一联系(1:1)。如果对于实体集A中的每一个实体,实体集B中有且只有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。 一对多联系(1:n)。如果对于实体集A中的每一个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多的联系。 多对多联系(m:n)。如果对于实体集A中的每一个实体,实体集B中有多个实体与之联系,而对于实体集B中的每一个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B之间有多对多的联系。,3数据模型简介 数据模型是对客观事物及其联系的数据描述,反映实体内部和实体之间的联系。由于采用的数据模型不同,相应的数据库管理系统也就完全不同。 在数据库系统中,常用的数据模型有层次模型、网状模型和关系模型3种。,关系模型与层次模型和网状模型相比有着本质的差别,它是用二维表格来表示实体及其相互之间的联系。在关系模型中,把实体集看成一个二维表,每一个二维表称为一个关系。每个关系均有一个名字,称为关系名。 自20世纪80年代以来,新推出的数据库管理系统几乎都支持关系模型,本书讨论的Visual FoxPro就是一种关系数据库管理系统。,1.2.1 关系模型 1关系术语 关系 一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。在Visual FoxPro中,一个关系对应于一个表文件,其扩展名为.dbf。,1.2 关系数据库,元组 二维表的每一行在关系中称为元组。在Visual FoxPro中,一个元组对应表中一个记录。 属性 二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。在Visual FoxPro中,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。,域 属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同域中取值。 关键字 关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法惟一地区分、确定元组。,候选关键字 关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟一区分、确定不同元组的属性或属性组合,称为候选关键字。 主关键字 在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是惟一的。,外部关键字 关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。,关系模式 对关系的描述称为关系模式,其格式为: 关系名(属性名1,属性名2,属性名n) 关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的结构。在Visual FoxPro中,也就是表的结构。,2关系的特点 在关系模型中,关系具有以下特点: 关系必须规范化,属性不可再分割。 规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。 在同一关系中不允许出现相同的属性名。Visual FoxPro不允许同一个表中有相同的字段名。 关系中不允许有完全相同的元组,即冗余。,在同一关系中元组的次序无关紧要。也就是说,任意交换两行的位置并不影响数据的实际含义。 在同一关系中属性的次序无关紧要。任意交换两列的位置也并不影响数据的实际含义,不会改变关系模式。 以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。,3实际关系模型 在Visual FoxPro中,与关系数据库对应的是数据库文件(.dbc文件),一个数据库文件包含若干个表(.dbf文件),表由表结构与若干个数据记录组成,表结构对应关系模式。每个记录由若干个字段构成,字段对应关系模式的属性,字段的数据类型和取值范围对应属性的域。 一个关系模型的实际例子:学生选课课程关系模型。,学生管理数据库中的表,表之间的关系,1.2.2 关系运算 1传统的集合运算 传统的集合运算有:并、差、交。 注意:进行集合运算的两个关系必须具有相同的关系模式,即相同结构。,2专门的关系运算 选择 从关系中找出满足给定条件的元组的操作称为选择。选择是从行的角度进行的运算。经过选择运算得到的结果可以形成新关系,其关系模式不变,但其中的元组是原关系的一个子集。,投影 投影运算是从关系模式中指定若干个属性组成新的关系。投影是从列的角度进行的运算,相当于对关系进行垂直分解。 连接 连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足条件的元组。,1.3.1 数据库设计步骤 1设计原则 关系数据库的设计遵从概念单一化的原则。 避免在表之间出现重复字段。 表中的字段必须是原始数据和基本数据元素。 用外部关键字保证有关联的表之间的联系。,1.3 数据库设计基础,2设计步骤 需求分析 确定需要的表 确定所需字段 确定联系 设计求精,Visual FoxPro系统的发展 1983年,美国Ashton-Tate公司(1992年被Borland公司收购)推出了dBASE关系型数据库管理系统,1984年6月又推出了dBASE,随后又推出改进型产品dBASE Plu
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号