数据库 第5章数据库物理模型.ppt_第1页
数据库 第5章数据库物理模型.ppt_第2页
数据库 第5章数据库物理模型.ppt_第3页
数据库 第5章数据库物理模型.ppt_第4页
数据库 第5章数据库物理模型.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章是数据库物理模型的设计,学习将概念数据模型或逻辑数据模型转化为物理数据模型的方法。了解如何将实体的1:1、1: n和N:M关系表示为表关系,了解数据库设计范例,并通过实际案例研究,标准化从概念数据模型转换物理数据模型的一般步骤。“学习目标”包括:1。数据库模型转换;5.1数据库设计模型转换。数据库设计分为三个层次:概念数据模型设计、逻辑数据模型设计和物理数据模型设计。在传统的数据库设计中,这三个模型将依次转换。下表显示了每个模型之间的元素对应关系。2.数据模型转换方案。数据模型转换设计有两种方案。一种是从概念数据模型生成相应的逻辑数据模型,然后通过逻辑数据模型转换生成物理数据模型。另一种是从概念数据模型到相应的物理数据模型的直接转换,数据模型之间的转换,概念数据模型(CDM),物理数据模型(PDM),现实世界,转换,逻辑数据模型(LDM),转换,转换,提取。使用关系数据库时,物理数据模型是一个关系模型,其基本转换原则如下:1)将每个实体转换成一个表,实体的属性转换成表的列,实体的标识符转换成表的主键;2)将实体关系转换为表之间的引用完整性约束,即通过设置外键来引用主键。根据不同类型的关系,通过外键引用主键的方式是不同的。数据模型转换、表、表是用于在数据库中存储信息的数据结构,是从数据模型中的实体转换而来的。表记录关于实体的信息,这是数据库组织的基本对象。列是构成表的基本单位,是从数据模型中的属性转换而来的。一个表由多个列组成,每个列都有一种数据类型。第三,实体被转换成一个表。主键是唯一标识表中每个记录的一个或多个列的集合,它是从数据模型中的主标识符转换而来的。在物理数据模型中,每个表都必须有一个主键。主键通常由主键表示。候选键也是一组用于唯一标识表中记录的一列或多列,通常是从数据模型中的辅助标识符转换而来的。候选键通常用ak表示。3.主键和候选键。外键是与其他表相连的公共列。该列通常是其他表的主键。外键通常由数据模型中的实体关系生成。在系统物理数据模型的设计中,外键通常用fk表示。除了设计上述基本数据库对象,它们还包括数据库存储过程、触发器、视图、索引、约束规则等的设计。外键,它将实体转换为表。首先,为与实体同名的每个实体定义一个表。使用实体的标识符作为表的主键。然后,实体的属性被转换成表中的列,实体的标识符被转换成表的主键,并且代理键被确定。在关系数据库的设计中,当数据表中的候选关键字不适合主键时(例如,候选关键字的内容太大或复合候选关键字包含太多属性),代理关键字将被定义为主键。代理密钥由数据库管理系统自动生成,永远不会改变。它定义列的属性。将实体属性转换为表的列后,必须为每个列分配其属性,包括数据类型、空值状态、默认值和数字约束。数据类型:每个数据库管理系统都有自己的数据类型定义。对于每一列,它应该指出该列中存储的数据类型。空值状态:在表中插入新行时,某些列必须有值。对于这样的列,它们被标记为非空;有些列不允许输入任何值,并被标记为空。默认值:默认值是指在插入新行时,如果用户没有明确输入列的值,则由数据库管理系统自动设置的预设值。数字约束:某些列可能对数据值有限制。这些限制称为数据约束。,数据模型转换数据库设计步骤,为每个实体创建一个表,标准化所有表,创建表之间的主要外键约束,概念模型,关系模型(物理模型),步骤1,步骤2,步骤3,步骤4,弱实体转换表示,上述实体转换过程适用于所有实体类型,但弱实体有时需要特殊处理。弱实体在逻辑上依赖于另一个实体。非身份依赖的弱实体,身份依赖的弱实体标识符应该包含它所依赖的实体的标识符,因此有必要将依赖实体的标识符放入由身份依赖的弱实体转换生成的表中,并将身份依赖的弱实体的标识符一起转换成复合主键。标识依赖于弱实体。第五,实体关系转换表示1:1实体关系转换有两种转换方案。一种是将学生表的主键“学生号”作为外键放入赠款账户表。另一种方法是将授权帐户表的主键“account”作为外键放入学生表中。两种方案都是可行的,设计者可以根据应用情况做出自己的选择。1:N实体关系转换,1: n实体关系转换方法非常简单,两个实体分别转换成表,然后父实体表的主键作为外键放入子实体表。图5-9所示的实体关系被转换成表引用约束,M:N实体关系被转换,并且N:M实体关系不能像1:1和1:N实体关系那样被直接转换。不可能将任何实体表的主键作为外键放入另一个实体表中。则必须重新生成一个新表来表示两个实体之间的关系。新表的名称通常有两种命名方法,一种是以N:M关系命名,另一种是N:M关系两边的实体名称加下划线作为新表的名称。当实体继承关系转换为物理数据模型时,首先父实体和子实体分别转换为表,它们的属性转换为表的列。当处理继承关系转换时,父表中的主键被放入子表中,子表既充当主键又充当外键。对于1: n实体递归关系转换,递归实体首先被转换为表,其属性被转换为列,标识符被转换为主键。这些处理方法与前面描述的两个实体之间的转换一致。实体递归关系处理的特殊性在于关系连接同一个实体。我们可以理解,这种关系应该在相同的表对象之间实现。因此,客户表在逻辑上被认为是两个表,并且根据前面描述的1: n实体关系处理方法,1边表的主键作为外键被放入n边表中。对于M:N,实体递归关系是指发生在同一实体之间的多对多关系。例如,“医生”实体之间的M:N实体递归关系是一种多对多的实体递归关系,在这种关系中,每个医生可以看其他医生或接受其他医生的治疗。根据之前对N:M实体关系的转换过程,将关系两边的实体分别转换成表,并导出一个新的关联表,其表名就是关系的名称。5.2数据库表标准化设计,数据库表标准化设计是指减少数据库中的数据冗余,定义标准化的表间结构,实现数据的完整性和一致性。所谓的数据冗余是指在数据库的多个表中重复出现的一组数据。在数据库设计中,尽量避免表之间的重复数据列。标准化的数据库设计给数据库系统带来了以下好处:冗余数据被消除,同一数据只有一个副本保存在数据库中,有效地减少了维护数据一致性的工作量。合理的表依赖和约束关系旨在促进数据的完整性和一致性。设计了合理的数据库结构,以方便系统高效地访问和处理数据。1.功能依赖理论。功能依赖是一种数据依赖。它反映了属性或属性组之间相互依赖、相互制约的关系,即现实世界中的数据约束关系。在函数依赖理论中,定义了以下符号:R代表关系的模式,U=A1,A2,An是R的所有属性的集合,F是R中的函数依赖的集合,R是R所取的值,tX表示元组T在属性X上所取的值。函数依赖的定义:有一个关系模式R(U),X和y是其属性U的子集,即。设t,s是关系r中的任意两个元组,如果tX=sX,tY=sY。那么y函数依赖于x,或者x函数决定y。它也可以说是在关系模式R(U)下建立的。为了使函数依赖有效,不仅需要关系的当前值能够满足函数依赖条件,还需要关系的任何可能的值能够满足函数依赖条件。对于当前关系r的任何两个元组,如果x值相同,那么y值也需要相同。也就是说,对于每个x值,都有一个与之对应的y值。换句话说,Y的值是由X的值决定的,所以这种依赖性被称为函数依赖性。一些函数依赖,属性转移依赖,多值依赖,2。规范化形式,NF,是指关系表的规范化程度状态。范例的类型与数据依赖直接相关。当关系模式中存在功能依赖时,可能存在数据冗余,导致数据操作异常。数据冗余不仅浪费存储空间,而且使数据库难以保持数据一致性。范例可以用来确保数据库模式中没有各种类型的异常和不一致。规范化是将一组异常关系分解成更小的、结构良好的关系的过程,具有最小或没有冗余。规范化是一个正式的过程,它决定了关系中属性的分组方式。理论上,关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范例是第一范式(1NF)。在第一范式的基础上,进一步满足更多需求的第二范式(2NF)被调用,其余的范式被类比。高级范式总是包含低级范式的所有要求。规范形式1 (1NF):如果关系中的属性不能被细分,则关系满足第一范式。第二范式(2NF):如果关系满足第一范式并消除了关系中的属性部分依赖,则关系满足第二范式。例如,有一个关系(A,B,N,O,P),它的复合主键是(A,B)。那么不存在这样的情况,即N、O、P的三个非关键属性仅依赖于a或仅依赖于b,那么该关系满足第二范式,否则,它不满足第二范式。第三范式(3NF):如果关系满足第二范式并且关系中的属性转移依赖被切断,则关系满足第三范式。如果存在关系(A,N,O,P),并且主键是(A),则非键属性N,O或P不能由单个N,O或P或其组合来确定。这种关系满足第三种范式。BCNF范式:在该关系中,函数依赖的所有决定因素都是候选键,并且该关系满足BCNF范式。例如,在关系StudentNum(学生编号、姓名、电子邮件)中,决定因素StudentNum也是候选键,并且该关系满足BCNF范式。标准形4 (4NF):如果关系满足BCNF范式并且消除了多值依赖,则关系满足第四范式。多值依赖:假设关系模式是R(A,b,c),其中A,b是主键属性。如果在A处取一个特定值,而在B处取的一组值独立于在C处取的一组值,则称之为多值依赖。例如,假设一所学校的某一门课程是由许多使用同一套参考书的老师讲授的。教学关系模型(课程、教师、书籍)用来表达课程、教师和参考书之间的关系。,教学(课程、教师、书籍)之间的关系,属于BCNF范式;然而,它存在以下问题:1 .数据冗余很大,教师、课程名称和参考书的数量必须尽可能多地存储;2.手术很复杂。当一个教师被添加到一门课程中时,必须插入尽可能多的参考书。修改操作很复杂。某门课程需要修改参考书。课程中教师人数必须修改多少元组。产生这些问题的原因是参考书和教师的价值观是相互独立的。它们都依赖于课程名称,即存在多值依赖。练习:学生关系正常化,问题:它符合第一个范例吗?规范形式1:如果关系中的属性不能细分,则关系满足规范形式1。学生关系现在符合第一范式,但这种关系不符合第一范式,因为“联系信息”属性可以细分为“电话”、“电子邮件”等。问题:它符合第二种范式吗?如果关系满足第一范式并消除了关系中的属性部分依赖,则关系满足第二范式。分析:主键(学生编号、课程编号)(学生编号)系名(学生编号)地址部分相关,不符合第二范式方法:分解学生关系,“学生”关系和“课程分数”关系都符合第二范式,问题:它符合第三范式吗?如果关系满足第二范式,并且关系中的属性转移依赖被切断,则关系满足第三范式。(学生编号)部门名称,(部门名称)地址,所以(学生编号)地址。有转移依赖,它不符合第三范式。治疗:分解学生之间的关系。“学生”、“系信息”和“课程成绩”的关系都符合第三范式。问:它符合BCNF范式吗?“学生”、“系信息”和“课程结果”之间的关系都符合BCNF范式。问题:它符合第四种范式吗?BCNF范式:在一种关系中,所有函数依赖的决定因素都是主键,这种关系满足BCNF范式。分析:(部门号)办公室电话,(部门号)学生地址,而部门办公室电话与学生地址无关,可能有多个学生地址,因此存在多值依赖,不符合第四范式的处理方法:分解“部门信息”关系,第四范式:如果关系符合BCNF范式并消除了多值依赖,则关系符合第四范式。所有的关系都符合第四范式。第三,反规范化减少了数据冗余,易于确保数据完整性。然而,规范化也会导致数据库性能的降低。因此,在使用规范化设计数据库时,应该平衡两者之间的关系。标准化带来了结构的完整性和准确性,但也可能带来负面影响。也正是基于此,人们提出了反标准化设计的基本理念。所谓反规范化,就是减少甚至放弃范式约束,不再要求一个表只表达自己的表,而是适当冗余地添加具有一定依赖性的数据。反规范化的主要方法如下:(1)添加冗余列或派生列。如果应用系统的常见操作需要关联其他表中的数据,则应该将该列直接合并到当前表中,以使其在设计表时存在冗余,这称为冗余列。(2)当表被合并、划分和反规范化时,表的数量通常会减少,这降低了表连接操作的压力,并能有效地提高性能。然而,使用反规范化也会带来以下问题:(1)数据冗余的存在(2)数据库的完整性降低。反规范化是一把双刃剑,没有普遍意义。有必要根据事实来处理这件事。如果使用不当,会伤到自己。在5.3PowerDesigner项目的实践中,在第四章中,我们设计并完成了图书馆管理系统的概念模型设计,最终得到了如下的概念数据模型设计图。一、清洁发展机制向LDM的转换设计系统设计者还需要完善通过自动转换获得的LDM模型。其次,从清洁发展机制到产品数据管理的转换设计。在PowerDesigner建模工具中,单击“工具-生成实体数据模型.”菜单自动将当前LDM模型(或CDM模型)转换为物理数据模型。第三,系统产品

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论