已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第1章数据库系统及VisualFoxPro概述 1 1数据处理与数据管理技术1 2数据库系统的组成1 3数据库系统的模式结构1 4数据模型1 5关系数据库标准语言SQL1 6数据库设计基础1 7主流的DBMS产品介绍1 8VisualFoxPro概述1 9项目管理器 2 1 1数据处理与数据管理技术 1 信息 数据与数据处理 1 信息是客观世界事物的存在方式或运动状态的反映 2 数据是描述事物的符号表示 是指用物理符号记录下来的可以鉴别的信息 3 信息与数据既有区别又有联系 数据是信息的符号化表示 是信息的载体 信息是数据的内涵 是数据的语义解释 3 1 1数据处理与数据管理技术 4 信息与数据通常并不严格区分 5 数据处理的过程中的5个基本环节 原始数据的收集数据的规范化及其编码数据输入数据处理数据输出 4 1 1数据处理与数据管理技术 2 数据管理技术的发展根据所提供的数据独立性 数据共享性 数据完整性 数据存储方式等水平的高低 计算机中数据管理技术的发展可划分为三个阶段 1 人工管理阶段 2 文件系统阶段 3 数据库系统阶段 5 人工管理阶段 时期 20世纪50年代中期之前特点 A无统一的数据管理软件 主要依靠应用程序管理数据 程序设计人员不仅要规定数据的逻辑结构 而且要设计数据的物理存储结构和存取方式 B数据面向应用程序 一组数据只能对应一个应用程序 数据不能共享 C应用程序依赖于数据 不具有数据独立性 一旦数据的结构发生变化 应用程序往往要作相应的修改 6 文件系统阶段 时期 20世纪50年代后期到20世纪60年代中期 随着OS的产生和发展 特点 A数据可以文件形式长期存储在辅助存储器中 B程序与数据间具有相对的独立性 即数据不再属于某个特定的应用程序 可重复使用 C数据文件组织多样化 如 索引文件 链接文件 直接存取文件等 缺点 数据文件之间相互独立 缺乏联系 数据冗余大且易产生不一致性 数据无集中管理 安全性得不到保证 7 数据库系统阶段 时期 20世纪60年代后期以来特点 A采用数据模型表示复杂的数据结构 数据本身及数据之间关系 数据不再面向某个特定应用 而是面向整个应用系统 数据冗余明显减少 可实现数据共享 B有较高的数据独立性 数据的结构分为逻辑结构与物理结构等不同的层次 用户以简单的逻辑结构操作数据 而无需考虑数据的物理存储结构 8 数据库系统阶段 时期 20世纪60年代后期以来特点 C提供了数据安全性 完整性等控制功能 以及对数据操作的并发控制 数据的备份与恢复等功能 D为用户提供了方便的用户接口 统一管理和控制数据 9 1 2数据库系统的组成 1 数据库系统的定义数据库系统 DataBaseSystem 简称DBS 是指具有管理和控制数据库功能的计算机应用系统 2 数据库系统的组成数据库系统一般由数据库 数据库管理系统DBMS 计算机支持系统 应用程序和有关人员组成 10 数据库系统的组成 1 数据库数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合 通常包括两部分内容 按一定的数据模型组织并存储的所有应用需要的数据 有关数据库定义的数据 用于描述数据的结构 类型 格式 关系 完整性约束 使用权限等信息 这些描述信息通常称为元数据 Metadata 元数据的集合称为数据字典 DataDictionary DBMS通过数据字典对数据库进行管理和维护 11 数据库系统的组成 2 数据库管理系统DBMS是用于建立 使用和维护数据库的系统软件 是数据库系统的核心 DBMS位于用户 应用程序 和OS之间 具有的基本功能有 数据定义 DBMS应提供数据定义语言DDL 数据操纵 DBMS应提供数据操纵语言DML DataMainpulationLanguage 实现对数据的插入 删除 修改和查询等数据的组织和存取管理数据库的运行管理和数据库的维护 12 数据库系统的组成 3 应用程序DBMS应用程序是面向最终用户的 利用数据库系统资源开发的 解决管理和决策问题的各种应用软件 4 相关人员数据库系统中的相关人员根据基本的工作职能可分为 数据库设计员 系统分析员 程序员 系统管理员 数据库管理员 最终用户 其中 数据库设计员 系统分析员 程序员主要是在系统开发过程中发挥相应的职能 系统管理员完成控制和管理数据库系统的一般性操作 13 数据库系统的组成 4 相关人员数据库管理员DBA DataBaseAdministrator 对数据库系统进行管理和控制 具有最高的数据库用户特权 负责全面管理数据库系统 用户通过各种应用程序提供的用户接口 浏览器 菜单 按钮 表格 报表等 使用数据库 5 计算机支持系统硬件系统 足够的存储容量 高速的处理速度 极高的稳定性与安全性 软件系统 确保计算机可靠运行的OS和应用系统开发工具等 14 1 3数据库系统的模式结构 为了实现数据的独立和共享 便于数据库的设计和实现 美国国家标准局ANSI计算机与信息处理委员会以及标准规划和要求委员会SPARC于1975年将数据库系统的结构定义为三级模式结构 外部层 单个用户的视图 表示数据库的局部逻辑 概念层 全体用户的公共视图 是数据库中所有信息的抽象表示 内部层 存储视图 与数据库的实际存储密切相关 15 1 3数据库系统的模式结构 分级结构对于提高数据独立性具有重要意义 数据独立性包括两方面 数据的物理独立性 数据的物理存储的变化隔离在概念层之下 不反映在用户面前 因此应用程序可以保持不变 数据的逻辑独立性 如果概念层发生变化 可以改变外部层与概念层之间的映射 使用户看到的外部视图保持不变 应用程序保持不变 16 1 4数据模型 1 数据模型基本概念2 E R模型3 关系模型 将现实世界中各种复杂的事物最终以计算机及数据库所允许的形式表示和实现 需要通过建立数据模型来实现 17 1 数据模型基本概念 1 模型是现实世界特征的模拟和抽象 2 数据模型是现实世界中数据特征的抽象 是用来描述数据的一组概念和定义 各种数据库产品都是基于某种数据模型的 3 数据模型一般要描述三方面的内容 数据的静态特征 特征 联系等 数据的动态特征 定义在数据上的操作 数据的完整性约束 数据要满足的规则 18 为了较真实地模拟现实世界 人们一般用 现实世界 信息世界 数据世界 的转化过程 首先将现实世界中的客观事物通过概念抽象转化为不依赖于具体计算机系统的数据结构 称为概念模型 然后再将其转换为DBMS支持的数据结构模型 现实世界事物及联系事物对象性质 信息世界概念模型实体对象属性 数据世界结构模型数据记录字段 4 现实世界向数据世界的转化 19 概念模型 概念模型是按用户的观点对数据建模 是对现实世界的第一层抽象 是用户和数据库设计人员之间进行交流的工具 应简单 清晰 易于理解 广泛使用的概念模型为 实体 联系 模型 Entity RelationshipModel 简称E R模型 20 结构模型 结构模型强调数据是如何在数据库中描述的 在数据库技术的发展过程中 出现的数据结构模型主要有 层次模型 树型结构 网状模型 图形结构 关系模型面向对象模型目前流行的DBMS产品中 数据结构模型主要采用关系模型和面向对象的关系模型 21 2 E R模型 1 E R模型中的基本概念实体 Entity 是客观存在的 可以相互区别的事物 具有相同性质的实体集合成为实体集 属性 Attribute 是指实体所具有的特征 通常一个实体可由多个属性来描述 联系 Relationship 是实体集之间关系的抽象表示 可分为 一对一联系一对多联系多对多联系 22 2 E R图 E R模型的图形表示法 矩形框表示实体集椭圆形框表示属性菱形框表示联系 23 3 关系模型 以关系代数理论为基础的关系模型中用二维表表示实体集 通过外部关键字表示实体间的联系 1 关系与关系模式 2 关键字 3 关系模型 4 关系运算 5 关系的规范化 24 关系与关系模式 关系是以二维表结构来表示实体集以及实体间的联系 一个关系就是一张二维表 关系的首行称为 属性 其它各行称为 元组 在关系数据库中称为 记录 关系模式是对关系的描述 包括模式名以及组成该关系的诸属性名等 如 学生 学号 姓名 性别 籍贯 出生日期 即为一关系模式 25 关键字 二维表中不应出现相同的记录 应能通过一列或若干列将不同的记录区分开来 即能够唯一确定记录 超关键字 SuperKey 二维表中能唯一的确定记录的一列 单一关键字 或多列的组合 合成关键字 被称为 超关键字 候选关键字 CandidateKey 最精练的超关键字 去掉其中任何一个字段后不再能唯一的确定记录 被称为 候选关键字 26 关键字 主关键字 PrimaryKey 从候选关键字中选出一个可作为 主关键字 主关键字不能为空 外部关键字 ForeignKey A表的主关键字被包含到B表中时 就称为B表的 外部关键字 例如 在学生表 学号 姓名 中学号是主关键字在成绩表 学号 课程名 成绩 中学号就是外部关键字 27 关系模型 定义 用二维表表示实体集 通过外部关键字表示实体之间联系的数学模型称为关系模型 组成 关系模型通过一系列的关系模式来表述数据的结构和属性 一般有三个组成部分 数据结构 即二维表 数据操作 提供一组完备的关系运算 以支持对数据库的各种操作 完整性规则 包括 28 关系模型 完整性规则 包括 域完整性 又称为用户自定义完整性 规则 给定了属性的取值范围 如成绩不能小于0 性别只能是男或女等 实体完整性规则 要求任一记录的主关键字的值不能为空值且必须唯一 如学号不能为空值且不能重复 参照完整性 又称为引用完整性 规则 要求当一个记录的外键的值不为空值时 以该外键作为主键的记录必须在相应的关系中存在 如成绩表中的学生必须是学生表中已经存在的 29 关系运算 并RUS 关系R和关系S具有相同的模式运算结果 R中元组加上S中的元组 例子 两个结构相同的表s1和s2 分别存放两个班的学生档案 要求合并 差R S 关系R和关系S具有相同的模式运算结果 从R中去除S中也有的元组 例如 t1存放学校教师名单 t2存放本学期任课教师名单 如果查询这个学期未上课的教师名单交R S 关系R和关系S具有相同的模式运算结果 R和S中均有的元组 30 关系运算 选择 在关系R中选择满足给定条件的元组 运算结果 R的一个子集 水平分解 投影 在关系R中选择若干属性组成新的关系 运算结果 新关系包含的属性通常比原关系少 垂直分解 联接 根据给定的联接条件将两个关系模式拼接成一个新的关系 运算结果 产生一个新的关系 31 关系的规范化 关系不是简单的一张二维表 而是一种规范化的二维表 具有如下性质 1属性是是原子的 不可分解的 2记录数可变 但字段数相对固定 3每一列均有唯一的字段名 且每一列取值是同性质的 4不允许出现完全相同的两行 5行 列的顺序可任意交换 32 关系的规范化 关系的规范化 就是对关系模式应当满足的条件的某种处理 目的是尽可能的减少数据冗余 消除异常现象 增强数据的独立性 便于用户使用等 关系规范化的条件可以分为不同的级别 每级称为一个范式 记作nNF 如 1NF 2NF 3NF BCNF 4NF 级别越高则条件越严格 实际设计时 一般要求满足3NF 其基本条件是 关系模式中每个属性都必须是原子值 它的任一非主属性都完全函数依赖于候选关键字且不传递依赖于候选关键字 33 1 5关系数据库标准语言SQL 目前为关系数据库提供非过程关系语言最成功 应用最广的是1974年提出的SQL StructuredQueryLanguage SQL是一种基于关系代数和关系演算的语言 使用方便 功能齐全 简洁易学 很快得到了普遍应用 SQL语言可以实现数据库应用过程中的全部活动 包括数据定义 查询 更新等 34 1 数据定义语言DDL SQL提供数据定义语言 可根据关系模式定义所需的基本表 其SQL语句形式如下 CREATETABLE 完整性约束条件 除了定义基本表 SQL的DDL还包括修改基本表结构 删除基本表 建立和删除索引 建立和删除视图等语句 35 2 数据查询 SQL提供SELECT语句进行数据库查询 该语句具有灵活的使用方式和丰富的功能 其SQL语句形式如下 SELECTA1 A2 AnFROMR1 R2 Rm WHERE GROUPBY ORDERBY SELECT语句能够表达所有的关系代数表达式 能够表达的语义远比 投影 选择和连接 复杂得多 36 3 数据更新 插入语句 INSERTINTO VALUES 修改语句 UPDATE SET WHERE 删除语句 DELETEFROM WHERE 37 4 SQL的视图 视图是DBMS所提供的一种以用户模式观察数据库中数据的重要机制 与基本表不同 只是一个虚表 可由基本表或其它视图导出 在数据字典中保留其逻辑定义 但不作为一个表实际存储 SQL语言用CREATEVIEW语句建立视图 视图定义后 可以像基本表一样对视图进行查询 但对视图的修改有很多限制 38 1 6数据库设计基础 软件工程中最核心的技术之一是基于数据库系统的设计技术 即数据库设计技术 数据库设计是指利用一个给定的应用环境 硬件 软件环境 表达出一个单位或部门的信息需求 构造最优化的数据库模式 用户模式 逻辑模式和存储模式 建立数据库以及围绕这个数据库展开的应用系统 使之能够有效的收集 存储 处理和管理数据 满足用户的各类信息与处理需求 39 数据库设计内容 数据库设计包括 数据库结构特性的设计 数据库行为特征的设计 数据库结构特性设计是指确定数据库的数据模型 反映数据及数据之间的联系 在满足应用需求的前提下 尽可能减少数据冗余 实现数据共享 体现的是用户对信息的需求 数据库行为特征设计是指确定数据库应用的行为和操作 主要是指应用程序的设计 体现的是用户对处理的需求 40 数据库设计的方法 信息需求和处理需求虽然不能绝对区分 但根据其侧重点不同 数据库设计也有两种不同的方法 面向数据的设计方法 数据驱动的设计方法 以信息需求为主 兼顾处理需求 所设计的数据库结构可以较好的反映数据的内在联系 不但可以满足当前应用的需求 而且可以满足潜在发展的应用需求 面向过程的设计方法 过程驱动的设计方法 以 为主 兼顾 所设计的数据库结构可以较好的满足应用功能的需要 但应用的发展和变化往往会导致数据库结构的较大变动 甚至于需要进行重构 主要用于功能要求比较明确且稳定的应用系统 41 数据库生命周期 大型的数据库设计工作量大且复杂 既是一项数据库工程 也属于一项庞大的软件工程 在数据库设计过程中 可以充分利用软件工程的思想 方法和技术 数据库设计的各个阶段可以和软件工程的各个阶段相对应 基于软件工程的思想和方法 数据库也有其生命周期 即数据库生命周期 DataBaseLifeCycle DBLC 42 数据库生命周期的各个阶段 系统规划系统分析系统设计 概念结构 逻辑结构 物理结构设计 系统实施系统维护参见教材P16图1 5 43 1 7主流的DBMS产品介绍 自20世纪70年代关系模型提出后 由于其突出的优点 迅速被商用数据库系统所采用 据统计 70年代以来发展的DBMS系统中 近90 是采用关系数据模型 主流数据库管理系统产品有 Oracle Oracle甲骨文公司 DB2 IBM公司 Sybase Sybase公司 MS SQLSeverAccessVisualFoxpro 44 2009 秋 21题 目前DBMS有许多不同的产品 下列产品中 不属于微软Microsoft公司开发的是 VisualFoxProMS SQLSeverAccessOracle 45 MS SQLSever MS SQLSever是Microsoft公司推出的在Windows平台上最为流行的中型关系型数据库管理系统 主要特点有 采用客户机 服务器体系结构 图形化的用户界面 使系统的管理更加直观和简单 与Windows操作系统的有机集成 多线程体系结构设计 提高了系统对用户并发访问的速度 对Web技术的支持 使用户能够很容易地将数据库中的数据发布到网上 46 Access Access是Office软件包的一个组成部分 自1992年Microsoft公司首次发布Access数据库管理系统以来 已逐步成为一个桌面数据库领域得比较成熟的关系型数据库管理系统 主要特点 单文件型数据库 所有的信息保存在一个Access数据库文件中 提供对数据的完整性和安全性控制的机制 提供界面友好的可视化开发环境 提供大量的向导 生成器 使用户在开发一些简单的应用软件时 可实现 无代码 编程 与Office中的其他组建高度集成 目前流行的开发工具都支持Access数据库 但Access数据库管理系统只能在Windows环境下工作 其应用仅限于比较小的场合 不能支持大型应用 return 47 VisualFoxpro的发展历史 dBase Asthon Tate公司 dBase Asthon Tate公司 dBase Asthon Tate公司 FoxBase Fox公司 特点 语言结构复杂 命令语句多 界面过于简单 程序生成功能较差 数据完整性功能较差 FoxPro Fox公司 特点 界面易用 增加了General字段类型以支持多媒体数据 增加了对作为关系数据库标准语言的SQL的支持 采用了Rushmore技术 在单机环境和网络环境下均可运行等 Microsoft公司在收购Fox公司后 在FoxPro基础上引入可视化操作环境和面向对象的程序技术 于1995年推出了VisualFoxpro3 0 此后陆续推出了5 0 6 0 7 0 8 0 9 0版本 48 1 8VisualFoxPro概述 1 VFP的特点 2 VFP的集成操作环境 3 VFP命令的语法格式说明 4 常用命令 5 配置VFP操作环境 6 VFP文件类型 49 VFP的特点 数据库方面 完善了关系型数据库的概念 严格区分了数据库与数据表的概念 复合索引技术的使用 使一个索引文件中可以包含多个索引 SQL命令的引入使得能以更少的代码和更快的速度从一张表或多张表中检索数据 数据操作方面 具有简单 灵活 多样的数据交换手段 支持众多的与其它应用程序进行数据交换的文件格式 50 VFP的特点 程序设计方面 不用编写或编写少量程序代码 就能快速创建出功能强大的可视化应用程序 可靠性高 调试过程简单 可将应用程序的所有模块组成项目 编译成一个能独立运行的可视化应用程序 具有面向对象功能 可建立有效的面向对象的可视化应用程序 操作使用方面 提供了功能相对完善的集成环境 提供了许多开发工具 如向导 设计器 生成器 管理器等 使得各种操作和维护更加方便和容易 51 VFP的集成操作环境 VFP的集成操作环境窗口大体上包括以下几个部分 菜单栏工具栏主窗口 通常用于显示输出结果 命令 窗口状态栏 52 VFP命令的语法格式说明 1 命令的表述遵循如下约定 斜体字 该部分是命令的一个语法成分 且由用户定义 方括号 其中的内容是可选项 不选时系统自动取缺省值 竖线 要求用户从本符号的前后语法成分选择其一 省略符 表示某语法成分可以重复多次 例 DELETEFILE FileName RECYCLE 53 2 例 DELETEFILE FileName RECYCLE 其中 DELETEFILE是命令名 用于标识命令的功能 FileName用于指定要删除的文件 不指定文件名时可用问号 来打开 删除 对话框以选择文件 RECYCLE为可选项 用于决定是否将删除的文件放入回收站 54 3 在命令窗口中可以使用 命令续行Ctrl enter 插入空白行 添加行尾注释 4 默认情况下 在命令窗口中 由黑色变为蓝色的字符串为系统保留字 55 常用命令 行首注释 行尾注释 换行显示 不换行显示Clear 清屏Quit 关闭所用文件 结束当前vfp运行DIR DIR cPath FileSkeleton 在vfp主窗口中显示文件的目录 FileSkeleton是文件说明 可含通配符 用于指定显示那些文件的目录 缺省时仅显示表文件 dbf MD RD CD MD RD CDcPath 创建 删除文件夹 改变当前目录 56 常用命令 COPYFILE RENAME DELETEFILECOPYFILEFileName1TOFileName2RENAMEFileName1TOFileName2 若前后文件不在同一位置 则在改名的同时移动文件 DELETEFILE FileName RECYCLE RUN 调用外部dos命令 dos应用程序或windows程序 RUN N MS DOSCommand ProgramName N表示NOWAIT 即可以执行另一个Windows应用程序 如 RUN NCalc 57 配置VFP操作环境 1 通过菜单命令工具 选项 在 选项 对话框中可查看和更改一些环境设置 2 VFP操作环境也可通过SET命令进行临时设置 常用的set命令如下 按住shift键的同时按 确定 按钮 当前设置会以命令形式显示在 命令 窗口中 60 1 9项目管理器 软件的开发工作是一个系统工程 应将工程化的概念 思想 方式和技术应用于设计 管理软件开发的全过程 这就是所谓的 软件工程 一个应用系统就是一个工程项目 以项目为单位管理一个系统中的相关组件 一个项目是一个系统中文件 数据 文档等对象的集合 用户在开发一个应用系统时总是先创建一个项目 同时 VFP系统提供了一个称为 项目管理器 的图形化的操作界面管理项目 它是VFP中处理数据和对象的主要组织工具 是VFP的控制中心 61
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 富士康管理培训课件
- 家长课堂燃气安全课件
- 2026年兼职员工劳动合同执行协议
- 2026年服务器远程监控合同
- 2026年高效蔬菜大棚种植合同协议
- 2026年电商直播营销策划合同
- 2026年员工保密责任合同
- 2026年铝材定制保密合同
- 家长会安全教育课件
- 2026年2026年硬装设计委托合同
- 2025至2030PA12T型行业发展趋势分析与未来投资战略咨询研究报告
- T/CSPSTC 17-2018企业安全生产双重预防机制建设规范
- 遥感图像处理技术在城市更新中的应用
- 智慧产业园仓储项目可行性研究报告-商业计划书
- 四川省森林资源规划设计调查技术细则
- 广东省建筑装饰装修工程质量评价标准
- 楼板回顶施工方案
- DB13T 5885-2024地表基质调查规范(1∶50 000)
- 2025年度演出合同知识产权保护范本
- 区块链智能合约开发实战教程
- 2025年校长考试题库及答案
评论
0/150
提交评论