1第1章数据库基础本章学习目标:掌握数据库、数据模型、数据库管理系统等基本概念;掌握关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字等概念;会使用投影、选择、联接等关系运算;了解数据库的实体完整性、域完整性、参照完整性;了解VFP系统的特点与工作方式、各种设计器和向导。21.1数据库基础知识1.信息及数据的处理2.数据管理技术的发展3.数据库系统的基本概念4.数据库系统的特点5.数据模型6.关系的术语7.关系的基本性质8.关系的运算9.关系的完整性约束31.信息及数据的处理(1)数据是指能被计算机识别和处理的物理符号,是信息具体化的表示形式,其形式多样化,如:文字、字母、数字、图形、图象、动画、声音等。数据的概念包括两个方面:描述事物特性的数据内容以及存储在媒体上的数据形式。例如“2007年7月1日”是一个数据,它可以表示为“2007-07-01”、“01/07/2007”等多种形式。1.1数据库基础知识41.信息及数据的处理(2)信息是客观事物的特征在人脑中的反映,是经过加工处理并对人类客观行为产生影响的数据表现形式。1.1数据库基础知识符号化信息数据加工处理信息≠数据5(3)数据处理是对原始数据进行各种加工处理,使之成为可利用的、有价值的信息。数据管理是数据处理的核心,它主要是指对数据进行分类、排序、编码、存储、检索和维护等操作。62.数据管理技术的发展数据管理技术经历了由低级向高级的发展过程。这一过程一般可以分为三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。71)人工管理:数据不保存,数据不具有独立性,数据面向程序,一组数据对应一组程序,无法被其他程序利用,存在大量的冗余数据。程序1程序2……程序n数据1数据2数据n……数据的人工管理示意图程序数据完全依赖8程序1程序2……程序n数据文件1……数据的文件管理示意图文件系统数据文件2数据文件n2)文件系统:数据可长期保存,由文件系统管理数据,但数据共享性差,冗余度大;程序与数据有了一定的独立性,但独立性差,容易产生不一致性。程序文件数据文件依赖为特定的需要而设计,为某一特定的程序而使用93)数据库系统:数据采用统一的结构存放,具有集成性、高度共享性、低冗余度、高度独立性,并能避免数据之间的不相容性和不一致性。应用程序P1应用程序P2应用程序P3数据库数据管理系统数据库管理示意图程序文件数据库独立多个用户可同时访问数据库中的数据10数据管理三个阶段的比较阶背景段特点人工管理阶段文件系统阶段数据库系统阶段应用背景科学计算科学计算、管理大规模管理硬件背景无直接存取存储设备磁盘、磁鼓大容量磁备盘软件背景没有操作系统有文件系统有数据库管理系统背景处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理数据的管理者用户(程序员)文件系统数据库管理系统数据面向的对象某一应用程序某一应用现实世界数据的共享程度无共享,冗余度极大共享性差,冗余度大共享性高,冗余度小数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化无结构记录内有结构,整体无结构整体结构化,用数据模型描述特点数据控制能力应用程序自己控制应用程序自己控制由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力11新兴阶段:数据仓库不同点处理技术面向的用户不同数据内容不同数据来源不同数据操作不同数据库系统分析处理日常数据的底层人员存储管理当前数据同种数据来源执行联机事务和查询处理(OLTP)数据仓库系统用数据进行决策支持的中高层人员存储长期积累的历史数据多个异种数据源提供数据分析和决策支持(OLAP)数据库系统和数据仓库系统的区别123、数据库系统的基本概念1)数据库DB(DataBase)是存储在计算机中结构化的相关数据的集合。它不仅包含描述事物的数据本身,而且包含数据之间的联系。在2)数据管理系统(DBMS)是建立、维护、使用和管理数据库的软件。常用的中小型数据库管理系统有SQLServer,dBase、FoxBase,FoxPro,VisualFoxPro,Access等。DBMS具有数据库描述(DDL)、操纵(DML)和控制(DCL)的功能。DB=数据本身+数据间的联系133)数据库系统(DBS)是指计算机系统引入数据库之后组成的系统,是用来组织和存取大量数据的管理系统。它由数据库、硬件系统、数据库管理系统及其相关软件、数据库管理员(DBA,DataBaseAdministrator)和其他用户五部分组成。数据库系统的核心是数据库管理系统。数据库(DB)DBS组成计算机系统数据库管理系统(DBMS)有关人员硬件基本软件数据库管理员应用设计人员最终用户数据库应用系统数据的数据库系统数据库管理系统操作系统硬件数据库基本概念1.数据库数据库(DB)是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括了文本、图像、音频、视频等。例如,把学校的学生、课程、学生成绩等数据有序地组织并存放在计算机内,就可以构成一个数据库。因此,数据库由一些持久的相互关联数据的集合组成,并以一定的组织形式存放在计算机的存储介质中。数据库与数据库管理系统数据库与数据库管理系统数据库管理系统数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。DBMS应提供如下8个功能:(1)数据定义功能可定义数据库中的数据对象。(2)数据操纵功能可对数据库表进行基本操作,如插入、删除、修改、查询。(3)数据的完整性检查功能保证用户输入的数据应满足相应的约束条件。(4)数据库的安全保护功能保证只有赋予权限的用户才能访问数据库中的数据。数据库与数据库管理系统(5)数据库的并发控制功能使多个应用程序可在同一时刻并发地访问数据库的数据。(6)数据库系统的故障恢复功能使数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。(7)在网络环境下访问数据库的功能。(8)方便、有效地存取数据库信息的接口和工具。编程人员通过程序开发工具与数据库的接口编写数据库应用程序。数据库管理员(DBA,DataBaseAdminitrator)通过提供的工具对数据库进行管理。数据库与数据库管理系统数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。图1.1描述了数据库系统的构成。图1.1数据库系统的构成181)数据结构化(即采用特定的数据模型)是数据库系统与文件系统的本质区别。2)数据共享性高、冗余度低、易扩充。3)具有较高的数据独立性。4)数据由DBMS统一管理和控制。4、数据库系统的特点194)数据库应用系统(DBAS)数据库应用系统是为特定应用开发的数据库应用软件。(是为了解决某个实际问题,开发人员利用DBMS编写的应用软件,例如教学管理软件、财务管理软件等。)数据库管理系统为数据的定义、存储、查询和修改提供支持,而数据库应用系统是对数据库中的数据进行处理和加工的软件,它面向特定应用。例如,基于数据库的各种管理软件:管理信息系统、决策支持系统和办公自动化等都属于数据库应用系统。20从客观事物到信息,再到数据,是人们对现实世界的认识和描述过程,需要经历现实世界、信息世界和数据世界(也称为机器世界、计算机世界)这三个世界的转换。5.数据模型现实世界数据世界信息世界物理模型数据模型概念模型抽象化数据化21概念模型:从客观事物到信息,把现实世界中的客观对象抽象为概念模型(也称信息模型),它是按用户的观点来对数据建模。数据模型:从信息到数据,把信息世界中的概念模型转换为数据世界中某一DBMS支持的数据模型,它是按计算机系统的观点对数据建模。22(1)信息模型1)实体:客观存在并可相互区别的事物,如:工人、王楠、学生、班级等2)实体集:同类型实体的集合称为实体集。例如一个班的全体学生就是一个实体集。3)属性:描述实体的特性。4)实体型:属性的集合表示一种实体的类型,称为实体型。5)联系:实体之间存在的对应关系,反映客观事物的相互关联。23实体-联系模型最常用的概念模型是实体-联系模型,常采用E-R图(Entity-Relation)建模,所以实体模型有时被简称为E-R模型。E-R模型图用矩形、椭圆和菱形分别表示实体、属性和联系。实体名属性名属性名实体名属性名属性名联系名24联系的3种类型一对一联系(1:1):学生与学号之间具有一对一联系。一对多联系(1:n):班级与学生之间具有一对多联系。多对多联系(m:n):课程与学生之间具有多对多联系。班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系ABABAB25(2)数据模型数据模型是在计算机世界中建立的模型,该模型由数据结构、数据操作和完整性约束三部分组成。典型的数据模型主要包括层次模型、网状模型、关系模型等。学号姓名性别出生日期专业200602143李栋男1985-3-12机电一体化200602157冯兰女1986-5-7机械设计自动化200602187秦海燕女1988-10-6工程管理200602189刘强男1987-7-5工程管理200602151张晓红女1986-9-30机械设计自动化261)层次模型:以属性结构为基础的数据结构,具有明显的上下层的关系,模型简单、直观、处理方便,但不能处理多对多联系的复杂模型。层次模型是用树型结构来表示数据之间的联系。总经理财务处长设备处长人事处处长职员职员职员职员职员职员职员272)网状模型:以网络结构为基础的数据结构,可以表示复杂的数据结构,但实现的算法比较难规范。网络模型是用网络结构来表示数据之间的联系,可以表示多对多的联系。283)关系模型:以二维表格为数据的表示方式,表格中同一行的为一条记录,同一列的为一个数据项或称字段,一个表格对应一个关系,多个关系组成一个关系模型。特点:(1)表格中的每一列都是不可再分的基本属性,即表中不能再包含表;(2)各列被指定一个相异的名字;(3)各行不允许重复;(4)行、列的次序无关。关系模型=数据结构+关系运算+完整性约束。29(1)关系:一张二维表,在VFP中一个关系就称为一个数据表。(2)元组:指表中一行上的所有数据,在VFP中一行称为一个记录。(3)属性:指表中的一列,在VFP中一列称为一个字段。(4)域:指表中属性的取值范围,在VFP中字段的取值称为一个字段的宽度。(5)关系模式:对关系的描述,一个关系模式对应一个关系的结构,其格式为:关系名(属性1,属性2,属性3,…,属性n)6.关系的术语一个关系模型由若干个关系模式组成。30(6)关键字或码(Key):表中用来唯一确定(标识)一个元组的某个属性或多个属性的组合。如学号可作为学生表的码、学号和课程号的组合可作为选课表的码。一个关系中的关键字必须唯一,关键字的值不能为空,即关键字的值为空的元组或重复的元组在关系中是不允许存在的。31关键字的种类①候选关键字(候选码)如果一个关系中存在多个属性或属性组合都能用来唯一标识该关系的元组,这些属性或属性组合都称为该关系的候选关键字或候选码。②主关键字(主码)在一个关系的若干个候选关键字中指定作为关键字的属性或属性组合称为该关系的主关键字或主码。③非主属性(非码属性)关系中不组成码的属性均为非主属性或非码属性。④外部关键字(外键)当关系中某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另外一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字或外键。主表与从表是指以外键相关联的两个表;以外键作为主键的表称为主表,外键所在的表称为从表。32姓名学号班级课程号成绩王楠210001体1100180李菊210002体2100188严森210011体1200191课程名课程号学时学分英语1001806计算机基础2001705专业基础30011008学生表课程表课程号是学生关系的外关键字,不是关键字,但是课程关系的关键字33术语的比较信息世界术语关系术语表术语实体集关系二维