数据库原理与应用第3章-数据库设计-2版课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库原理与应用第3章-数据库设计-2版课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 设计 _2 课件
- 资源描述:
-
1、第第3章章 数据库设计数据库设计3.1 概述概述v数据库设计是指对于一个给定的应用环境,构造数据库设计是指对于一个给定的应用环境,构造最优的数据库最优的数据库模式模式,建立数据库及其应用系统,使之能够有效地存储数据,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求,包括信息需求和处理需求。满足各种用户的应用需求,包括信息需求和处理需求。信息需求信息需求:表示一个单位所需要的数据及其结构,该部分的表示一个单位所需要的数据及其结构,该部分的数据库设计是将应用系统所要用到的所有信息描述成实体、数据库设计是将应用系统所要用到的所有信息描述成实体、属性及实体间的联系,主要用来描述数
2、据之间的联系。属性及实体间的联系,主要用来描述数据之间的联系。处理需求处理需求:表示一个单位需要经常进行的数据处理,该部分表示一个单位需要经常进行的数据处理,该部分的数据库设计是将要进行的数据处理描述为操作的优先次序、的数据库设计是将要进行的数据处理描述为操作的优先次序、操作执行的频率和场合,主要用来描述操作与数据之间的联操作执行的频率和场合,主要用来描述操作与数据之间的联系。系。v信息需求表达了对数据库的内容及结构的要求,是静态要求,信息需求表达了对数据库的内容及结构的要求,是静态要求,处理需求表达了基于数据库的数据处理要求,是动态要求。处理需求表达了基于数据库的数据处理要求,是动态要求。3
3、.1.1 数据库设计的定义数据库设计的定义v 数据库的基本知识和数据库设计技术。数据库的基本知识和数据库设计技术。v 计算机科学的基础知识和程序设计的方法和技巧。计算机科学的基础知识和程序设计的方法和技巧。v 软件工程的原理和方法。软件工程的原理和方法。v 应用领域的知识。应用领域的知识。由于数据库系统的复杂性及其与环境联系的密切性,由于数据库系统的复杂性及其与环境联系的密切性,使得数据库设计成为一个困难、复杂和费时的过程。大型数使得数据库设计成为一个困难、复杂和费时的过程。大型数据库设计和实施涉及多学科的综合与交叉,是一项开发周期据库设计和实施涉及多学科的综合与交叉,是一项开发周期长、耗资巨
4、大、风险较高的工程,因此,一个从事数据库设长、耗资巨大、风险较高的工程,因此,一个从事数据库设计的专业人员至少应该具备以下计的专业人员至少应该具备以下4 4个方面的技术和知识:个方面的技术和知识:3.1.2 数据库设计的任务数据库设计的任务v数据库系统的设计主要包括数据库的结构特性设计以及数据库系统的设计主要包括数据库的结构特性设计以及数据库的行为特性设计。数据库的行为特性设计。设计数据库的结构特性,是为特定应用环境构造出最优的数设计数据库的结构特性,是为特定应用环境构造出最优的数据模型。据模型。设计数据库的行为特性,是建立满足各种用户对数据库应用设计数据库的行为特性,是建立满足各种用户对数据
5、库应用需求的功能模型。需求的功能模型。v设计数据库系统,首先应进行结构设计,数据库结构设设计数据库系统,首先应进行结构设计,数据库结构设计是否合理,直接影响到系统中各个处理过程的性能和计是否合理,直接影响到系统中各个处理过程的性能和质量。另一方面,结构特性又不能与行为特性分离,静质量。另一方面,结构特性又不能与行为特性分离,静态的结构特性的设计与动态的行为特性的设计分离,会态的结构特性的设计与动态的行为特性的设计分离,会导致数据与程序不易结合,增加数据库设计的复杂性。导致数据与程序不易结合,增加数据库设计的复杂性。3.1.3 数据库设计的原则数据库设计的原则v 不依赖性原则不依赖性原则:指数据
6、库系统对各种原始成果数据的格式和内容进行存储和管指数据库系统对各种原始成果数据的格式和内容进行存储和管理,对数据的存储和管理不依赖于某个特定的软件系统。理,对数据的存储和管理不依赖于某个特定的软件系统。v 开放性原则开放性原则:指系统不限定数据的存储格式,即原则上能存储任意格式的数据,指系统不限定数据的存储格式,即原则上能存储任意格式的数据,在系统中,数据的存储位置、存储方法、数据格式等对系统管理者来说是透在系统中,数据的存储位置、存储方法、数据格式等对系统管理者来说是透明的和开放的,原则上没有数据黑匣子。系统管理员能够知道数据以什么样明的和开放的,原则上没有数据黑匣子。系统管理员能够知道数据
7、以什么样的格式存放在系统中的什么位置,为实现真正意义上的数据管理(特别是数的格式存放在系统中的什么位置,为实现真正意义上的数据管理(特别是数据备份)提供条件。据备份)提供条件。v 可扩展性原则可扩展性原则:随着新数据源的出现和用户需求的增加,今后数据库所包含的随着新数据源的出现和用户需求的增加,今后数据库所包含的数据种类可能会比现在多,因此要求系统具有一定的可扩充性。当增加新种数据种类可能会比现在多,因此要求系统具有一定的可扩充性。当增加新种类的数据时,系统只要在原来的基础上增加一个对新数据的管理模块和若干类的数据时,系统只要在原来的基础上增加一个对新数据的管理模块和若干数据库表后,就可实现对
8、新数据的存储和管理。此外,数据的可扩展性还包数据库表后,就可实现对新数据的存储和管理。此外,数据的可扩展性还包含数据服务的可扩展性,生产出的数据和建立的数据库系统,不仅要能满足含数据服务的可扩展性,生产出的数据和建立的数据库系统,不仅要能满足用户今天的要求,还应该考虑到用户在未来几年内可能提出的从数据的种类用户今天的要求,还应该考虑到用户在未来几年内可能提出的从数据的种类到数据服务的方式等方面的新的需求。到数据服务的方式等方面的新的需求。v 检索和管理的高效性原则检索和管理的高效性原则:数据库系统的重点是对数据的管理和数据的提供,数据库系统的重点是对数据的管理和数据的提供,因此如何高效地实现因
9、此如何高效地实现“知道有什么数据、在什么地方、迅速提取数据并加工知道有什么数据、在什么地方、迅速提取数据并加工成用户所要求的产品成用户所要求的产品”,是进行系统设计时考虑的一个主要因素。,是进行系统设计时考虑的一个主要因素。v 规范设计法规范设计法:比较著名的有新奥尔良方法,它将数据库设计分为比较著名的有新奥尔良方法,它将数据库设计分为4 4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。其后,许多科学家对此进行了改进,
10、认为数据库系统设计应分其后,许多科学家对此进行了改进,认为数据库系统设计应分6 6个阶段进行,分别是需求分析、概念结构设计、逻辑结构设计、个阶段进行,分别是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行及维护。物理结构设计、数据库实施和数据库运行及维护。v 基于基于E-RE-R模型的设计方法、基于模型的设计方法、基于3NF3NF(第三范式)的设计方法、基(第三范式)的设计方法、基于抽象语法规范的设计方法等。于抽象语法规范的设计方法等。v 数据库设计工具:数据库设计工具:经过多年努力,数据库设计工具已经实用化和经过多年努力,数据库设计工具已经实用化和产品化。例如,产品
11、化。例如,Design 2000Design 2000和和PowerDesignerPowerDesigner,分别是,分别是OracleOracle公公司和司和SybaseSybase公司推出的数据库设计工具软件,这些工具软件可以公司推出的数据库设计工具软件,这些工具软件可以自动或辅助设计人员完成数据库设计过程中的很多任务,特别是自动或辅助设计人员完成数据库设计过程中的很多任务,特别是大型数据库的设计需要自动设计工具的支持。大型数据库的设计需要自动设计工具的支持。3.1.4 数据库设计的方法数据库设计的方法3.1.5 数据库设计的步骤数据库设计的步骤 在数据库需求分析的基础上,按照规范化、结
12、构化设计方法,将在数据库需求分析的基础上,按照规范化、结构化设计方法,将数据库设计分为以下三个步骤:数据库设计分为以下三个步骤:v逻辑结构设计逻辑结构设计:将系统需求分析的结果设计成数据库的逻辑模式,即适:将系统需求分析的结果设计成数据库的逻辑模式,即适应于某种特定应于某种特定DBMSDBMS所支持的逻辑数据模型,与此同时,还需为各种数据所支持的逻辑数据模型,与此同时,还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果是处理应用领域产生相应的逻辑子模式。这一步设计的结果是“逻辑数据逻辑数据库库”。v物理结构设计:物理结构设计:根据特定根据特定DBMSDBMS所提供的、依赖于具体计
13、算机结构的多种所提供的、依赖于具体计算机结构的多种存储结构和存取方法等,对具体的应用任务选定最合适的物理存储结构存储结构和存取方法等,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序等)、存取方法和存取路(包括文件类型、索引结构和数据的存放次序等)、存取方法和存取路径等。这一步设计的结果是径等。这一步设计的结果是“物理数据库物理数据库”。v验证设计验证设计:在逻辑结构、物理结构设计的基础上,收集数据并具体建立:在逻辑结构、物理结构设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务,来验证数据库设计的正确性和一个数据库,运行一些典型的应用任务,来验
14、证数据库设计的正确性和合理性,当发现问题时,可能需要返回到前面的步骤进行修改。一般一合理性,当发现问题时,可能需要返回到前面的步骤进行修改。一般一个大型数据库的设计过程往往需要经过多次循环反复,因此,在做上述个大型数据库的设计过程往往需要经过多次循环反复,因此,在做上述数据库设计时,就应考虑到今后修改设计的可能性和方便性。数据库设计时,就应考虑到今后修改设计的可能性和方便性。3.2 关系数据库的基本概念关系数据库的基本概念 数据模型是现实世界数据特征的模拟和抽象。在数据库中用数据模型这数据模型是现实世界数据特征的模拟和抽象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
15、数据模型通常由数据个工具来抽象、表示和处理现实世界中的数据和信息。数据模型通常由数据结构、数据操纵和完整性约束三部分组成,称为数据模型三要素。结构、数据操纵和完整性约束三部分组成,称为数据模型三要素。v 数据结构:数据结构:所研究对象类型的集合。这些对象是数据库的组成部分,主要包所研究对象类型的集合。这些对象是数据库的组成部分,主要包括两类:一类是与数据类型、内容、性质有关的对象。另一类是与数据之间括两类:一类是与数据类型、内容、性质有关的对象。另一类是与数据之间联系有关的对象。数据结构是对系统静态特性的描述,是刻画一个数据模型联系有关的对象。数据结构是对系统静态特性的描述,是刻画一个数据模型
16、性质最重要的方面,因此在数据库系统中,人们通常按照其数据结构的类型性质最重要的方面,因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如,层次结构、网状结构和关系结构的数据模型分别命来命名数据模型。例如,层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。名为层次模型、网状模型和关系模型。v 数据操纵:数据操纵:对数据库中各种对象允许执行的操作集合及有关的操作规则。常对数据库中各种对象允许执行的操作集合及有关的操作规则。常用的数据操纵有检索和更新(包括新增、删除、修改)。数据模型必须定义用的数据操纵有检索和更新(包括新增、删除、修改)。数据模型必须定义
17、这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操纵是对系统动态特性的描述。言。数据操纵是对系统动态特性的描述。v 数据的约束条件:数据的约束条件:是一组完整性规则的集合。完整性规则是给定数据模型中是一组完整性规则的集合。完整性规则是给定数据模型中数据及其联系所具有的制约和储存规则,用来限定符合数据模型的数据库状数据及其联系所具有的制约和储存规则,用来限定符合数据模型的数据库状态以及状态变化,以保证数据的正确性、有效性和相容性。态以及状态变化,以保证数据的正确性、有效性和相容性。3.2.2 关系模型关系
18、模型v关系模型的数据结构:关系模型的数据结构:数据结构非常单一,无论是实体还是数据结构非常单一,无论是实体还是实体间的联系,均由单一的结构来表示,该结构是一张规范实体间的联系,均由单一的结构来表示,该结构是一张规范化了的二维表,由行和列组成,称之为关系。化了的二维表,由行和列组成,称之为关系。v关系模型的数据操纵:关系模型的数据操纵:包括查询、新增、删除、修改,其中包括查询、新增、删除、修改,其中查询的表达能力是最主要的部分。关系模型数据操纵的特点查询的表达能力是最主要的部分。关系模型数据操纵的特点是集合操作,即操作的对象和结果都是集合,这种操作方式是集合操作,即操作的对象和结果都是集合,这种
19、操作方式也称为一次一集合方式。也称为一次一集合方式。v关系模型的完整性约束:关系模型的完整性约束:包括实体完整性、参照完整性和用包括实体完整性、参照完整性和用户定义的完整性三大类。其中实体完整性和参照完整性是关户定义的完整性三大类。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,由关系系模型必须满足的完整性约束条件,由关系DBMSDBMS自动支持,自动支持,用户定义的完整性是由应用领域需要遵循的约束条件,是具用户定义的完整性是由应用领域需要遵循的约束条件,是具体领域中的语义约束体领域中的语义约束。1.关系的数学定义关系的数学定义v域域(Domain)(Domain):一组具有相同
20、数据类型的值的集合,一组具有相同数据类型的值的集合,如整数、实数等。形式化表示为如整数、实数等。形式化表示为D Dv笛卡尔积笛卡尔积(Cartesian Product)(Cartesian Product):一组域:一组域D D1 1,D,D2 2,D Dn n的笛卡尔积:的笛卡尔积:其中其中(d(d1 1,d,d2 2,d,d3 3,d dn n)称为一个称为一个元组元组,d di i称为一个分量;称为一个分量;若若D Di i的基数的基数(值的个数值的个数)为为M Mi i,则笛卡尔积的,则笛卡尔积的基数基数M M为:为:1212.(,.)|,1,2,.nniiD DDd dddD in
21、 1niiMm笛卡尔积笛卡尔积(Cartesian Product)例如:教师关系中姓名例如:教师关系中姓名、性别两个域、性别两个域D1、D2分别如下:分别如下:D1=李力,王平,刘伟李力,王平,刘伟D2=男,女男,女则则D1、D2的笛卡尔积为:的笛卡尔积为:D1D2=(李力,男),(李力,女),(王平,男),(李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)(王平,女),(刘伟,男),(刘伟,女)姓名性别李力男李力女王平男王平女刘伟男刘伟女D1和D2的笛卡尔积1.关系的数学定义关系的数学定义v关系:的子集称作在域上的关系,并表示为:。几点说明:几点说明:1.R
22、为关系名,为关系名,n称为关系的目或度(称为关系的目或度(Degree)。)。当当n=1时,称为时,称为单元单元关系。关系。当当n=2时,称为时,称为二元二元关系。关系。当当n=n时,称为时,称为n元元关系。关系。nDDD21),(21nDDDRv数学上关系是笛卡尔积的任意子集,但在实际应用中关数学上关系是笛卡尔积的任意子集,但在实际应用中关系是笛卡尔积中所取的有意义的子集。系是笛卡尔积中所取的有意义的子集。v例如:教师关系中的两个域姓名例如:教师关系中的两个域姓名D1 D1、性别、性别D2D2分别如下:分别如下:D1=D1=李力,王平,刘伟李力,王平,刘伟,D2=D2=男,女男,女。表。表2
23、 2虽然是表虽然是表1 1的子集,但在实际中却如任何意义。因此可以说的子集,但在实际中却如任何意义。因此可以说关系是关系是有意义的笛卡尔积的子集。有意义的笛卡尔积的子集。姓名性别李力男李力女1.关系的数学定义关系的数学定义姓名性别李力男李力女王平男王平女刘伟男刘伟女表1:D1和D2的笛卡尔积表2:D1和D2的笛卡尔积的一个子集2.关系的基本术语关系的基本术语v元组(元组(TupleTuple):):关系表中每一个横行称作一个元组,关系表中每一个横行称作一个元组,组成元组的元素称为分量。组成元组的元素称为分量。v属性(属性(AttributeAttribute):):关系中的每一列即为一个属性,
24、关系中的每一列即为一个属性,都有一个属性名。一个关系中往往有多个属性,用于刻都有一个属性名。一个关系中往往有多个属性,用于刻画实体的特征,由于关系中的属性名具有标识列的作用,画实体的特征,由于关系中的属性名具有标识列的作用,因而同一关系中的属性名不能相同。因而同一关系中的属性名不能相同。v候选码(候选码(Candidate KeyCandidate Key):):若关系中的某一属若关系中的某一属性组(或单个属性)的值能唯一地标识一个元组,性组(或单个属性)的值能唯一地标识一个元组,则称该属性组(或属性)为候选码。则称该属性组(或属性)为候选码。最简单情况下,候选码仅由单个属性组成。如表最简单情
25、况下,候选码仅由单个属性组成。如表3-23-2中,由于只有学生的姓名不重复,在这种情况下,只中,由于只有学生的姓名不重复,在这种情况下,只有姓名可以唯一地标识一个元组,所以有姓名可以唯一地标识一个元组,所以“姓名姓名”这个这个单属性可以为候选码。单属性可以为候选码。最极端的情况下,候选码由该关系所有属性组合而成,最极端的情况下,候选码由该关系所有属性组合而成,这时,候选码也称为全码。这时,候选码也称为全码。2.关系的基本术语关系的基本术语v最极端的情况下,候选码由该关系所有属性组合最极端的情况下,候选码由该关系所有属性组合而成,这时,候选码也称为全码。而成,这时,候选码也称为全码。如表3-3中
展开阅读全文