1、封面第一章数据库应用基础 1.1.1 数据与数据处理数据与数据处理 数据是存储在某一媒体上,对客观事物进行描存储在某一媒体上,对客观事物进行描述的物理符号述的物理符号。文字数据:文字数据:如姓名、职称、地址等;数值型数据数值型数据:如价格、数量、长度等,多媒体数据:多媒体数据:如图像、声音、视频等。数据数据数据处理是对数据的采集、整理、存储、分采集、整理、存储、分类、排序、检索、维护、加工、统计和传输类、排序、检索、维护、加工、统计和传输一系列操作的总和。其目的是从大量原始数据中,获得有价值的信息,作为人们行为和决策的依据。数据处理数据处理1.1.2 1.1.2 计算机数据管理计算机数据管理人
2、工管理阶段人工管理阶段数据不保存。数据和程序不具有独立性。数据不能共享重复的数据称为重复的数据称为数据冗余数据冗余文件系统阶段文件系统阶段数据长期保存。程序与数据有了一定的独立性。数据的独立性低。数据的共享性差,存在数据冗余和数据的不一致。应用程序2应用程序1应用程序n数据文件2数据文件1数据文件n文件系统文件系统阶段文件系统阶段数据库阶段数据库阶段数据的结构化数据的共享性高,冗余度低。数据独立性高统一的数据控制功能应用程序2应用程序1应用程序n数据库管理系统数据库阶段数据库阶段数据库1.1.3 1.1.3 数据库系统组成数据库系统组成数据库系统数据库系统(Database System,DB
3、S)是指引入数据库技术的计算机系统引入数据库技术的计算机系统。它实现了有组织地、动态地存储大量相关数据,提供了数据处理和信息资源共享的便利手段。数据库系统图示数据库应用系统数据库管理系统操作系统硬件数据库管理员开发人员最终用户 硬件系统主要指计算机,包括CPU、内存、外存、输入/输出设备等硬件设备。硬件系统硬件系统Database(DB)Database(DB)数据库是指存储在计算机外存中,结存储在计算机外存中,结构化的相关数据的集合构化的相关数据的集合。它不仅包括描述事物的数据本身,还包括相关事物之间的联系。数据库以文件的形式存储在外存中,用户通过数据库管理系统来统一管理和控制数据。数据库数
4、据库Database Management System(DBMSDatabase Management System(DBMS)数据库管理系统数据库管理系统是管理数据库的软件管理数据库的软件,是数据库系统的核心核心。它在操作系统的基础上运行,帮助用户建立、使用和维护数据库。数据库管理系统数据库管理系统 功能数据定义功能数据定义功能定义数据库的数据对象,如数据库、表、索引,描述数据之间的联系。数据操纵功能数据操纵功能实现对数据库数据的基本操作,如查询、插入、删除和修改等。控制和管理功能控制和管理功能实现对数据库控制和管理,包括并发性控制、安全性检查、完整性检查及对数据库的内部维护等功能。数据库
5、管理系统数据库管理系统操作系统应用程序开发工具。数据库应用系统相关软件相关软件系统分析员数据库管理员(DBA)应用程序员最终用户 各类人员各类人员 1.1.4 1.1.4 数据库系统的体系结构数据库系统的体系结构整个数据库系统,包括应用程序、DBMS、数据库都装在一台计算机上。单用户单用户数据库系统都集中存放在主机上,终端只作为主机的输入输出设备,多个用户可通过终端存取主机的数据。主从式结构主从式结构 主从式结构主从式结构网络上的服务器结点存放数据及执行DBMS功能,客户机安装DBMS应用开发工具和应用程序。客户端的用户请求被传送到服务器,服务器进行处理后,只将结果(而不是整个数据)返回给用户
6、,客户服务器结构客户服务器结构(c/s)客户服务器结构客户服务器结构(c/s)服务器数据库DBMS客户机应用程序客户机应用程序客户端仅安装浏览器软件,用户通过URL向WEB服务器发出请求,WEB服务器运行脚本程序,向数据库服务器发出数据请求。数据库服务器执行处理后,将结果返回给WEB服务器。WEB服务器根据结果产生网页文件,客户端接收到网页文件后,在浏览器中显示出来。浏览器浏览器/WEB服务器服务器/数据库服务器结构数据库服务器结构 浏览器浏览器/WEB服务器服务器/数据库服务器结构数据库服务器结构 WEB服务器客户机浏览器数据库服务器数据库DBMS应用程序1.2.1 概念模型概念模型现实世界
7、中事物及联系在人们头脑中的反映,经过人们头脑的分析、归纳、抽象,形成信息世界。为了正确直观地反映客观事物及其联系,有必要对信息世界建立一个抽象的模型,称之为概念模型。目前常用实体联系模型实体联系模型表示概念模型。实体实体是客观存在并且可相互区别的事物。客观存在并且可相互区别的事物。可以是实际的事物(如读者、图书、货物等),也可以是抽象的事件。(如借书、订货等活动)实体实体 实体的特性实体的特性称为属性属性,一个实体可以用多个属性来描述。例如图书可以用条形码、书名、作者、出版社、出版年月、售价等属性来描述。借书可以用条形码、读者证号、借书日期等属性来描述。实体属性实体属性 用实体名及其属性集合描
8、述的同类实体用实体名及其属性集合描述的同类实体,称为实体型实体型。例如,图书(条形码、书名、作者、出版社、出版年月、售价)就是一个实体型。同类型实体的集合同类型实体的集合称为实体集实体集。例如,所有的图书构成一个实体集。实体型和实体集实体型和实体集实体间的联系实体间的联系就是指实体集与实体指实体集与实体集之间的联系集之间的联系。实体间联系实体间联系一对一联系一对一联系实体集A中的每个实体仅与实体集B中的一个实体联系,反之亦然。实体间联系实体间联系一对多联系一对多联系对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中只有一个实体与之对应。实体间联系
9、实体间联系多对多联系多对多联系对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中也有多个实体与之对应。实体间联系实体间联系1.2.2 1.2.2 数据模型数据模型 为了反映实体及实体间联系,数据库中的数据必须按一定的结构存放,这种结构用数据模型来表示。任何一个数据库管理系统都是基于某种数据模型的。层次、网状模型关系模型面向对象数据模型数据模型1.2.3 1.2.3 关系模型关系模型 用用二维表二维表表示实体和实体之间的联系表示实体和实体之间的联系的的数据模型数据模型称为关系数据模型关系数据模型。关系术语关系术语 关系关系 一个关系关系就是一张二维
10、表二维表,每个关系有个关系名。在vfp中,一个关系存储为一个表文件表文件,扩展名为dbf 对关系的描述称为关系模式 关系名(属性名1,属性名2,属性名n)在vfp中 表名(字段名1,字段名2,字段名n)例如:图书(条形码、书名、作者、出版社、出版年月、售价)就是“图书”关系的关系模式,即“图书”表的结构。关系术语关系术语元组元组 二维表的一行二维表的一行称为关系的一个元组元组,即VFP数据表中的一条记录记录。例如,(P0000001 马克思的人学思想 袁贵仁 北师大 1996/06/06 19.0)就是“图书”关系的一个元组,即“图书”表的一条记录。关系术语关系术语 属性属性 二维表的一列二维
11、表的一列称为关系的一个属性属性,即VFP数据表中的一个字段字段。例如,条形码、书名、作者、出版社、出版年月、售价是“图书”关系的属性,即“图书”表的字段。关系术语关系术语 域域 属性的取值范围称为域域,即不同元组对不同元组对同一个属性的取值所限定的范围同一个属性的取值所限定的范围 例如,“图书”关系中书名属性的域是文字字符,出版年月属性的域是日期,售价属性的域是0以上的数值。关系术语关系术语 关键字关键字 能唯一标识元组的属性或属性组合能唯一标识元组的属性或属性组合称为关键字关键字。在VFP数据表中,能标识记录唯一性的字段或字段的组合,称为主关键字或候选关键字。例如,“图书”关系中每一本图书的
12、条形码是唯一的,故“条形码”可作为图书表的关键字。而两本书的书名可能是相同的,所以书名不能作为关键字。关系术语关系术语 外部关键字外部关键字如果关系中的某个属性不是本关系的关键字,而是另一关系的关键字,称这个属性为外部关键字。关系术语关系术语关系必须规范化。关系必须规范化。最基本的要求是每个属性必须是不可分割的数据单元,即每个属性不能再细分为几个属性。在一个关系中,不能出现相同的属性名。在一个关系中,不能出现相同的属性名。关系特点关系特点 关系中不能出现完全相同的元组关系中不能出现完全相同的元组 在一个关系中元组的次序无关紧要在一个关系中元组的次序无关紧要任意交换两行的位置不影响数据的实际含义
13、 在一个关系中属性的次序无关紧要在一个关系中属性的次序无关紧要任意交换两列的位置不影响数据的实际含义关系特点关系特点一个具体的关系模型通常由若干个关系模式构成。在VFP中,相互之间存在联系的数据表放在一个数据库文件中进行管理。数据库文件的扩展名为dbc。关系实例关系实例1.2.4 1.2.4 关系运算关系运算 并并关系R与关系S的并,产生一个包含R和S所有不同元组的新关系,记作RS。参加差运算的关系R与S必须有相同的属性。传统的集合运算传统的集合运算 交交关系R与关系S的交,是既属于R也属于S的元组组成的新关系,记作RS。参加交运算的关系R与S必须有相同的属性。传统的集合运算传统的集合运算 差
14、差关系R与关系S的差,是所有属于R但不属于S的元组组成的新关系,记作R-S。参加差运算的关系R与S必须有相同的属性。传统的集合运算传统的集合运算 笛卡尔集笛卡尔集关系R与关系S的笛卡儿积,是R中每个元组与S中每个元组连接组成的新关系,记作RS。传统的集合运算传统的集合运算关系ts1为王颖珊借过的图书,关系ts2为杨瑞借过的图书。则ts1ts2为王颖珊和杨瑞借过的所有图书,ts1ts2为王颖珊和杨瑞都借过的图书,ts1-ts2为王颖珊借过但杨瑞未借过的图书。关系dz为读者的借书证号、姓名,dzts1为每位读者的信息与王颖珊借过的每本图书信息连接组成的新关系。选择选择从关系中选出满足给定条件的元组
15、的操从关系中选出满足给定条件的元组的操作称为选择。作称为选择。选择是从行的角度进行运算,在水平方选择是从行的角度进行运算,在水平方向选出满足条件的元组。向选出满足条件的元组。新关系的关系模式不变,元组是原关系新关系的关系模式不变,元组是原关系的一个子集。的一个子集。专门的关系运算专门的关系运算从图书表中筛选出所有出版社为中华书局的图书 投影投影 从关系中选出若干属性组成新的关系称从关系中选出若干属性组成新的关系称为投影。为投影。投影是从列的角度进行运算,在垂直方投影是从列的角度进行运算,在垂直方向抽取若干属性或重新排列属性。向抽取若干属性或重新排列属性。新关系的属性个数通常比原关系少,或新关系
16、的属性个数通常比原关系少,或者属性的排列顺序不同。者属性的排列顺序不同。专门的关系运算专门的关系运算图书表中抽取图书的条形码、书名、售价 联接联接联接是把两个关系中的元组按联接条件联接是把两个关系中的元组按联接条件横向结合,拼接成一个新的关系。横向结合,拼接成一个新的关系。最常见的联接运算是自然联接,它是利最常见的联接运算是自然联接,它是利用两个关系中的公共字段或者具有相同用两个关系中的公共字段或者具有相同语义的字段,把该字段值相等的记录联语义的字段,把该字段值相等的记录联接起来。接起来。专门的关系运算专门的关系运算在图书管理数据库中,将借阅表和图书表根据公共字段条形码进行自然联接,得到一个包
17、含读者证号、条形码、书名、作者、出版社、出版年月、售价、借阅日期、还书日期属性的关系。Visual FoxPro既是关系型数据库管理系统,又是可视化的面向对象的集成开发工具。它具有强大的数据库管理功能,支持自含型语言和结构化查询语言对数据的操作。VFP拥有五百条命令和两百余种函数,既支持传统的面向过程的程序设计,也支持面向对象的程序设计方式。使用VFP提供的项目管理工具和向导、生成器、设计器等可视化开发工具,用户可以简便、快速地开发应用程序。1.3.1 1.3.1 发展历史发展历史 在20世纪70年代末期,美国的Ashton-Tate公司研制的dBASE是最流行的微机关系数据库管理系统。198
18、6年,美国FOX软件公司发布了与dBASE兼容的FOXBASE。它功能更强大,运行速度更快,很快成为80年代中期主导的微机数据库管理系统。1989年,FOX软件公司开发了FOXBASE的后继产品FoxPro 1.0版,1991年推出2.0版。发展历史发展历史 1992年微软收购了Fox公司。开发出FoxPro2.5、FoxPro2.6等大约20个软件产品及其相关产品。1995年,微软公司发布了FoxPro的新版本Visual FoxPro 3.0,它全面支持面向对象技术和可视化编程技术。1998年,微软推出了可视化编程语言集成包Visual studio 6.0,Visual FoxPro 6
19、.0 是其中的一个产品。发展历史发展历史 进入新世纪以来,微软公司又相继公布了 Visual FoxPro 7.0(2001年)、8.0(2003年)、和 9.0(2004年)。国内目前大量使用的仍然是 Visual FoxPro 6.0中文版。1.3.2 VFP1.3.2 VFP安装安装将Visual FoxPro 6.0系统的光盘放入光驱中,安装向导会自动启动。如果没有启动,打开“我的电脑”或“资源管理器”,双击光盘上的安装文件Setup.exe。VFPVFP安装安装VFPVFP安装安装VFPVFP安装安装VFPVFP安装安装VFPVFP安装安装VFPVFP安装安装VFPVFP安装安装安装
20、常用组件安装常用组件可自行选择安可自行选择安装哪些组件。装哪些组件。定义文件安装位置定义文件安装位置VFPVFP安装安装VFPVFP安装安装1.3.3 VFP1.3.3 VFP启动和退出启动和退出VFP启动启动开始菜单开始菜单VFP启动启动建立桌面快捷方式建立桌面快捷方式VFP启动启动打开相关文件打开相关文件在我的电脑或资源管理器中,任意双击一个与Visual FoxPro相关联的文件从 菜单中选取 命令点击窗口右上角的关闭按钮按下组合键。在命令窗口输入 命令退出退出VFPVFP主界面主界面系统菜单系统菜单常用工具栏常用工具栏状态栏状态栏桌面桌面命令窗口命令窗口标题栏标题栏主菜单包含文件、编辑
21、、显示、格式、工具、程序、窗口和帮助8个菜单项。单击菜单项,系统会打开相应的下拉菜单。用户选择其中的菜单命令,就可执行Visual FoxPro中相应的操作。Visual FoxPro的菜单项是上下文敏感的,也就是说,当情况变化时,菜单项或下拉菜单的菜单命令会有所不同。主菜单主菜单工具栏工具栏当用户打开某些类型的文件时,系统将自动打开相应的工具栏。可以使用鼠标将工具栏拖曳到主窗口的其他位置。工具栏工具栏选择“显示显示”菜单下的“工具栏工具栏”命令,打开“工具栏”对话框。可选择打开或关闭指定的工具栏。在工具栏上单击鼠标右键,打开快捷菜单,也可以打开或关闭指定的工具栏。工具栏工具栏窗口工作区是指“
22、常用”工具栏以下到状态栏以上的区域,主要用来显示命令或程序的执行结果,同时也显示打开的各种窗口和对话框。窗口窗口在命令窗口中,可直接输入VFP命令,按回车键,系统就会执行此命令。已输入过的命令自动保留在命令窗口中。若用户要重复执行一个已输入的命令,只需将光标移到该命令行的任意位置,按回车键。用户还可修改已输入的命令,再按回车键来执行此命令。命令窗口命令窗口在命令窗口上单击鼠标右键,打开快捷菜单,用户可以对命令窗口的文本执行剪切、复制、粘贴、清除等操作。命令窗口可以被移动、改变大小和关闭。若关闭了命令窗口,选择“窗口”菜单的“命令窗口”命令,或单击常用工具栏的“命令窗口”按钮,可打开命令窗口。此
23、外,若用户通过菜单执行了某些操作,其对应的命令也会自动显示在命令窗口中。命令窗口命令窗口1.3.4 VFP1.3.4 VFP的选项设置的选项设置选择“工具工具”菜单的“选项选项”命令所改变的设置仅在本次运行期间有效。退所改变的设置仅在本次运行期间有效。退出出VFP系统后,所做的更改将丢失。系统后,所做的更改将丢失。所改变的设置存储在所改变的设置存储在Windows注册表中。每次注册表中。每次启动启动VFP,所做的更改将继续有效。,所做的更改将继续有效。VFP的选项设置此外,设置系统环境也可用SETSET命令。在命令窗口中输入SET DEFAULT TO d:tsglSET DEFAULT TO
24、 d:tsgl,就可以设置默认目录为“d:tsgl”。但是,对其所进行的设置仅在此次Visual FoxPro运行期间有效。项目文件是通过项目管理器来编辑的,项目管理器是处理数据和对象的可视化工具。它将文件分门别类地存放在不同的选项卡中,采用树形结构和图标方式来组织和显示这些文件。通过单击鼠标,就能实现对各种文件的创建、修改、删除、运行等操作。此外,还可以把应用系统的所有文件编译成一个扩展名为APP的应用程序文件或扩展名为EXE的可执行文件。文件文件(F)(F)新建新建(N)(N)新建项目新建项目1.4.1 1.4.1 创建项目创建项目 创建项目后,创建项目后,VFP在指定目录下建立了一个在指
25、定目录下建立了一个pjx项目文项目文件和一个件和一个pjt项目备注文件。项目备注文件。此项目现在未包含任何文件,称为空项目。此项目现在未包含任何文件,称为空项目。新建项目新建项目|?在默认目录下创建项目。如果要在指定目录下创建项目,则应在文件名前加上路径。新建项目新建项目项目管理器的选项卡项目管理器的选项卡项目管理器的选项卡项目管理器的选项卡:用于显示和管理项目包含的所有文件:用于显示和管理数据库、自由表和查询三类文件。:用于显示和管理表单、报表和标签三类文件。:用于显示和管理所有的类库文件:用于显示和管理程序文件、API库和应用程序三类文件。:用于显示和管理菜单、文本文件和其他文件三类文件。
26、在项目管理器中,有些选项的前面带有“+”号或“”号方框。带“+”号方框表示该选项还有一个或多个子项。单击“+”号可展开各子项,同时“+”号方框变为“”号方框。单击“”号方框,则可把展开的选项折叠起来。项目管理器的选项卡项目管理器的选项卡文件文件(F)(F)打开打开(O)(O)打开项目打开项目|?关闭项目关闭项目 单击项目管理器右上角的“关闭”按钮,即可关闭项目文件。当关闭一个空项目时,系统打开对话框,询问是否保存该项目。单击“删除”按钮,系统将从磁盘上删除该空项目文件;单击“保持”按钮,系统将保存该空项目文件。1.4.21.4.2使用项目管理器使用项目管理器首先,选择新文件的类型。单击项目管理
27、器的“新建”按钮或者选择“项目”菜单的“新建文件”命令,系统即打开相应的设计器以创建文件。创建文件创建文件创建文件创建文件在项目中新建的文件,自动地包含于该项目。即该文件与项目之间建立了一种关联,用户可以通过项目管理器来管理此文件。但并不意味着该文件已成为pjx项目文件的一部分。事实上,每一个文件都是以独立文件的形式存在磁盘上。在没有打开项目时,此文件也可以单独被使用。创建文件创建文件选择要添加的文件类型。单击项目管理器的“添加”按钮或选择“项目”菜单的“添加文件”命令,系统打开“打开”对话框。在“打开”对话框中,选择要添加的文件,单击“确定”按钮,系统便将选择的文件添加到项目文件中。添加文件
28、添加文件添加文件添加文件首先,选择要修改的文件。单击“修改”按钮或选择“项目”菜单的“修改文件”命令,系统打开选中文件相应的设计器。修改文件修改文件修改文件修改文件在VFP中,一个文件可同时被包含在多个项目中。在任何一个项目中修改此文件,修改的结果对于其他项目也有效。修改文件修改文件首先,选择要移去的文件。单击“移去”按钮或选择“项目”菜单的“移去文件”命令移去文件移去文件不仅会将该文件从项目中移去,还从磁盘中删除该文件 选择的文件从本项目中移去,但仍然存在于磁盘中 根据所选择文件的类型不同,项目管理器的右侧将出现不同的按钮组 浏览按钮浏览按钮浏览数据表打开或关闭按钮打开或关闭按钮打开或关闭数
29、据库其他操作其他操作预览按钮预览按钮打印预览报表和标签运行按钮运行按钮执行查询、表单或程序连编按钮连编按钮把一个项目的所有文件连接并编译成一个可运行文件的过程。其他按钮其他按钮1.4.3 1.4.3 定制项目管理器定制项目管理器移动项目管理器移动项目管理器将鼠标指向“项目管理器”的边框或四个角上,拖动鼠标便可改变项目管理器的大小将鼠标指向“项目管理器”的标题栏,拖曳鼠标便可移动项目管理器。移动项目管理器移动项目管理器当项目管理器被拖动到VFP主窗口顶部的工具栏区域,就只能显示选项卡,不能展开以显示整个窗口。用户可以单击每个选项卡,显示出下面的对象。通过右击鼠标,打开快捷菜单来进行相应的操作。折
30、叠和展开项目管理器折叠和展开项目管理器 拆分项目管理器拆分项目管理器 折叠项目管理器后,可以用鼠标指向其中的选项卡,拖曳鼠标,将其拖离“项目管理器”后释放鼠标。该选项卡成为一个独立、浮动的窗口。单击选项卡上的图钉图标,该选项卡就会设置为顶层显示,即始终显示在其他VFP窗口的上面。若要取消顶层显示的设置,只需再次单击图钉图标。拆分项目管理器拆分项目管理器 单击选项卡上的图钉图标,该选项卡就会设置为顶层显示,即始终显示在其他VFP窗口的上面。若要取消顶层显示的设置,只需再次单击图钉图标。拆分项目管理器拆分项目管理器 若要还原拆分的选项卡,可以单击选项卡上的“关闭”按钮,也可以用鼠标将拆分的选项卡拖曳回项目管理器中。作业作业 教材p21一大题 教材p22二大题 教材p23三大题的第1小题(作业本)