教学课件:第1章-数据库系统及VFP概述.ppt
第第1 1章章 数据库系统及数据库系统及 Visual FoxPro Visual FoxPro 概述概述1.11.1 数据处理与数据管理技术数据处理与数据管理技术1.21.2 数据库系统的组成数据库系统的组成1.31.3 数据库系统的模式结构数据库系统的模式结构1.41.4 数据模型数据模型1.51.5 关系数据库标准语言关系数据库标准语言SQLSQL1.61.6 数据库设计基础数据库设计基础1.71.7 主流的主流的DBMSDBMS产品介绍产品介绍1.81.8 Visual FoxPro Visual FoxPro概述概述1.91.9 项目管理器项目管理器1.11.1 数据处理与数据管理技术数据处理与数据管理技术1.1.信息、数据与数据处理信息、数据与数据处理(1 1)信息信息是客观世界事物的是客观世界事物的存在方式存在方式或或运动状运动状态态的反映。的反映。(2 2)数据数据是描述事物的是描述事物的符号表示符号表示,是指用物理,是指用物理符号记录下来的符号记录下来的可以鉴别的信息可以鉴别的信息。(3 3)信息与数据既有区别又有联系。)信息与数据既有区别又有联系。数据是信息的数据是信息的符号化表示符号化表示,是信息的载体。,是信息的载体。信息是数据的信息是数据的内涵内涵,是数据的语义解释。,是数据的语义解释。1.1 1.1 数据处理与数据管理技术数据处理与数据管理技术(4 4)信息与数据通常)信息与数据通常并不严格区分并不严格区分。(5 5)数据处理数据处理的过程中的的过程中的5 5个基本环节:个基本环节:原始数据的原始数据的收集收集数据的数据的规范化规范化及其及其编码编码数据数据输入输入数据数据处理处理数据数据输出输出1.11.1 数据处理与数据管理技术数据处理与数据管理技术2.2.数据管理技术的发展数据管理技术的发展 根据所提供的数据独立性、数据共享根据所提供的数据独立性、数据共享性、数据完整性、数据存储方式等水平的性、数据完整性、数据存储方式等水平的高低,计算机中数据管理技术的发展可划高低,计算机中数据管理技术的发展可划分为三个阶段:分为三个阶段:(1 1)人工管理人工管理阶段阶段(2 2)文件系统文件系统阶段阶段(3 3)数据库系统数据库系统阶段阶段人工管理人工管理阶段阶段时期时期:2020世纪世纪5050年代中期之前年代中期之前特点特点:A A 无统一无统一的的数据管理软件数据管理软件,主要依靠应用,主要依靠应用程序管理数据;程序设计人员不仅要规程序管理数据;程序设计人员不仅要规定数据的定数据的逻辑结构逻辑结构,而且要设计数据的,而且要设计数据的物理存储结构物理存储结构和和存取方式存取方式。B B 数据数据面向面向应用程序应用程序,一组数据只能对应,一组数据只能对应一个应用程序,数据不能共享。一个应用程序,数据不能共享。C C 应用程序应用程序依赖依赖于于数据数据,不具有数据独立,不具有数据独立性,一旦数据的结构发生变化,应用程性,一旦数据的结构发生变化,应用程序往往要作相应的修改。序往往要作相应的修改。文件系统文件系统阶段阶段时期时期:2020世纪世纪5050年代后期到年代后期到2020世纪世纪6060年代中期年代中期 (随着随着OSOS的产生和发展的产生和发展)特点特点:A A 数据可以数据可以文件形式文件形式长期存储在辅助存储器中。长期存储在辅助存储器中。B B 程序程序与与数据数据间具有相对的间具有相对的独立性独立性,即数据,即数据不再属于某个特定的应用程序,可重复使用不再属于某个特定的应用程序,可重复使用;C C 数据文件组织数据文件组织多样化多样化,如:索引文件、链,如:索引文件、链接文件、直接存取文件等。接文件、直接存取文件等。缺点缺点:数据文件之间相互独立、缺乏联系;:数据文件之间相互独立、缺乏联系;数据数据冗余冗余大且易产生大且易产生不一致性不一致性;数据;数据无集中无集中管理管理,安全性得不到保证。,安全性得不到保证。数据库系统数据库系统阶段阶段时期:时期:20 20世纪世纪6060年代后期以来年代后期以来特点:特点:A A 采用采用数据模型数据模型表示复杂的表示复杂的数据结构数据结构(数(数据本身及数据之间关系)。数据不再面据本身及数据之间关系)。数据不再面向某个特定应用,而是面向整个应用系向某个特定应用,而是面向整个应用系统。数据统。数据冗余冗余明显明显减少减少,可实现,可实现数据共数据共享享。B B 有较高的有较高的数据独立性数据独立性。数据的结构分为。数据的结构分为逻辑结构逻辑结构与与物理结构物理结构等不同的层次,用等不同的层次,用户以简单的逻辑结构操作数据,而无需户以简单的逻辑结构操作数据,而无需考虑数据的物理存储结构。考虑数据的物理存储结构。数据库系统阶段数据库系统阶段时期:时期:20 20世纪世纪6060年代后期以来年代后期以来特点:特点:C C 提供了数据提供了数据安全性安全性、完整性完整性等控制功能,等控制功能,以及对数据操作的以及对数据操作的并发控制并发控制、数据的、数据的备备份份与与恢复恢复等功能。等功能。D D 为用户提供了方便的为用户提供了方便的用户接口用户接口,统一管,统一管理和控制数据。理和控制数据。1.21.2 数据库系统的组成数据库系统的组成1.1.数据库系统的定义数据库系统的定义数据库系统(数据库系统(DataBase SystemDataBase System,简称,简称DBSDBS)是指具有)是指具有管理管理和和控制控制数据库数据库功能的计功能的计算机应用系统。算机应用系统。2.2.数据库系统的组成数据库系统的组成数据库系统一般由数据库系统一般由数据库数据库、数据库管理系数据库管理系统统DBMSDBMS、计算机支持系统计算机支持系统、应用程序应用程序和有和有关关人员人员组成。组成。DBA各各种种应应用用程程序序DBMSOSDB数据库系统的组成数据库系统的组成(1 1)数据库)数据库数据库是指以一定的数据库是指以一定的组织形式组织形式存放在计算机存储介质上存放在计算机存储介质上的的相互关联相互关联的数据的集合。通常包括两部分内容:的数据的集合。通常包括两部分内容:按一定的按一定的数据模型数据模型组织并存储的所有应用需要的组织并存储的所有应用需要的数据数据;有关数据库定义的数据,用于描述数据有关数据库定义的数据,用于描述数据的结构、类型、格式、关系、完整性约束、的结构、类型、格式、关系、完整性约束、使用权限等信息,这些描述信息通常称为使用权限等信息,这些描述信息通常称为元数据元数据(MetadataMetadata),元数据的集合称为元数据的集合称为数据字典数据字典(Data DictionaryData Dictionary),DBMS,DBMS通过通过数据字典对数据库进行管理和维护。数据字典对数据库进行管理和维护。数据库系统的组成数据库系统的组成(2 2)数据库管理系统)数据库管理系统DBMSDBMS是用于建立、使用和维护数据库的是用于建立、使用和维护数据库的系统软件系统软件,是数,是数据库系统的核心。据库系统的核心。DBMSDBMS位于位于用户用户(应用程序)和(应用程序)和OSOS之间,之间,具有的基本功能有:具有的基本功能有:数据数据定义定义,DBMSDBMS应提供数据定义语言应提供数据定义语言DDLDDL数据数据操纵操纵,DBMSDBMS应提供数据操纵语言应提供数据操纵语言DMLDML(Data Mainpulation LanguageData Mainpulation Language),),实现对数据的插入、删除、修改和查询等实现对数据的插入、删除、修改和查询等数据的数据的组织组织和和存取管理存取管理数据库的数据库的运行管理运行管理和数据库的和数据库的维护维护数据库系统的组成数据库系统的组成(3 3)应用程序)应用程序DBMSDBMS应用程序是面向最终用户的、利用数据库系统资源应用程序是面向最终用户的、利用数据库系统资源开发的、解决管理和决策问题的各种应用软件。开发的、解决管理和决策问题的各种应用软件。(4 4)相关人员)相关人员数据库系统中的相关人员根据基本的工作职能可分为:数据库系统中的相关人员根据基本的工作职能可分为:数据库设计员、系统分析员、程序员、系数据库设计员、系统分析员、程序员、系统管理员、数据库管理员、最终用户。其统管理员、数据库管理员、最终用户。其中:中:数据库设计员数据库设计员、系统分析员系统分析员、程序员程序员主主要是在系统开发过程中发挥相应的职能。要是在系统开发过程中发挥相应的职能。系统管理员系统管理员完成控制和管理数据库系统完成控制和管理数据库系统的一般性操作。的一般性操作。数据库系统的组成数据库系统的组成(4 4)相关人员)相关人员数据库管理员数据库管理员DBA(DataBase Administrator)DBA(DataBase Administrator)对数据库对数据库系统进行管理和控制,具有系统进行管理和控制,具有最高最高的的数据库用户数据库用户特权,负特权,负责全面管理数据库系统。责全面管理数据库系统。用户用户通过各种应用程序提供的用户接口(浏览器、菜通过各种应用程序提供的用户接口(浏览器、菜单、按钮、表格、报表等)使用数据库单、按钮、表格、报表等)使用数据库。(5 5)计算机支持系统)计算机支持系统硬件硬件系统,足够的存储容量,高速的处系统,足够的存储容量,高速的处理速度,极高的稳定性与安全性;理速度,极高的稳定性与安全性;软件软件系统,确保计算机可靠运行的系统,确保计算机可靠运行的OSOS和和应用系统开发工具等。应用系统开发工具等。1.31.3 数据库系统的模式结构数据库系统的模式结构为了实现数据的为了实现数据的独立独立和和共享共享,便于数,便于数据库的据库的设计设计和和实现实现,美国国家标准局,美国国家标准局ANSIANSI计算机与信息处理计算机与信息处理委员会委员会以及以及标准规划和标准规划和要求要求委员会委员会SPARCSPARC于于19751975年将数据库系统的年将数据库系统的结构定义为三级模式结构:结构定义为三级模式结构:外部层外部层,单个用户的视图,表示数据,单个用户的视图,表示数据库的局部逻辑。库的局部逻辑。概念层概念层,全体用户的公共视图,是数,全体用户的公共视图,是数据库中所有信息的抽象表示。据库中所有信息的抽象表示。内部层内部层,存储视图,与数据库的实际,存储视图,与数据库的实际存储密切相关。存储密切相关。1.31.3 数据库系统的模式结构数据库系统的模式结构分级结构对于提高分级结构对于提高数据独立性数据独立性具有重具有重要意义。数据独立性包括两方面:要意义。数据独立性包括两方面:数据的数据的物理独立性物理独立性,数据的物理存储数据的物理存储的变化隔离在概念层之下,不反映在用户的变化隔离在概念层之下,不反映在用户面前,因此应用程序可以保持不变。面前,因此应用程序可以保持不变。数据的数据的逻辑独立性逻辑独立性,如果概念层发生如果概念层发生变化,可以改变外部层与概念层之间的映变化,可以改变外部层与概念层之间的映射,使用户看到的外部视图保持不变,应射,使用户看到的外部视图保持不变,应用程序保持不变。用程序保持不变。1.41.4 数据模型数据模型1 1.数据模型基本概念数据模型基本概念2 2.E-R.E-R模型模型3 3.关系模型关系模型将现实世界中各种复杂的事物最终以计算机及数据将现实世界中各种复杂的事物最终以计算机及数据库所允许的形式表示和实现,需要通过建立库所允许的形式表示和实现,需要通过建立数据模型数据模型来来实现。实现。1.1.数据模型基本概念数据模型基本概念(1 1)模型模型是现实世界特征的模拟和抽象。是现实世界特征的模拟和抽象。(2 2)数据模型数据模型是现实世界中数据特征的抽是现实世界中数据特征的抽象,是用来描述数据的一组概念和定义。各象,是用来描述数据的一组概念和定义。各种数据库产品都是基于某种数据模型的。种数据库产品都是基于某种数据模型的。(3 3)数据模型一般要描述)数据模型一般要描述三方面三方面的内容:的内容:数据的数据的静态特征静态特征,特征、联系等;,特征、联系等;数据的数据的动态特征动态特征,定义在数据上的操作;,定义在数据上的操作;数据的数据的完整性约束完整性约束,数据要满足的规则。,数据要满足的规则。为了较真实地模拟现实世界,人们一般用为了较真实地模拟现实世界,人们一般用“现实现实世世界界信息信息世界世界数据数据世界世界”的转化过程。的转化过程。首先将现实世界中的客观事物通过概念抽象转化为首先将现实世界中的客观事物通过概念抽象转化为不依赖于具体计算机系统的数据结构,称为不依赖于具体计算机系统的数据结构,称为概念模型概念模型;然后再将其转换为然后再将其转换为DBMSDBMS支持的数据支持的数据结构模型结构模型。现实世界现实世界事物及联系事物及联系事物事物对象对象 性质性质信息世界信息世界概念模型概念模型实体实体对象对象 属性属性数据世界数据世界结构模型结构模型数据数据记录记录 字段字段(4 4)现实世界向数据世界的转化:)现实世界向数据世界的转化:概念模型概念模型概念模型是按概念模型是按用户的观点用户的观点对数据建模,对数据建模,是对现实世界的是对现实世界的第一层抽象第一层抽象,是,是用户用户和和数据库设计人员数据库设计人员之间进行交流的工之间进行交流的工具,应简单,清晰,易于理解。具,应简单,清晰,易于理解。广泛使用的概念模型为广泛使用的概念模型为“实体实体-联系联系”模型(模型(Entity-Relationship Model,Entity-Relationship Model,简称简称E-RE-R模型模型)。)。结构模型结构模型结构模型强调数据是如何在数据库中描结构模型强调数据是如何在数据库中描述的。述的。在数据库技术的发展过程中,出现的数在数据库技术的发展过程中,出现的数据结构模型主要有:据结构模型主要有:层次层次模型(树型结构)模型(树型结构)网状网状模型(图形结构)模型(图形结构)关系关系模型模型面向对象面向对象模型模型目前流行的目前流行的DBMSDBMS产品中,数据结构模型产品中,数据结构模型主要采用主要采用关系模型关系模型和和面向对象的关系模面向对象的关系模型型。2.E-R2.E-R模型模型(1 1)E-RE-R模型中的基本概念模型中的基本概念实体实体(EntityEntity):):是客观存在的、可以相互区别的是客观存在的、可以相互区别的事物事物。具。具有相同性质的实体集合成为实体集。有相同性质的实体集合成为实体集。属性属性(AttributeAttribute):是指实体所具有的是指实体所具有的特征特征,通常一个实体可,通常一个实体可由多个属性来描述。由多个属性来描述。联系联系(RelationshipRelationship):是实体集之间关系的抽象表示,可分为是实体集之间关系的抽象表示,可分为:一对一一对一联系联系一对多一对多联系联系多对多多对多联系联系(2 2)E-RE-R图图 (E-RE-R模型的图形表示法)模型的图形表示法)矩形框矩形框表示表示实体集实体集椭圆形框椭圆形框表示表示属性属性菱形框菱形框表示表示联系联系3.3.关系模型关系模型以关系代数理论为基础的关系模型以关系代数理论为基础的关系模型中用中用二维表二维表表示表示实体集实体集,通过,通过外部关键字外部关键字表示实体间的表示实体间的联系联系。(1 1)关系与关系模式)关系与关系模式(2 2)关键字)关键字(3 3)关系模型)关系模型(4 4)关系运算)关系运算(5 5)关系的规范化)关系的规范化关系与关系模式关系与关系模式关系关系是以二维表结构来表示实体集以及实体间的联系。是以二维表结构来表示实体集以及实体间的联系。一个关系就是一张一个关系就是一张二维表二维表;关系的首行称为关系的首行称为“属性属性”;其它各行称为其它各行称为“元组元组”,”,在关系数据库中称为在关系数据库中称为“记录记录”。关系模式关系模式是对关系的描述,包括是对关系的描述,包括模式名模式名以及组成该关系的以及组成该关系的诸属性名诸属性名等等 。如:。如:学生(学号,姓名,性别,籍贯,出生学生(学号,姓名,性别,籍贯,出生日期)即为一关系模式。日期)即为一关系模式。关键字关键字二维表中不应出现相同的记录,应能通过一列或若二维表中不应出现相同的记录,应能通过一列或若干列将干列将不同的记录不同的记录区分区分开来,即能够开来,即能够唯一唯一确定记录。确定记录。超关键字超关键字(Super Key)(Super Key):二维表中能二维表中能唯一唯一的确定记录的一列的确定记录的一列(单一关键字单一关键字)或或多列的组合多列的组合(合成关键字合成关键字)被称为被称为“超关键字超关键字”。候选关键字候选关键字(Candidate Key)(Candidate Key):最最精练精练的超关键字的超关键字(去掉其中任何一个字段后不再能去掉其中任何一个字段后不再能唯一的确定记录唯一的确定记录)被称为被称为“候选关键字候选关键字”。关键字关键字主关键字主关键字(Primary Key)(Primary Key):从候选关键字中选出一个可作为从候选关键字中选出一个可作为“主关键字主关键字”。主关键字不能为空。主关键字不能为空。外部关键字外部关键字(Foreign Key)(Foreign Key):A A表的主关键字被包含到表的主关键字被包含到B B表中时,就表中时,就称为称为B B表的表的“外部关键字外部关键字”。例如:例如:在学生表(在学生表(学号学号,姓名,姓名,)中学)中学号是主关键字号是主关键字在成绩表(在成绩表(学号学号,课程名,成绩)中,课程名,成绩)中学号就是外部关键字学号就是外部关键字关系模型关系模型定义定义:用:用二维表二维表表示实体集,通过表示实体集,通过外部关键字外部关键字表示实体表示实体之间联系的之间联系的数学模型数学模型称为关系模型。称为关系模型。组成组成:关系模型通过一系列的关系模式来表述数据的结:关系模型通过一系列的关系模式来表述数据的结构和属性,一般有三个组成部分:构和属性,一般有三个组成部分:数据结构数据结构,即二维表。,即二维表。数据操作数据操作,提供一组完备的关系运算,提供一组完备的关系运算,以支持对数据库的各种操作。以支持对数据库的各种操作。完整性规则完整性规则,包括:,包括:关系模型关系模型 完整性规则完整性规则,包括:,包括:域完整性域完整性(又称为(又称为用户自定义完整性用户自定义完整性)规则,给)规则,给定了属性的取值范围。如成绩不能小于定了属性的取值范围。如成绩不能小于0 0,性别,性别只能是男或女等。只能是男或女等。实体完整性实体完整性规则,要求任一记录的主规则,要求任一记录的主关键字的值不能为空值且必须唯一。关键字的值不能为空值且必须唯一。如学号不能为空值且不能重复。如学号不能为空值且不能重复。参照完整性参照完整性(又称为(又称为引用完整性引用完整性)规)规则,要求当一个记录的外键的值不为则,要求当一个记录的外键的值不为空值时,以该外键作为主键的记录必空值时,以该外键作为主键的记录必须在相应的关系中存在。如成绩表中须在相应的关系中存在。如成绩表中的学生必须是学生表中已经存在的。的学生必须是学生表中已经存在的。关系运算关系运算并并RUSRUS,关系,关系R R和关系和关系S S具有相同的模式具有相同的模式运算结果:运算结果:R R中元组加上中元组加上S S中的元组。中的元组。例子:两个结构相同的表例子:两个结构相同的表s1s1和和s2s2,分别存放两个班,分别存放两个班的学生档案,要求合并。的学生档案,要求合并。差差R-SR-S,关系,关系R R和关系和关系S S具有相同的模式具有相同的模式运算结果:从运算结果:从R R中去除中去除S S中也有的元组。中也有的元组。例如:例如:t1t1存放学校教师名单,存放学校教师名单,t2t2存放存放本学期任课教师名单,如果查询这个学期本学期任课教师名单,如果查询这个学期未上课的教师名单未上课的教师名单交交RSRS,关系,关系R R和关系和关系S S具有相同的模式具有相同的模式运算结果:运算结果:R R和和S S中均有的元组。中均有的元组。关系运算关系运算选择选择:在关系:在关系R R中选择中选择满足给定条件满足给定条件的元组。的元组。运算结果:运算结果:R R的一个子集(的一个子集(水平分解水平分解)。)。投影投影:在关系:在关系R R中中选择若干属性选择若干属性组成组成新新的关系。的关系。运算结果:新关系包含的属性通常比原关系少(运算结果:新关系包含的属性通常比原关系少(垂垂直分解直分解)。联接联接:根据给定的:根据给定的联接条件联接条件将两个关将两个关系模式系模式拼接拼接成一个新的关系。成一个新的关系。运算结果:产生一个新的关系运算结果:产生一个新的关系关系的规范化关系的规范化关系不是简单的一张二维表,而是一种规范化的二维表,关系不是简单的一张二维表,而是一种规范化的二维表,具有如下性质:具有如下性质:1 1 属性属性是是原子的,是是原子的,不可分解不可分解的。的。2 2 记录数可变,但记录数可变,但字段数相对固定字段数相对固定。3 3 每一列均有唯一的字段名,且每一列取值是同性每一列均有唯一的字段名,且每一列取值是同性质的。质的。4 4 不允许出现完全相同的两行不允许出现完全相同的两行。5 5 行、列的顺序可任意交换。行、列的顺序可任意交换。关系的规范化关系的规范化 关系的规范化:关系的规范化:就是对关系模式应当满足的条件的某种处理,目就是对关系模式应当满足的条件的某种处理,目的是尽可能的减少数据冗余、消除异常现象、增强数的是尽可能的减少数据冗余、消除异常现象、增强数据的独立性、便于用户使用等。据的独立性、便于用户使用等。关系规范化的条件可以分为不同的级别,关系规范化的条件可以分为不同的级别,每级称为一个范式,记作每级称为一个范式,记作nNFnNF。如:。如:1NF1NF、2NF2NF、3NF3NF、BCNFBCNF、4NF 4NF,级别越高则,级别越高则条件越严格。条件越严格。实际设计时,一般要求满足实际设计时,一般要求满足3NF3NF,其基,其基本条件是:关系模式中每个属性都必须本条件是:关系模式中每个属性都必须是是原子值原子值,它的任一非主属性都,它的任一非主属性都完全函完全函数依赖数依赖于候选关键字且不传递依赖于候于候选关键字且不传递依赖于候选关键字。选关键字。1.51.5 关系数据库标准语言关系数据库标准语言SQLSQL目前为关系数据库提供非过程关目前为关系数据库提供非过程关系语言最成功、应用最广的是系语言最成功、应用最广的是19741974年年提出的提出的SQL SQL(Structured Query Structured Query LanguageLanguage)。SQLSQL是一种基于是一种基于关系代数关系代数和和关系关系演算演算的语言,使用方便、功能齐全、的语言,使用方便、功能齐全、简洁易学,很快得到了普遍应用。简洁易学,很快得到了普遍应用。SQLSQL语言可以实现数据库应用过语言可以实现数据库应用过程中的全部活动,包括数据程中的全部活动,包括数据定义定义、查查询询、更新更新等。等。(1 1)数据定义语言数据定义语言DDLDDLSQLSQL提供数据定义语言,可根据关系模提供数据定义语言,可根据关系模式定义所需的基本表,其式定义所需的基本表,其SQLSQL语句形式如下:语句形式如下:CREATE TABLECREATE TABLE (完整性约束条件完整性约束条件)除了定义基本表,除了定义基本表,SQLSQL的的DDLDDL还包括还包括修修改改基本表结构、基本表结构、删除删除基本表、建立和删除基本表、建立和删除索引索引、建立和删除、建立和删除视图视图等语句。等语句。(2 2)数据查询数据查询SQLSQL提供提供SELECTSELECT语句进行数据库查询,该语句具语句进行数据库查询,该语句具有灵活的使用方式和丰富的功能,其有灵活的使用方式和丰富的功能,其SQLSQL语句形式如语句形式如下:下:SELECT A1,A2,An FROMSELECT A1,A2,An FROM R1,R2,Rm R1,R2,Rm WHERE WHERE GROUP BY GROUP BY ORDER BYORDER BYSELECTSELECT语句能够表达所有的关系代数表达式,语句能够表达所有的关系代数表达式,能够表达的语义远比能够表达的语义远比“投影、选择和连接投影、选择和连接”复杂得复杂得多。多。(3 3)数据更新数据更新插入语句:插入语句:INSERT INTO VALUES INSERT INTO VALUES 修改语句:修改语句:UPDATE SET WHERE UPDATE SET WHERE 删除语句:删除语句:DELETE FROM WHEREDELETE FROM WHERE(4 4)SQLSQL的视图的视图视图是视图是DBMSDBMS所提供的一种以用户模式观察数据所提供的一种以用户模式观察数据库中数据的重要机制。库中数据的重要机制。与基本表不同,只是一个与基本表不同,只是一个虚表虚表,可由基本表或,可由基本表或其它视图导出其它视图导出,在数据字典中保留其逻辑定义,但不在数据字典中保留其逻辑定义,但不作为一个表实际存储。作为一个表实际存储。SQLSQL语言用语言用CREATE VIEWCREATE VIEW语句建立视图。语句建立视图。视图定义后,可以像基本表一样对视图进行查视图定义后,可以像基本表一样对视图进行查询。但对视图的修改有很多限制。询。但对视图的修改有很多限制。1.61.6 数据库设计基础数据库设计基础软件工程中最核心的技术之一是基于软件工程中最核心的技术之一是基于数据库系统的设计技术,即数据库系统的设计技术,即数据库设计技数据库设计技术术。数据库设计是指数据库设计是指利用利用一个给定的应用一个给定的应用环境(硬件、软件环境),环境(硬件、软件环境),表达表达出一个单出一个单位或部门的信息需求,位或部门的信息需求,构造构造最优化的最优化的数据数据库模式库模式(用户模式、逻辑模式和存储模式),(用户模式、逻辑模式和存储模式),建立建立数据库数据库以及围绕这个数据库展开的以及围绕这个数据库展开的应应用系统用系统,使之能够有效的收集、存储、处,使之能够有效的收集、存储、处理和管理数据,理和管理数据,满足满足用户的各类信息与处用户的各类信息与处理需求。理需求。数据库设计内容数据库设计内容数据库设计包括:数据库数据库设计包括:数据库结构特结构特性性的设计,数据库的设计,数据库行为特征行为特征的设计。的设计。数据库结构特性设计数据库结构特性设计是指确定数是指确定数据库的数据模型,反映数据及数据之据库的数据模型,反映数据及数据之间的联系,在满足应用需求的前提下,间的联系,在满足应用需求的前提下,尽可能减少数据冗余,实现数据共享,尽可能减少数据冗余,实现数据共享,体现的是用户对体现的是用户对信息信息的需求。的需求。数据库行为特征设计数据库行为特征设计是指确定数是指确定数据库应用的行为和操作,主要是指应据库应用的行为和操作,主要是指应用程序的设计,体现的是用户对用程序的设计,体现的是用户对处理处理的需求。的需求。数据库设计的方法数据库设计的方法信息需求信息需求和和处理需求处理需求虽然不能绝对区虽然不能绝对区分,但根据其侧重点不同,数据库设计也分,但根据其侧重点不同,数据库设计也有两种不同的方法:有两种不同的方法:面向数据面向数据的设计方法的设计方法(数据驱动数据驱动的设计的设计方法方法):以信息需求为主,兼顾处理需求,:以信息需求为主,兼顾处理需求,所设计的数据库结构可以较好的反映数据所设计的数据库结构可以较好的反映数据的内在联系,不但可以满足当前应用的需的内在联系,不但可以满足当前应用的需求,而且可以满足潜在发展的应用需求。求,而且可以满足潜在发展的应用需求。面向过程面向过程的设计方法的设计方法(过程驱动过程驱动的设计的设计方法方法):以:以为主,兼顾为主,兼顾,所设计的数据,所设计的数据库结构可以较好的满足应用功能的需要,库结构可以较好的满足应用功能的需要,但应用的发展和变化往往会导致数据库结但应用的发展和变化往往会导致数据库结构的较大变动,甚至于需要进行重构。构的较大变动,甚至于需要进行重构。主要用于功能要求比较明确且稳定的应用系统主要用于功能要求比较明确且稳定的应用系统数据库生命周期数据库生命周期大型的数据库设计工作量大且复大型的数据库设计工作量大且复杂,既是一项杂,既是一项数据库数据库工程,也属于一工程,也属于一项庞大的项庞大的软件软件工程。工程。在数据库设计过程中,可以充分在数据库设计过程中,可以充分利用利用软件工程软件工程的的思想思想、方法方法和和技术技术,数据库设计的各个阶段可以和软件工数据库设计的各个阶段可以和软件工程的各个阶段相对应。程的各个阶段相对应。基于软件工程的思想和方法,数基于软件工程的思想和方法,数据库也有其生命周期,即据库也有其生命周期,即数据库生命数据库生命周期周期(DataBase Life Cycle,DBLCDataBase Life Cycle,DBLC)数据库生命周期的各个阶段数据库生命周期的各个阶段l系统规划系统规划l系统分析系统分析l系统设计(概念结构、逻辑结构、物理结构设计)系统设计(概念结构、逻辑结构、物理结构设计)l系统实施系统实施l系统维护系统维护参见教材参见教材P16P16图图1-51-5。1.7 1.7 主流的主流的DBMSDBMS产品介绍产品介绍 自自2020世纪世纪7070年代年代关系模型关系模型提出后,由于其突出的提出后,由于其突出的优点,迅速被商用数据库系统所采用。据统计,优点,迅速被商用数据库系统所采用。据统计,7070年年代以来发展的代以来发展的DBMSDBMS系统中,近系统中,近90%90%是采用是采用关系数据模型关系数据模型,主流数据库管理系统产品有:主流数据库管理系统产品有:OracleOracle(OracleOracle甲骨文公司)甲骨文公司)DB2DB2(IBMIBM公司)公司)SybaseSybase(Sybase Sybase公司)公司)MS-SQL SeverMS-SQL SeverAccessAccessVisual FoxproVisual Foxpro2009-2009-秋秋-21-21题题 目前目前DBMSDBMS有许多不同的产品,下列产品中,有许多不同的产品,下列产品中,不属于微软不属于微软MicrosoftMicrosoft公司开发的是公司开发的是_。Visual FoxProVisual FoxProMS-SQL SeverMS-SQL SeverAccess Access OracleOracleMS-SQL SeverMS-SQL SeverMS-SQL SeverMS-SQL Sever是是MicrosoftMicrosoft公司推出公司推出的在的在WindowsWindows平台上最为流行的中型平台上最为流行的中型关系型数据库管理系统。关系型数据库管理系统。主要特点有:采用主要特点有:采用客户机客户机/服务器服务器体体系结构;图形化的用户界面,使系系结构;图形化的用户界面,使系统的管理更加直观和简单;与统的管理更加直观和简单;与WindowsWindows操作系统的有机集成,多线操作系统的有机集成,多线程体系结构设计,提高了系统对用程体系结构设计,提高了系统对用户并发访问的速度;对户并发访问的速度;对WebWeb技术的支技术的支持,使用户能够很容易地将数据库持,使用户能够很容易地将数据库中的数据发布到网上。中的数据发布到网上。AccessAccessAccessAccess是是OfficeOffice软件包的一个组成部分,自软件包的一个组成部分,自19921992年年MicrosoftMicrosoft公司首次发布公司首次发布AccessAccess数据库管理系统以来,数据库管理系统以来,已逐步成为一个桌面数据库领域得比较成熟的关系型数已逐步成为一个桌面数据库领域得比较成熟的关系型数据库管理系统。据库管理系统。主要特点:单文件型数据库,所有的信息保存在一个主要特点:单文件型数据库,所有的信息保存在一个AccessAccess数据库文件中;提供对数据的完整性和安全性控数据库文件中;提供对数据的完整性和安全性控制的机制;提供界面友好的可视化开发环境,提供大量制的机制;提供界面友好的可视化开发环境,提供大量的向导、生成器,使用户在开发一些简单的应用软件时,的向导、生成器,使用户在开发一些简单的应用软件时,可实现可实现“无代码无代码”编程;与编程;与OfficeOffice中的其他组建高度集中的其他组建高度集成。成。目前流行的开发工具都支持目前流行的开发工具都支持AccessAccess数据库,但数据库,但AccessAccess数数据库管理系统只能在据库管理系统只能在WindowsWindows环境下工作,其应用仅限环境下工作,其应用仅限于比较小的场合,不能支持大型应用。于比较小的场合,不能支持大型应用。returnVisual FoxproVisual Foxpro的发展历史的发展历史dBasedBase(Asthon-Tate(Asthon-Tate公司公司)dBasedBase(Asthon-Tate(Asthon-Tate公司公司)dBasedBase(Asthon-Tate(Asthon-Tate公司公司)FoxBaseFoxBase(Fox(Fox公司公司),特点:语言结构复杂、命令语,特点:语言结构复杂、命令语句多、界面过于简单、程序生成功能较差、数据完整句多、界面过于简单、程序生成功能较差、数据完整性功能较差。性功能较差。FoxProFoxPro(Fox(Fox公司公司),特点:界面易用、增加了,特点:界面易用、增加了GeneralGeneral字段类型以支持多媒体数据,增加了对作为关系数据字段类型以支持多媒体数据,增加了对作为关系数据库标准语言的库标准语言的SQLSQL的支持,采用了的支持,采用了RushmoreRushmore技术,在单技术,在单机环境和网络环境下均可运行等。机环境和网络环境下均可运行等。MicrosoftMicrosoft公司在收购公司在收购FoxFox公司后,在公司后,在FoxProFoxPro基础上引基础上引入可视化操作环境和面向对象的程序技术,于入可视化操作环境和面向对象的程序技术,于19951995年年推出了推出了Visual FoxproVisual Foxpro3.03.0,此后陆续推出了,此后陆续推出了5.05.0、6.06.0、7.0 7.0、8.08.0、9.09.0版本。版本。1.8 Visual FoxPro1.8 Visual FoxPro概述概述(1 1)VFP VFP的特点的特点(2 2)VFP VFP的集成操作环境的集成操作环境(3 3)VFP VFP命令的语法格式说明命令的语法格式说明(4 4)常用命令常用命令(5 5)配置配置VFPVFP操作环境操作环境(6 6)VFP VFP文件类型文件类型VFPVFP的特点的特点数据库方面数据库方面:完善了:完善了关系型数据库关系型数据库的概念,严格区分的概念,严格区分了了数据库与数据表数据库与数据表的概念;复合的概念;复合索引技术索引技术的使用,使的使用,使一个索引文件中可以包含多个索引;一个索引文件中可以包含多个索引;SQLSQL命令命令的引入使的引入使得能以更少的代码和更快的速度从一张表或多张表中得能以更少的代码和更快的速度从一张表或多张表中检索数据。检索数据。数据操作方面数据操作方面:具有简单、灵活、多样:具有简单、灵活、多样的数据交换手段;支持众多的与其它应的数据交换手段;支持众多的与其它应用程序进行数据交换的文件格式。用程序进行数据交换的文件格式。VFPVFP的特点的特点程序设计