数据库数据表设计的引路人

数据库数据表设计的引路人

引言✨🌟帅的人都先看我

数据库设计一般交由后端开发人员直接设计(无论是否有经验),而不会让经验丰富的开发人员包揽(做评审即可)。

  1. 数据没必要一次完整的设计出来,开发过程中,难免会对数据库进行调整的,保证数据的骨架没有问题 【 增删字段、添加中间表、加视图都不会造成多大的影响 】
  2. 数据库设计是后端部分需求转换的过程(一般业务),类比原型设计是前端部分需求转化的过程,通过数据库分库、分表就能大致划分后端功能结构,如果后端开发人员跳过了数据库的设计,大概率会出现分不清功能结构的状况,只能根据页面原型猜测需要哪些接口,这种看到一个功能开发一个接口的工作模式,大多数情况会出现开发进度不可控、开发了多余的接口、漏写接口的问题,故数据库设计是每个后端人员都必须掌握的技能

1 设计数据库流程

在这里插入图片描述

1 三步走

  1. 确定实体及其关系:实体(现实世界数据)转换为信息模型(E-R)
  2. E-R图转换为关系模型()
  3. 进行规范化处理(三范式)

2 三范式介绍(不需要必须都满足)

  1. 第一范式(1NF):表中的每个字段都应是原子性的,不可再分。这意味着每个字段不应包含多个值或数组。
  2. 第二范式(2NF):表中的非主键字段应完全依赖于主键。如果一个表具有复合主键,那么非主键字段应该依赖于整个复合主键,而不是部分主键。
  3. 第三范式(3NF):除了满足第二范式的要求,还要求非主键字段之间不应该存在传递依赖。也就是说,非主键字段不应该依赖于其他非主键字段。

3 不需要三范式都满足的情况举例(因为业务需要而添加冗余数据)

1 订单表

在电子商务中,订单通常包括客户信息、商品信息和交易信息。如果您严格满足三范式,可能需要将这些信息分散存储在不同的表中,并使用外键进行关联。但为了提高查询性能,您可能会考虑将一些客户信息和商品信息冗余存储在订单表中

2 博客评论表

假设您正在设计一个博客网站的数据库,其中有博客文章和评论。评论通常会关联到特定的博客文章,如果您严格满足三范式,可能需要在评论表中存储博客文章的主键,而不是直接将博客文章标题或内容存储在评论表中。但为了提高查询性能和减少联接操作,您可能会考虑在评论表中冗余存储博客文章的标题或内容

2 案例分析

  1. 用户注册:输入用户号、用户名、密码、性别、住址、邮箱及电话进行注册,注册成功以后就可以按产品的分类浏览网站

  2. 商品管理:为管理员所用,管理员可以增加商品分类,可以为每个分类增加商品,其中商品包括商品号、商品名、商品分类、市场价格、当

    前价格、数量及商品介绍

  3. 用户订购商品:当用户看中某个商品时,可以加入购物车;当用户选择完毕时,就可以购买下单了。购买涉及订单、订单明细,其中,订单包括订单号、订单日期、订单总价、订单状态等信息;而对于每个订单,有订单明细表,列出了所购商品号、单价和数量

1 第一步:根据商城业务逻辑建立E-R图

实体:①用户、②商品、③订单

关系:当用户需要购买商品时,需要下单,此时订单与用户发生关联。用户与订单是一对多的联系
下单时,订单与商品发生关联,订单与商品是多对多的联系

在这里插入图片描述

2 第二步:E-R图转换为关系模型(将关系细分为数据表)

选购关系转换为选购表:(商品号、订单号、单价、数量)

属于关系转换为订单表:(订单号、用户号、订单日期、订单总价、订单状态)

在这里插入图片描述

此时存在两个订单表,为满足对应关系,保留包含用户号的订单表即可

在这里插入图片描述

3 第三步:进行规范化处理(三范式)

1NF:每列不可再分,原子性

满足

2NF:非主键字段完全依赖主键字段

商品表的商品分类字段不依赖与商品表,故将划分出商品分类表(分类号、分类名称),使用分类号代替原先的商品分类字段即可

3NF:非主键字段不存在传递依赖

在这里插入图片描述

在这里插入图片描述

🌟得出最终版的数据库关系模型

在这里插入图片描述

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《数据库原理教程》是一本介绍数据库基本概念、原理和应用的入门教材。该书作者为范明,第二版PDF在全网开放下载。范明教授是中国信息学界知名专家,其在数据库领域的研究成果卓著。因此,该书详细地介绍了数据库概念、数据库设计方法、数据库管理系统等相关知识,并围绕着数据库的各种应用场景,例如数据仓库、数据挖掘、面向对象数据库、分布式数据库等,展开了深入浅出的阐述。此外,书中还介绍了SQL语言和关系代数等数据库操作技术,区分了关系型数据库和非关系型数据库,并着重强调了数据安全和数据质量管理的重要性。 总的来说,《数据库原理教程范明第二版PDF》是一本系统全面、易于理解的数据库入门教材。无论对于计算机专业学生还是对数据库有一定了解的人士,都能够从中汲取到丰富的知识。同时,该书对于希望深入了解数据库领域技术的人士,也提供了更深层次的思考和探索方向。对于想要成为空间数据分析、数据挖掘等领域专家的人来说,这本书是一个绝佳的引路教材。 ### 回答2: 《数据库原理教程》是一本介绍数据库理论和实践的经典教材,在学习数据库的过程中具有重要的指导作用。范明第二版《数据库原理教程》包含了数据库基础知识、关系模型、SQL语言、数据库设计和应用开发等内容。本书注重理论和实践的结合,通过举例、讲解等方式帮助读者理解数据库原理和使用方法。 本书的特点在于:其专业性和系统性。熟练掌握本书所讲解的知识,不仅可以应对学术研究,还可以在实际工作中应用。此外,本书清晰明了的讲解方式、例证证明和实践指导等也让读者对数据库有了更深刻的理解。 本书重点讲解了数据库的关系模型,介绍了关系代数和关系演算的基础知识,同时也包含了SQL语言的基本语法和使用方法。此外,本书还详细讲解了数据库设计的基本原则和方法,并介绍了一些常见的设计模式。对于新手来说,这些内容是学习数据库必不可少的基础知识。 总之,范明第二版《数据库原理教程》不仅对初学者来说是一本很好的教材,而且对于已经掌握数据库理论的人来说也是一本很好的参考书。对于正在学习数据库的人来说,这本书绝对值得一读。 ### 回答3: 数据库原理教程范明第二版pdf是一本介绍数据库原理与应用的教材。本书内容涵盖了数据库的基础知识、数据模型、数据库设计、SQL语言以及数据库应用的诸多方面。此外,本书还详细介绍了数据库中的事务处理、存储与索引、并发控制等重要概念和技术。这些知识点对于理解和应用数据库具有非常重要的意义。 在数据库基础知识方面,本书首先介绍了数据库的概念、特点和发展历程。随后,讲解了数据模型、关系模型、范式等基本概念,帮助读者了解数据库的基础架构。在数据库设计方面,本书介绍了实体关系模型(ERM)、关系数据模型(RDM)、数据流图(DFD)等的基本方法论,让读者能够灵活、高效地设计数据库。 此外,本书还重点介绍了SQL语言,包括数据定义(DDL)、数据操作(DML)和数据查询(DQL)三种基本操作。这些语言都是数据库必备的技术,对用户管理、数据处理、查询等功能提供了强有力的支持。 在数据库应用方面,本书主要分为了文件处理系统、教务管理系统、酒店管理系统三个案例。这些案例广泛应用于各个行业和领域,涵盖了数据库的各种应用场景,很好地展现了数据库在业务中的关键作用,为读者提供了丰富的实例与应用场景。 总的来说,数据库原理教程范明第二版pdf逻辑性强、结构严谨、内容全面,适合作为数据库基础课程的必备教材。它能够为初学者提供全面的、系统的数据库知识,并且为高深技术的研究打下扎实的基础。不仅适合在校学生学习,也适合工程师和开发人员作为数据库技术学习资料使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值