关系型数据库设计之从E-R图绘制到数据库表设计

这篇具有很好参考价值的文章主要介绍了关系型数据库设计之从E-R图绘制到数据库表设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关系型数据库之父——埃德加·弗兰克·科德(Edgar Frank Codd)


前言

本文介绍数据库设计的过程,供各位小伙伴参考。


一、设计数据库的流程

  1. 现实世界的业务场景转化为E-R模型
  2. E-R模型转化为关系模型
  3. 关系模型进一步规范化(遵循范式),得到数据库结构模型。

二、E-R图是什么

E-R图也称为实体-联系图,提供了表示实体类型,属性和联系的方法,用来描述现实世界的概念模型。简单来说,就是将现实中的业务场景的属性和它们之间的联系用图绘制出来。

三、E-R图的组成要素

  1. 实体(entity),现实世界客观存在,并区别于其他对象的“事件”或“物体”,比如产品。

  2. 属性(attribute),每个实体的特征,比如产品的名称、分类。

  3. 主键(key),能唯一区分这个实体的属性,比如产品ID。

  4. 联系(relationship),实体与实体之间的联系,有一对一,一对多,多对多三种,比如产品和销售员。

四、E-R图各组成要素绘制

  1. 实体,矩形框。
  2. 联系,菱形框。
  3. 属性,椭圆框。
    关系型数据库设计之从E-R图绘制到数据库表设计
  4. 关键字,即关键字,对应的属性名下划横线。
  5. 映射基数,1:1,1:n,m:n。

五、关系模型概念

  1. 关系:可以理解为二维表,每个关系都有一个关系名,即为表名。
  2. 元组:可以理解为二维表的一行,即为数据库的一条记录。
  3. 属性:可以理解为二维表的一列,即为字段。
  4. 域:属性的取值范围,也就是数据库中某一列的取值限制。
  5. 关键字:一组可以唯一标识元组的属性,即为主键。
  6. 关系模式:指对关系的描述,即为初步表结构(生产中可能部分关系是包含关系,并不需要都形成二维表,比如部门主管也属于员工,一般只做员工表,不会将部门主管独立一张表)。

六、E-R图转换到关系模式

  1. 当实体间的联系为一对一时,联系可以单独对应一个关系模式,也可以将一端的实体主键加入另一端的关系模式中。比如部门主管和部门两个实体,是一对一的关系,第一种方案:部门主管的关系模式可以加部门编号,部门的关系模式也可以加工号。第二种方案:将“属于”独立为关系模式,包含工号和部门编号。
    关系型数据库设计之从E-R图绘制到数据库表设计

  2. 当实体间的联系为一对多时,联系可以单独对应一个关系模式,也可以将1端的实体主键加入n端的关系模式中。比如部门和员工两个实体,是一对多的关系,第一种方案:员工的关系模式加部门编号。第二种方案,将“属于”独立为关系模式,包含工号和部门编号。
    关系型数据库设计之从E-R图绘制到数据库表设计

  3. 当实体间的联系为多对多时,联系必须单独对应一个关系模式(将联系形成中间表),以此来描述两个实体间的联系。比如销售员和产品两个实体,是多对多的关系,将“销售”独立为关系模式,包含工号,产品编号,销售量和销售额,以此来记录每个销售员的销售情况(实际生产中,销售这个关系模式可以是订单等场景)。
    关系型数据库设计之从E-R图绘制到数据库表设计

七、生产案例分享

  1. 简易订单表E-R设计
    关系型数据库设计之从E-R图绘制到数据库表设计
  2. E-R图转换到关系模式
    一个订单可能会有多个产品,一个产品也可能会在多个订单中存在。所以,订单和产品这两个实体是多对多的联系。必须有一个中间关系将他们联系起来,就是订单详情。
  3. 具体数据库表设计
    订单表:包含订单编码,日期,单据状态等字段。
    订单详情表:包含订单编码,产品编码,下单数量,下单金额等字段。
    产品表:包含产品编码,产品名,产品分类等字段。

总结

1970年,埃德加·弗兰克·科德提出了数据库关系模型的概念,为数据库管理奠定了基础。
在开发生产中,设计好系统对应的关系型数据库非常重要,既要如上文所说设计好相关表的关联关系,也要关注到冗余和性能。这样的系统才有可靠的底座。文章来源地址https://www.toymoban.com/news/detail-474207.html

到了这里,关于关系型数据库设计之从E-R图绘制到数据库表设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 重学MySQL之关系型数据库和非关系型数据库

    1.1 关系型数据库的特性 1.1.1 事务的特性 事务,是指一个操作序列,这些操作要么都执行,或者都不执行,而且这一序列是无法分隔的独立操作单位。也就是符合原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation)和持久性(Durability)的一组操作。 原子性:指一个

    2024年02月02日
    浏览(73)
  • 关系型和非关系型数据库的区别

    关系型数据库,是指采用了关系模型来组织数据的数据库,关系型数据库的最大特点就是事务的一致性。关系型数据天然就是表格式的,因此数据存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。 优点 易于维护:都是使用表结构,格式一致。 使

    2024年02月13日
    浏览(90)
  • 非关系型数据库

    一、什么是非关系型数据库? 随着互联网的飞速发展,人们对数据存储和管理的需求越来越高,传统的关系型数据库遇到了越来越多的挑战。为了满足海量数据存储和高性能查询的需求,非关系型数据库(NoSQL)应运而生。 非关系型数据库是指不使用关系模型进行数据组织和

    2024年02月07日
    浏览(48)
  • 数据库介绍-非关系型数据库

    NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储,数据存储的类型不需要一个固定形式。因此大大的增加了数据库的扩展能力。 不遵循 SQL 标准 不支持 ACID 远超于 SQL 的性能 易扩展 大读写量,高性能 数据模型灵活 高可用

    2024年02月16日
    浏览(55)
  • 【数据库概论】第二章 关系型数据库

    关系模型的数据结构十分简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。关系模型的数据结构虽然简单却能表达丰富的语义。在关系模型中,现实世界的实体以及实体之间的联机都是用单一的关系结构类型来表示。 域(

    2024年02月05日
    浏览(58)
  • Redis_非关系型数据库

    也叫Not Only SQL(不仅仅是SQL, 不用 sql语言操作的数据库), 一般指 非关系型数据库 关系型数据库: 以数据库表为单位存储,表与表之间存在某种关系 非关系型数据库: 数据与数据之间没有关系, 数据就是以键值对的形式存储, 通过键获取到值 在互联网发展中: 大致经历三个时期,w

    2024年02月16日
    浏览(42)
  • Elasticsearch与关系型数据库集成

    Elasticsearch是一个开源的搜索和分析引擎,基于Lucene库开发,具有高性能、可扩展性和实时性等特点。关系型数据库则是一种结构化数据库管理系统,以表格形式存储数据,支持SQL查询语言。在现实应用中,Elasticsearch与关系型数据库往往需要进行集成,以实现更高效、灵活的

    2024年02月20日
    浏览(73)
  • 常见数据库介绍对比之SQL关系型数据库

    关系型数据库是一种基于关系模型的数据库,它使用表格来组织和存储数据。下面是一些常见的关系型数据库: MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序和企业级解决方案。它具有高性能、可靠性和易用性的特点,支持广泛的操作系统和编程语

    2024年02月09日
    浏览(61)
  • 关系型非关系型数据库区别,以MongoDB为例在express中连接MongoDB示例

    目录 关系型数据库 关系型数据库常见的类型有: 关系型数据库的优点包括: 非关系型数据库 非关系型数据库常见的类型有: 非关系型数据库的特点包括: 关系型数据库和非关系型数据库区别 MongoDB是什么 MongoDB优势: 在Express中连接MongoDB步骤 Schema 关系型数据库是以关系模

    2024年01月16日
    浏览(77)
  • 非关系型数据库Redis的安装

    一、关系型数据库与非关系型数据库的区别:---------面试高频率问题 1、首先了解一下 什么是关系型数据库? 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。 优点: 易于维护:都是使用表结构,格式一致; 使用方便:SQL语言通用,可

    2024年02月10日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包