封面
第一章数据库应用基础 1.数据库系统 2 关系数据库 3 Vfp概述 4 项目管理器
1.1 数据库系统 1.1.1 数据与数据处理
数据是存储在某一媒体上,对客观事物进行描述的物理符号。 文字数据:如姓名、职称、地址等; 数值型数据:如价格、数量、长度等, 多媒体数据:如图像、声音、视频等。
数据处理 数据处理是对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输一系列操作的总和。 其目的是从大量原始数据中,获得有价值的信息,作为人们行为和决策的依据。
1.1.2 计算机数据管理
数据不保存。 数据和程序不具有独立性。 数据不能共享 人工管理阶段 重复的数据称为数据冗余 数据不保存。用户把应用程序和数据一起输入内存,通过应用程序对数据进行处理,输出处理结果。任务完成后,数据随着应用程序从内存一起释放。 数据和程序不具有独立性。数据由应用程序自行管理。应用程序中不仅要规定数据的逻辑结构,还要阐明数据在存储器上的存储地址。当数据改变时,应用程序也要随之改变。 数据不能共享。一个应用程序中的数据无法被其他应用程序所利用。程序和程序之间不能共享数据,因而产生大量重复的数据,称为数据冗余。
数据的共享性差,存在数据冗余和数据的不一致。 文件系统阶段 数据长期保存。 程序与数据有了一定的独立性。 数据的独立性低。 数据的共享性差,存在数据冗余和数据的不一致。 数据长期保存。数据项集合为记录,长期保存在磁盘的数据文件中,供用户反复调用和更新。 程序与数据有了一定的独立性。应用程序和数据分别存储在程序文件和数据文件中,应用程序按文件名访问数据文件,不必关心数据在存储器上的位置、输入输出方式。 数据的独立性低。由于应用程序对数据的访问基于特定的结构和存取方法,当数据的逻辑结构发生改变时,必须修改相应的应用程序。 数据的共享性差,存在数据冗余和数据的不一致。大多数情况下,一个应用程序对应一个数据文件。当不同应用程序所处理的数据包含相同的数据项时,通常是建立各自的数据文件,从而产生大量的数据冗余。当一个数据文件的数据项被更新,而其他数据文件中相同的数据项没有被更新时,将造成数据的不一致。
文件系统阶段 应用程序1 数据文件1 文件 系统 应用程序2 数据文件2 … … 应用程序n 数据文件n
数据的结构化 数据的共享性高,冗余度低。 数据独立性高 统一的数据控制功能 数据库阶段 数据的结构化 数据库中的数据是以一定的逻辑结构存放的,这种结构由数据库管理系统所支持的数据模型决定。 数据的最小存取单位是数据项(字段)。同一数据库的各个数据文件可以通过数据项形成联系,从而形成数据库整体的结构化 数据的共享性高,冗余度低。 建立数据库时,以面向全局的观点组织数据库中的数据。数据可被多个用户、多个应用程序共享使用,大大减少数据冗余。 数据独立性高 数据与应用程序之间彼此独立。当数据的存储格式、组织方法和逻辑结构或发生改变时,不需要修改应用程序。 统一的数据控制功能 数据库由数据库管理系统来统一管理,并提供对数据的并发性、完整性、安全性、可恢复性等控制功能。并发控制允许多用户同时操作数据库中的数据;完整性控制保证数据的正确性;安全性控制可以防止非法用户存取数据;可恢复性是系统出现故障时,将数据恢复到最近某个时刻的正确状态。
数据库阶段 应用程序1 应用程序2 数据库管理系统 数据库 … 应用程序n
1.1.3 数据库系统组成 数据库系统(Database System,DBS)是指引入数据库技术的计算机系统。它实现了有组织地、动态地存储大量相关数据,提供了数据处理和信息资源共享的便利手段。
数据库应用系统 数据库管理系统 操作系统 硬件 数据库管理员 数据库系统图示 开发人员 最终用户
硬件系统主要指计算机,包括CPU、内存、外存、输入/输出设备等硬件设备。 由于要运行操作系统(如Windows)、数据库管理系统的核心程序、应用程序,要求计算机有足够大的内存;同时,由于数据库、系统软件和应用软件都保存在外存中,对计算机的外存容量的要求也很高。此外,对于网络数据库系统,还需要有网络通信设备的支持
数据库是指存储在计算机外存中,结构化的相关数据的集合。 它不仅包括描述事物的数据本身,还包括相关事物之间的联系。 Database (DB) 数据库是指存储在计算机外存中,结构化的相关数据的集合。 它不仅包括描述事物的数据本身,还包括相关事物之间的联系。 数据库以文件的形式存储在外存中,用户通过数据库管理系统来统一管理和控制数据。
Database Management System(DBMS) 数据库管理系统是管理数据库的软件,是数据库系统的核心。 它在操作系统的基础上运行,帮助用户建立、使用和维护数据库。 大型数据库管理系统有Oracle、Sybase、DB2等,小型数据库管理系统有SQL Server、Visual FoxPro和Access等
数据定义功能 定义数据库的数据对象,如数据库、表、索引,描述数据之间的联系。 数据库管理系统 功能 数据定义功能 定义数据库的数据对象,如数据库、表、索引,描述数据之间的联系。 数据操纵功能 实现对数据库数据的基本操作,如查询、插入、删除和修改等。 控制和管理功能 实现对数据库控制和管理,包括并发性控制、安全性检查、完整性检查及对数据库的内部维护等功能。 并发控制:网络环境下多个用户同时对同一数据库中的同一数据进行存取,并发操作。 安全性:设置口令是常用的数据保密方式,口令又分成不同的级别,不同的用户对数据库有不同的访问权限 完整性:正确性。对输入的数据进行必要的约束。
操作系统 应用程序开发工具。 数据库应用系统 相关软件 基于C/S结构的常用开发工具有Delphi、Visual Basic、PowerBuilder,基于B/W/S结构的常用开发工具有ASP、JSP、PHP等。Visual FoxPro也可作为开发工具。 数据库应用系统是指在数据库管理系统提供的平台上,程序设计者结合各领域的应用需求,使用开发工具开发的软件。
系统分析员 数据库管理员(DBA) 应用程序员 最终用户 各类人员 系统分析员 系统分析员是数据库建设时的主要参入人员,负责应用系统的需求分析,设计应用系统的功能。和其他人员一起协商,设计数据库的结构。 数据库管理员(Database Administrator,DBA) 数据库管理员参加数据库设计的过程。数据库建好后,维护数据库的有效运作,管理数据库的帐号,备份和还原数据库,监督和记录数据库的操作状况,必要时还要修改数据库结构。 应用程序员 应用程序员根据应用系统的功能需求,使用开发工具编写应用程序。 最终用户
1.2 关系数据库
1.2.1 概念模型 现实世界中事物及联系在人们头脑中的反映,经过人们头脑的分析、归纳、抽象,形成信息世界。 为了正确直观地反映客观事物及其联系,有必要对信息世界建立一个抽象的模型,称之为概念模型。目前常用实体联系模型表示概念模型。 Vfp中用表来存放实体集,表包括多个字段,就是属性,一条纪录表示一个实体
实体 实体是客观存在并且可相互区别的事物。 可以是实际的事物(如读者、图书、货物等),也可以是抽象的事件。(如借书、订货等活动)
实体属性 实体的特性称为属性,一个实体可以用多个属性来描述。 例如图书可以用条形码、书名、作者、出版社、出版年月、售价等属性来描述。 借书可以用条形码、读者证号、借书日期等属性来描述。
实体型和实体集 用实体名及其属性集合描述的同类实体,称为实体型。 例如,图书(条形码、书名、作者、出版社、出版年月、售价)就是一个实体型。 同类型实体的集合称为实体集。 例如,所有的图书构成一个实体集。
实体间的联系就是指实体集与实体集之间的联系。 实体间联系 实体间的联系就是指实体集与实体集之间的联系。
一对一联系 实体集A中的每个实体仅与实体集B中的一个实体联系,反之亦然。 实体间联系 一对一联系 实体集A中的每个实体仅与实体集B中的一个实体联系,反之亦然。 例如班级和班长两个实体集,每个班级只能有一个班长,而一个班长只能在一个班级任职,则班级和班长之间为一对一的联系。
一对多联系 对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中只有一个实体与之对应。 实体间联系 一对多联系 对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中只有一个实体与之对应。 例如班级和学生两个实体集,每个班级有多名学生,而一个学生只能属于一个班级,则班级和学生之间为一对多的联系。
多对多联系 对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中也有多个实体与之对应。 实体间联系 多对多联系 对于实体集A中的每个实体,实体集B都有多个实体与之对应;反之,对于实体集B中的每个实体,实体集A中也有多个实体与之对应。 例如图书和读者两个实体集,每个读者可以借阅多本图书,而一本图书也可以被多位读者借阅,则图书和读者之间为多对多的联系。
1.2.2 数据模型 为了反映实体及实体间联系,数据库中的数据必须按一定的结构存放,这种结构用数据模型来表示。 任何一个数据库管理系统都是基于某种数据模型的。
数据模型 层次、网状模型 关系模型 面向对象
用二维表表示实体和实体之间的联系的数据模型称为关系数据模型。 1.2.3 关系模型 用二维表表示实体和实体之间的联系的数据模型称为关系数据模型。
关系术语 元组(记录) 属性(字段)
关系 一个关系就是一张二维表,每个关系有个关系名。 在vfp中,一个关系存储为一个表文件,扩展名为dbf 关系术语 关系 一个关系就是一张二维表,每个关系有个关系名。 在vfp中,一个关系存储为一个表文件,扩展名为dbf 对关系的描述称为关系模式 关系名(属性名1,属性名2,……,属性名n) 在vfp中 表名(字段名1,字段名2,………,字段名n) 例如:图书(条形码、书名、作者、出版社、出版年月、售价)就是“图书”关系的关系模式,即“图书”表的结构。
关系术语 元组 二维表的一行称为关系的一个元组, 即VFP数据表中的一条记录。 例如,(P0000001 马克思的人学思想 袁贵仁 北师大 1996/06/06 19.0)就是“图书”关系的一个元组,即“图书”表的一条记录。
关系术语 属性 二维表的一列称为关系的一个属性,即VFP数据表中的一个字段。 例如,条形码、书名、作者、出版社、出版年月、售价是“图书”关系的属性,即“图书”表的字段。
域 属性的取值范围称为域,即不同元组对同一个属性的取值所限定的范围 关系术语 域 属性的取值范围称为域,即不同元组对同一个属性的取值所限定的范围 例如,“图书”关系中书名属性的域是文字字符,出版年月属性的域是日期,售价属性的域是0以上的数值。
关系术语 关键字 能唯一标识元组的属性或属性组合称为关键字。 在VFP数据表中,能标识记录唯一性的字段或字段的组合,称为主关键字或候选关键字。 例如,“图书”关系中每一本图书的条形码是唯一的,故“条形码”可作为图书表的关键字。而两本书的书名可能是相同的,所以书名不能作为关键字。
外部关键字 如果关系中的某个属性不是本关系的关键字,而是另一关系的关键字,称这个属性为外部关键字。 关系术语 外部关键字 如果关系中的某个属性不是本关系的关键字,而是另一关系的关键字,称这个属性为外部关键字。
关系必须规范化。 最基本的要求是每个属性必须是不可分割的数据单元,即每个属性不能再细分为几个属性。 关系特点 关系必须规范化。 最基本的要求是每个属性必须是不可分割的数据单元,即每个属性不能再细分为几个属性。 在一个关系中,不能出现相同的属性名。
在一个关系中元组的次序无关紧要 任意交换两行的位置不影响数据的实际含义 关系特点 关系中不能出现完全相同的元组 在一个关系中元组的次序无关紧要 任意交换两行的位置不影响数据的实际含义 在一个关系中属性的次序无关紧要 任意交换两列的位置不影响数据的实际含义
一个具体的关系模型通常由若干个关系模式构成。 在VFP中,相互之间存在联系的数据表放在一个数据库文件中进行管理。 关系实例 一个具体的关系模型通常由若干个关系模式构成。 在VFP中,相互之间存在联系的数据表放在一个数据库文件中进行管理。 数据库文件的扩展名为dbc。
例题
1.2.4 关系运算
传统的集合运算 并 关系R与关系S的并,产生一个包含R和S所有不同元组的新关系,记作R∪S。 参加差运算的关系R与S必须有相同的属性。
传统的集合运算 交 关系R与关系S的交,是既属于R也属于S的元组组成的新关系,记作R∩S。 参加交运算的关系R与S必须有相同的属性。
传统的集合运算 差 关系R与关系S的差,是所有属于R但不属于S的元组组成的新关系,记作R-S。 参加差运算的关系R与S必须有相同的属性。
笛卡尔集 关系R与关系S的笛卡儿积,是R中每个元组与S中每个元组连接组成的新关系,记作R×S。 传统的集合运算 笛卡尔集 关系R与关系S的笛卡儿积,是R中每个元组与S中每个元组连接组成的新关系,记作R×S。
例题 关系ts1为王颖珊借过的图书, 关系ts2为杨瑞借过的图书。 则ts1∪ts2为王颖珊和杨瑞借过的所有图书, ts1∩ts2为王颖珊和杨瑞都借过的图书, ts1-ts2为王颖珊借过但杨瑞未借过的图书。
例题
例题
关系dz为读者的借书证号、姓名, dz×ts1为每位读者的信息与王颖珊借过的每本图书信息连接组成的新关系。 例题 关系dz为读者的借书证号、姓名, dz×ts1为每位读者的信息与王颖珊借过的每本图书信息连接组成的新关系。
例题
选择 从关系中选出满足给定条件的元组的操作称为选择。 专门的关系运算 选择 从关系中选出满足给定条件的元组的操作称为选择。 选择是从行的角度进行运算,在水平方向选出满足条件的元组。 新关系的关系模式不变,元组是原关系的一个子集。
从图书表中筛选出所有出版社为中华书局的图书 例题 从图书表中筛选出所有出版社为中华书局的图书
投影 从关系中选出若干属性组成新的关系称为投影。 专门的关系运算 投影 从关系中选出若干属性组成新的关系称为投影。 投影是从列的角度进行运算,在垂直方向抽取若干属性或重新排列属性。 新关系的属性个数通常比原关系少,或者属性的排列顺序不同。
例题 图书表中抽取图书的条形码、书名、售价
联接 联接是把两个关系中的元组按联接条件横向结合,拼接成一个新的关系。 专门的关系运算 联接 联接是把两个关系中的元组按联接条件横向结合,拼接成一个新的关系。 最常见的联接运算是自然联接,它是利用两个关系中的公共字段或者具有相同语义的字段,把该字段值相等的记录联接起来。
例题 在图书管理数据库中,将借阅表和图书表根据公共字段条形码进行自然联接,得到一个包含读者证号、条形码、书名、作者、出版社、出版年月、售价、借阅日期、还书日期属性的关系。
例题
1.3 VFP概述 Visual FoxPro既是关系型数据库管理系统,又是可视化的面向对象的集成开发工具。 它具有强大的数据库管理功能,支持自含型语言和结构化查询语言对数据的操作。 VFP拥有五百条命令和两百余种函数,既支持传统的面向过程的程序设计,也支持面向对象的程序设计方式。 使用VFP提供的项目管理工具和向导、生成器、设计器等可视化开发工具,用户可以简便、快速地开发应用程序。
1.3.1 发展历史 在20世纪70年代末期,美国的Ashton-Tate公司研制的dBASE是最流行的微机关系数据库管理系统。 1986年,美国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.0 是其中的一个产品。
发展历史 进入新世纪以来,微软公司又相继公布了 Visual FoxPro 7.0(2001年)、8.0(2003年)、和 9.0(2004年)。 国内目前大量使用的仍然是 Visual FoxPro 6.0中文版。
1.3.2 VFP安装 将Visual FoxPro 6.0系统的光盘放入光驱中,安装向导会自动启动。 如果没有启动,打开“我的电脑”或“资源管理器”,双击光盘上的安装文件Setup.exe。
VFP安装
VFP安装
VFP安装
VFP安装
VFP安装
VFP安装
VFP安装 安装常用组件 可自行选择安装哪些组件。 定义文件安装位置
VFP安装
VFP安装
1.3.3 VFP启动和退出
VFP启动 开始菜单
VFP启动 建立桌面快捷方式
VFP启动 打开相关文件 在我的电脑或资源管理器中,任意双击一个与Visual FoxPro相关联的文件
退出VFP 从 文件 菜单中选取 退出 命令 点击窗口右上角的关闭按钮 按下Alt+F4组合键。 在命令窗口输入 quit 命令
VFP主界面 标题栏 系统菜单 常用工具栏 桌面 命令窗口 状态栏
主菜单 主菜单包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单项。 单击菜单项,系统会打开相应的下拉菜单。用户选择其中的菜单命令,就可执行Visual FoxPro中相应的操作。 Visual FoxPro的菜单项是上下文敏感的,也就是说,当情况变化时,菜单项或下拉菜单的菜单命令会有所不同。
工具栏 当用户打开某些类型的文件时,系统将自动打开相应的工具栏。 可以使用鼠标将工具栏拖曳到主窗口的其他位置。
工具栏 选择“显示”菜单下的“工具栏”命令,打开“工具栏”对话框。可选择打开或关闭指定的工具栏。
工具栏 在工具栏上单击鼠标右键,打开快捷菜单,也可以打开或关闭指定的工具栏。
窗口 窗口工作区是指“常用”工具栏以下到状态栏以上的区域,主要用来显示命令或程序的执行结果,同时也显示打开的各种窗口和对话框。
命令窗口 在命令窗口中,可直接输入VFP命令,按回车键,系统就会执行此命令。 已输入过的命令自动保留在命令窗口中。若用户要重复执行一个已输入的命令,只需将光标移到该命令行的任意位置,按回车键。 用户还可修改已输入的命令,再按回车键来执行此命令。
命令窗口 在命令窗口上单击鼠标右键,打开快捷菜单,用户可以对命令窗口的文本执行剪切、复制、粘贴、清除等操作。 命令窗口可以被移动、改变大小和关闭。若关闭了命令窗口,选择“窗口”菜单的“命令窗口”命令,或单击常用工具栏的“命令窗口”按钮,可打开命令窗口。 此外,若用户通过菜单执行了某些操作,其对应的命令也会自动显示在命令窗口中。
所改变的设置存储在Windows注册表中。每次启动VFP,所做的更改将继续有效。 选择“工具”菜单的“选项”命令 所改变的设置存储在Windows注册表中。每次启动VFP,所做的更改将继续有效。 所改变的设置仅在本次运行期间有效。退出VFP系统后,所做的更改将丢失。
VFP的选项设置 此外,设置系统环境也可用SET命令。 在命令窗口中输入SET DEFAULT TO d:\tsgl,就可以设置默认目录为“d:\tsgl”。但是,对其所进行的设置仅在此次Visual FoxPro运行期间有效。
作业 教材p21一大题 教材p22二大题 教材p23三大题的第1、2小题(作业本)