构建信息蓝图:概念模型与E-R图的技术解析

2024-03-06 00:44

本文主要是介绍构建信息蓝图:概念模型与E-R图的技术解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:Git

欢迎访问我的主页:Srlua 获取更多信息和资源。✨✨🌙🌙

目录

概念模型的描述

概念模型

实体及其联系——概念

实体

联系

如何描述这种概念模型

E-R图

实体及其属性的表示

【例子】

实体型之间联系的表示

多个实体型(3 个或3个以上)之间联系的表示

【例子】

实体型内部联系的

 【例子】

联系属性的表示

总结


概念模型的描述

概念模型

从数据模型的建模方法来看,一般是先将现实世界中的问题建模为信息世界中的概念模型,然后将信息世界中的概念模型转化为机器世界中的逻辑模型。

当确认概念模型已经能够充分表达原问题(现实世界中)的时候,再将这种概念模型转化为数据库系统中某一个既定DBMS支持的数据模型,形成机器世界中的逻辑模型。

从现实世界到机器世界的转换过程可以用下图来表示。

从现实世界到机器世界的转换过程


实体及其联系——概念

实体

实体是客观存在的并可以相互区分的事物。

◆实体的属性是指实体所具有的特性。

eg:学生是一个实体,如姓名、性别、成绩等是实体的属性。

◆码又称关键字,它是一个或者多个属性的集合。

eg:学号是学生实体的码。

◆属性的域是指一个属性的取值范围。

eg:成绩是学生实体的域。

◆实体型是指用实体名和实体属性名的集合来共同刻画同一类实体。

eg:学生(学号,姓名,性别,籍贯,成绩)是一个实体型。

◆实体集就是实体的集合。


联系

>定义

是指事物之间的关系(现实世界)在信息世界中的反映。

>两种类型

实体内部的联系和实体之间的联系

>实体之间三种联系类型

假设 A 和 B分别表示两个实体集

  • 一对一联系记为(1:1)
  • 一对多联系记为(1:n,1:*)
  • 多对多联系记为(m:n,*:*)

如何描述这种概念模型

当将现实世界中的实际问题转化为信息世界中的概念模型时,用什么来描述这种概念模型呢?

E-R图

当在数据库理论中,通常用E-R图来描述概念模型它提供了表示实体型、属性和联系的方法。

实体及其属性的表示
【例子】

对于一个实体型——学生(学号,姓名,成绩)其 E-R 图

学生实体及其属性的 E-R图


实体型之间联系的表示

两个实体型之间联系的表示

两个实体之间的各种联系

多个实体型(3 个或3个以上)之间联系的表示

三个实体型A、B、C之间联系表示为(m:n:o),其中 m,n,o>0。

【例子】

对于供应商、仓库和零件由于一个供应商可以提供多种零件并存放在不同仓库中,而一种零件也可以由多个供应商提供并存放在不同仓库中,同时一个仓库也可以存放不同供应商提供的多种零件。所以供应商、仓库和零件之间的联系是多对多联系,

其 E-R图可以用下图表示。

三个实体型之间多对多联系


实体型内部联系的

表示同一个实体型内部实体的三种联系对应的E-R图

分别如下图(a)、(b)和(c)所示。

实体型内实体之间的各种联系

 【例子】

职工实体型中的实体具有领导与被领导的联系,这种联系是一对多联系,可以用下图表示。

职工实体型内的一对多联系

联系属性的表示

联系的属性的表示方法与实体的类似

对于供应商和仓库之间的联系(库存),其属性(库存量),可以表示如图下图所示。

联系属性的表示

总结

  • 利用实体、属性和联系及其之间关系的表示方法可以将现实世界中的复杂问题抽象成为信息世界中的概念模型
  • 概念模型通常是用 E-R 图表示的, E-R 图的设计过程就是对问题进行抽象和建模的过程


希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

这篇关于构建信息蓝图:概念模型与E-R图的技术解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

99%的人都选错了! 路由器WiFi双频合一还是分开好的专业解析与适用场景探讨

《99%的人都选错了!路由器WiFi双频合一还是分开好的专业解析与适用场景探讨》关于双频路由器的“双频合一”与“分开使用”两种模式,用户往往存在诸多疑问,本文将从多个维度深入探讨这两种模式的优缺点,... 在如今“没有WiFi就等于与世隔绝”的时代,越来越多家庭、办公室都开始配置双频无线路由器。但你有没有注

Python中的sort()和sorted()用法示例解析

《Python中的sort()和sorted()用法示例解析》本文给大家介绍Python中list.sort()和sorted()的使用区别,详细介绍其参数功能及Timsort排序算法特性,涵盖自适应... 目录一、list.sort()参数说明常用内置函数基本用法示例自定义函数示例lambda表达式示例o

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据