第五部分数据库概论

上传人:桔**** 文档编号:568598673 上传时间:2024-07-25 格式:PPT 页数:110 大小:879.01KB
返回 下载 相关 举报
第五部分数据库概论_第1页
第1页 / 共110页
第五部分数据库概论_第2页
第2页 / 共110页
第五部分数据库概论_第3页
第3页 / 共110页
第五部分数据库概论_第4页
第4页 / 共110页
第五部分数据库概论_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《第五部分数据库概论》由会员分享,可在线阅读,更多相关《第五部分数据库概论(110页珍藏版)》请在金锄头文库上搜索。

1、第五部分 数据库概论本部分主要介绍如下知识:n数据库系统的基本知识n对数据模型进行阐述,特别是其中的E-R模型和关系模型n着重介绍关系型数据库及其设计理论n数据库的设计过程n简单介绍面向对象数据库系统6.1 6.1 数据库系统的基础知识数据库系统的基础知识n6.1.1 数据库系统的产生与发展n6.1.2 数据库的基本术语n6.1.3 数据库系统结构体系6.1.16.1.1数据库系统的产生与发展数据库系统的产生与发展n数据管理技术经历以下三个阶段:n人工管理阶段(50年代中期以前);n文件系统阶段(50年代后期到60年代中期);n数据库系统阶段(60年代后期以来)。 1.人工管理阶段当时外存没有

2、磁盘等直接存取的存储设备;软件没有操作系统,数据的处理是批处理。n人工管理数据具有如下特点: 1)数据不保存。 2)数据需要由应用程序自己管理,没有相应的软件来处理数据。 3)数据不共享。 4)数据不具有独立性。 2.文件系统阶段n50年代后期到60年代中期,在操作系统中有专门的数据管理软件,一般称为文件系统。文件系统是数据库系统发展的初级阶段。n用文件系统管理数据具有如下特点: 1)数据可长期保存。2)简单的数据管理功能 3)数据共享性差。 4)数据的独立性差。 3.数据库系统阶段n60年代末期,人们对文件系统进行了扩充,研制了一种结构化的数据组织和处理方式,才出现了真正的数据库系统。n数据

3、库系统的基本特点如下: 1)数据的集成性。 2)数据的高度共享性与低冗余性。 3)数据独立性高。数据的独立性包括:6.1.2 6.1.2 数据库的基本术语数据库的基本术语1. 数据(Data)定义:数据是描述事物的符号记录。n数据的表现形式不仅是数字,还包括字符(文字和符号)、图表(图形、图像和表格)及声音、语言等 。n信息是从原始数据中经过筛选、提炼等加工后,产生的对决策有影响的数据。 2. 数据库(Database)定义:数据库(DB)是长期储存在计算机内的、有组织的、可共享的数据的集合。n数 据 库 有 以 下 特 点 : 1)数 据 结 构 化 。 2)实现数据共享。 3)减少数据的冗

4、余。 4)数据独立。 3.数据库管理系统(Databbase Management System简称DBMS)定义:数据库管理系统是位于用户和操作系统(OS)之间的一层数据管理软件,负责数据库中数据组织、数据操纵、数据维护、数据控制及保护和数据接口等。 4.数据库系统(Database System简称DBS)定义:数据库系统一般由数据库、数据库管理系统(及其开发软件)、系统平台、应用系统和人员构成。n数据库系统在整个计算机系统中的地位如下图所示。 DBOSDBMS应用程序应用程序6.1.3 6.1.3 数据库系统结构体系数据库系统结构体系n数据库系统的结构可以有多种不同的层次。n从数据库管理

5、系统角度看,数据库系统通常采用三级模式结构,这是数据库系统的内部系统结构。n从数据库最终用户角度看,数据库系统分为单用户数据库系统、主从式数据库系统、分布式数据库系统和客户/服务器数据库系统。1. 数据库系统的模式结构n模式是数据库中全体数据的逻辑结构和特征的描述。n数据库系统在其内部具有三级模式和二级映像。三级模式分别为外模式、模式与内模式;二级映像则是外模式/模式映像和模式/内模式映像。n三级模式与二级映像构成数据库系统的内部的抽象结构体系,如下图所示。应应 用用 程程序序A应应 用用 程程序序B应应 用用 程程序序n外模式外模式1外模式外模式n模式模式(概念数据库概念数据库)内模式内模式

6、(物理数据库物理数据库)数据库数据库外外 模模 式式 /模模式映像式映像模模 式式 /内内 模模式映像式映像n外模式也称子模式或用户模式,还称为用户级模式。它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。n模式也称逻辑模式,还称概念模式。是数据库中全体数据的逻辑结构和特征的描述。n内模式也称存储模式,还称物理模式。它是数据物理结构和存储方式的描述。2. 数据库系统的体系结构(1)单用户数据库系统。n DBDB(2)主从式数据库系统。 DB主机主机(3)分布式数据库系统。 主主机机DBDBDB主主机机主主机机网网络络(4)客户/服务器数据库系统。 客户机客户

7、机客户机客户机客户机客户机客户机客户机服务器服务器6.2 6.2 数据模型数据模型n6.2.1 数据模型的基本概念n6.2.2 概念模型n6.2.3 数据模型6.2.1 6.2.1 数据模型的基本概念数据模型的基本概念n数据模型根据不同的应用层次划分为三种类型:1、概念模型:也称信息模型。它是按用户观点来对数据和信息建模,主要用于数据库设计。它与具体数据库管理系统无关,与具体的计算机平台无关。目前,较为流行的概念模型有E-R模型、扩充的E-R模型、面向对象模型等。2、逻辑模型:又称数据模型。它是按计算机系统观点对数据建模,主要用于DBMS的实现。目前数据模式有很多种,包括层次模型、网状模型和关

8、系模型、面向对象模型等。3、物理模型:它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上的物理结构的表示。n数据模型的三要素:1、数据结构。数据结构用来描述系统的静态特征。它主要描述数据的类型、内容性质以及数据间的联系等。 2、数据操作。数据操作用于描述系统的动态特征。它主要描述在相应数据结构上的操作类型与操作方式。数据库主要有检索和更新(包括插入、删除和修改)两类操作。3、数据约束条件。 数据约束条件是一组完整型规则的集合,它描述了数据及其联系应具有的制约和依赖规则。6.2.2 6.2.2 概念模型概念模型 n概念模型是现实世界到机器世界的一个中间层次。 n概念模型的表示方法很

9、多,其中最常用的是实体联系模型,简称为E-R模型。该模型将现实世界中需要的信息,以及它们之间的基本联接关系转化成图,比较直观地反映了现实世界。1. 概念模型涉及的基本概念(1)实体:客观存在的并可相互区别的事物称为实体。可以是具体的人、事、物,比如小赵、信息学院、教材等;也可以是抽象的概念或联系,比如领导与职工的领导关系。实体是概念世界中的基本单位。(2)属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。如学生实体可以由学号、姓名、性别等属性组成。(3)联系:现实世界中的事物间的关联称为联系。如教师与学生的授课关系等。这些联系反映为实体内部的联系和实体之间的联系。两个实体集间

10、的联系可以分为以下几种:n一对一联系(1 :1):对于实体集A中的每一个实体,实体集B中有且只能有一个实体与之联系,反之亦然。如学校与校长之间的联系 。n一对多联系(1 :n)或多对一联系(n :1):对于实体集A中的每一个实体,实体集B中有n (n1)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中有且只能有一个实体与之联系。如一个学院由多个班级。 n多对多联系(m :n): 这是一种复杂的联系,对于实体集A中的每一个实体,实体集B中有n (n1)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中有n (n1)实体与之联系。如一门课同时有若干个学生选修,而一个学生可以同

11、时选修多门课。2. 概念模型基本概念之间的关系(1)实体集(联系)与属性间的关系。n一个实体可以有若干个属性,实体以及它的所有属性构成了实体的一个完整描述,因此实体与属性间有一定的联系。如在学生基本情况信息表中每一个人(实体)可以有:编号、姓名、性别、系别、年龄、籍贯、政治面貌等属性,它们组成了一个有关学生实体的完整描述。 n联系也可以附有属性,联系和它的所有的属性构成了联系的一个完整描述,因此,联系与属性间也有联接关系。(2)实体集与联系。n实体集间可通过联系建立联接关系。n概念模型中的基本关系的结构如下图所示。学学生生信信息息表表关关系系关系名关系名主码主码(男男,女女)信息信息,材料材料

12、北北京京,上上海海团团 员员 ,党党员员域域属性属性(列列)元元组组行行属性名属性名3. 概念模型的表示方法 (1)实体集的表示方法:在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字。(2)属性的表示方法:在E-R图中用椭圆表示属性,在椭圆内写上该属性的名称。并用无向边将其与相应的实体连接起来。(3)联系的表示方法:在E-R图中用菱形表示联系,菱形框内写明联系名,并用无向边分别与有关的实体连接起来,同时在无向边旁标上联系的类型,如1 :1,1 :n,n :m等。如下图所示。班级班级领导领导班长班长11(a)两个实体集间的两个实体集间的1:1联系联系班级班级组成组成学生学生1n(b)两个

13、实体集间的两个实体集间的1:n联系联系 联系本身也是一种实体型,也有属性,如果一个联系具有属性,则将这些属性用无向边与该联系连接起来。课程课程选修选修学生学生nm(c)两个实体集间的两个实体集间的n: m联系联系n例例6.1 6.1 有三个实体集及它们的属性,它们分别是:学生(Student):学号(Xh)、姓名(Xm)、性别(Xb)、年龄(Nl)班级(Class):班号(Bh)、专业(Zy)课程(Course):课程号(Kh)、课程名(Km)、学分(Xf)n由这三个实体集构成的概念模型,可用E-R图来表示,如图所示。 ClassStudentCourseXh组成组成选修选修KmXfXhXmX

14、bNlBh成绩成绩学生学生1nnmZy6.2.3 6.2.3 数据模型数据模型 n在数据库领域中最常用的数据模型有层次模型、网状模型、关系模型三种模型。1. 层次模型n层次模型是最早发展起来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织结构等。院院 系系学学 校校研究所研究所机机 关关教研室教研室班班 级级科研室科研室科室科室教师教师学生学生科研人员科研人员工作人员工作人员领导领导领导领导领导领导领导领导领导领导领导领导领导领导组成组成组成组成组成组成组成组成2.网状模型n网状模型是一种更具有普遍性的结构,从图论的角度讲,网状模型是一个不加任何条件限

15、制的无向图。网状模型是以记录为结点的网状结构,它满足以下条件:(1)可以有任意个结点无双亲。(2)允许结点有一个以上的双亲。(3)允许两个结点之间有一种或两种以上的联系。n网状模型的示例如下图所示。 工厂工厂市场部市场部生产部生产部产品产品管理管理管理管理推销推销生产生产3. 关系模型n目前,关系模型是数据库领域中目前最重要的一种数据模型。关系模型的本质是一张二维表,关系模型中,一张二维表就称为一个关系。 (1)关系模型的数据结构。关系模型采用二维表来表示,简称表。如下表是一张学生登记表,它由行(元组)和列(属性)组成。 学号学号姓名姓名性别性别年龄年龄系号系号年级年级950104950104

16、王小明王小明女女191901019595950206950206黄大鹏黄大鹏男男202002029595950508950508张文斌张文斌女女181805059595n关系二维表一般具有下面几个性质: 1) 元组个数有限性。2) 元组的唯一性。 3)元组次序的无关性。4)元组分量的原子性5)属性名的唯一性。6)属性的次序无关性。7) 分量值域的同一性。n需要注意的是:关系必须满足一定的规范条件,其中最基本的一条是:关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表。n外键:二维表中某个属性或属性组合虽不是该表的关键字或只是关键字的一部分,但却是另外一个表的关键字时,称该属性或属性组

17、合为这个表的外部关键字或外键。(2)关系模型的操作。一般有以下四种操作:1) 数据查询。数据查询是数据库的核心操作。它包括单表查询和多表查询。n单表查询:是指仅在一个数据库表进行的查询。n多表查询:是指同时涉及两个以上的表的查询。首先将相关的关系合并成一个关系,再对合并后的关系作横向或纵向的定位。确定要查询的数据,之后进行操作。2) 数据插入。数据插入仅对一个关系而言,在指定的关系中插入一个或多个元组。3) 数据删除。数据删除的基本单位是一个表中元组,它将满足条件元组从表中删除。4) 数据修改。数据修改又称更新操作。它可以分解为删除和插入两个基本操作。n以上四种操作的对象都是关系(表),而操作

18、的结果也是关系(表)。(3)关系模型的约束条件。关系模型定义三种数据约束条件: 1) 实体完整性约束条件。实体完整性约束要求关系中主码的任何属性都不能为空。这是数据库完整性的最基本的要求,因为主码唯一标识元组,如为空则不能为主码。2) 参照完整性约束条件。参照完整性约束是对关系间引用数据的一种限制。即在关系中的外键要么是所关联关系中的实际存在的元组,要么就为空值。比如在下面关系中:职工关系(职工编号,姓名,性别,部门编号)部门关系(部门编号,部门名称,部门经理) 职工编号是职工关系的主码,而外码为部门编号,职工关系与部门关系通过部门编号关联,参照完整性要求职工关系中的部门编号的值在部门关系中必

19、有相应元组。3) 用户定义的完整性约束条件。用户定义的完整性约束条件是某一具体数据库的约束条件,是用户自己定义的某一具体数据必须满足的语义要求。n其中前两者约束条件由关系数据库系统自动支持。对后者,则由关系数据库系统提供完整性约束语言,用户利用该语言定义出约束条件。 6.3 6.3 关系数据库关系数据库n6.3.1 关系模型的特点n6.3.2 关系代数n6.3.3 结构化查询语言SQL6.3.1 6.3.1 关系模型的特点关系模型的特点1. 单一的数据结构关系n关系模型的数据结构是单一的。现实世界的实体以及实体之间的各种联系均用关系来表示,从用户角度来看,关系模型中数据的逻辑结构是一张二维表。

20、2. 关系操作n关系操作采用集合操作方式。即操作对象和结果都是集合。其中查询是最基本的操作。3. 关系的三类完整性规则n关系模型的完整性规则是对数据的约束。关系模型提供了三类完整性规则:实体完整性规则、参照完整性规则和用户自定义完整性规则。6.3.2 6.3.2 关系代数关系代数n关系模型中的关系操作通常用关系代数和关系演算来表示的。关系代数是一种抽象的查询语言,它是用对关系的运算来表达查询的。关系演算是用谓词来表达查询要求的方式。二者是等价的。在这里我们着重介绍关系代数。1. 关系代数的相关概念(1)笛卡尔积:令A和B是任意两个集合,若有序对的第一个成员是A的元素,第二个成员是B的元素,所有

21、这样的有序对的集合,称为集合A和B的笛卡尔积或直积。记作AB。 AB=|(xA)(yB)n笛卡尔积可表示为一个二维表,表中的每一行对应一个元组,表中的每一列对应一个域(同一属性的集合)。n我们看一个例子: 例如:A=a,b, B=0,1,2则: AB=a,0,a,1, a,2, b,0, b,1, b,2 BA=0,a,0,b, 1,a, 1,b, 2,a, 2,b(2)关系:令A和B是任意两个集合,笛卡尔积AB的子集R称作A到B的关系。简单的说:关系是笛卡尔积的子集。2. 传统的集合运算(1)并:设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义

22、如下: RS = t | tR tS , t是元组变量,R和S都有n个属性。n并运算可以实现插入若干元组的操作。如对关系R插入R,则可用并运算表示为:RR。(2)差:设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下: RS = t | tR tS , R和S都有n个属性。n差运算可实现删除操作。如对关系R删除R,则可用差运算表示为:RR。n对关系的修改可分两步进行,先做删除操作,再做插入操作,即先做差运算再做并运算。(3)交:设关系R和S具有相同的关系模式,关系R和S的交是由既属于R又属于S的元组构成的集合,记为RS,这里要求R和S定义在相

23、同的关系模式上。形式定义如下: RS = ttR tS, R和S都有n个属性。(4)广义笛卡尔积:设关系R和S的元数分别为r和s,则R和S的笛卡尔积是一个(r+s)元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为:RS。形式定义如下: RS = t | t= tr R ts S 下面举例说明上述的四种传统集合运算。n例R R 关系关系R R1 1R R2 2R R3 31 12 23 32 25 57 7S S关系关系R R1 1R R2 2R R3 34 42 23 31 12 23 3R RS (RS (R和和S S 的并的并) )R R1 1R R2

24、2R R3 31 12 23 32 25 57 74 42 23 3RS (RRS (R和和S S 的交的交) )R R1 1R R2 2R R3 31 12 23 3R RS (RS (R和和S S 的差的差) )R R1 1R R2 2R R3 32 25 57 7R RS(RS(R和和S S的广义笛卡尔积的广义笛卡尔积) )R R1 1R R2 2R R3 3R R1 1R R2 2R R3 31 12 23 34 42 23 31 12 23 31 12 23 32 25 57 74 42 23 32 25 57 71 12 23 33. 专门的关系运算专门的关系运算包括选择、投影、连

25、接、除。(1)选择:选择运算是根据某些条件对关系做水平分割,即选取符合条件的元组。形式定义如下: F(R) t | tR F(t)= true 其中为选择运算符,F(R)表示从R中挑选满足公式F为真的元组所构成的关系。这是从行的角度进行的运算。n例如, 23 (R)表示从R中挑选第2个分量值大于3的元组所构成的关系。(2)投影:投影运算是从关系内选择出若干属性列组成新的关系。形式定义如下: A(R) t A| tR 其中A为R的属性列。投影操作是从列的角度进行的运算。n投影之后不仅取消了原关系中的某些列,而且取消完全相同的元组。n例如, 3,1 (R)表示关系R中取第1、3列,组成新的关系,新

26、关系中第1列为R的第3列,新关系的第2列为R的第1列。(3)连接:连接也称为联接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组组成新的关系。关系R和S的连接运算形式定义如下:R S tt = trR tsS AB trA tsB n连接运算中有两种最为常用的连接:1) 等值连接:将连接中的换成“=”,功能是从关系R和S的笛卡尔积中选取A,B属性值相等的那些元组。它的形式定义为: R S tt = trR tsS A=B trA tsB 2) 自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中将重复的属性去掉。它的形式定义为: R S tt

27、 = trR tsS trBtsB n连接运算一般是从行的角度进行的操作,但自然连接是同时从行和列的角度进行的操作。我们举例说明连接运算:R R关系关系A AB BC CD Da1a1b1b1c1c14 4a2a2b2b2c2c27 7a2a2b3b3c1c15 5a1a1b4b4c2c21 1S S关系关系B BE Eb1b12 2b2b26 6b2b28 8b3b31111选择连接选择连接A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1c14 4b1b12 2a2a2b2b2c2c27 7b1b12 2a2a2b2b2c2c27 7b2b26 6a1a1b3b3c1c1

28、5 5b2b22 2R S DE 自然连接自然连接R R S SA AB BC CD DE Ea1a1b1b1c1c14 42 2a2a2b2b2c2c27 76 6a2a2b2b2c2c27 78 8a2a2b3b3c1c15 51111A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1c14 4b1b12 2a2a2b2b2c2c27 7b2b26 6a2a2b2b2c2c27 7b2b28 8a2a2b3b3c1c15 5b3b31111等值连接等值连接 R SR.B=S.B n根据上述的关系运算完成下面例题学生选课数据库的关系模式为:Student(Sno,Sname

29、,Sdept,Sage);Course(Cno,Cname,Pno);SC(Sno,Cno,Grade)。其中Sno,Sname,Sdept,Sage表示学号、学生姓名、学生系别、学生年龄;Cno,Cname,Pno表示课程号、课程名、预修课程号;Grade表示成绩。写出对关系模型Student、Course、SC中的下述查询表达式:(1)检索学生年龄小于19的学生的姓名。 Sname(Sage85 (Student SC) 6.3.3 6.3.3 结构化查询语言结构化查询语言SQLSQLnSQL:是Structured Query Language的缩写,是一种结构化查询语言。是1974年由

30、Boyce和Chamberlin提出来的。n由于SQL使用方便、功能丰富、语言简单易学,现已成为关系数据库领域中的一个主流语言。1. SQL数据库结构nSQL数据库的结构如图所示。SQL用户用户SQL用户用户视图视图1视图视图2基本表基本表1基本表基本表2基本表基本表3基本表基本表4存储文件存储文件1存储文件存储文件1存储文件存储文件1n它基本上是三级结构,它支持关系数据库三级模式结构,但在SQL数据库中,模式被称为基本表,内模式称为存储文件,外模式称为视图或部分基本表,元组称为行,属性称为列。2. 结构化查询语言SQL的组成nSQL语言包括数据定义、数据查询、数据操纵、数据控制4个方面。n数

31、据定义包括定义基本表、定义视图、定义索引3部分。n数据查询是建立数据库的主要目的,SQL语言提供了SELECT语句进行查询。n数据操纵包括数据检索和更新两部分功能。n数据控制是指控制用户对数据的存储权力。3. SQL数据库的查询n数据库的查询的基本格式为:SELECTALL/DISTINCTFROM WHEREGROUP BYORDER BY ASC/DESC;在语句中,凡是在中的项是不可缺的, 中的项可根据需要省略。n整个查询语句的含义是: 根据WHERE子句中的条件,从FROM子句指定的表中找出满足条件的元组,再按SELECT子句中的目标列或目标列表达式选出元组中的属性值形成结果表。如果有

32、GROUP子句,则按列名1的值进行分组。如果有ORDER子句,则在结果表中按照列名2的值进行升序(ASC)和降序(DESC)排序。 我们举例说明如何用SQL语言进行查询。例:学生选课数据库的关系模式为: Student(Sno,Sname,Sdept,Sage); Course(Cno,Cname,Pno); SC(Sno,Cno,Grade)。(1)查询全体学生的姓名、学号。 SELECT Sno, Sname FROM Student;(2)查询所有选修过课的学生的学号。 SELECT DISTINCT Sno FROM SC;(3)查询年龄在19到22之间的学生姓名、系别和年龄。 SEL

33、ECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 19 AND 23; 谓词BETWEENAND 和NOT BETWEEN AND可以查找属性值在(或不在)指定范围内的元组。(4)查询出成绩为80、85、87的记录。 SELECT * FROM SC WHERE Grade IN(80,85,87);谓词IN用来查找属性值属于指定集合的元组。(5)查询第二个字为“艳”的学生的姓名和系别。 SELECT Sname, Sdept FROM Student WHERE Sname LIKE - -_艳%;n谓词LIKE可以用来进行字符串的

34、匹配。其中%代表任意长的的字符串,- 代表任意单个字符。一个汉字占两个字符。6.4 6.4 数据库的设计数据库的设计n6.4.1 6.4.1 数据库设计的步骤数据库设计的步骤n6.4.2 6.4.2 数据库设计的需求分析数据库设计的需求分析n6.4.3 6.4.3 数据库的概念结构设计数据库的概念结构设计n6.4.4 6.4.4 逻辑结构设计逻辑结构设计n6.4.56.4.5物理结构设计物理结构设计n数据库设计是数据库应用的核心。数据库设计是指利用现有的数据库管理系统,针对具体的应用对象,构造合适的数据库模式,建立基于数据库的应用系统或信息系统。6.4.1 6.4.1 数据库设计的步骤数据库设

35、计的步骤n在数据库设计中有两种方法:n一种是以信息需求为主,兼顾处理需求,称为面向数据的方法。n另一种方法是以处理需求为主,兼顾信息需求,称为面向过程的方法。n这两种方法现在都有使用,但面向数据方法已成为主流方法。 n数据库设计一般分为以下六个阶段: 1. 需求分析阶段n进行数据库设计首先必须准确分析用户的需求,按需求合理的设计系统。2. 概念设计阶段n概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3. 逻辑设计阶段n该阶段是将概念结构转化为某个DBMS所支持的数据模型,并对其进行优化,得到数据库的逻辑模型。4. 物理设计阶段n

36、数据库物理设计是为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和存取方法)。5. 实现阶段n在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6. 运行和维护阶段n数据库应用系统经过试运行后即可投入正式运行。在其运行过程中必须不断对其进行评价、调整与修改。n数据库设计的步骤如图所示需求分析需求分析概念设计概念设计逻辑设计逻辑设计物理设计物理设计系统实施系统实施运行与维护运行与维护需求说明需求说明信息结构信息结构逻辑结构逻辑结构物理数据库结构物理数据库结构数据库实施数据库实施总体

37、信息需求总体信息需求处理需求处理需求6.4.2 6.4.2 数据库设计的需求分析数据库设计的需求分析n分析和表达用户的需求,通常采用结构化分析方法,这种方法用自顶向下,逐层分解的方式分析系统。并用数据流图和数据字典描述系统。 6.4.3 6.4.3 数据库的概念结构设计数据库的概念结构设计1. 概念结构设计的目的n概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。n概念结构的设计方法有两种:(1)集中式模式设计法:根据需求由一个统一机构或人员设计一个综合的全局模式。该方法简单方便,适用于小型或不复杂的系统设计。(2)视图集成设计法:这种方法是将一

38、个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。2. 概念结构设计的过程n数据库概念结构设计是使用E-R模型和视图集成设计法进行设计的。它的设计过程是:首先设计局部应用,再进行局部视图(局部E-R图)设计,然后进行视图集成得到概念模型(全局E-R图)。n视图设计一般有三种方法:(1)自顶向下。这种方法是从总体概念结构开始逐层细化。如教师这个视图可以从一般教师开始,分解成高级教师、普通教师等。进一步再由高级教师细化为青年高级教师与中年高级教师等。(2)自底向上。这种方法是从具体的对象逐层抽象,最后形成总体概念结构

39、。(3)由内向外。这种方法是从核心的对象着手,然后向四周逐步扩充,直到最终形成总体概念结构。n在视图集成过程中最重要的任务是解决各个E-R图设计中的冲突。常见的冲突有以下几类:(1)命名冲突。命名冲突有同名异义和同义异名两种。如教师属性何时参加工作与参加工作时间属于同义异名。(2)概念冲突。同一概念在一处为实体而在另一处为属性或联系。(3)域冲突。相同属性在不同视图中有不同的域。(4)约束冲突。不同的视图可能有不同的约束。n我们举例说明数据库的概念设计过程: 设计学生管理系统。包括学生的学籍管理子系统和课程管理子系统两个系统。(1)学籍管理子系统包括学生、宿舍、班级、教室、辅导员。这些实体之间

40、的联系有:n一个班级有若干学生,一个学生只能属于一个班;一个宿舍可以住多个学生,一个学生只能住在一个宿舍中;一个辅导员带若干个学生,一个学生只属于一个辅导员。一个辅导员带多个班级;一个班级在多个教室上课,一个教室有多个班级来上课。(2)课程管理子系统包括学生、课程、教师、教室、教科书。这些实体之间的联系有:n一个学生选修多门课程,一门课程有若干学生选修;一个学生有多个教师授课,一个教师教授若干学生;一门课程由若干个教师讲授,一个教室只讲一门课程;一个教室开设多门课,一门课只能在一个教室上。n针对两个子系统分别设计出它们的E-R图。在E-R图中省去属性。学籍管理子系统的E-R图如图所示。 辅导员

41、辅导员班级班级教室教室学生学生宿舍宿舍组成组成指导指导管理管理上课上课住宿住宿1n11nn1nmn对应各个实体的属性分别为:n学生学号,姓名,性别,出生日期,系别,何时入校,平均成绩n班级班级号,学生人数n辅导员职工号,姓名,性别,工作时间n宿舍宿舍编号,地址,人数n教室教室编号,地址,容量 n其中有下划线的属性为实体的码。n课程管理子系统的E-R图如图所示。 学生学生教师教师课程课程教科书教科书教室教室教教学学讲讲授授选选修修开开设设m111mnnnn对应各个实体的属性分别为:n学生学号,姓名,性别,年龄,入学时间 n课程课程号,课程名,学分n教科书书号,书名,作者,出版日期,关键字n教室教

42、室编号,地址,容量n教师职工号,姓名,性别,职称n其中有下划线的属性为实体的码。下面将学籍管理子系统E-R图和课程管理子系统E-R图集成学生管理系统E-R图。集成过程如下:(1)消除冲突。这两个子E-R图存在着多方面的冲突:n辅导员属于教师,学籍管理中的辅导员与课程管理中的教师可以统一为教师。n将辅导员改为教师后,教师与学生之间有两种不同的联系:指导联系和教学联系,将两种联系综合为教学联系。n调整学生属性组成,调解结果为: 学生学号,姓名,出生日期,年龄,系别,平均成绩(2)消除冗余。n 学生实体的属性中的年龄可由初涉概念日期计算出来,属于数据冗余。调整为:学生学号,姓名,出生日期,系别,平均

43、成绩n教室实体与班级实体之间的上课联系可以由教室与课程之间的开设联系、课程与学生之间的选修联系、学生与班级之间的组成联系三者推导出来,因此属于数据冗余,可以消去。n学生的平均成绩可以从选修联系中的成绩属性推算出来。但如果学生的平均成绩经常查询,可以保留该数据冗余来提高效率。 集成后学生管理系统的 E-R 图教科书教科书班级班级课程课程宿舍宿舍教室教室学生学生教师教师组组成成教教学学开开设设住住宿宿选选修修管管理理讲讲授授111111nnmmnn1nn6.4.4 6.4.4 逻辑结构设计逻辑结构设计n逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(

44、即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行:1. 从E-R图向关系模式转化n数据库的逻辑设计主要是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。在转化过程中会遇到如下问题:(1)命名问题。命名问题可以采用原名,也可以另行命名,避免重名。(2)非原子属性问题。非原子属性问题可将其进行纵向和横行展开。(3)联系转换问题。联系可用关系表示。2. 数据模型的优化n数据库逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该适当修改数据模型的结构,提高查询的速度。3. 关系视图设计n关系视图的设计又称用户模式设计,是用户可直接访问的数据模式。关系视图来自逻辑模式,但在结构和形式上可能不同于逻辑模式,所以它不是逻辑模式的简单子集。6.4.56.4.5物理结构设计物理结构设计n数据库物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构。数据库物理结构设计主要包括存储记录结构设计、存储记录布局、存取方法设计三个方面。 6.5 6.5 面向对象数据库系统简介面向对象数据库系统简介n6.5.1 6.5.1 面向对象数据库系统概述面向对象数据库系统概述n6.5.2 6.5.2 面向对象数据模型面向对象数据模型n6.5.3 6.5.3 面向对象程序设计方法面向对象程序设计方法n6.5.4 6.5.4 面向对象数据库语言面向对象数据库语言

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号