数据库设计基础_第1页
数据库设计基础_第2页
数据库设计基础_第3页
数据库设计基础_第4页
数据库设计基础_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

数据库设计基础第1页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬实体与联系问题在软件开发过程中,数据库如何设计?在设计过程中要注意什么问题?实体实体:客观存在并可以相互区分的事物称为实体。属性:实体所具有的某一特性。实例:实体表示的是一类事物,其中的一个具体事物称之为该实体的一个实例。第2页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬实体标识符能唯一地标识出实体中的每一行的某个属性或属性的组合。联系就是实体与实体之间的联系。实体间的联系分为1对1、1对多和多对多三种。可以使用实体关系图(E-R图)描述实体与实体间的联系。第3页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬E-R模型数据库设计就是将现实世界的数据组织成数据库管理系统所采取的数据模型。利用E-R图来描述现实世界的信息结构,并将所描述的结果称为E-R模型。E-R图有3个要素实体:使用矩形表示,框内标注实体名称。属性:使用椭圆形表示,并用连线与实体连接起来。实体之间的联系:使用菱形框表示,框内注明联系名称,并用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。第4页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬学生选修课程的E-R图选课学生课程学号姓名年龄课程号课程名学分课程号成绩学号第5页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬关系模型关系模型概念

关系模型是通过表格数据来表示两个实体间的联系。关系就是一个具有下列特点的二维表格:表格中的每一列都是不可再分的基本数据项。每列的名字不同,同一列的数据类型相同。行的顺序无关紧要。列的顺无关紧要。关系中不允许有完全相同的两行存在。第6页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【注意】将关系称之为表,将关系中的行称之为元组,也称之为记录或行;将关系中的列称之为属性,也称之为字段或列。第7页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬E-R模型转换为关系模型

在关系型数据库中,实体和联系表现为表(table)。方法:一个实体或联系转换为一个表,属性就是表的列(字段),实体标识符就是表的主关键字。

【例】将学生选修课程的E-R图转换为关系模型。课程表(课程号,课程名,学分)学生表(学号,姓名,年龄)学生选课表(学号,课程号,成绩)第8页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬关系模型规范化关系模型规范化的目的是为了消除存储异常,减少数据冗余、保证数据的完整性(即数据的正确性和一致性)和存储效率,一般规范为Ⅲ范式即可。I范式(1NF)每个属性都是不可再分的基本数据项,则称该关系是I范式。存在数据冗余、数据不一致和维护困难等缺点,需要对关系模型进一步规范。第9页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例】设某单位的职工评价信息关系:评价(职工编号,姓名,工作表现(工作态度,业绩),综合评价,评价日期),对应元组如下表。

第10页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬前表不是一个规范化的关系,因为工作表现属性不是原子属性,包含了两个属性,因此必须把每个属性提升为一般属性,得到规范化的关系,如下表。第11页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬关系模型函数依赖

完全函数依赖部分函数依赖传递函数依赖第12页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬1.函数依赖的概念在数据库中,属性值之间会发生联系。例如每一本图书只有一个书号,每本书入库只有一个操作员等等。这类联系,称为函数依赖。关系理论中函数依赖是指关系中属性间的对应关系。如关系中对于属性(组)X的每一个值,属性(组)Y只有唯一的值与之对应,则称Y函数依赖于X,或称X函数决定Y,记为X→Y。其中,X称为决定因素。X→Y为模式R的一个函数依赖。

第13页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例】设有一个职工关系(职工编号,姓名,性别,所在部门),职工编号是关系的主键。对于该关系中的每一个职工的职工编号,都对应着姓名属性中的唯一值,即该职工的姓名,也就是说,一个职工的姓名由他的职工编号唯一确定,所以称职工编号函数决定姓名,或者称姓名函数依赖于职工编号,记作:职工编号→姓名,职工编号为该函数依赖的决定因素。同理,职工编号决定性别、所在部门等属性,分别记作:职工编号→性别,职工编号→所在部门。

第14页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬在一个关系中,可分析出许多依赖关系。函数依赖可区分为完全依赖、部分依赖和传递依赖三类。2.完全函数依赖若X、Y是关系R中属性(组),Y函数依赖X(X→Y)但Y函数不依赖X的任一真子集,则称Y完全函数依赖于X,记作XY。第15页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例】在职工关系(职工编号,姓名,性别,所在部门)中,职工编号同其他每个属性之间的函数依赖都是完全函数依赖,即职工编号姓名,职工编号性别,职工编号所在部门。因为职工编号不可能再包含其他的任何属性,也不可能存在真子集函数决定其他每一个属性的情况。第16页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬3.部分函数依赖若X、Y为关系R中的属性(组),如Y函数依赖X(X→Y),且X中存在真子集X‘(即X‘X),满足Y函数依赖X‘(X'→Y),则称Y部分函数依赖于X。

第17页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例2.10】职工关系(职工编号,姓名,性别,所在部门)中,属性组(职工编号,性别)的值能够决定相应职工所在的部门,但其真子集中的职工编号也能函数决定所在部门,所以所在部门部分函数依赖于(职工编号,性别)。

第18页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬4.传递函数依赖设X、Y、Z是关系R(U)的属性集上的子集,其中Y函数依赖X(X→Y),Z函数依赖Y(Y→Z),但X不函数依赖于Y,则称Z传递函数依赖于X,记作:X。

注意:这里必须强调X不函数依赖于Y,因为如果X→Y同时Y→X,则为XY,这样X和Y是等价的,在函数依赖中是可以互换的,X→Z就是直接函数依赖,而不是传递函数依赖。第19页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬II范式(2NF)

II范式首先是I范式,而且每一个非主属性完全依赖于任何关键字。如果一个关系只满足第一范式,那么可能会带来数据冗余和操作异常,即插入异常、删除异常和修改异常。第20页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例】设有一个图书销售关系TSXS(书号,书名,出版社,作者,单价,数量,折扣,日期,操作员帐号,姓名,密码)中,每位操作员可以销售多种书,每种书可由多个操作员销售。TSXS具体实例如下表。第21页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬在该关系中,由于书号和操作员帐号属性没有决定因素,所以它们包含在候选键中,而由这两个属性构成属性组则能够函数决定所有属性,因此(书号,操作员帐号)是关系的主键。在该关系中存在着非主属性对主键的部分依赖,其中书名、出版社、作者、单价、库存数量、折扣依赖于书号,姓名、密码依赖于操作员帐号,所以该关系中必然存在数据冗余,在对该关系进行插入、删除和修改时,也会带来意外的麻烦。

第22页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬我们可以通过关系分解的方法来消除部份依赖。对应的图书销售关系TSXS可分解成以下几个关系:图书(书号,书名,出版社,单价,折扣)操作员(操作员帐号,姓名,密码)销售(书号,操作员帐号,数量)第23页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【说明】不符合2NF的关系R规范化为第二范式的方法:对于一个关系R(U),假定W、X、Y、Z是U的互不相交的属性子集,其中(W,X)是主键,X完全函数决定Y,(W,X)函数决定Z,但Z中不含依赖于X的属性,则把R(U)分解为两个关系R1(X,Y)和R2(W,X,Z)后就取消了Y对(W,X)的部分依赖,其中X是R1的主键和R2的外键,通过X使R1和R2自然连接仍然可得到原来的R(U)。同理,若R2(W,X,Z)中仍存在着部分依赖,仍可以按此方法继续分解,直到消除全部部分依赖为止。第24页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬III范式(3NF)

III范式首先是II范式,且关系中的任何一个非主属性都不传递依赖于任何关键字。一个符合第三范式的关系必须具有以下三个条件(1)每个属性的值唯一,不具有多义性。(2)每个非主属性必须完全依赖于整个主键,而非主键的一部分。(3)每个非主属性不能依赖于其他关系中的属性。从以上可知,2NF可从1NF关系消除非主属性对主键的部分函数依赖后获得,3NF关系可从2NF关系消除非主属性对主键的传递函数依赖后获得。第25页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬【例】图书销售关系(流水号,书号,书名,数量,入库价,销售价,入库时间,操作员账户,姓名,密码,销售日期,总金额),一个流水号只由一个操作员帐号处理,一个操作员帐号可以处理多个流水号,而操作员帐号决定操作员姓名、密码,所以图书销售关系中函数依赖关系如下:流水号→书号,流水号→操作员帐号,书号→书名,书号→数量,书号→入库价,书号→销售价,书号→入库时间,操作员帐号→姓名,操作员帐号→密码,流水号→销售日期,流水号→总金额。

第26页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬在图书销售关系中,只有流水号没有决定因素,所以流水号属性必然包含在候选键中,由流水号可以直接决定书号、操作员帐号、销售日期、总金额等属性,同时流水号传递决定书名、数量、入库价、销售价、入库时间、姓名、密码等属性,所以流水号能函数决定所有属性,流水号用作该关系的主键。由于该关系是单属性候选键,所以不会存在部分函数依赖,它自然满足第二范式。由于该关系中存在着书的各属性对流水号的传递依赖,存在着操作员各属性对流水号的传递依赖,所以必然会产生数据冗余和操作异常。第27页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬消除关系中的传递依赖也是通过关系分解的方法来实现。设一个关系为R(U),X、Y、Z、W是U的互不相交的属性子集,其中X为主键,Y→Z是直接函数依赖(也可能包含部分函数依赖),X→Z是传递函数依赖,则把R(U)分解成两个关系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主键,R2是外键,这样就消除了Z对X的传递依赖,通过Y对R1和R2自然连接仍可得到原来的R,同样,若R1和R2中仍存在着传递依赖,则继续按此方法分解下去,直到消除全部传递依赖为止。

第28页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬对图书销售关系进行分解,分解得到三个关系:销售(流水号,书号,操作员账户,销售日期,总金额)图书(书号,书名,数量,入库价,销售价,入库时间)操作员(操作员账户,姓名,密码)从分解后的三个关系可以看出,每个关系都没有传递依赖,所以都是第三范式。规范化的过程就是通过关系的投影分解逐步提高关系范式等级的过程。从第一范式到第三范式,其过程可以表示为

INF

2NF

3NF第29页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬关键字关键字的概念是能唯一标识每一行的列或列的组合。也可称之为关键码、码或键。候选关键字一个表可能有多个关键字,选定其中一个作为主关键字。其余的称为候选关键字。公共关键字连接两个表的公共属性。第30页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬外关键字(外键)亦称为外键或外码,它由一个表中的一个属性或多个属性所组成。外关键字能表示另一个表的主关键字,实际上外关键字本身只是主关键字的拷贝,它是公共关键字。第31页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬主表与从表

主键所在的表称之为主表,外键所在的表称为从表。第32页,课件共37页,创作于2023年2月版权所有:中国信息大学信息工程学院计算机系严芬数据完整性

数据完整性

数据完整性就是关系(表)中数据的正确性和一致性。域完整性(用户定义的完整性):要求表中列的值满足一定要求。如性别列的值只能是男或女。表完整性(实体完整性):要求表中的行有一个唯一标识符,即表有主关键字。参照完整

温馨提示

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

评论

0/150

提交评论