E-R图与关系模式

1. E-R模型

英文全称:Entity-relationship model,即实体关系模型

把现实世界的 实体模型通过建模转换为信息世界的概念模型,这个概念模型就是E-R模型
在这里插入图片描述

2. 数据库设计流程

一般设计数据库分为三个步骤

  1. 把现实世界的实体模型,通过建模转换成信息世界的E-R模型;
  2. 信息世界的E-R模型,经过模型转化,得到数据库世界的数据模型;
  3. 把数据模型进一步规范化,得到最终的数据库结构模型;

数据库世界的数据模型按数据的组织形式而分为三种类型

  • 关系模型(在关系数据库设计中)
  • 层次模型()
  • 网状模型()

3. 关系模型

3.1 常用概念

  • 关系:可以理解为一张二维表,每个关系都具有一个关系名,也就是通常说的表名(table);
  • 元组:可以理解为二维表中的一行,在数据库中经常被称为记录(record);
  • 属性:可以理解为二维表中的一列,在数据库中经常被称为字段(colum);
  • 域:属性的取值范围,也就是数据库中某一列的取值限制;
  • 关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成(key);
  • 关系模式:指对关系的描述,其格式为:关系名(属性1,属性2,……,属性N),在数据库中成为表结构;

3.2 E-R图转关系模式

对于E-R图中每个实体,都应转换为一个关系(table)

该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为关键字,关键字用下划线标识;

3.2.1 一对一关系

比如:一个班级对应一个正班长,就是1:1联系
在这里插入图片描述
则可以创建两个关系(表),一个班级关系(表),一个学生关系(表);
然后我们需要一个联系(关联)来连接这两个关系(表)
有两种方案:

  1. 联系不单独对应一个关系(表):
    不单独创建一个关系(表)来存储联系,通俗讲就是在一个表中冗余一个字段存另外一个表的主键。
    比如在学生关系(表)中添加一个班级编号属性,用来存储班级关系中的班级编号属性值,
    或者在班级关系(表)中添加一个学号属性,用来存储学生关系中的学号属性值。
  2. 联系单独对应一个关系
    单独创建一个关系(表)来存储联系,通俗讲就是创建一个中间表用来存储两个或多个表的主键。
    比如创建一个联系关系(表)来存储班级编号属性和学号属性,并选择一个其他关系的主键(班级编号学号都行)作为联系关系的主键。

3.2.2 一對多关系

班级关系和学生关系之间的联系是1:n
在这里插入图片描述
同样地也有两种关系模式:

  1. 联系不单独对应一个关系
    在这种1:n的关系模式中,一般都是将1端的主键加入n端关系中,即在学生关系(表)中增加一个班级属性,存储对应的班级属性值。

  2. 联系单独对应一个关系
    单独创建一个联系关系(表)来存储班级属性和学号属性,并选择n端的主键(学号)作为联系关系的主键。

多对多关系

学生关系和课程关系之间的联系是m:n
在这里插入图片描述
这种m:n的关系只有一种关系模式:

  • 联系单独对应一个关系
    在这里就是单独创建一个联系关系(表)来存储课程号属性和学号属性和成绩属性,联系关系的主键是由双方的主键共同组成联合主键。

参考资料:【E-R图到关系模式的转换方式,你get到了吗】 https://www.bilibili.com/video/BV1Ju411e7Dr/?share_source=copy_web&vd_source=e22a75a6781804ee25ce46a2afc235ce

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210421.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中怎么根据选择的名称 生成印章图片

项目中需要根据选择的印章名称&#xff0c;动态生成印章 &#xff0c;印章下方显示当前的日期 代码如下 <template><div><label for"name">选择名称&#xff1a;</label><select id"name" v-model"selectedName">…

技术面时,一定要掌握这3个关键点

前言 现在有这么多优秀的测试工程师&#xff0c;大家都知道技术面试是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察你的技术功底与基础理论知识。 如果你参加过一些大厂面试&#xff0c;肯定会遇到一些这样的问题&#xff1a; 1、看你项目都用到了…

【论文】Bao:一种用于现代多核嵌入式系统的轻型静态分区管理程序

Bao&#xff1a;一种用于现代多核嵌入式系统的轻型静态分区管理程序 个人学习过程中 Bao Hypervisor 论文翻译&#xff08;借助翻译工具个人校对&#xff09;&#xff0c;仅供学习使用&#xff0c;由于个人对一些技术专有名词不够熟悉&#xff0c;翻译不当的地方欢迎指出 论文地…

类初始化,类加载,类加载器

类初始化&#xff0c;类加载&#xff0c;类加载器 1. 类加载1.1. 类的加载1.2. 类的链接1.2.1. 验证1.2.2. 准备1.2.3. 解析 2. 类加载器2.1. 类加载器分为四种&#xff1a;前三种为虚拟机自带的加载器。2.2. 类加载有三种方式&#xff1a;2.3. **JVM类加载机制**2.4. 双亲委派…

vue项目使用easyplayer播放m3u8直播推流

官网 青犀视频 代码库 / 示例 / demo EasyPlayer 示例效果&#xff1a; 项目背景如图 后端给了m3u8的直播地址 协议是 hls / flv 市面上很多第三方热门播放库都可以完成该多屏播放方式 如Video.js 问题在于 分多屏时 会存在性能问题 并且关闭播放器后 即便删除Dom或调用停…

【LeetCode二叉树进阶题目】606. 根据二叉树创建字符串,102. 二叉树的层序遍历,107. 二叉树的层序遍历 II

二叉树进阶题目 606. 根据二叉树创建字符串解题思路及实现 102. 二叉树的层序遍历解题思路及实现 107. 二叉树的层序遍历 II解题思路及实现 606. 根据二叉树创建字符串 描述 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号…

[ChatGPT]ChatGPT免费,不用翻墙!?——你需要的装备

系列文章目录 【AIGC】服务于人类&#xff5c;一种新的人工智能技术-CSDN博客 文章目录 目录 系列文章目录 文章目录 前言 一、天意云网站 ​编辑 二、使用步骤 可以看到有云服务器、Rstudio以及我们的ChatGPT&#xff0c;我这次主要分享ChatGPT&#xff0c;其他的有机会我再给…

聚水潭连接API,集成无代码开发,优化电商平台运营

聚水潭连接API&#xff0c;实现电商平台的高效运营 聚水潭作为一款SaaS ERP解决方案&#xff0c;通过其出色的产品和服务&#xff0c;迅速在市场上占据了一席之地。而其无代码开发的特点&#xff0c;为电商系统和客服系统的连接与集成提供了便利。聚水潭开放平台的优势在于&am…

想自学软件测试?一般人我还是劝你算了吧。。。

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

考过了PMP,面试的时候应该怎么办?

近期喜番在后台收到了很多同学们的私信&#xff0c;表示自己已经过了8月份的PMP考试&#xff0c;开始着手往项目管理岗位转型&#xff0c;但是对于项目管理岗位的面试却一筹莫展。放轻松&#xff0c;大家的需求喜番都了解了&#xff0c;喜番给大家总结了一些项目经理在面试的时…

重磅!1区、60年老牌期刊被踢?共5本被剔除!11月SCIE/SSCI期刊目录更新!

期刊动态&#xff1a;2023年11月SCI、SSCI期刊目录更新 2023年11月20日&#xff0c;科睿唯安更新了WOS期刊目录&#xff0c;继上次10月WOS期刊目录剔除7本SCIE&SSCI期刊之后&#xff0c;此次11月更新又有5本期刊发生变动&#xff0c;其中有4本SCIE期刊被剔除&#xff0c;1…

财报解读:电商GMV增长30%后,快手将坚守本地生活?

快手逐渐讲好了其高质量成长的故事。 根据财报&#xff0c;快手三季度业绩超出预期&#xff0c;其中&#xff0c;营收279.5亿元&#xff0c;同比增长20.8%&#xff1b;调整后净利润31.7亿元&#xff0c;同比扭亏为盈。 而联系市场环境来看&#xff0c;三季度广告、电商市场较…