第一章 数据库基础概述
目录 1.1 1.2 1.3 1.4 1.5 1.6 1.7 数据库基本概念 数据模型 关系数据库 Visual FoxPro系统简介 VFP基本工具 1.5 项目管理器 1.6 本章小结 1.7 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1 数据库基本概念 随着计算机技术的高速发展,计算机已被广泛地应用于各个领域,人类已经进入了信息时代。信息在现代社会中起着越来越重要的作用,信息资源的开发和利用水平已成为衡量一个国家综合国力的重要标志。信息处理即数据处理是目前计算机应用最广泛的一个领域。数据库技术就是作为数据处理中的一门技术而发展起来的。 数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库技术不仅应用于企业管理、生产管理、商业财贸等传统行业,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等领域。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.1 数据管理技术的发展 1.信息与数据 信息(Information)是客观事物属性的反映,是经过加工处理并对人类客观行为产生影响的数据表现形式。 数据(Data)是指存储在某一种媒体上能被识别的物理符号,是反映客观事物属性的记录,可以说是信息的具体表现形式。例如,某人的身高165cm,年龄20岁,其中165cm、20岁都是数据。 总之,信息是有用的数据,数据是信息的表现形式。 2.数据处理 所谓数据处理,是指对各种形式的数据进行收集、存储、计算、加工、检索和传输的一系列活动的总和。 3.计算机数据管理技术的发展 计算机数据管理技术随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,大致经历了如下三个阶段:人工管理、文件管理和数据库系统管理三个阶段。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.1 数据管理技术的发展 1.人工管理阶段 程序与数据不具有独立性,同一组数据在不同的程序中不能被共享。因此,各应用程序之间存在大量的冗余数据。 应用程序1 数据集1 应用程序2 数据集2 应用程序n 数据集n … 2.文件系统管理阶段 文件系统把数据组织成相互独立的数据文件,这种数据文件可以及脱离程序而独立存在,用户可以对文件进行增、删、改的操作。但是,数据文件仍高度依赖于其对应的程序,因此数据共享性和独立性差,且冗余度大,管理和维护的代价也很大。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.1 数据管理技术的发展 应用程序1 数据集1 应用程序2 数据集2 应用程序n 数据集n … 存取方法 3.数据库系统管理阶段 数据库系统管理方式对所有的数据实行统一规划管理,构成一个数据仓库,数据库中的数据能够满足所有用户的不同要求,供不同用户共享。数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,因此冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.1 数据管理技术的发展 数据库管理系统 数据库 应用程序1 应用程序2 应用程序n … 1.1.1 数据管理技术的发展 应用程序1 应用程序2 应用程序n … 数据库管理系统 数据库 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.2 基本术语 一、数据库(Database) 数据库的英文为“Database ”,简称DB,其中 Data 是数据的意思, Base 是基地、基础的意思,可以通俗地理解数据库为存储数据的仓库。它是按照一定的组织结构存储在计算机存储设备(如磁盘、磁带)上的相关数据的集合。它既反映了描述事物的数据本身,又反映了相关事物之间的联系。 二、数据库管理系统(Database Management System,简称DBMS) 数据库管理系统是用户用于建立、使用和管理数据库的系统软件,位于用户与操作系统之间。DBMS主要具有数据库的定义、操作、运行控制和维护等功能,并提供了数据的安全性检查和完整性约束控制,以方便用户对大量数据进行管理和存储。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.2 基本术语 三、数据库系统(DataBase System,简称DBS) 1.1.2 基本术语 三、数据库系统(DataBase System,简称DBS) 数据库系统是指在计算机系统中引入数据库后的系统,数据库系统一般由五部分组成:硬件系统、系统软件(包括操作系统和数据库管理系统)、数据库、数据库应用系统和各类人员(包括数据库管理员、系统分析员、数据库设计人员、应用程序员和最终用户)。 四、数据库应用系统(DataBase Application System,简称DBAS) 数据库应用系统是指用户为了解决某一类数据处理的实际问题而利用数据库系统开发的软件系统。 五、数据库管理员(DataBase Administrator,简称DBA) 数据库管理员是负责数据库全面维护、具有较高计算机应用技术水平的系统工作人员。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.1.3 数据库系统的特点 数据库系统具有以下特点: 数据结构化 数据共享 数据独立性高 具有统一的数据控制功能 (1)数据的安全性保护 1.1.3 数据库系统的特点 数据库系统具有以下特点: 数据结构化 数据共享 数据独立性高 具有统一的数据控制功能 (1)数据的安全性保护 (2)数据的完整性检查 (3)并发控制 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.2 数据模型 人们常用模型来刻画和表述现实世界中的实际事物,而数据模型则是用来反映数据及其相互之间的逻辑结构和内在联系的。任何一个数据库都是基于某种数据模型的。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.2.1 实体及实体之间的联系 数据库系统中研究的实体之间的联系可以归结为以下3种类型: (1)一对一联系 1.2.1 实体及实体之间的联系 数据库系统中研究的实体之间的联系可以归结为以下3种类型: (1)一对一联系 如果—个学校只有—个校长,而这个校长也只是这个学校的校长,那么学校和校长之间就存在着一对一的联系,记为1:1。 (2)一对多联系 如果一个学校有多个教师,而这些教师都只属于这个学校,那么这个学校与这些教师之间就存在着一对多的联系,记为1:M。一对多的联系是最普遍的联系,也可以将一对一的联系看作是一对多联系的特殊情况。 (3)多对多联系 如果一个学校有多个教师,而一个教师又属于多个学校,那么学校和教师之间就存在着多对多的联系,记为M:M。多对多联系比较复杂,在实际应用中,可以将多对多联系分解为几个一对多的联系来处理。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
目前常用的数据模型有三种:层次模型、网状模型和关系模型。 一、层次模型 层次模型需满足以下条件: 有且仅有—个根节点,其层次最高。 1.2.2 数据模型 目前常用的数据模型有三种:层次模型、网状模型和关系模型。 一、层次模型 层次模型需满足以下条件: 有且仅有—个根节点,其层次最高。 其他节点有且仅有一个父节点。 同层次的节点之间没有联系。 南昌科技大学 文学院 化工学院 材料学院 高分子材料 光电材料 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.2.2 数据模型 二、网状模型 满足以下条件的模型称为网状模型: 允许一个以上的节点无父节点。 一个节点可以有多于一个的父节点。 系部 1.2.2 数据模型 二、网状模型 满足以下条件的模型称为网状模型: 允许一个以上的节点无父节点。 一个节点可以有多于一个的父节点。 系部 课程 学生 教师 班级 学生会 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.2.2 数据模型 三、关系模型 用二维表结构来表示实体及实体间联系的模型称为关系模型,如表所示的学生信息表。 1.2.2 数据模型 三、关系模型 用二维表结构来表示实体及实体间联系的模型称为关系模型,如表所示的学生信息表。 关系模型中的数据以二维表的形式出现,操作的对象和结果都是二维表,每一个二维表就是一个关系,关系模型是建立在严格的数学理论基础上的,结构简单清晰,易于操作和管理,是目前应用最广泛、发展最快速的数据模型。 学号 姓名 年龄 性别 专业 20080001 李钢 17 男 计算机应用 20080002 罗飞 19 生物工程 20080003 张明 18 女 行政管理 20080004 王雷 20 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.3 关系数据库 关系型数据库就是用关系模型构成的数据库。关系数据库由一个或多个数据表组成,各数据表之间可建立相互联系。 1.3 关系数据库 关系型数据库就是用关系模型构成的数据库。关系数据库由一个或多个数据表组成,各数据表之间可建立相互联系。 学生成绩管理系统的数据库 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.3.1 关系术语 1.关系 一个关系就是一张二维表,表的每一列为一个属性(也叫字段),表的每一行为一个元组(也称记录) 2.关系模式 对关系的描述称为关系模式,一个关系模式对应一个关系的结构,其格式为: 关系名(属性名1,属性名2,……,属性名n)。 3.属性 二维表中的每一列称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.3.1 关系术语 4.域 属性的取值范围称为域。 5.关键字和候选关键字 关键字是关系中能唯一标识表中记录的字段或字段的组合。一个关系中可能有多个这样的字段或字段组合能够成为关键字,这些都称为候选关键字。 6.主关键字和外部关键字 在候选关键字中选定一个作为关键字,称为该关系的主关键字,关系中主关键字是唯一的。如果一个关系中的某个字段或字段组合不是本关系的关键字,却是另一个关系的主关键字或候选关键字,称为外部关键字。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.3.2 关系的性质 在关系模型中,每个关系模式都必须满足一定的要求,即关系必须规范化,规范化的关系具有以下性质: 1.3.2 关系的性质 在关系模型中,每个关系模式都必须满足一定的要求,即关系必须规范化,规范化的关系具有以下性质: 1.关系中的每一个属性必须是不可再分的。 2.同一个关系中不能出现相同的属性名,即不能出现相同的列。 3.关系中同一列的数据类型必须相同。 4.关系中不能出现相同的元组(记录),即不能出现相同的行。 5.同一个关系中属性的顺序、元组的顺序可以任意交换,即一个关系中任意两行或任意两列互换,不影响数据的实际意义。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.3.3 关系运算 关系模型是建立在严格的数据理论基础上的,关系可以进行并、交、差等集合运算,另外还有专门的关系运算,即:选择、投影、连接。 1.选择 选择操作是指从关系中选出那些满足条件的记录,即从二维表的行中查找记录。例如,从学生基本信息表中找出籍贯是江西的学生,就是选择操作。 2.投影 投影操作是指从关系中选出所需的若干字段,即从二维表的列中选择字段。例如,从学生基本信息表中找出所有同学的学号、姓名等,就是投影操作。 3.连接 连接是将两个关系横向拼接成一个新的关系,新关系中包含满足条件的记录。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4 Visual FoxPro系统简介 Microsoft公司于1998年推出的Visual FoxPro6.0简体中文版是一个适用于PC机的32位关系数据库管理系统(relational data base management system,RDBMS),可以用于管理和处理大量数据,可以实现数据的新增、修改与删除,报表和标签的制作,数据查询等功能,甚至可让用户快速开发一个简单的应用系统。 其后,Microsoft公司又陆续推出了7.0版、8.0版直至现在的9.0版,增强了网络处理功能、COM组件功能等,本书主要介绍Visual FoxPro8.0中文版的使用,以后均简称为VFP。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.1 VFP的安装 一、最低运行环境 (1)486DX/66MHZ或更高的处理器。 (2)16M以上内存。 (3)硬盘空间:典型安装需要85MB,最大安装需要90MB。 (4)VGA或更高分辨率的显示器、鼠标、光驱。 (5)操作系统:Windows98以上。 二、安装步骤 (1)将Visual FoxPro系统安装光盘插入光驱。 (2)打开光盘,找到setup.exe文件,双击该文件运行安装向导。 (3)按安装向导的提示,单击“下一步”进行安装,在安装过程中需要接受用户协议和选择安装位置; (4)设定完成后安装程序开始复制文件,直到安装完毕。 (5)安装完成后,在开始->程序会出现启动菜单,在桌面上会产生快捷方式,图标为: http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.2 Visual FoxPro的启动和退出 一、VFP的启动 VFP程序的启动与一般应用程序的启动类似,有以下几种方法: (1)通过系统的“开始”->“程序”->Microsoft Visual FoxPro8.0启动。 (2)双击桌面上的“Microsoft Visual FoxPro8.0”快捷方式图标。 (3)找到VFP的安装目录,直接双击VFP8.exe启动。 VFP主窗口 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
方法一:一般通用的Windows窗口关闭方法,如单击VFP主窗口右上角的关闭按钮,选择系统控制菜单的关闭按钮等。 1.4.2 Visual FoxPro的启动和退出 二、退出VFP 退出VFP一般有以下几种方法: 方法一:一般通用的Windows窗口关闭方法,如单击VFP主窗口右上角的关闭按钮,选择系统控制菜单的关闭按钮等。 方法二:选择“文件->退出”命令。 方法三:在命令窗口中输入命令“QUIT”,按回车键执行即可退出VFP。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
系统环境是指VFP的外观和行为,它决定了VFP系统的操作环境和工作方式。 1.4.3 Visual FoxPro系统环境的配置 一、系统环境的概念 系统环境是指VFP的外观和行为,它决定了VFP系统的操作环境和工作方式。 系统环境的设置包括主窗口、默认目录、项目、编辑器、调试器及表单工具栏选项、临时文件存储、播放字段对应的控件和其他选项等内容。 二、系统环境的设置方法 1.用菜单设置 选择菜单“工具”->“选项”,打开“选项”对话框,在这里可以进行一系列系统环境的设置 。 见【例1-1】用菜单方式设置E盘根目录下的文件夹“VFP实例”为默认工作目录。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.3 Visual FoxPro系统环境的配置 2.用命令设置 在命令窗口使用set命令可进行临时设置。 更多的set命令请参考附录。 命令格式:Set default to 路径 命令序列: set default to e:\学生成绩管理 【例1-3】用命令方式设置日期显示方式。 在命令窗口以下命令,逐条执行。 SET STRICTDATE TO 1 &&设置日期格式为严格的日期,这是系统默认设置。 SET CENTURY on &&设置显示日期时需显示年份 SET MARK to "-" &&设置日期分隔符为“-”号 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.4 VFP的工作方式 VFP系统提供了人机交互工作方式和程序执行工作方式,人机交互方式又分为菜单操作和命令操作。 一、人机交互工作方式 交互工作方式的特点是:在命令窗口输入一条命令或通过菜单选择一条命令,系统立即执行一条命令,并且在主窗口区马上显示相应的执行结果。此方式简单、直观、便捷。 二、程序执行方式 程序执行方式是把多条命令编成特定的命令序列,存入程序文件中,程序文件以扩展名.PRG的文件类型保存。通过运行该程序,系统就可自动连续地执行一系列命令,从而完成相应的任务。 在命令窗口输入命令“DO <程序文件名>”,就可调用程序文件,系统将自动执行这一文件,将用户烦琐的介入减到最少。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.4 VFP的工作方式 三、VFP命令语法规则 VFP系统提供了一系列命令和函数,书写这些命令和函数必须遵循一定的规则。 1.符号约定 为了便于说明,在命令书写规则中使用了一些符号,下表列出了符号约定的内容。 符 号 意义 < > 必须提供一个特定的类型的值,以满足尖括号内项的要求 [ ] 方括号内的项是可以选择的 | 在其中可选择一项 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.4 VFP的工作方式 2.命令格式 VFP的命令如下: 命令动词[<子句>] 【例1-4】命令举例。 USE student && 打开名称为student的表文件 LIST && 列表显示当前表的所有记录 LIST FOR 成绩>60 && 只显示成绩大于60的数据库中的记录 上面几条语句中,USE、LIST是命令谓词,student相当于宾语,是USE的操作对象。&&符号是注释的意思,VFP遇到注释就不进行解释,注释在程序中不起作用。它是给人看的,以便了解语句的功能。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.4.4 VFP的工作方式 3.VFP的命令特点 从以上的实例可以看出,VFP的命令有以下特点: (2)操作对象、操作目标和操作条件都用命令子句的形式来表示。 (3)VFP的命令把命令的操作细节封闭起来了,用户只需输入命令语句即可,不用了解操作的细节过程,所以称为非过程语言。 (4)VFP的命令既可以逐条输入执行,也可以把这些命令放在一个文件中,按用户事先编定的条件一次性的全部执行,可以说是十分方便的。 (5)VFP命令的书写规则(见教材) http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
VFP拥有500多条命令(详见附录二),大致可分为以下几类: 建立和维护数据库的命令; 数据查询命令; 程序设计命令; 界面设计命令; 4.命令分类 VFP拥有500多条命令(详见附录二),大致可分为以下几类: 建立和维护数据库的命令; 数据查询命令; 程序设计命令; 界面设计命令; 文件和程序的管理命令; 面向对象的设计命令; 其他命令。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.5 VFP基本工具 向导 向导是交互式的程序,能帮助用户快速完成一般性的任务,例如,创建表单、设置报表格式和建立查询。 生成器 生成器是带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程。 设计器 利用“项目管理器”,可以快速访问VFP的各种设计器。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.6 项目管理器 项目管理器顾名思义是“项目”的管理工具,这里所说的“项目”是相关文件、数据、文档和VFP对象的集合,项目文件的扩展名为PJX。 VFP中的项目管理器提供了简便的、可视的方法来组织和处理表、数据库、表单、报表、查询和其它一切文件,如图所示。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
【例1-5】创建一个项目文件“学生成绩管理.PJX”。 操作步骤: 1.6.1 创建项目文件 【例1-5】创建一个项目文件“学生成绩管理.PJX”。 操作步骤: (1)从“文件”菜单中选择“新建”,或者单击常用工具栏上的“新建”按钮,则可打开“新建”对话框,如图所示。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.6.1 创建项目文件 (2)选定“项目”单选按钮,然后单击“新建文件”,弹出“创建”对话框,如图所示。 1.6.1 创建项目文件 (2)选定“项目”单选按钮,然后单击“新建文件”,弹出“创建”对话框,如图所示。 (3)在“项目文件”文本框中输入新项目的名称“学生成绩管理”,在“保存在”中选择新项目的文件夹,例如“E:\学生成绩管理”,单击“保存”。此时一个空的项目文件已建立。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
项目管理器包含全部、数据、文档、类、代码和其他六个选项卡,“全部”下面包含所有的文件,其他选项卡下管理不同类型的文件。 1.6.2 项目管理器操作 项目管理器包含全部、数据、文档、类、代码和其他六个选项卡,“全部”下面包含所有的文件,其他选项卡下管理不同类型的文件。 一、“数据”选项卡 在建立表和数据库,以及创建查询、视图时,所要处理的主要是“数据”选项卡中的内容。 二、文档选项卡 “文档”选项卡中包含了处理数据时所用的全部文档:输入和查看数据所用的表单,以及打印表和查询结果所用的报表及标签。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.6.2 项目管理器操作 三、其余选项卡 如“类”、“代码”及“其他”,主要用于为最终用户创建应用程序。 四、项目管理器中的命令按钮 1.6.2 项目管理器操作 三、其余选项卡 如“类”、“代码”及“其他”,主要用于为最终用户创建应用程序。 四、项目管理器中的命令按钮 项目管理器中的每个选项卡右方都包含几个命令按钮,这些按钮会根据选取的文件而改变,显示出可以使用的按钮,无法使用的按钮显示灰色而无法选取。 五、项目管理器的使用 1.查看文件详细内容 项目管理器中的项是以类似于大纲的结构来组织的,可以将其展开或折叠,以便查看不同层次中的详细内容。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
选择要添加项的类型,选择“添加”,在“打开”对话框中,选择要添加的文件名,然后选择“确定”。 3.从项目中移除文件 1.6.2 项目管理器操作 2.在项目中加入文件 选择要添加项的类型,选择“添加”,在“打开”对话框中,选择要添加的文件名,然后选择“确定”。 3.从项目中移除文件 选定要移去的内容,选择“移去”,在弹出的提示框中选择“移去”。 4.创建添加到“项目管理器”中的文件 5.修改文件 6.为文件添加说明 7.查看表中的数据 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
在项目管理器中可以定制可视工作区域,方法是改变“项目管理器”的外观或设置 “项目管理器”中的文件。 1.6.3 定制“项目管理器” 在项目管理器中可以定制可视工作区域,方法是改变“项目管理器”的外观或设置 “项目管理器”中的文件。 1.移动“项目管理器” 可以将鼠标指针指向标题栏,然后将“项目管理器”拖到屏幕上的其他位置。 2.改变“项目管理器”窗口的大小 将鼠标指针指向“项目管理器”窗口的顶端、底端、两边或角上,拖动鼠标即可扩大或缩小它的尺寸。 3.折叠“项目管理器” 单击右上角的向上箭头 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
折叠“项目管理器”。选定一个选项卡,将它拖离“项目管理器”。 1.6.3 定制“项目管理器” 4、还原“项目管理器” 单击右上角的向下箭头。 5、拖开某一选项卡报表 折叠“项目管理器”。选定一个选项卡,将它拖离“项目管理器”。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
将“项目管理器”拖到VFP主窗口的顶部。 1.6.3 定制“项目管理器” 6.还原选项卡 单击选项卡上的关闭按钮。 7.停放“项目管理器” 将“项目管理器”拖到VFP主窗口的顶部。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
1.7 本章小结 本章主要介绍了有关数据库的基本知识和VFP的开发环境,包括数据库的基本概念、几种数据模型、关系数据库的特点、VFP的界面、系统配置、基本工具等内容。通过本章的学习重点要掌握系统环境的配置、了解VFP的工作方式,便于继续后面章节的学习。 http://Vir.jxstnu.edu.cn/vfp Visual FoxPro程序设计
本章结束