【SQL】E-R模型(实体-联系模型)

 

目录

 

 一、介绍    

1、实体集

定义和性质 

属性

E-R图表示

2. 联系集

定义和性质

属性

E-R图表示


 一、介绍    

        实体-联系数据模型(E-R数据模型)被开发来方便数据库的设计,它是通过允许定义代表数据库全局逻辑结构的企业模式(enterprise schema)来做到的。

        E-R模型采用了三个基本概念:实体集、联系集和属性。

        E-R模型还有一种相关联的图形表示:E-R图。


1、实体集

        一个实体(entity)是现实世界中可区别与所有其他对象中的一个“事物”或“对象”。

例如,大学中的每个人都是一个实体。实体也可以是抽象的,比如课程或者航班预定。

定义和性质 

实体集(entity set)是共享相同性质或属性、具有相同类型的实体的集合。

        例如,一所给定大学的所有教师的集合可定义为instructor实体集,而不是指某个个别实体的特定集合。

实体集的外延(extension)指 属于实体集的实体的实际集合。因此,大学中教师的实际集合构成了instructor实体集的外延。

实体集不必互不相交。比如一个person实体可以是student实体,可以是instuctor实体。

属性

        实体通过一组属性(attribute)来表示。

属性是实体集中每个成员所拥有的描述性性质。

        为实体集设计一个属性表明数据库存储关于该实体集中每个实体的类似信息,但每个实体在每个属性上可以有它自己的值。

        例如,instructor实体集可能具有的属性是ID、name,dept_name和salary.

在此,我们只考虑简单的属性---那些不能划分为子部分的属性。

每个实体在它的每个属性上都有一个(value)。

E-R图表示

        实体集在E-R图中用一个矩形表示,该矩阵分为两部分:实体集的名称,实体集所有属性的名称。

 

如图,E-R图显示的instructor和student实体集。


2. 联系集

定义和性质

         联系(relationship)是多个实体间的相互关联。

比如,教师和学生的联系。

联系集(relationship set)是相同类型联系的集合。

        联系集是在n>=2个(可能相同的)实体集上的数学关系。如果(E1,E2,....En)为实体集,那么联系集R是

                {(e1,e2,...,en)| e1∈E1, e2∈E2,...., en∈En }

的一个子集,其中(e1,e2,...,en)是一个联系实例。

$$$ 实体集之间的关联被称为参与,即实体集(E1,E2,....En)参与(participate)联系集R。

属性

        联系也可以具有被称作描述性属性(descriptive attribute)的属性。

E-R图表示

联系集在E-R图中用菱形表示,菱形通过线条连接到多个不同的实体集(矩形)。

                        显示advisor联系集的E-R图

 联系集的属性在E-R图中通过未分割的矩形来表示。我们用虚线将此矩形与表示该联系集的菱形相连接。

                        将一个属性附加到联系集的E-R图

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

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

相关文章

LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/143749468 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 影响 (…

基于Java Springboot成都旅游网

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

css 使用图片作为元素边框

先看原始图片 再看效果 边框的四个角灭有拉伸变形,但是图片的中部是拉伸的 代码 border-style: solid;/* 设置边框图像的来源 */border-image-source: url(/static/images/mmwz/index/bk_hd3x.png);/* 设置如何切割图像 */border-image-slice: 66;/* 设置边框的宽度 */border…

【阅读记录-章节1】Build a Large Language Model (From Scratch)

目录 1. Understanding large language models1.1 What is an LLM?补充介绍人工智能、机器学习和深度学习的关系机器学习 vs 深度学习传统机器学习 vs 深度学习(以垃圾邮件分类为例) 1.2 Applications of LLMs1.3 Stages of building and using LLMs1.4…

【WSL+Ubuntu】默认用户被意外变更为 root 后切回原来的默认用户

引言 在使用 Windows Subsystem for Linux (WSL) Ubuntu 时,在 ~ 目录下使用 ls 命令,发现所有文件都消失了,让我误以为文件被清空了。实际上是因为WSL Ubuntu的默认用户被意外地改变为了 root。那么,如何恢复并切回原来的默认用…

Cookie 与 Session:差异剖析与应用实战

一、引言 在 JavaWeb 开发领域,Cookie 和 Session 是用于跟踪用户状态和在不同页面间传递信息的重要机制。它们在实现用户登录状态保持、个性化推荐、购物车功能等方面发挥着关键作用,但二者在工作原理、存储位置、生命周期等方面存在明显区别。深入理解…

Java策略模式应用实战

Java策略模式应用实战 推送内容并预检 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger;// DTO class class DataDTO {private String type;…

36.矩阵格式的等差数列 C语言

第一行&#xff0c;每个数差2&#xff0c;之后是3、4、5&#xff0c;最后一行是10 仅仅是练习目的 #define _CRT_SECURE_NO_WARNINGS // 禁用在 Visual Studio 中有关不安全函数的警告 #include <stdio.h> // 引入标准输入输出库int main() {int i; // 外层循环的变量…

深入剖析:Java 中 @RequestBody 注解的正确使用

在 Spring Web 开发中&#xff0c;RequestBody 是一个常见而又强大的注解。它能够帮助我们轻松地将 HTTP 请求体中的 JSON 数据转换为 Java 对象&#xff0c;从而减少了繁琐的手工解析操作。但看似简单的注解&#xff0c;背后却隐藏着一些坑点和细节。今天&#xff0c;我们将深…

OPC UA 服务器

OPC UA&#xff08;OPC Unified Architecture&#xff09; 是一种平台无关的通信协议&#xff0c;广泛用于工业自动化领域。它由 OPC 基金会开发&#xff0c;主要设计目标是实现安全、可靠和互操作性的数据交换&#xff0c;适用于各种设备和系统之间的通信。 什么是 OPC UA 服务…

模式:每个服务一个数据库

Pattern: Database per service。 背景 如用微服务架构模式开发一个在线商店应用程序。大多数服务需要在某种数据库中持久化数据。如&#xff0c;订单服务存储订单信息&#xff0c;而客户服务存储客户信息。 问题 微服务应用程序中的数据库架构是什么&#xff1f; 驱动力…

<websocket><PLC>使用js和html实现webscoket,与PLC进行socket通讯的实例

前言 本文是为了实现从网页端通过websocket与PLC端的socket进行数据通讯。 环境配置 系统:windows 平台:visual studio code 语言:javascript、html、PLC 库:node.js 概述 本文的目的是通过网页端与PLC进行socket通讯,但web端一般并不是直接使用socket,而是websocket,…

Acme PHP - Let‘s Encrypt

Lets Encrypt是一个于2015年三季度推出的数字证书认证机构&#xff0c;旨在以自动化流程消除手动创建和安装证书的复杂流程&#xff0c;并推广使万维网服务器的加密连接无所不在&#xff0c;为安全网站提供免费的SSL/TLS证书。 使用PHP来更新证书&#xff1a; Acme PHP | Rob…

高效管理 SSH 免密码登录:多客户端与多服务器实践指南20241118

高效管理 SSH 免密码登录&#xff1a;多客户端与多服务器实践指南 引言 在日常开发中&#xff0c;安全高效地管理多个客户端与服务器之间的 SSH 连接是一个常见需求。尤其对于运维工程师和开发者&#xff0c;避免频繁输入密码并保障安全性是实现高效工作的关键。本文结合实际案…

如何实现主备租户的无缝切换 | OceanBase应用实践

对于DBA而言&#xff0c;确保数据库的高可用性、容灾等能力是其日常工作中需要持续思考和关注的重要事项。一方面&#xff0c;可以利用数据库自身所具备的功能来实现这些目标&#xff1b;若数据库本身不提供相应功能&#xff0c;DBA则需寻找其他工具来增强数据库的高可用性和容…

正在执行例行维护 请一分钟后回来

WordPress网站出现“正在执行例行维护&#xff0c;请一分钟后回来。”的情况通常是因为网站进入了维护模式。以下是一些可能导致这种情况的原因和相应的解决方案&#xff1a; 1. 更新过程中的维护模式&#xff1a; 当WordPress在更新核心文件、插件或主题时&#xff0c;会自动…

后端-Result.java工具类和SystemCode.java工具类

一.Result.java工具类 package com.hs.util; /** * 响应格式类 * 作用&#xff1a;统一服务端的响应数据格式 */ public class Result<T> { /** * 响应代码 */ private int status; /** * 响应信息 */ private String message;…

超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

01、LLaVA-o1背景简介 以OpenAI o1为代表的大型语言模型展示了强大的推理能力&#xff0c;这充分的验证了语言模型推理时间缩放的有效性。然而&#xff0c;视觉对于使模型能够充分理解世界并扩展其认知能力同等重要。因此&#xff0c;开发一个融合语言和视觉的多模态模型&#…

大模型微调lama-factory

简介 LLaMA-Factory是一个强大的工具&#xff0c;用于微调大型语言模型。本文将介绍如何使用LLaMA-Factory进行模型微调的简单操作流程&#xff0c;并提供代码记录。 操作流程 环境搭建 首先&#xff0c;需要克隆LLaMA-Factory仓库并安装必要的库&#xff1a; bash !git clo…

Unity类银河战士恶魔城学习总结(P126 Item ToolTip物品提示)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了把鼠标放到物品上面就会显示物品属性 UI_ItemTooltip.cs 功能实现&#xff1a;该脚本的核心功能是展示和隐藏物品的工具提示…