大学计算机基础第7章数据库.ppt

上传人:牧羊曲112 文档编号:6563674 上传时间:2023-11-13 格式:PPT 页数:104 大小:2.83MB
返回 下载 相关 举报
大学计算机基础第7章数据库.ppt_第1页
第1页 / 共104页
大学计算机基础第7章数据库.ppt_第2页
第2页 / 共104页
大学计算机基础第7章数据库.ppt_第3页
第3页 / 共104页
大学计算机基础第7章数据库.ppt_第4页
第4页 / 共104页
大学计算机基础第7章数据库.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《大学计算机基础第7章数据库.ppt》由会员分享,可在线阅读,更多相关《大学计算机基础第7章数据库.ppt(104页珍藏版)》请在三一办公上搜索。

1、第 七 章 数据库设计基础,本章主要内容:7.1数据库系统的基本概念7.2数据模型7.3关系代数7.4数据库的设计与管理,7.1 数据库系统的基本概念,7.1.1数据和数据库7.1.2数据库管理系统7.1.3数据管理技术的发展7.1.4数据库系统7.1.5数据库系统的内部结构体系,数据,信息,客观实体存在方式或运动状态的描述。,对现实世界中客观事物的符号表示。可以是数值数据,也可以是非数值数据,如声音、图像等。数据有一定的结构,包含类型和数据值两个属性,有型(Type)和值(Value)的区分,7.1.1 数据和数据库,数据库(DataBase,DB),对数据库的定义:存储在磁鼓、磁盘和其它外

2、存介质上的数据集合;存在以这种数据为背景运行的若干个批应用程序,对其进行检索、修改、插入和删除,另外可能有一些联机用户从远程终端与数据库相互作用;数据库是集成的,即包含许多用户的数据,每个用户只享用其中的小部分,且不同用户使用的部分数据以多种方式重叠即单独的数据片能够被许多不同用户共享。,数据库的特点,数据按一定的数据模型组织、描述和存储可为各种用户共享冗余度较小数据独立性高易扩展,7.1.2 数据库管理系统(DBMS),DataBase Management System,DBMS负责对数据的存储、检索、修改以及安全保护等主要功能:(1)数据定义功能(2)数据库管理功能(3)数据库的建立和维

3、护功能(4)通信功能目前流行的数据库管理系统多为关系型数据库系统,如Oracle、Sybase、SQL Server、Access等。数据库管理员DBA(Database Administrator),数据库管理技术的发展,7.1.3 数据管理技术的发展,数据管理是数据处理的中心问题,是指对数据的分类、组织、编码、存储、检索和维护的技术。,一、人工管理阶段,硬件背景无大容量外存软件背景无操作系统应用背景科学计算数据管理特点:数据与程序不具有独立性。一组数据对应一组程序。数据不长期保存。系统中没有对数据进行管理的软件。由程序设计人员自负其责。,一、人工管理阶段,二、文件管理阶段,硬件背景出现大容

4、量外存软件背景出现了操作系统应用背景科学计算,数据处理数据管理特点 数据以文件形式存储,可长期存储在外存上程序和数据有一定的独立性数据冗余、程序与数据还是相互依赖、缺少数据控制手段,二、文件管理阶段,三、数据库系统阶段,硬件背景大容量磁盘软件背景有数据库管理系统应用背景大规模管理数据库管理的特点实现数据共享,减少数据冗余。采用特定的数据模型。具有较高的数据独立性。有统一的数据控制功能。,按照一定规则存储在一起的数据集合,对数据库进行管理及对数据库数据进行操作的管理系统,数据库的根本目标是解决数据的共享,物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,基于逻辑结构的应用程序不必修改,逻辑

5、独立性,当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改,数据的独立性,四、分布式数据库系统阶段,是数据库技术和网络技术相结合的产物数据管理特点:局部自主。每个节点有自己的数据库管理系统,可以独立的处理本地事务,节点之间可以互相访问。可靠性高。个别节点出现故障不会影响整个系统。灵活方便。数据处理可以分散到各个节点,缓解单个节点的压力。易于扩展。,7.1.4 数据库系统,数据库系统(DataBase System,DBS)数据库系统是指引入了数据库之后的计算机系统由数据库(数据)、数据库管理系统及相关软件、硬件系统、操作系统、数据库管理员和用户组成的

6、。数据库管理系统是数据库系统的核心。,利用数据库系统开发的解决实际应用问题的软件系统,7.1.5 数据库系统的体系结构,1、三级模式(1)模式(Schema,也称逻辑模式或概念模式)数据库中全体数据的逻辑结构描述,是所有用户的公共数据视图。一个数据库只有一个模式。,(2)外模式(也称为子模式或用户模式)用户能够看见和使用的局部数据的逻辑结构的描述,是数据和用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集。一个模式可以有多个外模式。一个应用程序只能使用一个外模式。,(3)内模式(也称存储模式)数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和

7、存储方式的描述。一个数据库只有一个内模式。,2、二级映像(1)外模式/模式映像外模式/模式映像描述数据库系统的每个局部逻辑结构与全局逻辑结构之间的联系。对于每个外模式,系统都要有一个外模式/模式映像定义这个外模式与模式之间的对应关系。当模式改变时,外模式/模式的映象要作相应的改变,以保证外模式保持不变。,(2)模式/内模式的映像 模式/内模式映像描述数据库系统的全局逻辑结构和物理结构之间的联系。模式/内模式映像是唯一的。当数据库的存储结构改变了,模式/内模式的映象也必须作相应的修改,使得模式保持不变。正是由于这二级映象功能,使得数据库系统中数据具有较高的逻辑独立性和物理独立性。,7.2 数据模

8、型,7.2.1数据模型的基本概念7.2.2E-R模型7.2.3层次模型7.2.4网状模型7.2.5关系模型,数据模型的基本概念,客观世界的事物转化成计算机中的数据分为两个阶段:,现实世界,信息世界,计算机世界,信息世界,实体(entity):客观存在并且可以相互区别的东西称为实体。实体可以是可触及的对象,例如一个男学生,一辆汽车等。也可以是抽象的事件,如一次足球比赛,一次借书等。实体集(entity set):性质相同的同类实体的集合,称为实体集。例如所有的男学生,全国足球锦标赛的所有比赛等。,属性(attributes):实体有很多特性,每一个特性称为属性。每个属性有一个值域,值域的类型可以

9、是整数型、实数型或字符串型等。例如学生有姓名、年龄、性别等属性,相应值域的类型分别是字符串、整数和字符串型。码(key):能唯一标识实体集中每个实体的属性或属性集称为实体的码,也称标识符。例如学生的姓名(不允许重名)可以作为学生实体的码。,机器世界,字段(field):标识实体属性的符号集称为字段,或数据项。它是可以命名的最小信息单位。例如学生有学号、姓名、年龄、性别等字段。记录(record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又称为能完整地描述一个实体的符号集。例如一个学生的记录,由有序字段集组成:(学号、姓名、年龄、性别)。,文件(file):同一类记录的汇集称

10、为文件。文件是描述实体集的,所以它又可定义为描述一个实体集的所有符号集。例如所有的学生记录组成了一个学生文件。关键字(key):能唯一标识文件中每个记录的字段或字段集称为文件的关键字,也称码。,机器世界和信息世界的术语对应关系,数据模型分类,概念数据模型(独立于计算机系统,只是用来描述信息结构)实体联系模型结构数据模型关系模型网状模型层次模型面向对象模型,客观世界的事物转化成计算机中的数据分为两个阶段:把现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。,数据模型三要素,1数据结构:数据结构用于描述系统的静态特性。是所研究的对象类型(object type)的集合

11、。2数据操作:用于描述系统的动态特性。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。3.数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则。,7.2.2 E-R模型(实体-联系模型),实体:客观存在并且能够相互区分的事物。如商品、库存、职员等属性:实体某一方面特性的描述。如商品的属性:编号、名称、生产日期、生产厂商职员的属性:姓名、年龄、性别、电话等属性值:属性具体的值。如某个职员的姓名属性的值是“张丽”,性别是“女”属性值的域:属性值的取值范围。性别属性值的域是“男”,“女”,实体型:一个实体就是一些具体属性值的集合,而属性的集

12、合则描述了某类实体的共同特征,称为实体型如:教师(教师编号,教师姓名,性别,出生年份,工作年限,工资)就是一个实体型实体集:同类型实体的集合。如一个公司的所有职员就是一个实体集联系:在现实世界中事物间的联系称为联系,实体间的联系,(1)一对一联系 如果对于实体集A中的每个实体,实体集B 中至多有一个(可以没有)与之相对应,反之亦然,则称实体集A与实体集B具有一对一联系,记作:1:1。例如:学院的集合和院长的集合(2)一对多联系 如果对于实体集A中的每个实体,实体集B中有n个实体(n0)与之相对应,反过来,实体集B中的每个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多

13、联系。记作:1:n。例如:学院的集合和班级的集合(3)多对多联系 如果对于实体集A中的每个实体,实体集B中有n个实体(n0)与之相对应,反过来,实体集B中的每个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记作:m:n 例如:学生的集合和学生社团的集合,实体集1,联系名,实体集2,1,1,1:1联系,实体集1,联系名,实体集2,m,n,m:n联系,实体集1,联系名,实体集2,1,n,1:n联系,实体间的联系,E-R图的画法,实体:用矩形表示实体,矩形内写上实体名字。属性:用椭圆形表示属性,椭圆形内写上属性的名称。为简化起见,通常可以省略实体的属性。联系:用

14、菱形表示联系,菱形内写上联系名。实体与属性之间的联接关系:用无向线段连接实体及其属性。联系也有属性,也可以用无向线段表示实体与联系间的联接关系:用无向线段表示。,E-R图示例,以教学情况为例来建立概念模型:其中涉及的对象(实体型)有学生、教师、课程,实体间的联系包括选课、授课联系。学校开设若干门课程,每位教师可以教授任意门课程,每门课程只有一位老师授课,每个学生可以选修任意门课程,每门课程可由任意名学生选修。,学校教学情况E-R图,7.2.3 层次模型,用树状结构表示实体及实体间的联系。方框代表实体,连线代表联系,层次模型,层次模型特点:(1)有且仅有一个结点无父结点,该结点称为根;(2)根以

15、外的其他节点有且只有一个双亲节点。(3)所有结点都可以有若干个子结点层次模型表示1:n联系非常简便,这是它的突出优点,但是它不能直接表示m:n的联系。,用网状结构表示实体及实体间的联系。,网状模型有如下几个特点:(1)可以有一个或多个结点没有父亲结点。(2)至少有一个结点有多个父亲结点。能表示多对多联系,网状模型,元组,属性,7.2.5 关系模型(重点),1、关系模型的数据结构是用二维表来表示实体本身及其相互之间的联系一个二维表称作一个关系,由行与列构成。元组:表中的一行(一条记录)属性:表中的一列(字段、数据项),关系模式关系的属性名表 R(A1,A2,An)举例:学生课程(学号,姓名,所在

16、学院,院地址,课程号,课程名,学习成绩),在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)实体间的联系也是用关系来表示的,如:选课关系(学号,课程号,成绩)通常,一对一联系和一对多联系隐含在实体对应的关系中,可以不必再用关系表示。,关系具有以下六条性质:(1)属性的不可分割性(2)属性名的不可重复性(3)属性的次序无关性(4)元组的个数有限性(5)元组的不可重复性(6)元组的次序无关性,不是一个关系,2、关系操作,关系操作采用集合操作,即操作的对象和结果都是集合。关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增

17、、删、改操作两大部分。查询的表达能力是其中最主要的部分。详细参阅关系代数部分。,3、关系中的数据约束,(1)实体完整性基本关系的主属性不能取空值 一个基本关系通常对应现实世界的一个实体集。例如,学生关系对应于学生的集合。现实世界中实体是可以区分的,即它们具有某种唯一性标识。关系模型中由主码作为唯一性标识。主码不能取空值。因为主码取空值说明存在某个不可标识的实体。,(2)参照完整性若基本关系R中含有与另一基本关系S的主码Ks相对应的属性组F(F称为R的外部码),则对于R中每个元组F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。关系S的主码Ks和F定义在同一个(

18、或一组)域上,主关键字,外部关键字,示例:参照完整性,部门关系(部门号,部门名称),主码是部门号职工关系(职工号,姓名,部门号),主码是职工号,部门号是它的外部码。在职工关系中职工关系中每个元组的部门号取值允许有两种可能:取空值。这说明这个职工尚未分配到某个部门;若取非空值,则部门号的值必须是部门关系中某个元组中的部门号值,表示此职工不可能分配到一个不存在的部门中,即参照的部门关系中一定存在一个元组,它的主码值等于职工关系中的外部码值。,(3)用户定义的完整性用户定义的完整性则是针对某一数据库的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求,例:课程(课程号,课程名

19、,学分)“课程名”属性必须取唯一值,不能为空非主属性“课程名”也不能取空值“学分”属性只能取值1,2,3,4,实体完整性,用户定义完整性,关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的:小型数据库系统Foxpro、Access大型数据库系统Oracle、Informix、Sybase、SQL Server,、DB2等都是关系数据库系统。,7.3 关系代数,7.3.1 传统的集合运算7.3.2 专门的关系运算7.3.3 关系数据库规范化理论,传统的集合运算(数学集合论),每个关系可以看作是若干元组(行)的集合。设R和S均为n目关系。1、交(intersection)运算 将两个关系

20、中的公共元组构成新的关系。关系R与S的交记作:RS=t|tRtS 其结果仍为n目关系,由既属于R又属于S的元组组成。,RS,n目指属性的个数(即列)的个数为n,属性域相同,R,S,R S,2、并(union)是将两个关系中的所有元组构成新的关系,并且运算的结果中必须消除重复值。关系R和S的并记作:RS=t|tRtS 其结果仍为n目关系,由属于R或属于S的元组组成。,R,S,RS,R,S,R-S,4、广义笛卡儿积(Extended Cartesian Product),R:n目关系,k1个元组S:m目关系,k2个元组RS 列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的

21、一个元组行:k1k2个元组,R,S,R S,专门的关系运算,1、选择运算在指定的关系中选取所有满足给定条件的元组,构成一个新的关系。这个新的关系是原关系的一个子集。记作:Rg=r|r R g(r)为真 或g(R)=r|r R g(r)为真 R是关系名g为一个逻辑表达式,由逻辑运算符或and(与)、或or(或)、或not(非)连接各算术比较表达式组成为选择运算符,关系 Student,例1:Sdept=IS(Student)在关系Student中,查询所在系为IS的所有学生,例2 查询年龄小于20岁的学生 Sage 20(Student)或 4 20(Student)结果:,A5(R),A5 C

22、=7(R),R,例3,选择运算是从行的角度进行的运算,2、投影运算(Projection),投影运算是从给定的关系中保留指定的属性子集而删去其余属性的操作。设定某关系 R(X),X是R的属性集,A是X的一个子集,则R在A上的投影可表示成:A(R)tA|tR 其中tA表示只取元组 t中相应A属性中的分量。,例:设有学生关系Student,Student,例 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影,即:Sname,Sdept(Student),投影操作主要是从列的角度进行运算,联接运算是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,可记作:其中A是关系

23、R中的属性组,B是关系S中的属性组,它们的属性可比较,为算术比较运算符(即,=,)。,3、联接运算(Join),为“”的连接运算称为等值连接:,关系运算等值连接运算,自然连接是一种特殊的等值连接。要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。,关系运算自然连接运算,图书借阅系统三张表:book、student、borrow,查询借阅了书号为ISDN100的学生的姓名和班级查询借阅了书名为计算机应用基础的学生信息,关系数据库的规范化理论,一、问题:关系数据库是由若干个相关的表组织存储数据的。当数据库中需要存储大量相关数据的时候,各个关系表中可能产生字段和数据的重

24、复,数据冗余大,数据的更新不一致等。如果一个关系模式设计得不好,将会产生数据冗余、异常、不一致等问题。数据重复存放造成空间浪费称为“数据冗余”。数据冗余将对系统的性能产生重大影响。,关系模式的冗余和异常问题,例:设有一个关系模式R(教师名称,地址,课程号,课程名称),想一想,这个模式在使用过程中会出现哪些问题?,数据冗余。如果一个教师教几门课程,那么这个教师的地址就要重复几次存储。操作异常。由于数据的冗余,在对数据操作时会引起各种异常:修改异常。如教师t1教三门课程,在关系中就会有三个元组。如果他的地址变了,这三个元组中的地址都要改变。若有一个元组中的地址未更改,就会造成这个教师的地址不惟一,

25、产生不一致现象。插入异常。如果一个教师刚调来,尚未分派教学任务,那么要将教师的姓名和地址存储到关系中去时,在属性课程号和课程名称上就没有值(空值)。删除异常。如果要取消教师t3的教学任务,那么就要把这个教师的元组删去,同时也把t3的地址信息从表中删去了。,解决方法:把关系模式 R分解为以下两个关系模式:,“分解”是解决冗余的主要方法,也是规范化的一条原则。,冗余和异常是否还存在?,规范化的基本思想,逐步消除不合理的数据依赖,使模式中的个关系模式达到某种程度的“分离”。,二、函数依赖,1、函数依赖2、完全函数依赖3、传递依赖,三、关系范式,1、第一范式(1NF)对于给定的关系R,如果R中每个属性

26、都是不可再分的,则称关系R属于第一范式,记作:R1NF。例:将下表规范成lNF。,2、第二范式(2NF)若R1NF,且每一个非主属性完全依赖主属性(主关键字),则为第二范式,记作R2NF。,学生表,学生表,成绩表,3、第三范式(3NF)若R2NF,且每一个非主属性既不部分依赖于主关键字,也不传递依赖于主关键字,则称R为第三范式,记作R3NF,藏书信息表,藏书信息表,类别名,第一范式,第二范式,第三范式,约束渐强,关系数据库的规范化理论,7.4 数据库设计,7.4.1数据库设计概述7.4.2数据库设计的需求分析7.4.3数据库概念设计7.4.4数据库的逻辑设计7.4.5数据库的物理设计7.4.6

27、数据库管理,7.4.1数据库设计概述,1、概念:数据库设计是指面对一个具体的问题,在给定的硬件环境和操作系统的环境下,使用数据库管理系统建立数据库及其应用系统,有效存储和管理数据满足用户需求的过程。结构设计:设计数据库框架或数据库结构行为设计:设计应用程序、事务处理等,2、数据库设计的六个阶段,需求分析 概念结构设计 逻辑结构设计物理结构设计数据库实施数据库运行与维护,需求分析,设计的基础,是可行性分析的主要工作目的了解用户需求,对现实世界中的处理对象进行调查、分析,制定出数据库设计的具体目标调查内容包括了解组织机构了解具体业务现状了解外部要求了解长远规划中的应用范围和要求,需求分析,需求分析

28、常采用的方法有结构化分析和面向对象的方法。需求分析阶段的成果应形成文档资料,编制“需求说明书”,主要包括:各项业务的数据流图DFD及有关说明。对各类数据描述的集合,即数据字典(DataDictionary)DD。,数据字典是各类数据描述的集合,通常包括5个部分:数据项数据结构数据流数据存储处理过程,概念结构设计,概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。描述概念结构的工具是ER图。概念结构设计又可分为局部视图设计和视图集成两个步骤。概念结构设计的成果应形成文档资料,如整个组织的综合ER图及有关说明。,逻辑结构设计,1、主要任务:将前一阶段获得的概念模型转换成某个特定数据库管理系统支持的数据模型。2、从概念模型向关系数据模型转换的步骤:将一个实体型转化为一个关系模式将一个实体间的联系转化为一个关系模式,物理结构设计,任务:利用具体数据库管理系统提供的技术方法,将上一阶段得到的逻辑结构进行合理的存储。结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。评价的方法:定量估算各种方案的存取时间、存储空间和维护代价三个方面。,数据库实施,指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。,Thank you,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号