VF初步—基本概念的理解1、基本概念:数据库、数据模型、数据库管理系统、类和对象、事件、方法。1.计算机硬件计算机硬件(Hardware)是数据库系统赖以存在的物质基础,是存储数据库及运行数据库管理系统DBMS的硬件资源,为使数据库系统获得较满意的运行效果,应对计算机的CPU、内存、磁盘、I/O通道等技术性能指标,采用较高的配置。2.数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是指负责数据库存取、维护、管理的系统软件。DBMS提供对数据库中数据资源进行统一管理和控制的功能,将用户应用程序与数据库数据相互隔离。它是数据库系统的核心,其功能的强弱是衡量数据库系统性能优劣的主要指标。3.数据库数据库(DataBase,DB)是指存储在计算机存储设备上结构化的相关数据集合。它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。可以被多个用户共享的、与应用程序相互独立。数据库中的数据也是以文件的形式存储在存储介质上的,它是数据库系统操作的对象和结果。数据库中的数据具有集中性和共享性。所谓集中性是指把数据库看成性质不同的数据文件的集合,其中的数据冗余很小。所谓共享性是指多个不同用户使用不同语言,为了不同应用目的可同时存取数据库中的数据。数据库中的数据由DBMS进行统一管理和控制,用户对数据库进行的各种数据操作都是通过DBMS实现的。1.2.2数据库系统的特点数据库系统的出现是计算机数据处理技术的重大进步,它具有以下特点。1.实现数据共享,减少数据冗余数据的最小单位是字段,即可以按字段的名称存取库中某一个或某一组字段,也可以存取一条记录或一组记录。数据冗余就是数据重复即存储一些重复数据2.采用特定的数据模型数据库中的数据是有结构的,这种结构由数据库管理系统所支持的数据模型表现出来。数据库系统不仅可以表示事物内部各数据项之间的联系,而且可以表示事物与事物之间的联系,从而反映出现实世界事物之间的联系。3.具有较高的数据独立性所谓数据独立是指数据与应用程序之间的彼此独立,它们之间不存在相互依赖的关系。应用程序不必随数据存储结构的改变而变动,这是数据库一个最基本的优点。在数据库系统中,数据库管理系统通过映像,实现了应用程序对数据的逻辑结构与物理存储结构之间较高的独立性。数据库的数据独立包括两个方面:(1)物理数据独立:数据的存储格式和组织方法改变时,不影响数据库的逻辑结构,从而不影响应用程序。2)逻辑数据独立:数据库逻辑结构的变化(如数据定义的修改,数据间联系的变更等)不影响用户的应用程序。4.有统一的数据控制功能数据的存取是并发的,既多个用户同时使用一个数据库。所以,数据库管理系统必须要提供必要的保护措施,(并发访问控制、数据安全控制和数据的完整性控制)。1.2.4数据模型数据模型是指数据库中数据与数据之间的关系。数据模型是数据库系统中一个关键概念,数据模型不同,相应的数据库系统就完全不同,任何一个数据库管理系统都是基于某种数据模型的。数据库管理系统常用的数据模型有下列三种:层次模型网状模型关系模型1.层次数据模型(HierarchicalModel)层次模型是用树型结构来表示实体类型以及实体间联系的模型。他只能表示1:n的联系,不能表示两个以上的实体类型之间的复杂联系和实体类型之间的多对多的联系。2.网状数据模型(NetworkModel)网状模型是用网状结构来表示实体类型以及实体间联系的模型。网中的每一个结点表示一个实体类型。它能够表示实体间的多种复杂联系和实体类型之间的多对多的联系。支持网状模型的DBMS称为网状数据库管理系统,在这种系统中建立的数据库是网状数据库。网络结构可以直接表示多对多联系,这也是网状模型的主要优点。3.关系模型(RelationalModel)关系模型是用二维表结构来表示实体以及实体联系间数据模型。每个二维表又称关系。VisualFoxPro是一种典型的关系型数据库管理系统。此类容在讲面向对象程序设计时候在讲类、对象、事件和方法:对象在现实生活中随处可见,例如一个人、一辆汽车、一台电脑等都是一个对象。对象是具有某些特性的具体事物的抽象,建立一个对象后,其操作通过与该对象有关的属性,事件和方法来描述。类的概念:类是创建对象实例的模板,是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义,类与对象的关系:类是对象的定义,而对象是类的一个实例。例如:公路上的所有汽车都属于汽车的范畴(类),而某一辆具体的汽车就是汽车的一个实例。事件泛指能被对象识别的用户操作动作或对象状态的变化发出的信息,也即对象的响应。方法是指对象本身所具有的、反映该对象功能的内部函数或过程,也即对象的动作2、关系数据库:(1)关系数据库概念:使用二维表来表示实体与实体之间关系的数据库就叫关系数据库。关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字。1)关系一个关系就是一张二维表,每个关系有一个关系名。每个关系(数据库表)用一个文件来存储,扩展名为.DBF。2)元组二维表的每一行在关系中称为元组。在VisualFoxPro中,一个元组对应表中一个记录。(3)属性二维表的每一列在关系中称为属性,每个属性都有一个属性名。每个属性都有属性名,数据类型,长度。在VisualFoxPro中,一个属性对应表中一个字段,属性名对应字段名。(4)域属性的取值范围称为域。(5)关键字关系中能唯一区分、确定不同元组(记录)的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组和关键字。需要强调的是,关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法唯一地区分、确定元组。表1-2中“准考证号”及“身份证号”属性可以作为单关键字,因为准考证号和身份证号不允许相同。而“姓名”及“出生日期”则不能作为关键字,因为考生中可能出现重名或相同出生日期。如果所有同名考生的出生日期不同,则可将“姓名”和“出生日期”组合成为组合关键字。(6)候选关键字关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够唯一区分、确定不同元组的属性或属性组合,称为候选关键字。“准考证号”和“身份证号”属性都是候选关键字。(7)主关键字在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是唯一的。(8)外部关键字关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。9)关系模式对关系结构的描述称为关系模式,一个关系模式对应一个关系的结构。关系模式的简化表示模式:在VF中使用:表名(字段名1,字段名2,……,字段名n)表示对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,…,属性名n)关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的数据结构,也就是表的数据结构。如表1-2对应的关系,其关系模式可以表示为:考生简况(准考证号,身份证号,姓名,性别,出生日期,工作单位,电话号码)其中,“考生简况”为关系名,括号中各项为该关系所有的属性名。关系模式与关系的区别:关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。关系模式可以形式化地表示为2.关系的基本特点在关系模型中,关系具有以下基本特点:(1)关系必须规范化,属性不可再分割规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。(2)在同一关系中不允许出现相同的属性名(字段)(3)关系中不允许有完全相同的元组(记录)(4)在同一关系中元组及属性的顺序可以任意(5)任意交换两个元组(或属性)的位置,不会改变关系模式。以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。1.2.3基本概念1.实体客观事物在信息世界中称为实体(Entity),它是现实世界中任何可区分、识别的事物。实体可以是具体的人或物,也可以是抽象概念;(1)属性实体具有许多特性,实体所具有的特性称为属性(Attribute)。一个实体可用若干属性来刻画。每个属性都有特定的取值范围即值域(Domain),值域的类型可以是整数型、实数型、字符型等;;(2)实体型和实体集属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。同类型的试题的集合称为实体集。性质相同的同类实体的集合称实体集。如一个班的学生。2.联系(1)一对一联系(1:1)若两个不同型实体集中,任一方的一个实体只与另一方的一个实体相对应,称这种联系为一对一联系。如班长与班级的联系,一个班级只有一个班长,一个班长对应一个班级。(2)一对多联系(1:n)若两个不同型实体集中,一方的一个实体对应另一方若干个实体,而另一方的一个实只对应本方一个实体,称这种联系为一对多联系。如班长与学生的联系,一个班长对应多个学生,而本班每个学生只对应一个班长。(3)多对多联系(m:n)若两个不同型实体集中,两实体集中任一实体均与另一实体集中若干个实体对应,称这种联系为多对多联系。如教师与学生的联系,一位教师为多个学生授课,每个学生也有多位任课教师。3.实体联系建立实体模型的一个主要任务就是要确定实体之间的联系。常见的实体联系有3种:一对一联系、一对多联系和多对多联系。如图所示。(2)关系运算:选择、投影、连接。1.传统的集合运算(并、差、交等)2.专门的关系运算(选择、投影、联接)1.传统的集合运算进行并、差、交集合运算的两个关系必须是具有相同的关系模式,既结构相同。1)并两个相同结构关系的并是有属于这两个关系的元组(记录)组成的集合。2)差关系R和关系S,是有属于R而不属于S的元组组成的集合,从R中去掉S中也有的元组。3)交关系R和关系S,既属于R又属于S的元组组成的集合。2.专门的关系运算在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和联接三种。1)选择(Selection)运算是从关系中查找符合指定条件元组的操作。(对记录)2)投影(Projection)运算是从关系中选取若干个属性的操作。(对字段)3)联接(Join)运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。(对字段)例如,表1-2按照“性别=”女“”的条件进行选择运算,可得到如下结果。表1-3选择运算结果例如,选取表1-2中姓名、笔试成绩、上机成绩三列的投影操作,可得到如表1-4所示结果。表1-4投影运算结果【例2010-3】有如下两个关系R和T:RTABCc32d32ABCa12b22c32d32则由关系R得到的关系T的操作是A)选择B)投影C)交D)并联接自然联接:按照字段值对应相等为条件进行的联接操作称为等值联接。自然连接就是去掉重复属性(字段)的等值联接。(3)数据的一致性和完整性实体完整性、域完整性、参照完整性。1.3.4数据的一致性和完整性1.实体完整性关系中的元组在组成主键的属性上不能为空值。2.域完整性各属性值的取值范围符合字段有效性规则。3.参照完整性外键的值不允许参照相应主表中不存在的主键值,或者外键为空值。3、VISUALFOXPRO系统特点与工作方式:VisualFoxPro6.0系统是一个关系型DBMS,是微软公司1998年推出的可视化语言集成包VisualStudio6.0系统中的一个产品。能运行于各种平台上的32位数据库开发系统。(1)WINDOWS版本数据库的特点。VisualFoxPro具有界面友好、工具丰富、速度较快等优点,并在数据库操作与管理