1、数据库设计基础 考试大纲,1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。,历年考点分析,本章在考试中一般出现2-4个小题。本章内容概括性强,比较抽象,难于理解,因此在复习的时候,首先熟读讲义,其次对数据库系统的基本概念及原理等知识要注意理解、加强记忆。,数据库技术基础,数据库系统概述 关系数据库数据库设计数据库技术新发展,本章要点,数据库技术地位,数据库技术是计算机领域的
2、一个重要分支;计算机应用的三大领域:科学计算、数据处理和过程控制,其中数据处理占其中的的70%;作为一门数据处理技术发展起来。,数据、数据库、数据库管理系统和数据库系统,数据库系统概述,一、数据数据(Data)是描述事物的符号。数据分两部分:(1)临时数据-随程序结束而消亡, 一般存于内存。(2)持久性数据对系统起着长期持 久作用的作用。数据有型和值之分,比如整型值 15,数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。,数据库系统概述,二、数据库,三、数据库管理系统,数据库管理系统(DataBase Management System,DBMS)位于
3、应用程序和操作系统之间,是为建立、使用和维护数据库而配置的一层数据管理软件,负责对数据库中的数据进行统一的管理和控制。,数据、数据库、数据库管理系统和数据库系统,数据库系统概述,三、数据库管理系统的功能,数据定义功能:提供数据定义语言(DDL)定义数据库中的数据对象 数据操纵功能:提供数据操纵语言(DML) 运行管理:保证数据的安全性、完整性、并发控制、系统恢复 数据库的建立和维护功能:数据库数据批量装载、 数据库转储、介质故障恢复等,数据、数据库、数据库管理系统和数据库系统,数据库系统概述,三、典型的数据库管理系统,Sybase、Oracle、Informix、SQL Server、Foxp
4、ro 国产数据库KINGBASE等 MYSQL、PostgreSQL等 ACCESS,数据、数据库、数据库管理系统和数据库系统,数据库系统(Data Base System,DBS)是指带有数据库的计算机系统。包括数据库、数据库管理系统、应用程序、数据库管理员以及用户等部分,数据库系统概述,四、数据库系统,数据、数据库、数据库管理系统和数据库系统,数据的整体结构化。 数据的共享性高,冗余度低。 数据的独立性高。数据的统一管理和控制。,数据库系统概述,四、数据库系统的特点,数据、数据库、数据库管理系统和数据库系统,数据库系统概述,五、数据库管理员,数据库管理员(Database Administ
5、rator,简称DBA): 主要工作: (1)数据库设计 (2)数据库维护 (3)改善系统性能,提高系统效率,数据、数据库、数据库管理系统和数据库系统,数据库应用系统 DBAS(Database Application System),数据库应用系统是数据库系统再加上应用软件及应用界面这三者组成。 具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。,基本概念的界定,数据库 数据库管理系统 数据库系统 数据库技术,数据 软件 系统 学科,数据库系统概述,数据管理技术的发展经历了以下三个阶段:人工管理阶段文件系统管理阶段数据库系统管理阶段,数据管理技术的发展,
6、一、人工管理阶段,时期40年代中-50年代中 产生的背景应用需求 科学计算硬件水平 无直接存取存储设备软件水平 没有操作系统,数据库系统概述,数据管理技术的发展,特点: 数据的管理者:应用程序,数据不保存。 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序自己控制,数据库系统概述,数据管理技术的发展,一、人工管理阶段,数据库系统概述,数据管理技术的发展,一、人工管理阶段,二、文件系统管理阶段,时期 50年代末-60年代中产生的背景 应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件
7、系统,数据库系统概述,数据管理技术的发展,特点: 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 数据控制能力:应用程序自己控制,数据库系统概述,数据管理技术的发展,二、文件系统管理阶段,数据库系统概述,数据管理技术的发展,二、文件系统管理阶段,三、数据库系统管理阶段,时期 60年代末以来 产生的背景 应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统,数据库系统概述,数据管理技术的发展,特点 数据的管理者:DBMS
8、数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制,数据库系统概述,数据管理技术的发展,三、数据库系统管理阶段,数据库系统的特点,数据的集成性 数据的高共享性与低冗余性 数据独立性高 物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 数据统一管理与控制,数据库系统概述,数据管理技术的发展,三、数据库系统管理阶段,从
9、数据库管理系统角度看,数据库系统通常采用三级模式结构和两级映射。三级模式结构是由外模式、模式和内模式三级组成,数据库系统的体系结构,数据库系统概述,数据库系统的体系结构图,模式(也称逻辑模式、概念模式) 是数据库中全局数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求 主要描述数据的概念记录类型以及它们之间的关系 一个数据库只有一个模式 模式的地位 是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关,数据库系统的体系结构,数据库系统概述,一、三级模式结构,外模式(也称子模式或用户模式) 是数据库用户(包括应用
10、程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述 它由概念模式推导而出; 一个概念模式可以有若干个外模式 外模式的地位介于模式与应用之间,数据库系统的体系结构,数据库系统概述,一、三级模式结构,内模式(也称存储模式、物理模式) 是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 一个数据库只有一个内模式,数据库系统的体系结构,数据库系统概述,一、三级模式结构,内模式是处于最底层,反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,它反映了设计者的数据全局逻辑要求;外模式处于最外层,它反映了用户对数据的要求。,数据库系统的体系结构,数据库系统概述,模式、外模式
11、、内模式三者地位关系,外模式模式映射 定义外模式与模式之间的对应关系 每一个外模式都对应一个外模式模式映射,数据库系统的体系结构,数据库系统概述,二、两级映射,映射又称为映像,它实质就是一种对应规则,指出映射双方如何进行转换。,外模式模式映射的用途 保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式模式映射,使外模式保持不变。 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,数据库系统的体系结构,数据库系统概述,二、两级映射,模式内模式映射 模式内模式映射定义了数据全局逻辑结构与存储结构之间的对应关系。 数据库中模式内
12、模式映射是唯一的。,数据库系统的体系结构,数据库系统概述,二、两级映射,模式内模式映象的用途 保证数据的物理独立性 当数据库的存储结构改变了,数据库管理员修改模式内模式映象,使模式保持不变。 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,数据库系统的体系结构,数据库系统概述,二、两级映射,将客观事物抽象为能用计算机存储和处理的数据需经历三个阶段:现实世界、信息世界、计算机世界(数据世界),数据模型,数据库系统概述,模型是现实世界特征的模拟和抽象。 数据模型应满足三方面要求: 能比较真实地模拟现实世界; 容易为人所理解; 便于在计算机上实现。 根据数据模型的应用目的不同
13、,数据模型分为三类 概念模型,也称信息模型,它是按用户的观点来对数据进行描述,有效和自然地模拟现实世界,给出数据的概念化结构。 逻辑数据模型,它是按计算机系统的观点对数据进行描述 物理模型,给出计算机上物理结构的表示。,数据模型,数据库系统概述,数据是现实世界符号的抽象。 数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据系统的信息表示与操作提供一个抽象的框架。,数据模型,数据库系统概述,一、数据模型的定义,数据结构:数据结构是所研究的对象类型的集合。 数据操作:数据操作是指对相应数据结构允许执行的操作的集合,包括操作及有关的操作规
14、则 数据的完整性约束:数据的完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,以保证数据的正确、有效和相容。,数据模型,数据库系统概述,一、数据模型的组成要素,实体:客观存在并可相互区别的事物称为实体(Entity)。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个职员、一名学生、一个车间、学生选课、车间领料等都是实体。 属性:实体的特性称为实体的属性(Attribute)。一个实体可以由若干个属性来刻画。例如,学生可以由学号、姓名、专业、班级等属性刻画。,数据模型,数据库系统概述,二、实体-联系数据模型,码: 能唯一的标识实体的
15、属性集合称为码(Key)。例如,学号是学生实体的码。 域: 属性的取值范围称为该属性的域(Domain)。例如,性别属性的域为(男,女)。 联系:(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体集内部的联系和实体集之间的联系。,数据模型,数据库系统概述,二、实体-联系数据模型,两个实体集之间的联系分为三类:,一对一联系(1:1) 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与B具有一对一联系,记为1:1。 例如,一个班级只有一个班长,而一个班长也只在一个班中任职,则班级实体和班长实体是一对一的联
16、系。,数据模型,数据库系统概述,二、实体-联系数据模型,一对多联系(1:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与B具有一对多联系,记为1:n。 例如,一个班级中可以有若干名学生,而每个学生只在一个班级中学习,则班级实体和学生实体是一对多的联系。,数据模型,数据库系统概述,二、实体-联系数据模型,两个实体集之间的联系分为三类:,多对多联系(n:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0
17、)与之联系,则称实体集A与B具有多对多联系,记为m:n。 例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程实体和学生实体是多对多的联系,数据模型,数据库系统概述,二、实体-联系数据模型,两个实体集之间的联系分为三类:,E-R图,E-R图的表示: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,椭圆形内写明属性名,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体或联系连接起来,同时在无向边旁标上联系的类型。,数据模型,数据库系统概述,二、实体-联系数据模型,例:在学生选课子系统中涉及到的实体以及实体的属性
18、为:学生实体:学号、姓名、班级课程实体:编号、名称、性质、学分 有关的语义如下:每个学生可以选修多门课程;每门课程可以被多个学生选修;每个学生选修的每门课程都有一个成绩。 可见学生实体和课程实体之间是多对多的联系,而且联系也有属性,其属性为成绩。,数据模型,数据库系统概述,二、实体-联系数据模型,E-R图,数据模型,数据库系统概述,二、实体-联系数据模型,E-R图,概念模型强调以人为本,注重清晰、简单、易于理解;逻辑数据模型以计算机为本,站在计算机的角度去看待各个数据及数据之间的联系。目前,数据库领域中最常用的数据模型有四种:层次模型、网状模型、关系模型和面向对象模型。其中层次模型和网状模型统
19、称为非关系模型。,数据模型,数据库系统概述,三、逻辑数据模型,层次模型用树形结构来表示各类实体以及实体间的联系。 有且只有一个结点没有双亲结点,这个结点称为根结点。 根以外的其他结点有且只有一个双亲结点。 层次模型的特点任何一个给定的记录值只有按其路径查看时,才能显示出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。,数据模型,数据库系统概述,三、逻辑数据模型,层次模型,允许一个以上的结点无双亲; 一个结点可以有多于一个的双亲。网状模型有效的克服了层次模型不方便表达多对多的联系的缺点,但由于网状模型的灵活性,数据库管理系统很难实现,数据模型,数据库系统概述,三、逻辑数据模型,网状
20、模型,关系模型中的数据结构是一张二维表,它由行和列组成。,数据模型,数据库系统概述,关系模型,三、逻辑数据模型,基本术语如下: 关系(Relation):一个关系对应一张二维表。关系的名称一般取为表格的名称或按表格名称的意思取名,如表中对应关系的名称取为学生。 元组(Tuple):表中的一行即为一个元组。 属性(Atturibute):表中的一列即为一个属性,每一列的第一行是属性名,其余行是属性值。 如学生表共有3列,对应3个属性,各属姓名为:学号,姓名,班级。,数据模型,数据库系统概述,关系模型,三、逻辑数据模型,主码(Key):表中的某个属性或属性组合,它可以唯一标识一个元组。如学生表中的
21、学号可唯一标识一个学生,因此“学号”是学生表的主码。 域(Domain):属性的取值范围。如学号的域是9位数字字符序列,性别的域是(男,女)。 关系模式:对关系的描述,一般表示为: 关系名(属性名1,属性名2,属性名n),数据模型,数据库系统概述,关系模型,三、逻辑数据模型,数据库系统概述,数据模型,关系数据库,关系应满足如下性质: 关系必须是规范化的,即要求关系必须满足一定的规范条件,其中最基本的一条就是,关系的每一列不可再分。 关系中必须有主码,使得元组唯一。如学生关系中,学号属性是主码,课程关系中,编号是主码,选修关系中,学号和编号一起是主码。 元组的个数是有限的且元组的顺序可以任意交换
22、。 属性名是唯一的且属性列的顺序可以任意交换。,关系模型的基本概念,一、关系数据结构,实体完整性规则 主码的属性值不能为空值。因为如果出现空值,那么主码就无法保证元组的唯一性。 参照完整性规则 在关系模式中实体以及实体之间的联系是用关系来描述的,所以自然存在着关系与关系之间的联系,而关系之间的联系是靠公共属性实现的,如果这个公共属性是一个关系R1的主码,那么在另一个与它有联系的关系R2中就称为外码。参照完整性规则告诉我们外码的取值只有两种可能,要么是空值,要么等于R1中某个元组的主码值。,关系数据库,关系模型的基本概念,二、关系完整性规则,用户定义完整性 反映某一具体应用所涉及的数据必须满足的
23、语义要求。,关系数据库,关系模型的基本概念,二、关系完整性规则,关系操作的对象是关系,结果也是关系。 查询:就是在一个关系或多个关系中查找满足条件的列或行,得到一个新的关系。 插入:在指定的关系中插入一个或多个元组。 删除:将指定关系中的一个或多个满足条件的元组删除。 修改:针对指定关系中满足条件的一个或多个元组修改其数据项的值。,关系数据库,关系模型的基本概念,三、关系操作,投影:投影(Projection)的功能是选择关系中的某些属性,生成一个新的关系。 例如,在课程关系中查询课程名称和学分,就可以使用投影操作,仅选择课程关系中名称和学分属性列,得到对课程关系进行投影操作后的结果关系。,关
24、系数据库,关系模型的基本概念,三、关系操作,选择:选择(Selection)是在一个关系中,选取符合给定条件的所有元组,生成新的关系。 例如,在学生关系中查询计算机系的学生,就可对学生关系使用选择操作,得到对学生关系进行选择操作后的结果关系。,关系数据库,关系模型的基本概念,三、关系操作,自然连接:自然连接(Join)是将两个具有公共属性的关系,按照公共属性值相等的条件连接成为一个新的关系。,关系数据库,关系模型的基本概念,三、关系操作,关系数据库,关系模型的基本概念,三、关系操作,关系数据库,关系模型的基本概念,三、关系操作,关系数据库,关系模型的基本概念,三、关系操作,数据查询是数据库的核
25、心操作 SELECT查询语句的基本格式为: SELECT ALL | * , FROM , WHERE ,关系数据库,结构化查询语言SQL,数据查询,学生选课数据库由三个基本表组成(为方便起见,给关系及各属性取英文代号): 学生表:Student(Sno,Sname,Sclass) 课程表:Course(Cno,Cname,Ckind,Credit) 选课表:SC(Sno,Cno,Grade),关系数据库,结构化查询语言SQL,数据查询,【例6.1】查询全体学生的详细记录。 SELECT * FROM Student 【例6.2】查询全体学生的学号与姓名。 SELECT Sno,Sname F
26、ROM Student,关系数据库,结构化查询语言SQL,数据查询,查询满足条件的元组是通过where子句实现的。Where子句中常用的查询条件包括比较大小、字符匹配、多重条件等。常用的比较运算符有: 关系运算符:大于 ,大于等于=,小于; 逻辑运算符:逻辑与AND,逻辑或OR,逻辑非NOT 。,关系数据库,结构化查询语言SQL,数据查询,字符匹配谓词LIKE,语法格式为:属性列 NOT LIKE 匹配串,含义是查找指定的属性列值与匹配串相匹配的元组。匹配串中可包含通配符“%”和“_”,“%”代表任意多个字符,“_”代表任意单个字符。,关系数据库,结构化查询语言SQL,数据查询,【例6.3】查
27、询不及格学生的学号以及课程编号 SELECT Sno, Cno FROM SC WHERE Grade60 【例6.4】查询所有姓刘学生的详细记录。 SELECT * FROM Student WHERE Sname LIKE 刘%,关系数据库,结构化查询语言SQL,数据查询,【例6.5】查询计算机031班姓刘学生的详细记录。 SELECT * FROM StudentWHERE Sclass= 计算机031 ANDSname LIKE 刘%,关系数据库,结构化查询语言SQL,数据查询,【例6.6】查询每个学生选修课程的情况。SELECT Student.*,SC.*FROM Student,
28、SCWHERE Student.Sno = SC.Sno; /* 连接谓词*/,关系数据库,结构化查询语言SQL,数据查询,【例6.7】查询成绩在90分以上的所有学生的学号、姓名SELECT Student.Sno, student.SnameFROM Student, SCWHERE Student.Sno = SC.Sno AND SC.Grade 90;,关系数据库,结构化查询语言SQL,数据查询,插入单个元组的语句格式为:INSERTINTO (,)VALUES ( , ),关系数据库,结构化查询语言SQL,插入数据,【例6.8】 将一个新学生记录(学号:200305020;姓名:陈冬
29、;所在班级:英语032)插入到Student表中。INSERTINTO StudentVALUES (200305020,陈冬,英语032);,关系数据库,结构化查询语言SQL,插入数据,【例6.9】插入一条选课记录( 学号:20030502,课程编号:071501 ,成绩:90)。INSERTINTO SC(Sno,Cno,Grade)VALUES ( 20030502,071501 ,90);,关系数据库,结构化查询语言SQL,插入数据,修改语句的一般格式为:UPDATE SET=,=WHERE ;,关系数据库,结构化查询语言SQL,修改数据,【例6.10】 将学生陈冬的英语成绩改为95分
30、。 UPDATE ScSET Grade=95WHERE Sno=20030502 AND Cno= 071501 ;,关系数据库,结构化查询语言SQL,修改数据,删除语句的一般格式为:DELETE FROMWHERE ;,关系数据库,结构化查询语言SQL,删除数据,【例6.11】删除学号为200305020的学生记录。 DELETE FROM Student WHERE Sno=200305020;,数据库设计,数据库设计(Database Design):设计一个能满足用户要求,性能良好的数据库。 数据设计的基本任务:更具用户对象的信息需求、处理需求和数据库的支撑环境(硬件、OS与DBMS
31、)设计出数据模式。 数据库设计目前采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干个阶段。 数据库设计的六个阶段:需求分析、概念设计、逻辑设计、物理设计、编码阶段、测试阶段、运行维护阶段。,数据库设计概述,数据库设计,需求分析是整个数据库设计的基础,其目的是准确了解与分析用户的各种需求 (1) 需求调查 (2) 需求总结 数据流图(Data Flow Diagram,DFD) 数据字典:数据项、数据结构、数据流、数据存储、处理逻辑,需求分析,数据库设计,应能真实、充分地反映现实世界,是现实世界中具体应用的一个真实模型 易于向关系、网状、层次等各种数据逻辑模型转换。,概念结构设计
32、,概念结构设计的步骤,数据抽象:数据抽象就是对需求分析阶段收集到的数据进行分类、组织,形成实体、实体的属性,并标识实体的主码、确定实体之间的联系类型(1:1,1:n,m:n)。抽象方法有:分类、聚集和概括。 选择局部应用,设计局部视图:根据实际系统的具体情况,在多层的数据流图中选择一个适当的层次,作为概念结构设计的入口,设计各个分E-R图即局部视图 视图的集成:各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。,数据库设计,概念结构设计,消除冗余数据和冗余联系 冗余数据是指可由基本数据导出的数据 冗余联系是指可由其它联系导出的联系 冗余数据和冗
33、余联系容易破坏数据库的完整性,增加维护的困难。 消除冗余主要是通过分析发现冗余并消除冗余 说明 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价,数据库设计,概念结构设计,概念结构设计的步骤,将概念结构转化为一般的关系、网状、层次模型 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化,数据库设计,逻辑结构设计,逻辑结构设计的步骤,数据库设计,逻辑结构设计,E-R图向关系模型的转换,转换原则: 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码 例如:学生实体可以转换为如下关系模式:
34、学生(学号,姓名,出生日期,所在系,年级,平均成绩),数据库设计,逻辑结构设计,数据库设计,逻辑结构设计,E-R图向关系模型的转换, 一个m:n联系转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩),数据库设计,逻辑结构设计,E-R图向关系模型的转换, 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 1) 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码
35、:n端实体的码,数据库设计,逻辑结构设计,E-R图向关系模型的转换,2) 与n端对应的关系模式合并 合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性 合并后关系的码:不变 可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,数据库设计,逻辑结构设计,E-R图向关系模型的转换,例如:“组成”联系为1:n联系。将其转换为关系模式的两种方法:1)使其成为一个独立的关系模式:组成(学号,班级号)2)将其学生关系模式合并:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩),数据库设计,逻辑结构设计,E-R图向关系模型的转换, 一个1:1联系可以转换为一个独立的关系模式,也可
36、以与任意一端对应的关系模式合并。 1) 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的候选码:每个实体的码均是该关系的候选码,数据库设计,逻辑结构设计,E-R图向关系模型的转换,2) 与某一端对应的关系模式合并 合并后关系的属性:加入对应关系的码和联系本身的属性 合并后关系的码:不变,数据库设计,逻辑结构设计,E-R图向关系模型的转换,例如:“管理”联系为1:1联系,可以有三种转换方法: (1)转换为一个独立的关系模式:管理(职工号,班级号)或管理(班级号,职工号) (2)“管理”联系与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:班
37、级(班级号,学生人数,职工号) (3)“管理”联系与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任),数据库设计,逻辑结构设计,E-R图向关系模型的转换,数据库的物理设计目的:对数据库内部物理结构做调整并选取合理的存取路径,以提高数据的访问速度及有效利用存储空间。 数据库实施阶段:设计人员根据逻辑结构设计和物理结构设计的结果建立数据库,编制与调试应用程序,并进行试运行和评价。 数据库维护阶段:在数据库系统运行过程中必须不断地对其进行评价、调整与修改。,数据库设计,物理结构设计,数据库技术新发展, 存储和处理内部结构和相互
38、之间联系复杂的对象。 支持诸如抽象的数据类型,无结构的超长数据等复杂的数据类型。 实现数据库语言和程序设计语言的无缝集成。 支持长事务和嵌套事务的处理。,新一代数据库技术的研究和特点,新应用领域的需求, 面向对象的方法和技术在数据库系统中的应用。 与多学科技术有机结合。 面向应用领域的数据库技术。,数据库技术新发展,新一代数据库技术的研究和特点,新一代数据库技术的特点,数据库技术与分布处理技术相结合,出现了分布式数据库系统; 数据库技术与并行处理技术相结合,出现了并行式数据库系统; 数据库技术与人工智能处理技术相结合,出现了知识库系统和主动数据库系统; 数据库技术与多媒体技术相结合,出现了多媒
39、体数据库系统; 数据库技术与模糊技术相结合,出现了模糊数据库系统等。,数据库技术新发展,数据库新技术,数据库技术与其他技术的结合,数据仓库。 工程数据库。 统计数据库。 空间数据库。,数据库技术新发展,数据库新技术,面向应用领域的数据库新技术,数据库新技术,面向对象数据库系统:用面向对象的方法构筑面向对象数据模型使其具有比关系数据库系统更为通用的能力; 知识库系统:用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模型,使其模型具有特别通用的能力; 关系数据库系统的扩充:利用关系数据库作进一步扩展,使其在模型的表达能力与功能上有更进一步的加强,如与网络技术相结合的Web数据库、数据仓库以及嵌入式数据库等。,本章小结,掌握数据库的发展过程和数据库的基本概念 了解数据库的三级抽象和两级映像 掌握关系数据库的基本概念和sql语言的应用 数据库设计的六个步骤 了解数据库的新技术,结 束,THANKS,