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.mzph.cn/news/163285.shtml

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

相关文章

大数据湖及应用平台建设解决方案:PPT全39页,附下载

关键词:大数据湖建设,集团大数据湖,大数据湖仓一体,大数据湖建设解决方案 一、大数据湖定义 大数据湖是一个集中式存储和处理大量数据的平台,主要包括存储层、处理层、分析层和应用层四个部分。 1、存储层&#xff…

2. OpenHarmony源码下载

OpenHarmony源码下载(windows, ubuntu) 现在的 OpenHarmony 4.0 源码已经有了,在 https://gitee.com/openharmony 地址中,描述了源码获取的方式。下来先写下 windows 的获取方式,再写 ubuntu 的获取方式。 获取源码前,还需要的准…

Linux之进程替换

创建子进程的目的 创建子进程的第一个目的是让子进程执行父进程对应的磁盘代码中的一部分, 第二个目的是让子进程想办法加载磁盘上指定的程序,让子进程执行新的代码和程序 一是让子进程执行父进程代码的一部分, 比如&#xff1a; 1 #include<stdio.h> 2 #include<…

数据分析基础之《matplotlib(2)—折线图》

一、折线图绘制与保存图片 1、matplotlib.pyplot模块 matplotlib.pyplot包含了一系列类似于matlab的画图函数。它的函数作用于当前图形&#xff08;figure&#xff09;的当前坐标系&#xff08;axes&#xff09; import matplotlib.pyplot as plt 2、折线图绘制与显示 展示城…

【实用】mysql配置 及将线上数据导入本地 问题解决及记录

[ERR] 1292 - Incorrect datetime value: ‘0000-00-0000:00:00‘ for column ‘BIRTH_DATE‘ at row 1 此问题是mysql当前配置不支持日期为空&#xff0c;或者为‘0000-00-0000:00:00‘得情况 1、直接在数据库执行 # 修改全局 set global.sql_mode ONLY_FULL_GROUP_BY,STR…

“老人护工-预约上门” 技术支持网址

我们是一家为新加坡华人提供老人护工上门服务的软件。您可以选择满意的护工&#xff0c;然后提交联系人的信息&#xff0c;我们会在规定的时间安排护工人员上门&#xff0c;然后您线下支付所需的费用 如果您在使用过程中有什么问题&#xff0c;您可以随时联系我们。 邮箱地址&…

Docker部署Vue+Springboot项目

一、部署Springboot项目 1.1先将本地的java项目打成jar包。 再右上角进行maven操作。 1.2将jar包上传到服务器当中。 先再目录/home 下创建一个文件夹&#xff08;classRoom&#xff09;用于存放后端打镜像时需要的文件。 如果是服务器的话可以直接将文件拖拽到想要转移的地方…

基准电压源的工作原理和作用是什么(高精度电压源)

基准电压源是一种能够提供固定、稳定的直流电压输出的电源设备。它广泛应用于精密仪器、测试设备、通信设备等领域&#xff0c;是实现精确电压测量和校准的重要工具。本文将为您介绍基准电压源的工作原理和作用。 一、基准电压源的工作原理 基准电压源采用了高精度的电路设计和…

Sam Altman回归OpenAI,新董事会成员曝光!

11月22日下午&#xff0c;OpenAI在社交平台宣布&#xff0c;在原则上已达成协议&#xff0c;让 Sam Altman重返 OpenAI担任首席执行官&#xff0c;并重组董事会。稍后会公布更详细的内容。 初始董事会成员包括前Salesforce联合首席执行官Bret Taylor&#xff08;担任主席&…

鸿蒙开发-ArkTS 语言

鸿蒙开发-ArkTS 语言 1. 初识 ArkTS 语言 ArkTS 是 HarmonyOS 优选主力开发语言。ArkTS 是基于 TS(TypeScript)扩展的一门语言&#xff0c;继承了 TS 的所以特性&#xff0c;是TS的超集。 主要是扩展了以下几个方面&#xff1a; 声明式UI描述和自定义组件&#xff1a; ArkTS允…

labview 安捷伦 34970A 采集温度等

本文详细描述了怎么用安捷伦34970A采集温度&#xff0c;并列出了labview的下载链接&#xff0c;具有一定的参考价值。 1.必要条件&#xff1a; RS-232电缆一根 IO Libraries Suite 软件 BenchLink Data Logger 软件 软件可以在http://www.keysight.com.cn下载 检查RS-232…

SQLite3 数据库学习(五):Qt 数据库高级操作

参考引用 SQLite 权威指南&#xff08;第二版&#xff09;SQLite3 入门 1. Qt 数据库密码加密 MD5 加密在线工具 1.1 加密流程 加密后的密码都是不可逆的 1.2 代码实现 loginsqlite.h #ifndef LOGINSQLITE_H #define LOGINSQLITE_H#include <QWidget> #include <Q…

通过Whisper模型将YouTube播放列表中的视频转换成高质量文字稿的项目

项目简介 一个通过Whisper模型将YouTube播放列表中的视频转换成高质量文字稿的项目。 这个基于 Python 的工具旨在将 YouTube 视频和播放列表转录为文本。它集成了多种技术&#xff0c;例如用于转录的 Fast-Whisper、用于自然语言处理的 SpaCy 以及用于 GPU 加速的 CUDA&…

pytest测试框架介绍(1)

又来每天进步一点点啦~~~ 一、Pytest介绍&#xff1a; pytest 是一个非常成熟的全功能的Python测试框架&#xff1b; pytest 简单、灵活、易上手&#xff1b; 支持参数化 能够支持简单的单元测试和复杂的功能测试&#xff0c;可以做接口自动化测试&#xff08;pytestrequests&…

根据商品链接获取拼多多商品详情数据接口|拼多多商品详情价格数据接口|拼多多API接口

拼多多&#xff0c;作为中国最大的社交电商之一&#xff0c;为卖家提供了丰富的商品详情接口。这些接口可以帮助卖家快速获取商品信息&#xff0c;提高销售效率。本文将详细介绍如何使用拼多多商品详情接口&#xff0c;以及它的优势和注意事项。 一、拼多多商品详情接口概述 …

大宗商品贸易集团数据治理实践,夯实数字基座 | 数字化标杆

某大型央企是首批全国供应链创新与应用示范企业&#xff0c;在“十四五”规划期内以聚焦供应链管理核心主业作为主要战略发展方向。供应链运营管理以大宗商品贸易为主&#xff0c;其交易往往具有交易量巨大、交易环节复杂、风险交易难识别、风险客商难管控等痛点。 随着集团数…

五分钟搭建开源ERP:Odoo,并实现公网远程访问

文章目录 前言1. 下载安装Odoo&#xff1a;2. 实现公网访问Odoo本地系统&#xff1a;3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着企…

小猪优版的前世今生:从籍籍无名到行业瞩目,再到骤变的风暴中心

1. 前世&#xff1a;籍籍无名到行业新星的崛起 小猪优版在初创时期&#xff0c;并不被大众所知。然而&#xff0c;它凭借对短视频行业的深度洞察&#xff0c;以及独特的商业模式&#xff0c;开始在这个领域崭露头角。它提供了一个平台&#xff0c;不仅助力内容创作者更好地展现…

使用whisper实现语音转文本

项目地址&#xff1a;GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision 1、需要py3.8环境 conda activate p38 2、安装 pip install -U openai-whisper 3、下载项目 pip install githttps://github.com/openai/whisper.git 4、安装…

如何避免Steam搬砖项目中账号被盗

购买steam余额有风险吗&#xff1f;及N种被红锁的情况 相信最近很多人都已经听说过steam游戏搬砖这个项目&#xff0c;也叫CSGO游戏搬砖项目&#xff0c;还有人叫它&#xff1a;国外steam游戏汇率差项目&#xff0c;无论怎么称呼&#xff0c;都是同一个项目。 那么什么是stea…