实体-联系模型(Entity-Relationship)

2024-02-05 10:50

本文主要是介绍实体-联系模型(Entity-Relationship),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实体-联系模型(Entity-Relationship)

	简称为ER,实体联系模型是一种概念模型,用于对显示世界建模,概念简单易于理解,且与具体的数据模型无关,但容易转换成实际数据库管理系统所支持的数据模型

第二讲 实体-联系模型

    • 实体-联系模型(Entity-Relationship)
    • 2.1实体
    • 2.2联系
    • 2.3实体-联系图
    • 2.4弱实体集

2.1实体

实体:客观存在并且可以互相区分的任何事物,可以是实际对象,也可以是抽象概念。

属性:实体所代表的事物具有的某种特性,每个实体都可以用一组属性来刻画。例如,我们可以用学号、姓名、性别、出生年月、专业等属性来刻画学生实体。对于同一个实体,刻画它的属性集可以有不同的选择。

实体集:

  1. 实体集是具有形同属性的实体的集合。实体和实体集的型都有其属性名的列表表示。例如,学生实体(集)的型可以用(学号,学生姓名明星别,出生年月,院系,专业)
  2. 实体的值是该实体诸属性值的列表。(201606198,江涛,1997.4,计算机)
  3. 实体集的值是对该实体集中所有实体值的集合。例: {(201605001,杨万里,男,1997.12,计算机),(201606198,江涛,1997.4,计算机),(…)…}

码:

  • 超码:能够唯一确定实体集中每个实体的属性集成为该实体集的超码。
  • 候选码:真子集都不是超码的极小超码是候选码。
  • 主码:主码是指数据库的设计者选中的,用来区分同一实体集中不同实体的候选码。
  • 码:表示主码或候选码,而超码是码的超集。
  • 例子:对于学生实体集中,{学号}和{学号,姓名}都是超码,{学号}是极小超码,因为它的真子集是空集,不是超码,如果不允许重名的话,{姓名}也是极小超码,{学号},{姓名}都是候选码,可以选择{学号}作为主码。

注意:在数据库文献中,对于单个属性的集合常常不适用集合记法,而直接使用属性名。{学号}可直接写为学号。码是语义概念,需要根据显示世界的实际情况来确定。

属性分类:简单属性、复合属性、单值属性、多值属性、基本属性、派生属性

  • 简单属性指的是不能划分成更小部分的属性。例如,供应商的性别、姓名、出生年月。
  • 复合属性和简单属性相对应,是可以划分更小部分的属性。例如,供应商地址。
  • 单值属性是特定的实体再该属性上只能取单个值的属性。例如,id、姓名、性别。
  • 多值属性是特定的实体再改属性上可以取多个值的属性。例如,联系方式。
  • 基本属性是不能通过其他属性的值来推导出来(即它的值必须存储在系统中)的属性。例如,年龄。
  • 派生属性的值可以从其他相关属性或实体计算得到,因此派生属性又称计算属性。例如,年龄。

2.2联系

联系是多个实体之间的相互联系。
联系集是相同类型联系的集合。

  • 形式的说,设E1,E2,······,En是n(n>=2)个实体集,它们不必互不相同。联系集R是{(e1,e2,······,en)| e1∈E1,e2∈E2,······,en∈En}的一个自己,其中(e1,e2,·······,en)∈R是一个联系,n是联系的度(元),联系集R的型可以用(E1,E2,···,En)表示
  • 例如,学生和课程之间的一个联系是“选修”联系,他的型是(Students,Courses),“选修”联系集SC是(s,c)构成的二元组,且s∈Students∧c∈Courses。(s1,c1)表示学生s1选修了课程c1

联系的类型:

  • 一对一联系(1:1):如果E1中的每个实体最多与E2中的一个实体相关联,并且E2中的每个实体也最多与E1中的一个尸体相关联,则称E1和E2之间的联系为一对一联系。例如,实体集“部门”和“经理”之间的联系“管理”可以是一对一联系的。一对一联系
  • 一对多联系(1:n):如果E1中的每个实体都可以与E2中任意多个实体相关联,而E2中的每个实体最多与E1中一个实体相关联,则称这种联系为E1到E2的一对多联系。例如,实体集“职工”到实体集“部门”的联系“属于”就可以是多对一联系。

一对多联系

  • 多对多联系( m:n联系):如果E1中的每个实体都可以与E2中任意多个实体相关联,并且E2中的每个实体也可以与E1中任意多个实体相关联,则称E1和E2之间联系为多对多的联系。例如,学生和课程之间的联系“选修”就是多对多联系。多对多联系

注意:一个联系到底属于哪种类型只能通过考察实际问题的语义来确定。例如,客户和贷款之间的联系“借贷”到底属于哪种类型完全取决于银行的信贷规定。有的银行规定一笔贷款只能属于一个客户,但允许一个客户有多笔贷款。在这种情况下,信贷就是多对一联系。然而,有的银行还允许一笔贷款属于多个客户(商业伙伴)。在这种情况下,借贷就是多对多联系

联系的属性:这种情况经常出现在多对多联系中,这种属性与参与联系的实体都相关。例如,考虑前面提到的实体集Students和Courses之间的联系SC。(s,c)∈SC表示学生s选修了课程c。成绩是与联系集SC的特定元组(s, c)相关联的,因此应当将成绩作为SC的属性

2.3实体-联系图

实体联系图要素
实体集:矩形框
实体集名写在框内,并用无向边吧实体集和它的属性连接起来。
样例
联系的处理:

  • 联系R是一对一的,则每条无向边旁均用1标记,如图(a)所示
  • 如果联系R是实体集E2,…Ek到实体集E1的多对一联系,则R与E1之间的无向边用1标记,其余的无向边用小写字母m, n, p等标记,或都用“*”号标记,如图(b)所示
  • 如果联系R是多对多的,则每条无向边都用小写字母m, n,p等标记,或都用“*”号标记,如图©所示
    具体样例
    联系的处理
    属性的处理:
    属性的处理

2.4弱实体集

  • 例子:考虑某公司的人事管理。由于公司将向职工的配偶和未成年子女(家属)提供一定的福利(如医疗保险等),因此公司的人事部门不仅需要管理每位职工,而且还要管理职工的家属。由于对职工和家属的管理是不一样的,因此需要两个实体集:职工和家属,它们所包含的属性如图所示
    ![家属职工
    分析:
  • 对于这两个实体集中的任何一个,姓名都不适合作为码,因为既不能确保职工,也不能确保家属不会同姓同名
  • 公司赋予每位职工一个惟一的职工号,它可以用作职工的码
  • 公司一般不对家属赋予惟一编号(即使编号,也是对每位职工的家属都简单地从1开始顺序编号)
  • 家属实体集就没有码
  • 如果一个实体集的任何属性集都不足以形成该实体集的码,则称该实体集为弱实体集
  • 存在码的实体集称为强实体集

具有弱实体集的

标识实体集: 弱实体集必须与另一个称作标识实体集或属主实体集的强实体集相关联才有意义
标识性联系: 标识实体集与弱实体集相关联的联系称为标识性联系
分辨符: 如果一个属性可以惟一确定存在依赖于同一个强实体的弱实体,则称该属性集为弱实体集的分辨符
弱实体的码: 弱实体集的标识实体集的码和该弱实体集的分辨符共同形成弱实体集的码
部分码: 弱实体集的分辨符又称弱实体集的部分码
可以与多个标识实体集关联:有的弱实体集还可以与多个标识实体集关联,该弱实体集的码由诸标识实体集的码和弱实体集的分辨符的组合
另一种处理弱实体集的方法:把它作为其标识实体集的一个多值复合属性,例如可以把家属作为职工的一个多值属性
不好的设计: 方法将强实体集的码添加到弱实体集的属性集中,将弱实体集转化成强实体集

这篇关于实体-联系模型(Entity-Relationship)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680676

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号