失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 关系型数据库设计

关系型数据库设计

时间:2023-12-06 12:14:44

相关推荐

关系型数据库设计

目录

一、本章目标

二、为什么需要设计数据库

三、设计数据库的步骤

四、数据库设计E-R图

4.1为什么使用E-R图

4.2绘制E-R图

4.3实体间的映射关系

五、数据库设计模型转换

5.1关系型数据库设计分类

5.2各模型之间的元素对应关系

5.3基本转换原理

5.4将实体关系转化为表之间的引用完整性约束

六、PowerDesigner软件

6.1PowerDesigner简介

6.2.使用PowerDesigner绘制数据库模型图

七、数据库设计范式

7.1第一范式 (1st NF)

7.2第二范式 (2nd NF)

7.3第三范式 (3nd NF)

八、本章总结

一、本章目标

二、为什么需要设计数据库

良好的数据库设计

降低应用程序的开发难度

具备高效的查询效率

具备良好的扩展性

糟糕的数据库设计

出现数据操作异常、修改复杂、数据冗余等问题

影响程序的性能,甚至会导致程序崩溃

数据库设计是对数据库中实体以及这些实体之间的关系进行规划和结构化的过程

三、设计数据库的步骤

收集信息通过对业务人员的访谈等方法,充分了解用户需求,理解数据库需要存储的业务信息(数据)及需要提供的操作

标识实体 (Entity)

标识数据库要管理的关键对象或实体,实体一般是名词

标识实体之间的关系(Relationship)

四、数据库设计E-R图

4.1为什么使用E-R图

4.2绘制E-R图

E-R图:Entity Relationship Diagram

也称为实体-关系图

通过一些具有特定含义的图形符号提供了实体类型、属性和联系的方法

4.3实体间的映射关系

五、数据库设计模型转换

5.1关系型数据库设计分类

概念数据模型设计 ​

逻辑数据模型设计 ​

物理数据模型设计

5.2各模型之间的元素对应关系

5.3基本转换原理

将E-R图中每一个实体转换成一个表,实体的属性转换为表的列,实体的标识符转换为表的主键

将实体关系转化为表之间的引用完整性约束

根据关系的不同类型,通过外键引用主键的方式有所不同

5.4将实体关系转化为表之间的引用完整性约束

一对多关系的两个实体

一般会各自转换为一张表,且后者对应的表引用前者对应的表

一个表中的主键对应另一个表中可重复的字段

主键的值是不能重复的,关联的字段是可以重复的

存在一个值对应一个值(一对一)或者一个值对应多个值(一对多) 一对一关系的两个实体

一般是一个主键对应一个不可重复的字段

多对多关系的两个实体

除了将多对多关系中的两个实体各自转换为表外,一般还会创建第3个表,称为连接表

将多对多关系划分为两个一对多关系,将这两个表主键都插入到第3个表中

六、PowerDesigner软件

6.1PowerDesigner简介

Sybase公司开发的一款强大的数据库设计软件

开发人员经常使用的数据库建模工具

能够使用设计好的数据库模型直接生成SQL建表语句,极大的提升数据库的开发效率,使用PowerDesigner可以快速创建表,支持表与表之间建立关系,界面简洁,功能强大。同时支持将sql脚本导出,多种导出类型任意挑选,简单实用 PowerDesigner16.5下载地址:PowerDesigner官方下载-PowerDesigner16.5中文版免费下载-华军软件园

6.2.使用PowerDesigner绘制数据库模型图

实现步骤

打开Powerdesigner软件

创建模型(new Model)

绘制数据库模型图效果

(1)创建表实体

(2)添加属性

(3)添加实体之间的映射关系

生成SQL代码

创建数据库模型图后,数据库脚本的方式

生成单个表的数据库脚本

批量生成数据库中的所有数据表的脚本

七、数据库设计范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则

实际开发中最为常见的关系型数据库设计范式

第一范式

第二范式

第三范式

7.1第一范式 (1st NF)

第一范式的目标是确保每列保持原子性

如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

7.2第二范式 (2nd NF)

第二范式的目标是确保表中的每列都和主键相关

要求每个表只描述一件事情

7.3第三范式 (3nd NF)

第三范式的目标是确保每列都和主键列直接相关,而不是间接相关

如果一个关系满足第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)

八、本章总结

如果觉得《关系型数据库设计》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。