460 likes | 907 Views
Visual FoxPro 教程. 淮海工学院计算机工程学院 巫晓琳. 相关资料:. 教材: Visual FoxPro 教程( 2013 版),严明,单启成 Visual FoxPro 实验指导书,崔建忠 , 单启成 参考资料: Visual FoxPro 二级考前强化指导,施珺,胡云,田扬启 Visual FoxPro 6.0 中文版,吴迪 ,曲蒙 ,清华大学 ( 程序设计指南、函数手册、命令手册). http://sjweb.hhit.edu.cn/vfpweb/study/index.htm. 安装环境下载:.
E N D
Visual FoxPro 教程 淮海工学院计算机工程学院 巫晓琳
相关资料: 教材: • Visual FoxPro 教程(2013版),严明,单启成 • Visual FoxPro实验指导书,崔建忠 ,单启成 参考资料: • Visual FoxPro二级考前强化指导,施珺,胡云,田扬启 • Visual FoxPro 6.0中文版,吴迪 ,曲蒙 ,清华大学(程序设计指南、函数手册、命令手册)
教学安排 :共80学时(16周,理论32,上机48) 第1章 数据库系统基础知识 (理论2学时,理论4分) 第2章 Visual FoxPro数据库管理系统概述 (理论2学时,实验6学时,理论6分) 第3章 数据库与表的创建及使用 (理论8学时,实验12学时,理论8分) (上机:2,3章共12分) 第4章 查询和视图 (理论4学时,实验6学时,理论8分+上机8分) 第5章 程序设计基础 (理论3学时,实验3学时,理论5分+上机改错5分) 第6章 表单及其控件的创建与使用 (理论7学时,实验12学时,理论8分+上机10分) 第7章 类的创建与使用(理论1学时,理论1分) 第8章 报表的创建与使用(理论1学时,实验1学时,理论1分) 第9章 菜单和工具栏(理论2学时,实验3学时,上机5分) 第10章 应用程序的开发与发布(理论1学时,理论1分) 复习+综合练习(理论1学时,实验4学时) (江苏二级考试分数分布,期末考试大致相同)
1.1 数据处理与数据管理技术 1.1.1 信息、数据与数据处理 信息:信息是现实世界中事物的存在方式或运动状态的反 映,是认识主体(人)所感知或描述的事物存在、运动及其 变化的形式、内容和效用。 数据(ISO):数据是计算机中对实施、概念或指令进行描述 的一种特殊格式,这种格式适合于计算机及其相关设备自动 地进行传输、转换和加工处理。 • 能参与数字运算的数值型数据 • 能参与数字运算的非数值型数据 数据处理:对各种类型的数据进行收集、存储、分类、计算、 加工、检索与传输的过程。 数据处理的五个基本环节:收集原始数据、编码转换、数据 输入、数据处理、数据输出
1.1.2 数据管理技术的发展 数据管理的发展经历了三个阶段: 1.无管理阶段(或人工管理阶段) 2.文件系统阶段 3.数据库系统阶段
1.无管理阶段(或人工管理阶段)——50年代中期前1.无管理阶段(或人工管理阶段)——50年代中期前 背景:计算机主要用于科学计算。 特点:数据不保存;没有软件系统对数据进行管理;数据的组织方式由程序员自行设计;一组数据对应一个程序。 数据的冗余度大。 数据和程序的相互依赖!
2.文件系统阶段 背景:计算机已大量用于管理。 特点: • 数据可以一文件形式长期存储在辅助存储器中; • 程序与数据之间具有相对的独立性; • 数据文件组织多样化; • 数据冗余度大;易造成数据的不一致性;程序与数据相互依赖(数据依赖)。
3.数据库系统阶段 背景:计算机更广泛地应用于各个领域,数据共享要求 越来越强。 特点: • 用数据模型表示复杂的数据结构,数据面向应用系统,数据冗余度小、易扩充; • 数据和程序的独立性高; • 提供了数据安全性、完整性等控制功能,以及对数据操作的并发控制、数据备份与恢复等功能; • 为用户提供方便的用户接口;
例:数据库系统与文件系统的最主要区别是_________。例:数据库系统与文件系统的最主要区别是_________。 A.数据库系统复杂,而文件系统简单 B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 C.文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量 D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
1.2 数据库系统的组成 数据库系统(Database System,简称DBS): 是指具有管理和控制数据库功能的计算机应用系统。 数据库管理系统(DBMS) 各种应用程序 操作系统 数据库(DB) 数据库管理员(DBA) 图1-1 数据库系统
1.数据库(Database,简称DB):是指按一组一定 数据模型组织的、长期存放在 辅助存储器上的、 可共享的相关数据的集合。 数据库中的数据按一定的数据模型组织、描述 和存储,具有较小的冗余度、较高的数据独立性和 易扩展性,并可以供多个用户和多类应用所共享。 数据库包含: (1)按一定的数学模型组织并实际存储的所有应 用需要的数据——用户直接使用; (2)用于描述数据的结构、类型、格式、关系、 完整性约束、使用权限——元数据(数据字 典,元数据的集合), 数据库定义的数据
2.数据库管理系统(DBMA) 是用于建立、使用和维护数据库的系统软件。 DBMS是数据库系统的核心,对数据库的一切操作都是 通过DBMS来管理的。VFP是一种关系型数据库数据库管 理系统。
3.应用程序 应用程序是面向最终用户的、利用数据库 系统资源开发的、解决管理和决策问题的 各种应用软件。
4.用户 按工作职能分: • 系统管理员:控制和管理数据库系统的一般性操作 • 数据库管理员:最高的数据库用户特权,负责全面管理数据库系统。 • 数据库设计员 • 系统分析员 • 程序员 • 最终用户:通过应用系统(各种应用程序)提供的用户接口使用数据库
5.计算机支持系统 计算机支持系统指用于数据库管理的硬件和软 件平台。在数据库应用系统中,硬件平台特别强调 数据库主机(或服务器)必须具有足够大的外存容 量、告诉的数据吞吐能力、强大的任务处理能力、 极高的稳定性和安全性;软件平台主要是指能确保 计算机可靠运行的一些系统软件(如操作系统)和 应用系统开发工具
1.3 数据库系统的模式结构 数据库三级模式: • 外部层(单用户视图):表示数据库的外部“外部视图”,是各个用户(应用程序)所看到的数据库。它是面向用户的,体现了用户的数据观点。 • 概念层(全体用户公共视图):介于上述两者之间的层次。它是数据库的“概念视图”,是数据库中所有信息的抽象表示。它既抽相遇物理存储的数据,也区别于各个用户所看到的局部数据库。概念视图可以理解为数据库管理员所看到的数据库。 • 内部层(存储视图):它是数据库的“内部视图”或“存储视图”。它与数据库的实际存储密切相关,可以理解为机器看到的“数据库”。
例:为了实现数据的独立性,便于数据库的设计和例:为了实现数据的独立性,便于数据库的设计和 实现,一般把数据库系统的结构定义为三级模式结 构,即分为外部层、和内部层。
1.4 数据模型 1.4.1 数据模型概述 人们一般用“现实世界———信息世界——数据世界” 的转化过程,首先把现实世界中存在的客观事物通过概 念抽象转化为不依赖于具体计算机系统(DBMS)的数据 结构(称为概念模型),然后转化为计算机系统中DBMS 所支持的数据模型。 现实世界 信息世界 数据世界 ↓ ↓ ↓ 事物及联系 概念模型 结构模型 ↓ ↓ ↓ 事物 实体 数据 ↙ ↘ ↙ ↘ ↙ ↘ 对象 性质 对象 属性 记录 字段 (抽象) (数据表示)
概念模型是按用户的观点对数据建模。它是 对现实世界的第一层抽象,在数据库设计中广泛 使用的概念模型是“实体——联系”模型 (Entity-Relationship,简称E-R模型)。 结构模型强调数据是如何在数据库中描述的。 在数据库技术的发展过程中,出现的数据模型主 要有层次模型、网状模型、关系模型、面向对象 数据模型。层次和网状模型统称为非关系型,它 们分别用树结构和网络结构对实体集和联系进 行描述。
1.4.2 E-R模型 1.E-R模型的基本概念 E-R模型中有三个基本的概念: 实体:指客观存在且可以相互区别的事物 属性:实体具有的特征 联系:实体集之间关系的抽象表示:根据两个实体集中相 互有联系的实体数量,实体集之间的联系可以分为三种类 型:一对一联系、一对多联系和多对多联系 • 一对一联系:如果X实体集中的每一个实体和Y实体集中的每一个实体有联系,反之亦然。例:学生与座位 • 如果X实体集中的每一个实体和Y实体集中的任意个(包括0个)实体有联系,称X实体集与Y实体集是一对多联系。例:学生与专业 • 如果X实体集与Y实体集中的每一个实体和另一个实体集中的任意个(包括0个)实体有联系,称X实体集与Y实体集是多对多联系(简记为m:n)。例:课程与学生
2.E-R图 矩形表示实体,菱形表示联系,椭圆表示属性 例:E-R 图示 E-R 模型的图形表示法,它是表示概念模型的 有力工具。在 E-R 图中,实体之间的联系用____ 表示。 A.矩形框 B.菱形框C.圆形框 D.椭圆形框
1.4.3 关系模型 以关系代数为基础,用二维表表示实体集,通过 外部关键字表示实体间联系,一般由三个部分组成: • 数据结构:以二维表的形式表示 • 数据操作:提供一组完备的关系运算 • 完整性规则:域完整性规则、实体完整性规则、 参照完整性规则和用户定义的完整性规则。
1.关系模型的数据结构 属性 在关系模型中,用二维表来表示实体集实体间的联系。 一个关系就是一张二维表,关系的首行称为“属性”(称 为“字段”),其他各行称为元组(称为“记录”) 记录 上图是一个关系的实例,关系名是“学生”,包含五个属性。 关系的数据结构可以用关系模式进行描述,它包括模式 名以及组成该关系的诸属性名,其关系模式可以表示为: 学生(学号,姓名,性别,出生日期,籍贯)
2.关键字 正如集合中不允许出现相同的元素,二维表中也不应出现 相同的记录。在一个表中,应能通过一列或若干列将不同的记 录区分开来,既能唯一确定记录。但是它所包含的字段可能是 多余的。
超关键字:(Super Key)二维表中能唯一确定记录的一个字段或几个字段的组合被称为“超关键字”。单一的列构成的关键字,则称其为“单一关键字”;如果是两个或两个以上的列构成关键字,则称其为“合成关键字”。
候选关键字:如果一个超关键字中去掉其中任何一个字段后,不再能唯一确定记录,则称它为“候选关键字”(Candidate Key).候选关键字既能唯一确定记录,它包含的 字段又是最少的。一个二维表中必须存在超关键字,因而也必须 存在候选关键字。
主关键字:从候选关键字中选出一个作为 主“关键字”(Primary Key)。
主关键字 A表 外部关键字:当一个二维表(A表)的主关键字被包含到另 一个二维表(B表)中时,该主关键字被称为B表的“外部关 键字”(Foreign Key)。 B表
2.关键字 • 超关键字 • 候选关键字 • 主关键字 • 外部关键字 例 :关键字是关系模型中的重要概念。当一个二维表(A表) 的主关键字被包含到另一个二维表(B表)中时,它就称为B表 的_________。 A.主关键字B.候选关键字C.外部关键字D.超关键字
3.关系运算 (1)传统的集合运算(并,差,交),两个关系必须具有 相同的关系模式,即两个关系的结构相同。 (2)专门的关系运算(选择,投影,连接)
传统的集合运算 (1)并 设有关系R和关系S,它们有相同的模式结构,且其对应的属性取自同 一个域(称R与S是“并相容”的),其并操作(Union)表示为R∪S, 操作结果生成一个新的关系,其元组由属于R的元组和属于S的元组 共同组成。 R∪S={t|t∈R∨t∈S} 例如:两个结果相同的学生关系S1和S2,分别存储两个系的学生档 案,如果把S2中的学生档案追加到S1中,则为两个关系的并运算。
传统的集合运算 (2)差 设有关系R和关系S相容, 其差操作(Difference)表示为R-S,操作结果生 成一个新的关系,其元组由属于R但不属于属于S的元组 共同组成。 R-S={t|t∈R∧t∈S} 例如:两个关系T1和T2,分别存储学校教师名单和本学期任课教师名 单,如果查询本学期未任课的教师名单,则需要进行差运算。
传统的集合运算 (3)交 设有关系R和关系S相容, 其差操作(Difference)表示为R∩S,操作结果生 成一个新的关系,其元组既属于R又属于属于S的元组成: R∩S={t|t∈R∧t∈S} 例如:两个关系R1和R2,分别存储已通过四级考试的学生名单和通过计算 机二级考试的学生名单,如果查询通过英语四级考试且通过计算机二级考 试的学生名单,则需要进行交运算。
关系运算 (4)选择 选择(Selection)又称为限制,它是关系R中选择满足 给定条件(逻辑表达式)的元组组成一个新关系。选择 运算是对关系的水平分解,其结果是关系R的一个子集。 例如,有一个关系T,存储教师的档案信息,从中找出职 称为教授的教师档案,所进行的查询操作就属于选择操 作。
关系运算 (5)投影 投影(Project)运算是对关系的垂直分解,它是在关系 R中选择若干属性列组成新的关系。经过投影可以得到一 个新的关系,它包含的属性个数通常比原关系少,或者 属性排列顺序不同。 例如,存储教师档案信息的关系R包括教师工号、姓名、 性别、出生日期、职称等许多属性,从中找出教师的工 号、姓名、出生日期等部分数据,则属于投影运算。
关系运算 (6)连接 联接运算是根据给定的联接条件将两个关系模式拼成一 个新的关系。联接条件将出现两个关系中的公共属性 名,或有相同语义的属性。 例如,有两个关系T1(学号,姓名,…)和T2(学号,成 绩,…),则求关系T3(学号,姓名,成绩,…)的操作属于 联接操作。
例:在关系模型中,关系运算分为传统集合的关系运算和专例:在关系模型中,关系运算分为传统集合的关系运算和专 门的关系运算。在下列关系运算中,不属于专门的关系运算 (即属于传统集合的关系运算)的是______。 A.投影B.联接C.选择D.合并
4.关系的规范化 关系是规范化的二维表,性质如下: • 属性值是原子的,不可分解; • 记录随数据的增删而改变,字段数是相对固定的; • 每一列有唯一的字段名,取值是同性质的 • 不允许出现完全相同的两行; • 二维表中行的顺序,列的顺序是随意的。 • 关系规范化的条件,范式,实际设计关系模式时,一般要求满足第三范式(3NF);
5.关系模型的完整性 • 域完整性:规定属性的取值范围 • 实体完整性:要求任一元组的主关键字的值不得为空值,且必须在所属的关系中唯一 • 参照完整性:要求当一个元组的外部关键字的值不为控制时,以该外部关键字的值作为主关键字的值的元组必须在相应的关系中存在。
1.5 关系数据库标准语言SQL 目前为关系数据库提供非过程关系语言最成 功、应用最广的是1974年提出的SQL (Structrued Query Language).
例:在关系模型中,关系规范化的过程是通过关系中属例:在关系模型中,关系规范化的过程是通过关系中属 性的分解和关系模式的分解来实现的。在实际应用中, 设计关系模式时一般要求满足______。 A、1NF B、2NF C、3NF D、4NF 例:在下列叙述中,错误的是_________。 A.关系型数据库中的每一个关系都是一个二维表 B.在关系模型中,运算的对象和运算的结果都是二维表 C.二维表中不允许出现任何数据冗余 D.Visual FoxPro是一种关系型数据库管理系统产品
1.6 数据库设计基础 1.6.1 概述 1.数据库设计两种方法: • 面向数据的设计方法 • 面向过程的设计方法
数据字典是系统中各类数据定义和描述的集合。在数据数据字典是系统中各类数据定义和描述的集合。在数据 字典中,除了定义外部实体、 数据流 、处理 逻辑和数据存储以外,还需要对数据元素和数据结构进 行定义。(P18)
1.7 主流的DBMS产品简介 大型:Oracle,DB2,Sybase,SQL Sever 中型:MS-SQL Server 微机数据库管理系统:Access,Visual FoxPro 以上均为关系型数据库管理系统。