配色: 字号:
第01讲-vf数据库基础知识
2013-01-28 | 阅:  转:  |  分享 
  
中文VisualFoxPro6.0系统第1讲数据库基础知识1.1数据库的产生与发展数据管理技术经历了手工管理、文件
管理和数据库技术三个发展阶段。1.1.1手工管理阶段(20世纪40~50年代初期)(1)数据处理中的数据不需要、也不允许
长期保存。其次,(2)程序员要设计数据的存储结构、存取方法和输入输出方法等,使程序员负担加重。(3)数据无法共享,即程序之间有
大量冗余数据。1.1.2文件系统阶段(从20世纪50年代后期到60年代中期)在文件管理阶段,数据以数据文件的形式长久地保
存,通过对数据文件的存取来实现数据的查询、修改、插入和删除等操作。虽然文件系统比手工数据管理有了很大进步,但是仍然存在诸如数据独
立性差、冗余不可避免、不支持并发访问等不足。1.1.3数据库系统阶段(从20世纪60年代后期以来)为了实现计算机对数据的
统一管理,达到数据共享的目的,数据库技术便应运而生,出现了管理数据的专门软件,即数据库管理系统。数据库技术自产生以来,大致经历了三
个发展时期:1.摇篮时期——20世纪60年代这个时期开始出现数据库的概念,也开发了一些原始的数据库系统。2.发展时期——
20世纪70年代在这一时期,数据库的应用越来越广泛,成为信息系统开发不可缺少的工具。同时,以关系模型为中心的关系数据库的基础理论
研究不断发展,为关系数据库的形成奠定了基础,已开始出现较为完善的关系数据库系统。3.成熟时期——20世纪80年代以后这一时
期,大量商品化的关系数据库系统问世并得到广泛应用,既有适用于大型计算机,也有适用于小型和微型计算机的系统,数据库的应用深入到人们生
活的各个领域。关系数据库技术已经十分成熟,因而数据库技术的研究已经开始转向新的应用领域提出的新的要求。最重要的发展是分布式数据库
和面向对象的数据库技术的产生。1.2数据库系统1.2.1有关数据库的概念1.数据(Data):数据是存储在某一媒
体上能够识别的物理符号。数据形式可以是多种多样的。数据不仅包括常见的数字、文字和其他符号,还包括图形、图象、声音和多媒体数据等。
2.数据库(DataBase):是存储在计算机存储设备上、结构化的相关数据集合。它不仅包括描述事物的数据本身,而且还包括相关事
物之间的联系。数据库中的数据可以被多种应用共享。3.数据库管理系统(DBMS):是一组专门对数据库的建立、使用和维护进行
管理的软件。目前世界上已经开发出很多,VFP就是其中一种数据库管理系统。4.数据库系统(DBS):是指引进数据库技术后的计算
机系统。由五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。5.数据库应用系统:是指系统开发
人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。如:以数据库为基础的财务管理系统、人事管理系统等。以上各概
念的层次关系如下页图:数据库系统层次示意图1.2.2数据库系统的特点1.数据高度结构化?2.数据的共享程度
高数据库中的数据是面向系统的,而不是面向某个具体程序的,因此数据库的数据共享程度比文件系统高。实现数据共享是数据库的重要特征。
3.数据的独立性强数据库系统比文件系统具有更高的独立性。这就为程序的编写及数据的管理提供了极大方便。4.使用统一软件对数
据进行管理和操作数据库则具有功能较强的数据库管理系统(DBMS)对数据进行统一控制,以保护数据的安全性和完整性。主要提供了以下三
方面的数据控制功能:(1)通过授权机制保护数据不被非法使用。只有那些被授权的人或程序才能存取数据库中的数据,增强了数据的安全
性和保密性。(2)通过对数据的检验措施,控制数据在一定范围内有效,或使这一部分数据与另一部分数据间必须满足一定的关系等,以保证数
据的正确性、有效性和相容性,即保证数据的完整性。(3)通过并发控制,使多个用户同时可以共享数据库,不致互相干扰。5.数据处
理更加灵活数据库对数据的存取不一定以记录为单位,它可以仅将我们所需要的字段取出。这就显得更加灵活,也可大大节约数据处理的时
间。1.3实体及其相互联系数据库需要根据应用系统中数据的性质、内在联系、按照管理的要求来设计和组织人们把客观存在事物以数据
的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程。1.3.1实体的描述
1.实体:客观存在并且可以相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。如:图书、学生(具体)、借阅图书(
抽象)等。2.实体的属性:描述实体的特性称为属性。如学生的属性有:学号、姓名、性别、出生日期、籍贯等。3.实体集和实体型:
属性值的集合表示一个实体,而属性的集合表示一种试题的类型,称为实体型。同类型实体的集合称为实体集(需要解释、理解)。在VFP中
,用“表”存放一类实体,如学生表、职工表等。一个表包含若干“字段”,就是实体的属性。1.3.2实体间联系及联系的种类实体之
间的对应关系称为“联系”。实体间的联系有三种类型:1.一对一联系(1:1)如:“学校”和“校长”是一对一。在VFP
中,1:1关系表现在主表中的每一条记录只与相关表中的一条记录相关联。例如,一个单位劳资部门职工表和财务部门的工资表之间存在1:1的
联系。2.一对多联系(1:m)如:“部门”和“职工”是一对多联系。 3.多对多联系(m:n)如“学生”和“课程”是
多对多联系。1.4数据模型数据模型:数据模型是数据库管理系统用来表示实体及实体间联系的方法。一个具体的数据模型应正确地
反映出数据之间存在的整体逻辑关系。在数据库发展历史中,产生了三种数据模型:层次模型、网状模型和关系模型。其中,关系模型出现最晚,
却应用最广泛。1.4.1层次模型用树形结构表示实体及其之间联系的模型。采用层次模型的数据库是最早出现的。它的典型代表是
IBM公司的IMS(InformationManagementSystem)系统。于1968年问世,是世界上第一个DB
MS。1.4.2网状模型用网状结构表示实体及其之间联系的模型。网状模型中最有代表性的是美国CODASYL(Confe
renceOfDataSystemLanguage)组织下的机构数据库任务组(DBTG)于1969年提出的DBTG报告中
提出的网状模型。层次模型和网状模型本质上是一致的。从逻辑上看,都是用节点表示实体,用有向边(箭头)表示联系。层次模型
是网状模型的一种特例。从物理上看,每一个节点都是一个存储记录,用链接指针实现记录之间的联系。具有难以进行修改和扩充的缺点。1.4
.3关系模型用二维表表示实体以及实体之间联系的模型称为关系模型。关系模型是以关系数学理论为基础的。关系模型是数学领域的专家、
学者总结了层次模型和网状模型设计和使用中的经验教训,并借助于近代数学工具而提出来的。下面是一个学生关系,也是一个二维表。最早系
统提出关系理论的是美国IBM公司的E.F.Codd(1970年)。该理论有效地、较为圆满地解决了过去出现的种种问题,提出了一整套定
义、概念、公理、定理、推论及各种实用算法。它巧妙地把抽象的数学理论和具体的实际问题结合起来,理论上十分严密并非常实用。它不仅对数据
库领域的发展起到巨大的推动作用,而且对整个计算机领域的发展也有很大影响。现在几乎所有流行的数据库管理系统都是关系数据库系统。例
如:Oracle,Sybase,SQLServer(大型),Infomix(中型),VFP(小型)等。因此我们重点介绍
关系数据库。1.5关系术语及关系运算1.5.1关系术语关系模型的用户界面非常简单。一个关系的逻辑结构就是一张二维表(
见上页)。1.关系:一个关系就是一张二维表。每个关系有一个关系名,在VFP之中,一个关系存储为一个文件,文件扩展名是.db
f,称为“表”。对关系的描述称为关系模式,一个关系模式对应一个关系的结构,其格式为:关系名(属性1,属性2,……,属性
n)在VFP中表示为表结构:表名(字段名1,字段名2,…….,字段名n)2.元组(记录):在关系表中,一行称为一个元
组。也称为一条记录。一个关系有多条记录。如职工表、工资表中都有多条记录。3.属性(字段):二维表中垂直方向的列称为属性,也叫字
段。每一列有一个属性名(字段名)。每个字段的数据类型、宽度等在创建表的结构时规定。如职工表中职工号、姓名、性别等。4.域:属性
的取值范围。不同类型的字段取值范围不同。5.关键字:属性或属性的组合,其值能够唯一地标识一个元组(记录)。在VFP中是字段或
字段的组合。如职工表中的职工号,可以作为标识一条记录的主关键字。有时候选关键字也可以作为关键字。在VFP中,一个表只能有一个主关键
字。6.外部关键字:如果表中的字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,则称为外部关键字(注:
外部关键字可以与主关键字同名,也可以不同名)。在VFP中,把相互联系的若干表存放在一个数据库中统一进行管理。数据库文件的类型为
.dbc。即:一个数据库中可以包括许多表。1.5.2关系的特点关系模型的中的表,必须具备以下特点:(1)关系必须规范化
:最基本的要求是每个属性必须是不可再分的基本属性,即表中不能再有表(即不能是复合表)。(2)在一个关系中,不能出现相同的属性名
。(3)关系中不能有完全相同的元组(不能有冗余)。(4)在一个关系中,元组的次序无关紧要。(5)在一个关系中,列的次序也无
关紧要(即可以任意交换两行、两列次序)。1.5.3实际关系模型一个具体的关系模型由若干个关系模式组成。在VFP中,一个数
据库包含相互联系的多个表。它们之间的联系是通过公共字段(即名称相同的字段)建立的。例1.1学生—课程—成绩关系模型:
1.5.4关系运算对关系数据库进行查询时,就需要对关系进行必要的运算。关系的基本运算有两类:一类
是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接)。1.传统的集合运算(见图)(1)并:两个相同结
构关系的并是由这两个关系的元组组成的集合。(2)差:设有两个相同结构的关系R和S,R和S差的结果是由属于R但不属于S的元组组成
的集合,即差运算的结果是从R中去掉S中也有的元组。(3)交:两个具有相同结构的关系R和S,它们的交是由既属于R又属于S的元组组
成的集合。在VFP中没有提供传统集合运算的命令,可以通过其他操作或编写程序完成。2.专门的关系运算(1)选择:从关系中找
出满足给定条件的元组的操作。选择是从行的角度进行的运算。如:从学生表中选择某班级的同学记录。(2)投影:从关系中指定若干个属性组
成新的关系。投影是从列的角度进行的运算。如:在职工表中只列出各职工的姓名和职称字段。(3)连接:将两个关系模式横向连接成一个新的
更宽的关系模式。新关系中包含满足连接条件的元组。连接的条件一般通过共同字段实现。如:按照学号相等的条件将“学生表(xsb)”和“
成绩表(cjb)”连接成一个新的表。新表中包含比两个原来的表单独都多的字段。(4)自然连接:在连接运算中,按照字段值对应相等为条
件的连接称为等值连接。自然连接是去掉重复值的等值连接。自然连接是最常用的连接运算。1.6本书的一些约定1.6.1关于V
isualFoxPro6.0中文版为方便起见,在本书后续各讲中,将VisualFoxPro中文版简称为Visual
FoxPro。1.6.2关于命令中一些符号的说明下面对本书中出现的命令格式做以下说明:(1)命令中的各部分之间必须用空格
分隔。命令中的保留字,包括函数名都可以简写为前4个字母,其中的英文字母大小写不加区分。(2)命令中各子句的书写次序可任意排列,若
有例外,则将另说明。(3)VisualFoxPro中的一条命令,其长度可达8192个字符。若一行写不下,则可在本行的结束处键人
续行符“;”,按回车键,然后在下一行继续键入该命令。(4)命令或函数格式中的一些符号约定: “|”表示用该符号分隔的
两项只选其一; “[]”表示用“[]”括起来的内容是可选项; “<>”表示“<>”部分应该由用户定义; “…”
表示“…”以前的内容可以重复出现多次.1.6.3关于汉字和标点符号使用的说明1.文件名和字段名虽然中文Visua
lFoxPro允许在文件名和字段名中使用汉字,但是为了提高效率和统一,本教程中所有实例中的文件名和字段名都采用其汉字拼音的首字母
组成。如学生表用“xsb”,课程表用“kcb”,学号用“xh”等等。2.标点符号在使用VisualFoxPro命令或编写程
序的过程中,其语法要求所有的标点符号都必须使用英文(半角)状态下的标点符号。课后阅读及作业(1)课后阅读教材第1讲。(
2)完成本讲的习题。上一页下一页返回1.1数据库的产生与发展
1.2数据库系统1.4数据模型1.5关系术语及关系运算1.3实体及其相互联系1.6本书的一些约定返回返回硬件操作系统数据库管理系统数据库应用系统数据库管理员开发人员最终用户课程系教研室班级教师实验人员特点:只有一个根记录,父记录可以有多个子记录,子记录只能有一个父记录。课程系教研室任课学生教师选课特点:可以有多个根记录,一个子记录可以有多个父记录。可以表示横向复杂的联系。返回.dbc职工表.dbf工资表.dbf产品表.dbfVFP的数据库结构示意……返回RSRSRS上一页下一页
献花(0)
+1
(本文系liyi039首藏)