本课程是根据教育部提出的非计算机专业计算机基础教学三个层次要求,并配合全国计算机等级考试“VisualFoxPro二级”考试大纲的知识要点,以VisualFoxPro6.0为主要内容,介绍关系数据库管理系统基础理论及应用系统开发知识。不仅介绍数据库基础理论与VisualFoxPro6.0的基本操作;而且介绍面向对象可视化编程、应用系统开发的方法、步骤。前言教材与参考书教材VisualFoxPro程序设计教程(第二版)刘卫国北京邮电大学出版社VisualFoxPro程序设计上机指导与习题选解刘卫国北京邮电大学出版社全国计算机等级考试二级教程VisualFoxPro程序设计教育部考试中心学习方式听课读书(预习、复习)作业实验报告考试成绩平时成绩(书面作业、上机练习、综合练习)期末考试目录第一章数据库基础知识第二章VF系统初步第三章VF数据与数据运算第四章表的基本操作第五章数据库的基本操作第六章SQL查询语言第七章视图与查询第八章项目管理器第九章结构化程序设计第十章面向对象编程基础第十一章表单设计及运行第十二章菜单设计第十四章报表与标签第十五章小型系统开发实例第一章数据库基础知识数据库的地位数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志第一章数据库基础知识1.1数据管理技术的发展1.2数据库系统1.3数据模型1.4关系数据库1.5数据库系统的体系结构与开发工具信息与数据数据Data是存储在某一种媒体上的能够识别的物理符号。数据不仅包括数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还包括图形、图像、动画、影像和声音等多媒体数据。包括两个方面:描述事物特性的数据内容;存储在某一种媒体上的数据形式。信息Information是被加工成特定形式的数据,具有知识性并对人类活动产生决策作用。信息是以某种数据形式表现的。1.1数据管理技术的发展数据处理也称为信息处理。所谓数据处理,实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。数据处理的目的是从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成份,作为行为和决策的依据。数据处理数据管理技术的发展过程什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)一、人工管理阶段时期40年代中--50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理人工管理阶段(续)特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制应用程序与数据的对应关系(人工管理)应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…人工管理阶段—程序例求6个数据之和和最大值/*程序1:求6个数之和*/#includestdio.hmain(){inti,s=0;inta[6]={66,55,75,42,86,77};for(i=0;i6;i++)s=s+a[i];printf(“%d”,s);}/*程序2:求6个数中的最大值*/#includestdio.hmain(){inti,s;inta[6]={66,55,75,42,86,77};s=a[0];for(i=1;i6;i++)if(sa[i])s=a[i];printf(“%d”,s);}程序和数据放在一起,虽然是处理同一批数据,但是程序之间没有数据共享人工管理阶段出现在计算机应用于数据管理的初期。由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。应用程序中不仅要设计数据的逻辑结构,还要阐明数据在存储器上的存储地址。在这一管理方式下,应用程序与数据之间相互结合不可分割,当数据有所变动时程序则随之改变,独立性差;另外,各程序之间的数据不能相互传递,缺少共享性,因而这种管理方式既不灵活,也不安全,编程效率较差。二、文件系统阶段时期50年代末--60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理文件系统阶段(续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…/*程序1:求6个数之和*/#includestdio.hmain(){inti,s=0,a[6];FILE*fp;fp=fopen(c:\data.dat,rb);fread(a,2,6,fp);/*读数据*/for(i=0;i6;i++)s=s+a[i];printf(%d,s);fclose(fp);/*关闭文件*/}/*程序2:求6个数中最大值*/#includestdio.hmain(){inta[6],i,s=a[0];FILE*fp;fp=fopen(c:\data.dat,rb);fread(a,2,6,fp);s=a[0];for(i=0;i6;i++)if(sa[i])s=a[i];printf(%d,s);fclose(fp);}文件管理阶段—程序例求6个数据之和和最大值数据来自同一个文件C:\data.dat文件管理阶段把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。应用程序通过文件管理系统对数据文件中的数据进行加工处理。应用程序与数据文件之间具有一定的独立性,比手工管理方式前进了一步。但数据文件仍高度依赖于其对应的程序,不能被多个程序所共享。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,冗余量大。三、数据库系统阶段时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理数据库系统阶段(续)特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…数据库系统程序例上例实现SELECTsum(数据)AS数据和FROM数据表SELECTmax(数据)AS最大值FROM数据表数据库系统管理阶段对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据“仓库”。应用程序不再只与一个孤立的数据文件相对应,可以取整体数据集的某个子集作为逻辑文件与其对应,通过数据库管理系统实现逻辑文件与物理数据之间的映射。在数据库系统管理的系统环境下,应用程序对数据的管理和访问灵活方便,数据与应用程序之间完全独立,程序的编制质量和效率都有所提高;由于数据文件间可以建立关联关系,数据的冗余大大减少,数据共享性显著增强。1.2数据库系统1.2.1数据库(DataBase)数据库是数据库系统的核心和管理对象。数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。数据库不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。用户A1用户A2用户B1用户B2…………外视图A……外模式A外视图B外模式B概念模式概念视图存储结构定义(内模式)存储数据库(内视图)……DBMS由数据库管理员建立和维护的模式……1.2.2数据库的体系结构模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关外模式(ExternalSchema)外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式(续)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求外模式与应用的关系:一对多同一外模式可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式外模式(续)外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式一个数据库只有一个内模式外模式/模式映象保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。模式/内模式映象保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。DatabaseManagementSystem数据库管理系统:对数据库中的数据进行统一管理、控制和维护的数据库管理软件。用户通过它可以使用数据库中的数据,实现对数据的存储和检索工作。数据库管理系统通常由三个部分组成:数据描述语言(DDL)及其编译程序,数据操纵语言(DML)或查询语言及其编译、解释程序,数据库管理例行程序。1.2.3数据库管理系统1.2.4数据库应用系统数据库应用系统根据用户任务需要用高级语言编写的可以实现对数据库中的数据进行存取和检索操作的程序。1.2.5数据库系统的构成硬件操作系统数据库管理系统数据库应用系统数据库系统它是由有关的硬件、软件、数据和人员四个部分组合而形成的。硬件环境是数据库系统的物理支撑。软件系统包括系统软件和应用软件两类。系统软件主要包括数据库管理系统软件、开发应用系统的高级语言及其编译系统、应用系统开发的工具软件等。应用软件是指在数据库管理系统的基础上由用户根据自己的实际需要自行开发的应用程序。数据库系统的人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员、系统分析员、应用程序员和用户。1.3数据模型数据库需要根据应用系统中数据的性质、内在联系,按照管理的要求来设计和组织。人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程。客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为信息模型;把信息模型转换为某一DBMS支持的数据模型。信息模型是现实世界到机器世界的一个中间层次。1.3.1现实世界的数据描述实体:在现实世界中客观存在并可以相互区分的事物。属性:实体的每一种特性都称为属性。键:唯一标识每个实体的属性,又称为实体标识符。实体集:同类型实体的集合。现实世界中事物之间的联系在信息世界中反映为实体之间的联系。实体间的联系一对一联系(1