数据库系统笔记4: ER模型

article/2025/9/23 18:26:45

基本概念

  • Entity(实体):对象,如学生、教师,用方形表示
  • Entity Set(实体集):类
    • 一个实体集必须至少有一个非主键的属性
    • 或者它是多对一/多对多关系中的“多”
  • Attribute(属性):如学号、姓名,用圆形表示
  • Relationship(关系):两个实体间的关系,用棱形表示

关系

  • “一对一”关系可以看作是“多对一”关系的特殊情况
  • 注意在“一”的实体集合内可以有空的,如one-one中的b,如果实体集合内每一个元素都有且仅有一个实体与它对应,则该“一”用圆箭头表示

子类

  • 继承关系:用三角形表示
  • 子类继承父类的所有属性,还可以有自己的属性

Constraint 约束

Entity Integrity 实体完整性

  • 每个实体集必须有一个主键,不可以为空,不可以重复
  • 主键用下划线表示
  • 主键可以是一个或多个属性
  • 有继承关系的实体,主键必须在父类上,该主键是父类和所有子类的主键

Referential Integrity 参照完整性

  • foreign key(外键):一张表中的某个属性是参照另一张表的主键,则称该属性为外键
  • 外键必须取参照关系中的某个主键值,或者为空

Weak Entity Set 弱实体集

  • 确定该实体集需要依赖该实体集的主键和另一个实体集的主键,那么该实体集是一个弱实体集
  • 弱实体集用双边方形表示,两个实体集之间的关系用双边棱形表示
  • 两个实体集之间的关系称为支持联系

 设计原则

  • 避免冗余
  • 当增加一个属性就可以时,不要增加一个实体集
  • 小心使用弱实体集

ER模型转化为关系模型

关系的转化

  • 关系的表中,属性有其连接的实体集合的主键和关系上的属性
  • 在“多对一”关系中,可以把关系的表合并到“多”的一方。如在下图中,我们不需要额外增加一张表Favorite(drinker, beer),而是合并到Drinkers表中,Drinkers(name, addr, favorite_beer)

  •  在“多对多”关系中,如果按照上述方法合并,会造成冗余

弱实体集的转化

  • 对于弱实体集,它的属性还需要包括支持实体集的主键
  • 不需要为支持联系额外设置一张表

子类的转化

  • OO方式:子类继承父类的所有属性,这样可能造成冗余
    • Product(name, price, category, manufacturer)
    • EducationalProduct(name, price, category, manufacturer, ageGroup, topic)
    • SoftwareProduct(name, price, category, manufacturer, platforms, requiredMemory)
    • EducationalSoftwareProduct(name, price, category, manufacturer,ageGroup, topic, platforms, requiredMemory)
  • ER方式:子类只继承父类的主键,这样避免了冗余,但查询的时候可能需要多表查询
    • Product(name, price, category, manufacturer)
    • EducationalProduct(name, ageGroup, topic)
    • SoftwareProduct(name, platforms, requiredMemory)
  • 空值方式:只有一张表,允许出现空值,但浪费空间
    • Product(name, price, category, manufacturer,ageGroup, topic, platforms, requiredMemory)

http://chatgpt.dhexx.cn/article/r3OBikxh.shtml

相关文章

数据库原理之如何设计一个ER模型

数据库原理之如何设计一个ER模型 前言 这里是 数据库系统原理 系列文章,主要介绍数据库系统理论以及数据库实用技术。 数据库技术是计算机学科中的一个重要分支,它的应用非常广泛,几乎涉及所有的应用领域。 关于作者: 小白&#…

在mysql中er是什么模型_er模型是反映数据库应用系统的什么模型

展开全部 er模型是e5a48de588b662616964757a686964616f31333431353365反映数据库应用系统的概念模型 ,表示概念模型的方式有多种其中最常用的是E-R模型,由P.PChen于1976年提出,中文为实体-联系模型。 概念数据模型是面向用户、面向现实世界的…

mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型

数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期。它的生存期从规划开始,一直到将它卸载不用了。它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后在进行…

数据库设计(ER模型和UML模型及转换为关系模型的公式)

本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒。 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库。 掌握概念模型&#xff0…

4000字细说ER模型基础概念•业务建模系列

前言 接下来几篇文章会围绕「业务建模」这个方向,展开总结一下。讲到业务建模就联想到ER模型,ER建模可以说是B端产品经理必要掌握的技能。 本文会从以下几个点进行基础指引: 什么是ER模型? ER模型有什么作用? ER图的核…

2.3.2 ER模型

1.实体 定义:用于表示现实世界具有相同属性描述的集合,它表示某一种类所有事物的集合。 表示形状:矩形 说明:(1)一个E-R图中通常包括多个实体 (2)每个实体→一张表 每个实例→一条记录 2.属性 定义:表示实体或实体间…

[MySQL进阶]——ER模型

🏳️‍🌈个人网站:code宝藏 👈,欢迎访问🎉🎉 🙏如果大家觉得博主写的还不错的话,可以点点关注,及时获取我的最新文章 🤝非常感谢大家的支持与点赞…

ER模型详解

ER(实体联系)模型中有三个主要的概念:实体集、属性、联系集。 实体集对应的是数据库中的一个表,一个实体则对应数据库表中的一行。一个属性则对应数据库表中的一列,则就是一个字段。 联系集就是表与表之间的关联关系; 一对一关联…

数据模型及E-R模型

数据模型的基本概念 模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。对于具体的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘等都是具体的模型。最常用的数据模型分为概念数据模型和基本数据模型。 1)概念数据…

E-R模型

知识点 E-R模型(Entity-relationship model)表示: 实体: 用矩形框表示。 属性: 实体的属性用椭圆框表示。 联系:实体间的联系用菱形框表示,并在连线上标明联系的类型,即1—1、1—n或…

ER模型

定义:ER模型即实体-关系模型,ER图即实体-关系图。提供不受任何DBMS约束的面向用户的表达方法, 在数据库设计中被广泛用作数据建模的工具。E-R模型的构成成分是实体集、属性和联系集 其表示方法如下: (1)…

Mysql——ER模型

ER模型 数据库设计是牵一发而动全身的。那有没有什么办法提前看到数据库的全貌呢?比如需要哪些数据表、数据表中应该有哪些字段,数据表与数据表之间有什么关系、通过什么字段进行连接,等等。这样我们才能进行整体的梳理和设计。 其实,ER模…

从图像解释采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;采样定理…

采样定理的直观解释

在 傅里叶级数和傅里叶变换之间的关系 这篇文章中,已经介绍了以下基本知识,建议在阅读本文之前掌握: 梳状函数的频谱图仍然是梳状函数梳状函数与别的函数卷积的结果一定是周期信号 这里的梳状函数 δ T s ( t ) {\delta}_{T_s}(t) δTs​​…

深入理解采样定理 + Matlab 仿真 Sa 函数的采样与恢复

建议配合国宝老师的视频食用。 信号与线性系统分析 吴大正 郭宝龙 文章目录 (1) 采样的说明1. 为什么要取样2. 什么是取样 (2) 采样定理1. 为什么要有奈奎斯特频率2. 什么是采样定理 (3) 信号的恢复(4) Matlab的Sa函数取样仿真1. 采样信号Sa函数的说明2. 进行参数的说明及相关计…

数字信号处理:时域采样定理与频域采样定理

数字信号处理:时域采样定理与频域采样定理 1.时域采样定理 %初始参数 A444.128; alphpi*50*2^0.5; omegapi*50*2^0.5; M64; %做64点fft变换 n0:M-1;%采样频率fs为1000Hz Fs11000; T11/Fs1; xn1A*exp(-alph*n*T1).*sin(omega*n*T1); %对原函数的抽样取点 Xk1fft(…

连续时间采样及采样定理——MATLAB

一、实验目的 1、掌握连续时间信号离散化的方法(即采样),并能利用Matlab编程加以仿真实现; 2、掌握连续时间信号的傅立叶变换和离散时变换的仿真实现方法; 3、学会利用傅里叶变换和离散时间信号的傅立叶变换的方法对连续时间信进行频谱的分析…

模拟信号的采样定理MATLAB实现

一. 实验目的 1.掌握信号的采样的方法。 2.分析信号的采样频率对频率特性的影响。 二.实验原理及方法 在现实世界里,声音、图像等各种信号多为模拟信号,要对它进行数字化处理&…

【信号处理】采样定理的深入浅出

一些闲话: 这是我本科生涯的最后一年了,过去三年毫无征兆地蒸发了一样,我的大四上有一门移动通信课,在实验课后我突发的迫切想要搭建一个完整的通信系统,所以我想趁着大四上最后一个月好好将我的知识进行总结&#xf…

奈奎斯特采样定理

现实世界接触到的诸如电信号、光信号、声音信号等这些信号都是随时间连续变化的,称之为连续信号。但对于计算机来说,处理这些连续的信号显然是无能为力,要使计算机能够识别、计算、处理这些连续信号就必须将其转化为离散信号,将连…