一文看懂数据库设计之逻辑设计,值得收藏

数据库逻辑设计是从事数据库应用设计、开发、运行维护等各方面工作的一个重要的基础性工作。根据不同业务和应用需求,确定并遵循数据库逻辑设计原则,例如按照第三范式开展逻辑设计,不仅能满足减少数据冗余、保证数据一致性和完整性、易扩展性和伸缩性等需求,也是保障系统高性能的一个重要基础。

1、全表扫描案例

从一个案例来看,例如查询“喜欢语文的所有学生”

2、原因

1、概念总结

1)将需求转化成数据库的逻辑模型

2)通过ER图的型式对逻辑模型进行展示

3)同所选用的具体的DBMS系统无关

2、名词解释

关系:一个关系对应通常所说的一张表

元组:表中的一行即为一个元组

属性:表中的一列即为一个属性,每一个属性都有一个名称,称为属性名

候选码:表中的某个属性组,它可以唯一确定一个元组

主码:一个关系有多个候选码,选定其中一个为主码

域:属性的取值范围

分量:元组中的一个属性值

3、ER图例说明

矩形:表示实体集,矩形内写实体集的名字

菱形:表示联系集

椭圆:表示实体的属性

线段:将属性连接到实体集,或将实体集连接到联系集

4、数据操作异常及数据冗余

插入异常:如果某实体随着另一个实体的存在而存在,即缺少某个实体时无法表示这个实体,那么这个表就存在插入异常。

更新异常:如果更改表所对应的某个实体实例的单独属性时,需要将多行更新,那么就说这个表存在更新异常。

删除异常:如果删除表的某一行来反映某实体实例,失效时导致另一个不同实体实例信息丢失,那么这个表中就存在删除异常。

注意:若一个表中存在插入异常,那它肯定存在删除异常和更新异常。

数据冗余:是指相同的数据在多个地方存在,或者说表中的某个列可以由其他列计算得到,这样就说表中存在数据冗余。

1、第一范式(所有属性必须是单值)

定义:数据库表中的所有字段都是单一属性,不可再分的。这个单一属性是由基本的数据类型所构成的,如整数,浮点数,字符串等,换句话说,第一范式要求数据库中的表都是二维表。(二维表就是由行和列组成的表)

2、第二范式(所有属性必须依赖于该实体的唯一标识属性)

定义:数据库的表中不存在非关键字段对任一候选关键字段的部分函数依赖。部分函数依赖是指存在着组合关键字中的某一关键字决定非关键字的情况。

换句话说:所有单关键字的表都符合第二范式。

修改后的:

通俗解释:

完全依赖:表中只有一个关键字(即主键),其他属性的增删改查的时候定位到这一行都是依赖此关键字的。

第二范式:只能有一个主键,不能有复合主键,可以就满足了第二范式。

由于供应商和商品之间是多对多的关系,所以只有使用商品名称和供应商名称才可以唯一标识出一件商品,也就是商品名称和供应商名称是一组组合关键字。

上表中存在以下的部分函数依赖关系

3、第三范式(没有一个非唯一标识属性依赖于另一个非唯一标识属性)

定义:第三范式是在第二范式的基础上定义的,如果数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖则符合第三范式。

存在问题:

(分类,分类描述)对于每一个商品都会进行记录,所以存在数据冗余,同时也会存在数据deep插入、更新及删除异常。

4、BC范式

定义:在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合BC范式。也就是说如果是复合关键字,则复合关键字之间也不能存在函数依赖关系

存在下列关系因此不符合BCNF要求:

(供应商)—>(供应商联系人)(供应商联系人)—>(供应商)并且存在数据操作异常及数据冗余

第一,二,三范式解决的是非主属性的关系。BC范式解决的是主属性的关系;

第一范式:就是原子性,字段不可再分割,(列属性不能在细分为子列)

第二范式:就是完全依赖,没有部分依赖;(非主属性不能依赖于主键的一部分,要完全依赖于主键(主键是复合键))

第三范式:没有传递函数依赖。(非主属性之间的依赖)

BC范式:解决部分主键依赖于非主键部分(复合关键字之间也不能存在函数依赖关系)。

THE END
1.数据库原理?四数据库设计和规范化理论需求分析的主要任务是通过详细调查所要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作状况以及工作流程,明确用户的各种需求,生成业务流程图和数据流图,然后在此基础上确定新系统的功能,并撰写系统说明书。新系统不能只按当前应用需求来设计数据库,必须充分考虑今后可能...https://developer.aliyun.com/article/1232854
2.数据库设计(ER图与逻辑结构表)示例20211104184338.docx数据库概念设计数据库 E-R 设计图图 1:数据库E-R 设计图 E-R设计图说明实体名称实体描述雇员雇员的基本信息表 1 数据库 实体名称实体描述雇员雇员的基本信息食品食品食品的基本信息顾客顾客的基本信息订单订单的基本信息菜单菜单的基本信息数据库逻辑设计数据库逻辑模式结构数据表中文名数据表中文名数据表名备注雇员...https://max.book118.com/html/2021/1104/6243115221004041.shtm
3.基于UML建模的盐系统设计与实现AET2.3 数据库逻辑结构设计 将数据库的概念设计,即将E-R图的实体关系转换成逻辑关系模型,结合濮阳职业技术学院的实际需要设计本选课系统数据库,本系统设计了14张数据表和2个视图。 (1)院系信息表DeptInfo(院系编号、院系名称)。 (2)教学楼信息表BuildingInfo(教学楼编号、教学楼名称)。 (3)排课表Arrange(排课编号...http://www.chinaaet.com/article/151293
4.院校信息计算机安全概述;数据库安全性控制;视图机制;审计;数据加密;统计数据库安全 第五章数据库完整性 实体完整性;参照完整性;用户定义完整性;完整性约束命令子句 第六章关系数据理论 规范化;数据依赖的公理系统;模式的分解 第七章数据库设计 数据库设计概述;需求分析;概念结构设计;逻辑结构设计;数据库的物理设计;数据库的...https://yz.chsi.com.cn/wap/sch/detail?schId=367894&categoryId=442342&infoId=81515157
1.数据库逻辑结构设计数据库逻辑结构设计逻辑结构设计的任务 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化 ...https://blog.csdn.net/wangzi11322/article/details/45576345
2.数据库设计逻辑架构图数据库逻辑结构图数据库设计 逻辑架构图 数据库逻辑结构图 一、MySql架构 逻辑架构,如图: 连接器(Connectors) 系统管理和控制工具(Management Services & Utilities) 链接池(Connection Pool) SQL Layer——MySql业务层 SQL接口(SQL Interface) 接收SQL DML DDL 解析器(Parser)...https://blog.51cto.com/u_14587/8922879
3.系统数据库的概念结构,逻辑结构,物理结构设计方法数据库的逻辑设计的任务是把概念设计阶段设计好的基本E-R图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。 在教材上,这一部分是要求根据E-R图写关系模式,并标出主键外键。 例如 仓库( 仓库号,地点、面积) 仓库号有下划线 自己是使用PowerDesigner对表做了设计,如下所示。 https://cloud.tencent.com/developer/article/2153995
4.空间数据库设计的过程和步骤开源地理空间基金会中文分会开放...将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的D BMS。 将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则: ...https://www.osgeo.cn/post/7461g
5.数据库及其应用2017年4月真题自考A.数据定义 B.数据操作 C.数据库运行管理 D.数据库维护 2.从用户使用数据的观点描述数据库局部逻辑结构的模型称为( ) A.外部模型 B.逻辑模型 C.概念模型 D.物理模型 3.“为一个给定的逻辑结构选定存储结构和存取方法”属于数据库设计的( ) A.需求分析阶段 ...https://www.educity.cn/zikao/27291.html
6.数据库设计图数据库设计图 E-R图:ConceptualDataModel 逻辑结构图:LogicalDataModel 物理结构图:PhysicalDataModelhttps://www.jianshu.com/p/80ca18770b09
7.数据库模型图使用免费的模板和示例创建数据库模型图。创建数据库模型图变得前所未有的容易! 数据库模型图 数据库模型图(DMD)以一种全面和逻辑的形式,描述文件和他们相互之间的关系。 DMD允许您编辑实体的定义并且定义实体之间的关系。 亿图数据库模型图软件是一个使用简便和界面直观的数据库设计工具,并且数据库模型图工具能够为您...https://www.edrawsoft.com/cn/database-model-diagram-solutions.php