第1章 数据库系统及Viusal FoxPro概述 淮海工学院计算机科学系
数据库是计算机系统的一个重要组成部分。 数据库技术是信息技术中应用最广泛的技术之一。 硬件 软件 系统软件 应用软件 OS DBMS 编译 Visual FoxPro是DBMS的一员。
1.1 数据管理技术的发展 数据处理是对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。 数据处理的五个步骤: 数据收集 编码转换 数据输入 数据处理 数据输出 数据处理的中心问题是数据管理。 数据管理是对数据的分类、组织、 编码、存储、检索和维护。
数据管理 数据管理的发展经历了三个阶段: 无管理阶段(或人工管理阶段)——50年代中期前 背景:计算机主要用于科学计算。 特点:数据不保存;没有软件系统对数据进行管理;数据的组织方式由程序员自行设计;一组数据对应一个程序。 数据和程序的相互依赖! 数据的冗余度大。
文件系统阶段 背景:计算机已大量用于管理。 特点: 数据可以一文件形式长期存储在辅助存储器中; 程序与数据之间具有相对的独立性; 数据文件组织多样化; 数据冗余度大;易造成数据的不一致性;程序与数据相互依赖(数据依赖)。
数据库系统阶段 背景:计算机更广泛地应用于各个领域,数据共享要求越来越强。 特点: 用数据模型表示复杂的数据结构,数据面向应用系统, 数据冗余度小、易扩充; 数据和程序的独立性高; 提供了数据安全性、完整性等控制功能,以及对数据操作的并发控制、数据备份与恢复等功能; 为用户提供方便的用户接口;
1.2 数据库系统(DataBase System) 定义:数据库系统是实现有组织的、动态的存储大量关联数据,方便用户访问的计算机软硬件资源组成的具有管理数据库功能的计算机系统; DBS=DB+DBMS+DBA 狭义上讲:书本P2
数据库 数据库:以一定组织形式存放在计算机存储介质上的相互关联的数据的集合。 数据库包括两大内容:数据,信息;P3 数据库按数据模型分为: 层次数据库、网状数据库、关系数据库和面向对象数据库等; 数据库技术与其他技术结合而成的新型数据库P3
数据库管理系统(DBMS) DBMS是DBS的核心。 DBMS是对DB进行管理的软件,是用户与DB之间的接口。 常见的DBMS有:DB2、Informix、Oracle、Sybase、VFP、Access、PowerBuilder等。
DBMS的组成 DBMS主要由“查询”管理器、存储管理器和事务管理器组成。 模式修改 查询 数据修改 “查询”管理器 事务管理器 存储管理器 模式修改 查询 数据修改 “查询”管理器 事务管理器 存储管理器 数据和元数据 存储器
DBMS的组成 数据和元数据:有关数据的结构的信息。 (关系名、属性名、属性的数据类型、索引) DBMS的输入: 查询:要求数据库回答一个问题。(交互方式、程序方式) 数据修改:修改数据的操作。(交互方式、程序方式) 模式修改:即结构的修改,包括索引的修改。 此项工作一般由DBA完成。
DBMS的组成 存储管理器(由文件管理器和缓冲管理器组成) “查询”管理器 文件管理器:按缓冲管理器的要求对磁盘进行文件的存取。 缓冲管理器:处理经文件管理器取得的内存中的数据。 “查询”管理器 组成:查询、数据和元数据的修改 任务:将一个查询操作或一个数据库操作转化为一系列的对现存数据的请求,并对存储管理器发出命令,由存储管理器完成操作。
DBMS的组成 事务管理器 总管地位。 负责系统的完整性。 避免多个操作出现冲突。 保证数据不丢失。
数据库系统 数据库系统的完整组成: 数据库(DB) 数据库管理系统(DBMS) 操作系统(OS) 计算机硬件 数据库管理员(DBA) 在DBS中用户通过DBMS可以建立和使用DB。 使用DB是目的,而DBMS是实现目的的手段和工具。
1.3数据库系统的分级结构 数据库三级模式: 外部层(单用户视图); 概念层(全体用户公共视图) 内部层(存储视图)
1.4 关系模型和二维表 三个世界:现实世界、观念世界、数据世界 ↓ ↓ ↓ 事物及联系 实体模型 数据模型 事物 实体 数据 现实世界 观念世界 数据世界 ↓ ↓ ↓ 事物及联系 实体模型 数据模型 事物 实体 数据 ↙ ↘ ↙ ↘ ↙ ↘ 对象 性质 对象 属性 记录 字段 (抽象) (数据表示)
数据模型(Data Model) 定义:数据模型是数据库领域中定义数据及其操 作的一种抽象表示; 组成: 定义:数据模型是数据库领域中定义数据及其操 作的一种抽象表示; 组成: 分类:面向客观世界、面向用户的概念模型; 面向数据库管理,刻画实体在数据库中存储形式 及实体间的联系的逻辑数据模型(数据模型)
概念模型: 按用户的观点对数据建模,对现实世界的第一层抽象,是用户和设计人员之间进行交流的工具; 典型的概念模型:“实体-联系”模型,即E-R模型 E-R模型的基本概念:实体,联系,属性; E-R图是E-R模型的图形表示法,直观表示信息;
数据模型 层次模型 网络模型 关系模型(目前最为流行) 关系模型是用二维表格的结构形式来表示实体及其实体间的联系。二维表中的每一列称为字段或域;每一行叫做一个记录,与一特定的实体相对应;一个二维表就叫做一个关系。
二维表的关键字 超关键字:二维表中能唯一确定记录的一个列或几个列的组被称为“超关键字” 。 用单一的列构成关键字,称为“单一关键字”;用两个或两个以上的列构成关键字,称为“合成关键字”。 二维表的关键字 超关键字:二维表中能唯一确定记录的一个列或几个列的组被称为“超关键字” 。 侯选关键字:如果一个超关键字,去掉其中任何一个字段后不再能唯一确定记录,则称它为侯选关键字。 侯选关键字既能唯一确定记录,它包含的字段又是最精练的。 主关键字:包含一个不同于其他记录的唯一的值。 外部关键字:当一个二维表(A表)的主关键字被包含到另一个二维表(B表)中时,它就称为B表的外部关键字。
3 关系模型 定义:用二维表表示实体集,通过外部关键字表示实体间联系的数据模型; 组成:数据结构,数据操作,完整性规则; 完整性规则分为: 域完整性,实体完整性和参照完整性
关系规范化 关系是规范化的二维表,性质如下: 属性值是原子的,不可分解; 记录随数据的增删而改变,字段数是相对固定的; 每一列有唯一的字段名,取值是同性质的 不允许出现完全相同的两行; 二维表中行的顺序,列的顺序是随意的。 关系规范化的条件,范式,满足第三范式;
关系运算 分类:传统集合运算;专门的关系运算; 具体的:并、差、交、选择、投影、联接
面向对象模型 组织方式: 1 事物被统一模型化为对象,有对应的对象标识; 2 每个对象是其状态和行为的封装; 3 具有相同属性与方法的对象集合构成类,类的对象叫实例; 4 类可以继承、复合; 5 对象是被封装的。
1.5 主流的DBMS产品 Oracle: 使用是为广泛的大型关系数据库 DB2: IBM公司开发,适用于UNIX、OS/2、Windows Sybase:Sybase公司 MS-SQL SERVER:微软公司开发,用于Windows平台
1.6 Visual FoxPro 6.0 概述 丰富的向导、设计器、生成器和管理器。 1.6.1 vfp特点 Access:Office套件的组件之一,属于小型可视化的关系数据库。 Visual Foxpro 一个基于Windows平台和服务器上的可视化DBMS。 特点: 区分了数据库与数据表的概念(DBC——DBF); 采用了Rushmore技术,提高了查询效率; 引入了SQL命令,使操作更为简单; 可以与多种格式的文件交换数据; 面向对象的程序设计,用较少的代码,设计出功能强大的应用程序; 用项目对文件集中管理; 丰富的向导、设计器、生成器和管理器。
1.6.2 VFP的命令窗口 执行某些菜单命令时,相应的命令语句会自动反映在命令窗口中。 命令窗口中的一个或多个命令行可以被复制到其他地方。 要重复执行一条命令时,只需将光标移到该命令行上回车即可。 命令窗口中的保留字以蓝色显示。 命令续行时,在中间行后加分号“;”,插入新的中间行用Ctrl+Enter。 改变系统环境设置后,按Shift+Enter, 当前设置会显示在命令窗口中。
Delete file [filename|?] [recycle] 1.6.3 命令的语法格式 1、命令规则: (1)以命令动词开始; (2) 各部分之间要用空格隔开; (3) 命令、子句、函数名都可简写为前4个字符,大、小写等效; (4) 一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”; (5) 变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。 2、 命令格式中的符号约定: 命令中的[ ] 、| 、…、< > 符号都不是命令本身的语法成分,使用时不能照原样输入, 其中:[ ] 表示可选项,根据具体情况决定是否选用 | 表示两边的部分只能选用其中的一个 … 表示可以有任意个类似参数,各参数间用逗号隔开 < > 表示其中内容要以实际名称或参数代入 Delete file [filename|?] [recycle]
1.6.3 命令的语法格式 3、常见的命令错误 (3) 打不开所需文件:没有正确输入盘符和路径或文件名输错 (1)命令动词写错 (2) 格式不符合要求 标点符号不对(一定要用英文标点符号) 缺少必需的空格或添加了不该有的空格 数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式 (3) 打不开所需文件:没有正确输入盘符和路径或文件名输错
1.6.4 几个常用的命令 *和&& ?和??命令—在主窗口显示表达式的值 Clear:清除主窗口内容 Dir:显示文件的目录 dir *:注释一行,位于第一个字符 &&:注释其后的内容 ?和??命令—在主窗口显示表达式的值 ?|?? 表达式1 [表达式2] …… ?换行显示,??不换行显示 Clear:清除主窗口内容 Dir:显示文件的目录 Dir [路径][文件说明] 路径省略—显示当前文件夹 文件说明省略—显示所有的表文件(DBF) 文件说明的通配符:*和? 举例: dir dir *.txt dir d:\mydbf\??.*
1.6.5 VFP环境配置 环境:影响VFP运行的参数设置 设置方法: 一个典型的环境设置:设置默认的文件夹 通过选项菜单 通过SET命令 显示方式 数据表示 文件位置 …… 设置方法: 通过选项菜单 通过SET命令 一个典型的环境设置:设置默认的文件夹 菜单法 set default to [路径]
1.6.6 VFP常见的文件类型 P18 .app 生成的应用程序 .mem 内存变量保存 .dbc 数据库 .mnx 菜单 .dct 数据库备注 .mnt 菜单备注 .dcx 数据库索引 .mpr 生成的菜单程序 .dbf 表 .mpx 编译后的菜单程序 .fpt 表备注 .pjx 项目 .cdx 复合索引 .pjt 项目备注 .idx 索引,压缩索引 .prg 程序 .err 编译错误 .fxp 编译后的程序 .exe 可执行的程序 .qpr 生成的查询程序 .fky 宏 .fmt 格式文件.qpx 编译后的查询程序 .frx 报表 .scx 表单 .frt 报表备 .sct 表单备注 .lbx 标签 .tbk 备注备份 .lbt 标签备注 .vcx 可视类库.vct 可视类库
1.7 项目管理器 项目:文件、数据、文档和对象的集合。 项目管理器:VFP中处理对象和数据的主要组织工具,是VFP的“控制中心”。 项目文件:.PJX/.PJT 创建项目文件 CREATE PROJECT [项目文件名] “文件”菜单中的“新建”命令 工具栏中的“新建”按钮
一个文件可以属于不同的项目。但不是共享。 项目管理器 项目管理器的定制 窗口形式 工具栏形式 浮动的选项卡 在项目中新建、添加、移去文件 为文件添加说明 项目间文件的共享 文件属于一个项目,在其它项目中存储了对该文件的引用。 一个文件可以属于不同的项目。但不是共享。