本章内容1.1数据库基本概念1.2数据模型1.3数据库技术的发展第1章数据库基础§1.1数据库基本概念1.信息信息是事物运动状态和特征的表现形式。2.数据数据是指能被计算机识别和处理的物理符号,包括数字、文字、图形、图像、声音、动画和影像等。数据是信息具体化的表示形式。3.数据处理数据处理是指对数据进行收集、存储、计算、分类、排序和传输等操作。1.1.1信息、数据和数据处理4.数据管理数据管理是数据处理的核心。它主要是指对数据进行分类、排序、编码、存储、检索和维护等操作。§1.1.2数据管理技术的发展随着计算机系统硬件和软件技术的发展,计算机数据管理经历了由低级向高级的发展过程,这一过程一般可以分为3个阶段:1.人工管理阶段2.文件系统阶段3.数据库系统阶段数据库系统阶段的数据管理特点:(1)数据结构化数据库中的数据是有结构的,这种结构决定于数据库所采用的数据模型。数据库不仅反映客观事物本身,而且反映出事物之间的联系。(2)实现数据共享,减少数据冗余在数据库系统中,数据已经从应用程序中分离出来供多个应用程序使用,从而实现了数据共享,减少数据冗余,但不是消灭冗余,必要的重复还要保留,以体现数据之间的联系.(3)数据独立性高1)数据库的物理独立性:数据库的物理结构改变时,其逻辑结构不变。2)程序和数据的逻辑独立性:数据库的逻辑结构改变时,用户的程序不用改变(4)有统一的数据管理和控制功能1.数据库(DBDataBase)数据库是存储在计算机中结构化的相关数据的集合。它不仅包含描述事物的数据本身,而且包含数据之间的联系。在VisualFoxPro中,数据库是存放表(Table)、视图(虚拟表)及其联系的容器。2.数据库管理系统(DBMS)(1)DBMS的概念数据库管理系统是建立、维护、使用和管理数据库的软件。常用的数据库管理系统有SQLServer,Oracle,DB2等;微型计算机中常用的小型数据库管理系统有FoxBase,FoxPro,VisualFoxPro,Access等。§1.1.3数据库系统的基本概念2)DBMS的功能①描述数据库②管理数据库③维护数据库3.数据库应用程序它是为了解决某个实际问题,程序开发人员利用DBMS编写的应用软件。例如财务软件。4.数据库系统(DBSDataBaseSystem)数据库系统是指引入数据库技术后的计算机系统。它由3个部分组成。数据库系统的核心是数据库管理系统(DBMS)。计算机硬件系统操作系统数据库管理系统(DBMS)数据库系统计算机软件系统数据库(DB)(DBS)数据库应用程序其他辅助工具软件数据库管理员(DBA)计算机操作人员普通用户5.数据库应用系统安装并运行数据库应用程序的数据库系统称为数据库应用系统。§1.2数据模型1.现实世界现实世界是存在于人们大脑映象之外的客观世界,事物及其相互联系处在这个客观世界中。事物可以是实体,比如一个人,一台计算机;也可以是抽象概念,比如某人的爱好和性格等。2.信息世界信息世界是对现实世界进行抽象而得到的概念世界,它不是现实世界的简单录像,而是经过选择、命名和分类等抽象过程而产生的概念模型。信息世界是以人的观点来描述和表示客观世界。3.数据世界数据世界又称机器世界,数据世界是以机器的观点来描述和表示信息世界,是信息世界在计算机中数字化的表示。§1.2.1从现实世界到数据世界三个世界的内容及其联系如图下所示。§1.2.2数据模型1.数据模型的概念模型是对客观世界中复杂事物的抽象描述,获取模型的抽象过程叫做建模。为了对客观世界进行研究,人们通常采用某种抽象模型来描述。例如,若要用数学的观点来描述客观世界,则需要建立一个数学模型;若要用物理的观点来描述客观世界,则需要建立一个物理模型。在数据库系统中,则要用数据的观点来描述客观世界,从而建立一个数据模型数据模型是数据库管理系统中用于提供信息表示和操作手段的形式框架。2.数据模型的组成(1)数据结构数据结构用于描述系统的静态特性,即描述数据本身的内容和特性以及数据之间的联系。(2)数据操作数据操作用于描述系统的动态特性,即描述检索操作和更新操作(插入、删除、修改)。(3)完整性约束关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、域完整性和参照完整性。数据模型可以分为两个层次:概念模型和数据模型。1.数据模型的概念概念模型是在信息世界中建立的逻辑模型,它是按人的观点对数据建模。它是从“现实世界(事物,事物属性)”到“信息世界(实体,实体属性)”的第一层次抽象。在概念模型中事物被抽象为实体、属性和联系概念模型涉及到以下几个主要概念(1)实体在信息世界中,客观存在并且可以相互区别的事物称为实体。例如,一个学生、一门课程和一场比赛都可以看成实体。(2)实体集同一类实体的集合称为实体集。例如,班级是学生实体的实体集。§1.2.3数据模型的层次(3)属性描述实体的特征称为实体的属性。(4)实体型属性的集合表示一种实体的类型,称为实体型。(5)联系实体与实体之间的关系称为联系。1976年P.P.Chen提出了“实体—联系”的方法,即E-R图法(Entity-RelationshipApproach)。目前,E-R图法成为描述概念模型常用方法。E-R图使用四种基本图形符号,如下图6所示。实体之间的联系有如下3种:1)一对一联系如果实体集A中的每一个实体至多和实体集B中的一个实体有联系,反之亦然,则称实体集A与B具有一对一联系,记作1:1。例如,“职工”与“工资”之间存在一对一的联系。2)一对多联系如果实体集A中的每一个实体和实体集B中的多个实体有联系,反之实体集B中的每一个实体至多只和实体集A中的一个实体有联系,则称实体集A与B具有一对多联系,记作1:m。例如,“班级”与“学生”之间存在一对多的联系。3)多对多联系如果实体集A中的每一个实体和实体集B中的多个实体有联系,反之实体集B中的每一个实体也可以和实体集A中的多个实体有联系,则称实体集A与B具有多对多联系,记作m:n。例如,“学生”和“课程”之间存在多对多的联系。在处理多对多联系时,通常插入一个中间“纽带关系”,将一个“多对多”联系分解为两个“一对多”联系来处理。2.数据模型数据模型是在计算机中建立的物理模型,它是按数据库管理系统的观点建立实施模型。数据模型的分类:层次模型、网状模型、关系模型。(1)层次模型1)层次模型的概念层次模型用树型结构表示实体以及实体之间的联系,如右图所示。2.层次模型特点1)实体作为结点被组织成一棵倒置的树(父结点向下可以有若干个子结点,子结点向上只有一个父结点)。2)只有一个根结点无父结点,其他结点有并且只有一个父结点。层次模型反映实体之间一对一联系或者一对多联系。(2)网状模型1)网状模型的概念网状模型突破了层次模型的两点限制(只有一个根结点无父结点,其他结点有且只有一个父结点),其结构如右图所示。2)网状模型的特点①一个结点可以有多于一个的父结点。②允许有一个以上的结点无父结点。网状模型反映实体之间一对一联系、一对多联系或者多对多联系。(3)关系模型1)关系模型的概念一张二维表就是一个关系。一个关系是在n维空间坐标系中一组坐标点的集合。在下图所示的职工简况表(Zgjk.dbf)表中,每一列表示n维空间坐标系中一个坐标轴,每一行表示n维空间坐标系中一个坐标点。2)关系术语①关系:一张二维表就是一个关系。②关系模型:关系模型是对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)③元组:二维表中的一行为一个元组,它对应于实体集中的一个实体。④属性:二维表中的一列为一个属性。⑤域:属性的取值范围。例如“基本工资”属性的值域为0~5000,“性别”属性的值域为“男”或“女”。⑥主键(主码):能够唯一地标识关系中的一个元组的属性称为主码。例如,“学生”表中的“学号”是主码。主码不允许重复值和空值(NULL)。⑦外键(外码):为了建立表与表之间的联系,两个表必须有一个公共属性。例如,在“职工简况”表和“销售”表之间通过公共属性“职工号”建立一对多的联系,这个公共属性“职工号”在“职工简况”表中是主码,“职工号”在“销售”表中是外码。“信息世界”、“关系”和“表”的术语的比较见下表:信息世界术语关系术语表术语实体集关系二维表实体元组记录(行)特征属性字段(列)实体型关系模型表结构(第一行表头)3)关系模型的特点①关系模型的概念单一。即无论是实体还是实体之间的联系都用关系来表示。②关系数据库由若干相互关联的表组成,表与表之间的联系通过实体之间的公共属性实现。③数据存取对用户透明。用户看到的表是一种逻辑结构,用户不必考虑数据的物理存储方式。④关系规范化。在关系模型中,每一个关系都要满足一定的要求(规范条件)。4)关系的基本性质①在一个关系中,不允许有完全相同的元组。(元组是惟一的)②在一个关系中,不允许有相同的属性名。(属性是惟一的)③在一个关系中元组的顺序无关紧要,即任意交换两个行的位置并不影响整个关系(行的位置可任意)。④在一个关系中属性的顺序无关紧要,即任意交换两个列的位置并不影响整个关系(列的位置可任意)。⑤在一个关系中每一列中的属性值(数据项)应取自一个值域。(同一列的数据类型相同)5)关系运算①选择选择运算是根据给定的条件,从一个关系中选出若干个元组。被选出的元组组成一个新的关系,这个新的关系是原关系的子集,其关系模型不变。选择运算就是从n维空间的所有点中选出满足给定条件的点。选择是对元组(行)的挑选,选择运算后关系不变。②投影投影运算是从一个关系中指定若干个属性组成新的关系。投影运算就是将一个维度较高的空间坐标系转变为维度较低的空间坐标系。投影是对属性(列)的指定,投影运算后关系改变了。③联接联接运算是将两个关系按一定条件组成一个新的关系。联接运算是将两个关系进行笛卡尔相乘而得到的乘积。小结:选择是对元组(行)的限制;投影是对属性(列)的指定;联接是按一定条件将两个表进行笛卡尔相乘。§1.3数据库技术的发展§1.3.1传统数据库技术的发展1.1969年,IBM公司开发出层次型、网状型的数据库系统。2.1970年,科德(E.F.Codd)创立关系数据库理论基础。3.1986年,ANSI通过了关系数据库查询语言SQL的标准。4.1970年代以来,开发出来的DBMS有dBase,FoxBase,FoxPro,VisualFoxPro,Oracle,SQLServer等。5.微型计算机的小型数据库管理系统的发展如下:dBaseⅡ→dBaseⅢ→dBaseⅣ└→FoxBase→FoxPro2.5→FoxPro2.6└→VisualFoxPro3.05.06.07.0目前,介绍VisualFoxPro程序设计的教材多数采用VisualFoxPro6.0版本。§1.3.2新一代数据库技术1.分布式数据库(1)它是数据库技术与计算机网络技术相结合的产物。(2)它是物理地域上分布、逻辑上统一的数据库系统。(3)它具有良好的兼容性、可扩充性、适用性。2.面向对象数据库面向对象数据库系统是数据库技术与面向对象技术相结合的产物。面向对象的程序设计方法,是以对象为中心,将数据和程序捆绑在一起,封装在对象之中,淡化了解决问题的过程程序。使用对象时只需了解其接口和提供的功能,而不必知道它内部的数据描述和具体功能的实现方法。基本对象不需用户创建,只要从类库中取出相应的对象,并加以组合、调整和修改,然后描述每个对象的属性和方法,程序设计工作就完成了。3.多媒体数据库早期的数据库管理系统(dBase,FoxBase等),只能处理数字和文字两种形式的数据,由此构成的数据库系统不能处理声音、图像和视频等形式的数据。通常把能够处理数字、文字、声音、图像和视频等多种形式的数据的数据库称为多媒体数据库。多媒体数据库支持文字、声音、图像、动画和视频等多媒体字段类型及用户定义的特殊类型;支持定长数据和非定长数据的集成管理;具有良好的界面和处理接口;支持多媒体的特殊查询。4.模糊数据库(1)客观世界中