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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 构建信息蓝图:概念模型与E-R图的技术解析



概念模型的描述

概念模型

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

当确认概念模型已经能够充分表达原问题(现实世界中)的时候,再将这种概念模型转化为数据库系统中某一个既定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 图的设计过程就是对问题进行抽象和建模的过程

希望对你有帮助!加油!

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

目录
相关文章
|
23小时前
|
存储 供应链 算法
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
11 0
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
16 0
|
11天前
|
存储 供应链 物联网
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
|
11天前
|
存储 供应链 安全
深度解析区块链技术的核心原理与应用前景
深度解析区块链技术的核心原理与应用前景
20 0
|
10天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
39 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
70 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
62 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
84 0
|
11天前
|
存储 安全 Linux
Golang的GMP调度模型与源码解析
【11月更文挑战第11天】GMP 调度模型是 Go 语言运行时系统的核心部分,用于高效管理和调度大量协程(goroutine)。它通过少量的操作系统线程(M)和逻辑处理器(P)来调度大量的轻量级协程(G),从而实现高性能的并发处理。GMP 模型通过本地队列和全局队列来减少锁竞争,提高调度效率。在 Go 源码中,`runtime.h` 文件定义了关键数据结构,`schedule()` 和 `findrunnable()` 函数实现了核心调度逻辑。通过深入研究 GMP 模型,可以更好地理解 Go 语言的并发机制。
下一篇
无影云桌面