数据库设计基础幻灯片.ppt

上传人:石*** 文档编号:87561222 上传时间:2023-04-16 格式:PPT 页数:37 大小:1.52MB
返回 下载 相关 举报
数据库设计基础幻灯片.ppt_第1页
第1页 / 共37页
数据库设计基础幻灯片.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《数据库设计基础幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库设计基础幻灯片.ppt(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库设计基础第1页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬实体与联系o问题 在软件开发过程中,数据库如何设计?在设计过程中要注意什么问题?p实体n实体:客观存在并可以相互区分的事物称为实体。n属性:实体所具有的某一特性。n实例:实体表示的是一类事物,其中的一个具体事物称之为该实体的一个实例。第2页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬o实体标识符 能唯一地标识出实体中的每一行的某个属性或属性的组合。o联系 就是实

2、体与实体之间的联系。实体间的联系分为1对1、1对多和多对多三种。可以使用实体关系图(E-R图)描述实体与实体间的联系。第3页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬E-R模型o数据库设计就是将现实世界的数据组织成数据库管理系统所采取的数据模型。利用E-R图来描述现实世界的信息结构,并将所描述的结果称为E-R模型。oE-R图有3个要素n实体:使用矩形表示,框内标注实体名称。n属性:使用椭圆形表示,并用连线与实体连接起来。n实体之间的联系:使用菱形框表示,框内注明联系名称,并用连线将菱形框分别与有关实体相连,

3、并在连线上注明联系类型。第4页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬学生选修课程的E-R图选课学生课程学号姓名年龄课程号课程名学分课程号成绩学号第5页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬关系模型o关系模型概念 关系模型是通过表格数据来表示两个实体间的联系。关系就是一个具有下列特点的二维表格:n表格中的每一列都是不可再分的基本数据项。n每列的名字不同,同一列的数据类型相同。n行的顺序无关紧要。n列的顺无关紧要。n

4、关系中不允许有完全相同的两行存在。第6页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【注意】将关系称之为表,将关系中的行称之为元组,也称之为记录或行;将关系中的列称之为属性,也称之为字段或列。第7页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬oE-R模型转换为关系模型 在关系型数据库中,实体和联系表现为表(table)。方法:一个实体或联系转换为一个表,属性就是表的列(字段),实体标识符就是表的主关键字。【例】将学生选修课程

5、的E-R图转换为关系模型。课程表(课程号,课程名,学分)学生表(学号,姓名,年龄)学生选课表(学号,课程号,成绩)第8页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬关系模型规范化o关系模型规范化的目的是为了消除存储异常,减少数据冗余、保证数据的完整性(即数据的正确性和一致性)和存储效率,一般规范为范式即可。vI范式(1NF)每个属性都是不可再分的基本数据项,则称该关系是I范式。存在数据冗余、数据不一致和维护困难等缺点,需要对关系模型进一步规范。第9页,共37页,编辑于2022年,星期六版权所有:中国信息大学信

6、息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【例】设某单位的职工评价信息关系:评价(职工编号,姓名,工作表现(工作态度,业绩),综合评价,评价日期),对应元组如下表。第10页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 前表不是一个规范化的关系,因为工作表现属性不是原子属性,包含了两个属性,因此必须把每个属性提升为一般属性,得到规范化的关系,如下表。第11页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严

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

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

9、工程学院计算机系 严芬严芬 在一个关系中,可分析出许多依赖关系。函数依赖可区分为完全依赖、部分依赖和传递依赖三类。2.完全函数依赖完全函数依赖 若、是关系中属性(组),函数依赖()但函数不依赖的任一真子集,则称完全函数依赖于,记作 。第15页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【例】在职工关系(职工编号,姓名,性别,所在部门)中,职工编号同其他每个属性之间的函数依赖都是完全函数依赖,即 职工编号 姓名,职工编号 性别,职工编号 所在部门。因为职工编号不可能再包含其他的任何属性,也不可能存在真子集函数决

10、定其他每一个属性的情况。第16页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬3.部分函数依赖部分函数依赖 若X、Y为关系中的属性(组),如Y函数依赖X(XY),且中存在真子集X(即X X),满足函数依赖X(XY),则称Y部分函数依赖于X。第17页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【例2.10】职工关系(职工编号,姓名,性别,所在部门)中,属性组(职工编号,性别)的值能够决定相应职工所在的部门,但其真子集中的职工编号

11、也能函数决定所在部门,所以所在部门部分函数依赖于(职工编号,性别)。第18页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬4.传递函数依赖传递函数依赖 设、是关系(U)的属性集上的子集,其中函数依赖(),函数依赖(),但不函数依赖于,则称传递函数依赖于,记作:。注意:这里必须强调不函数依赖于,因为如果同时,则为 ,这样和是等价的,在函数依赖中是可以互换的,就是直接函数依赖,而不是传递函数依赖。第19页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院

12、计算机系 严芬严芬vII范式(2NF)II范式首先是I范式,而且每一个非主属性完全依赖于任何关键字。如果一个关系只满足第一范式,那么可能会带来数据冗余和操作异常,即插入异常、删除异常和修改异常。第20页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【例】设有一个图书销售关系TSXS(书号,书名,出版社,作者,单价,数量,折扣,日期,操作员帐号,姓名,密码)中,每位操作员可以销售多种书,每种书可由多个操作员销售。TSXS具体实例如下表。第21页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院

13、计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 在该关系中,由于书号和操作员帐号属性没有决定因素,所以它们包含在候选键中,而由这两个属性构成属性组则能够函数决定所有属性,因此(书号,操作员帐号)是关系的主键。在该关系中存在着非主属性对主键的部分依赖,其中书名、出版社、作者、单价、库存数量、折扣依赖于书号,姓名、密码依赖于操作员帐号,所以该关系中必然存在数据冗余,在对该关系进行插入、删除和修改时,也会带来意外的麻烦。第22页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 我们可以通过关系分解的方法来

14、消除部份依赖。对应的图书销售关系TSXS可分解成以下几个关系:图书(书号,书名,出版社,单价,折扣)操作员(操作员帐号,姓名,密码)销售(书号,操作员帐号,数量)第23页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【说明】不符合2NF的关系R规范化为第二范式的方法:对于一个关系R(U),假定W、X、Y、Z是U的互不相交的属性子集,其中(W,X)是主键,X完全函数决定Y,(W,X)函数决定Z,但中不含依赖于的属性,则把R(U)分解为两个关系R1(X,Y)和R2(W,X,Z)后就取消了Y对(W,X)的部分依赖,其

15、中X是R1的主键和R2的外键,通过X使R1和R自然连接仍然可得到原来的R(U)。同理,若R2(W,X,Z)中仍存在着部分依赖,仍可以按此方法继续分解,直到消除全部部分依赖为止。第24页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬vIII范式(3NF)III范式首先是II范式,且关系中的任何一个非主属性都不传递依赖于任何关键字。一个符合第三范式的关系必须具有以下三个条件(1)每个属性的值唯一,不具有多义性。(2)每个非主属性必须完全依赖于整个主键,而非主键的一部分。(3)每个非主属性不能依赖于其他关系中的属性。

16、从以上可知,2NF可从1NF关系消除非主属性对主键的部分函数依赖后获得,3NF关系可从2NF关系消除非主属性对主键的传递函数依赖后获得。第25页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬【例】图书销售关系(流水号,书号,书名,数量,入库价,销售价,入库时间,操作员账户,姓名,密码,销售日期,总金额),一个流水号只由一个操作员帐号处理,一个操作员帐号可以处理多个流水号,而操作员帐号决定操作员姓名、密码,所以图书销售关系中函数依赖关系如下:流水号书号,流水号操作员帐号,书号书名,书号数量,书号入库价,书号销售价

17、,书号入库时间,操作员帐号姓名,操作员帐号密码,流水号销售日期,流水号总金额。第26页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 在图书销售关系中,只有流水号没有决定因素,所以流水号属性必然包含在候选键中,由流水号可以直接决定书号、操作员帐号、销售日期、总金额等属性,同时流水号传递决定书名、数量、入库价、销售价、入库时间、姓名、密码等属性,所以流水号能函数决定所有属性,流水号用作该关系的主键。由于该关系是单属性候选键,所以不会存在部分函数依赖,它自然满足第二范式。由于该关系中存在着书的各属性对流水号的传递依

18、赖,存在着操作员各属性对流水号的传递依赖,所以必然会产生数据冗余和操作异常。第27页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 消除关系中的传递依赖也是通过关系分解的方法来实现。设一个关系为R(U),X、Y、Z、W是U的互不相交的属性子集,其中X为主键,YZ是直接函数依赖(也可能包含部分函数依赖),XZ是传递函数依赖,则把R(U)分解成两个关系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主键,R2是外键,这样就消除了Z对X的传递依赖,通过Y对R1和R2自然连接仍可得到原来的R,同样,若R1和R2中仍存

19、在着传递依赖,则继续按此方法分解下去,直到消除全部传递依赖为止。第28页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬 对图书销售关系进行分解,分解得到三个关系:销售(流水号,书号,操作员账户,销售日期,总金额)图书(书号,书名,数量,入库价,销售价,入库时间)操作员(操作员账户,姓名,密码)从分解后的三个关系可以看出,每个关系都没有传递依赖,所以都是第三范式。规范化的过程就是通过关系的投影分解逐步提高关系范式等级的过程。从第一范式到第三范式,其过程可以表示为 INF 2NF 3NF第29页,共37页,编辑于2

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

21、它是公共关键字。第31页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬v主表与从表 主键所在的表称之为主表,外键所在的表称为从表。第32页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬数据完整性 o数据完整性 数据完整性就是关系(表)中数据的正确性和一致性。o域域完完整整性性(用户定义的完整性):要求表中列的值满足一定要求。如性别列的值只能是男或女。o表表完完整整性性(实体完整性):要求表中的行有一个唯一标识符,即表有主关键字。

22、o参照完整性参照完整性(引用完整性):要求有关系的表数据保持一致。第33页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬oSQL Server 2000保证数据完整性的机制n数据类型、规则、默认值保证域的完整性;n唯一索引、主关键字保证表的完整性;n主关键字和外关键字、触发器保证参照完整性。第34页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬p保证参照完整性的规则保证参照完整性的规则 1.当在从表作Insert时,要保证外关键

23、字的值一定在主表中存在。2.当在主表中修改了主关键字值,则在从表中要同步修改,或禁止修改主表。3.当在从表中修改外关键字值,要保证修改的值在主表中存在。4.当删除主表记录,要注意从表中是否引用主关键字。若有,则禁止删除或同步删除从表记录。第35页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬练习 o练习 对图书借阅管理作简单的需求分析,建立实体关系模型,画E-R图,然后转换为合理的数据库表。要求:1确定各表主键。2按照3NF的要求验证表结构是否合理。3确定表间关系,明确外键。4.考虑数据完整性。第36页,共37页,编辑于2022年,星期六版权所有:中国信息大学信息工程学院计算机系版权所有:中国信息大学信息工程学院计算机系 严芬严芬本章小节o实体和关系模型。oE-R图三要素。o关系模型要规范到3NF、主键、外键。o保证数据完整性。第37页,共37页,编辑于2022年,星期六

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com