-
2022-01-15 18:04:33
定义并解释概念模型中以下术语:实体,实体型,实体集,实体之间的联系。
(1)实体:客观存在并可以相互区分的事物叫实体。
(2)实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
(3)实体集:同型实体的集合称为实体集。
(4)实体之间的联系:通常是指不同实体型的实体集之间的联系,实体之间的联系有一对一,一对多和多对多等多种类型。
更多相关内容 -
数据库实体间关系笔记
2017-03-30 09:12:49判断实体间关系只需要问自己两个问题: 1. 实体A包含实体B吗? 2. 实体B包含实体A吗? - 都回答‘是’-->M:N - 都回答‘否’-->1:1 - 答案不同 --> 1:N ---- 当实在是不能分辨两个实体间的关系是 一对多 还是 多...总结
判断实体间关系只需要问自己两个问题:
1. 实体A包含实体B吗?
2. 实体B包含实体A吗?- 都回答‘是’–>M:N
- 都回答‘否’–>1:1
- 答案不同 –> 1:N
当实在是不能分辨两个实体间的关系是 一对多 还是 多对多 我们不妨用假设法。
- 我们先假设实体间是一对多,想想我们的实现业务逻辑
- 再假设他们之间的关系是多对多,想想我们的实现业务逻辑
- 相信最终你会选出一个相对简洁的业务逻辑去实现。
今天设计数据库标间关系的是偶蒙圈了。在这里调整一下思路。
一、数据库实体间关系总共有三种:
△ 实体A 实体B - 1 1 - 1 N - M N 1:1 (独生子家庭)一个儿子只有有一个父亲,一个父亲只有个一个儿子
1:N 一个宇宙有多个星星,每一个星星都只存在于一个宇宙中
M:N 一个老师有多个学生,一个学生有多个老师二、描述 1:1 关系我们用两个表就可以了
每一列表示一个表中包含的字段
儿子 父亲 ID : ID 姓名 : 姓名 年龄 : 年龄 父亲 : 儿子 三、描述M:N关系 必须三个表
教师 教师关联学生 学生 ID ID ID 姓名 学生ID 年龄 身份证 教师ID 身份证 这可以解决数据流向问题:
数据流是
- “宇宙–>星星 ”教师表+关联表–>找到一个老师的所有学生
- “星星 –> 宇宙”学生表+关联表–>找到一个学生的所有老师四、描述 1:N 必须要三个表才可以?——其实不是,两个表就够了。
每一列表示一个表中包含的字段
3.1、对于1:N关系描述
表现方式(三个表)
宇宙 宇宙关联星星 星星 ID ID ID 年龄 宇宙ID(一直是同一个值) 年龄 直径 星星ID 直径 - 探究
又觉得 在 “宇宙关联星星”表中 ‘宇宙ID’一直都是同一个值
那么我们用两个表好像也可以表示 1:N 的实体间关系。
因为开发者在文档中注明这种 1:N 关系的存在就足够对表做出操作了。
不管 数据流是
- “宇宙–>星星 ”
- “星星 –> 宇宙”
不是吗?
宇宙 : 星星 ID : ID 年龄 : 年龄 直径 : 直径 3.2、对于1:N关系解决
事实上,我在1:N关系上出现的问题是没有真正的区分清楚
我所处理的关系是否为一对多关系。
怎么用一句话说出来这事这么简单。
难的是在业务逻辑中的“区分”。 -
通过Gson把json转化为不同类型的实体(不同实体转json)
2018-07-14 10:45:10GsonUtils.javapublic class GsonUtils { /** * Created by yuanopen on 2018/7/14/014. */ private static Gson GsonUtilsGson = new ... /** * @fun 根据不同类型进行json到实体间的转化 * @param jsonString...GsonUtils.java
/** * Created by yuanopen on 2018/7/14/014. */ public class GsonUtils { private static Gson GsonUtilsGson = new Gson(); /** * @fun 根据不同类型进行json到实体间的转化 * @param jsonString json字符串 * @param cls 需要转化的类型 * @param <T> 需要转化的类型 * @return 返回实体对象 */ public static <T> T josnToModule(String jsonString, Class<T> cls) { T list ; list=GsonUtilsGson.fromJson(jsonString,cls); return list; } /** * @fun 根据不同类型进行实体到json间的转化 * @param cls 需要转化的类型 * @param <T> 需要转化的类型 * @return 返回Json字符串 */ public static <T> String ModuleTojosn(T cls) { return GsonUtilsGson.toJson(cls); } }
实体:
EntityOne.java:
/** * Created by yuanopen on 2018/7/14/014. */ public class EntityOne { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "id:"+id+" name:"+name; } }
EntitySecond.java:
/** * Created by yuanopen on 2018/7/14/014. */ public class EntitySecond { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "id:"+id+" name:"+name; } }
测试:
public static void main(String[] args) { EntityOne one=new EntityOne(); one.setId(1); one.setName("张三"); //moduleTojson String oneJson=ModuleTojosn(one); System.out.println(oneJson); //jsonTomudule EntityOne one1= josnToModule(oneJson,EntityOne.class); System.out.println(one1.toString()); EntitySecond second=new EntitySecond(); second.setId(2); second.setName("李四"); //moduleTojson String secondJson=ModuleTojosn(second); System.out.println(secondJson); //jsonTomudule EntitySecond second1= josnToModule(secondJson,EntitySecond.class); System.out.println(second1.toString()); }
结果:
-
不同实体类相同属性之间的互相赋值
2019-03-25 23:05:35在我们平时开发中,可能会涉及两个实体,它们之间有很多重复字段,那么如何将其中一个实体的信息赋值到另外一个实体?这就是我们今天要探讨的问题. 一.场景再现 类一: package com.milogenius.bean; /** * @Auther: ...在我们平时开发中,可能会涉及两个实体,它们之间有很多重复字段,那么如何将其中一个实体的信息赋值到另外一个实体?这就是我们今天要探讨的问题.
一.场景再现
类一:
package com.milogenius.bean; /** * @Auther: Milogenius * @Date: 2019/3/25 22:06 * @Description: */ public class Animal { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
类二:
package com.milogenius.bean; /** * @Auther: Milogenius * @Date: 2019/3/25 22:06 * @Description: */ public class Dog { private String name; private int age; private String type; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getType() { return type; } public void setType(String type) { this.type = type; } }
观察上面两个类,我们发现,两个类有共同的字段name和age,接下来我们来看看如何赋值;
二.解决方案
package com.milogenius.bean; import com.alibaba.fastjson.JSONObject; import org.springframework.beans.BeanUtils; /** * @Auther: Milogenius * @Date: 2019/3/25 22:11 * @Description: */ public class AnimalTest { public static void main(String[] args) { Animal animal = new Animal(); animal.setAge(8); animal.setName("球球"); Dog dog = new Dog(); System.out.println("dog赋值前:"+ JSONObject.toJSONString(dog)); BeanUtils.copyProperties(animal,dog); System.out.println("dog赋值后:"+ JSONObject.toJSONString(dog)); } }
我们看到,通过spring提供的BeanUtils工具类中的copyProperties方法,我们成功实现了实体间的赋值操作.三.总结
上面用到的工具类还有很多方法,这里就不一一介绍,有兴趣的小伙伴可以研究,反正以后遇到bean之间的操作,能想到有这个工具类就行,先到里面看看有没有适合自己,已经写好的方法就行.
-
数据库实体间关联关系:一对一、一对多、多对多
2019-08-26 15:11:43数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个班,但是一个班级有多名学生。 ... -
实体-联系模型
2020-12-20 22:08:32实体-联系(Entity-Relationship, E-R)模型(以下简称E-R模型)的提出旨在方便数据库的设计,它是通过允许定义代表数据全局逻辑结构的企业模式实现的。 E-R模型采用三个基本概念:实体集、联系集和属性。 将E-R图的... -
数据库实体联系模型与关系模型
2020-03-02 19:11:33数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。...因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是... -
记录小知识:Arouter 组件间通讯实体类数据
2021-12-16 11:28:24使用Arouter进行通讯时候,我们往往有需要传输实体类或者复杂型结构数据,也就是withObject(String,Any),然后在目标设置 ARouter.getInstance().inject(this) navigation()后就能拿到数据了。 点击run 后,会... -
6 数据库设计:实体-联系方法
2022-01-10 16:01:006 数据库设计:实体-联系方法 数据库的设计方法和生命周期 数据库设计方法 ① 实体-联系方法 ② 属性-联系方法 实体-联系方法 围绕实体展开 经历需求分析、概念设计、物理设计、数据库实现、运行维护等阶段 先建立... -
解决powerdesigner中不同实体下的属性不可以重复的问题
2013-06-27 18:14:09解决powerdesigner中不同实体下的属性不可以重复的问题 2009-06-25 21:40:15| 分类: powerdesigner|字号 订阅 昨晚开始使用powerdesigner12.5,在使用中遇到一个问题,不同实体下的属性名不... -
命名实体的消歧
2019-07-05 17:45:36文章目录定义任务基于聚类的实体消歧基本思路核心问题挑战基于链接的实体消歧主要步骤:如何进行行实体链接? 定义 命名实体的歧义指的是一个实体指称项可对应到多个真实世界实体 确定一个实体指称项所指向的真实... -
实体与属性间的划分原则
2017-03-14 17:51:29为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。 两条准则: (1)作为属性,不能再具有需要描述的性质。...(2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。 -
实现两个实体类属性之间的复制
2021-03-08 03:56:24import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;/*** 实现两个实体类属性之间的复制* @author shamee-loop**/public class CopyUtils {p... -
数据库——实体联系模型
2020-02-28 20:04:551.实体 1.实体:客观存在并且可以相互区分的任何... 对于同一个实体,刻画它的属性集可以有不同的选择。 3.实体集:实体集是具有相同属性的实体的集合 实体和实体集的型都用其属性名的列表表示 例如,学生... -
知识图谱:知识融合(将来自不同知识库的同一实体融合在一起)【知识融合有不同的叫法,如:知识对齐、本体...
2022-03-13 19:08:12通过知识抽取, 我们已经得到了海量的实体、 关系, 但是由于来源的不同, 会存在很多噪声数据, 重复的数据, 因此我们还需要对其进行清理和整合, 这个过程称为知识融合。 知识融合,即合并两个知识图谱(本体),... -
实体、实体型、实体集、实体之间的联系
2018-04-28 17:35:50(1)实体 客观存在并可以相互区分的事物叫实体。 (2)实体型 具有相同属性的实体具有由相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,... 通常是指不同实体型的实体集之间的联系,... -
Java实现两个实体类相同属性的复制/拷贝
2021-02-27 18:36:15在两个实体类里,有相同的属性,有不同的属性,相同名称的属性类型还可能不同,如何实现相同属性的拷贝/复制呢?实体类代码清单1:Neo4jNode.javapackage com.graph.domain;import lombok.Data;import java.util.... -
mysql 第三天 实体与实体的关系
2019-06-17 12:25:03基本概念 实体(Entity): 指现实中具体存在的可指称的“某物”。 一个表中的一行数据实际就是指对某物的描述性数据,所以一行数据...实体间关系有:一对一关系,一对多关系,多对多关系。 图示如下: ... -
实体框架如何管理实体间的关系
2013-11-05 15:33:07本主题概述实体框架如何管理实体间的关系。还对如何映射和操作关系提供了一些指南。 关系、导航属性和外键 在关系数据库中,表之间的关系(也称为关联)是通过外键定义的。外键 (FK) 是用于在两个表的... -
关系型数据库中实体之间的关系
2018-06-20 20:47:00关系型数据库实体间有三种关联关系:一对一,一对多,多对多。 一对一关系(1:1): 如果实体集(表)A 中的每一个实休(就是每行记录),在实体集B中只有一条数据与它对应, 反之实体集B 中的每一个实体,在实体A中... -
实体链接(Entity-Linking)
2022-04-09 17:08:42候选实体生成(candidate entity generation)模块,负责从输入文本中检测出实体提及集合M(包括输入文本中提到的所有实体),并从给定知识图谱中找到每个实体提及可能对应的候选实体集合,常用的候选实体生成方 -
【数据库】数据库入门(五): 实体关系模型 (Entity-Relationship Model)
2019-10-25 09:26:16概念设计(Conceptual Design) —— 设计实体关系模型 (ER Model) 逻辑设计(Logical Design)—— 实现从 ER 模型到关系模式(Relation Schemas)的转换。 物理设计(Physical Design) 本文主... -
实体-联系模型(Entity-Relationship)
2021-04-06 19:55:37实体-联系模型(Entity-Relationship) ...实体:客观存在并且可以互相区分的任何事物,可以是实际对象,也可以是抽象概念。 属性:实体所代表的事物具有的某种特性,每个实体都可以用一组属性来刻画。例如,我 -
如何将实体关系图转换成关系模式
2021-12-19 00:01:08首先,通过visio绘制一个与学生实体有联系的几个E-R图。如下图所示 其中矩形表示的是实体(班级,学生,课程,学习账号),椭圆表示的是属性,菱形表示的是联系(拥有,持有,学习)。 上图实体与实体... -
JPA 常用实体注解使用总结
2019-07-18 21:47:30JPA常用实体注解使用总结 JPA是JavaPersistence API的简称,即Java持久层API,是SUN公司引入ORM规范,简化了应用开发。目前市面上流行的ORM框架,如Hibernate、OpenJPA、TopLink等都实现了JPA,程序员只需按照JPA来... -
知识图谱中的实体对齐方法及装置与流程
2020-12-21 22:13:18由于不同知识库的信息来源不同,以及人工定义及校对的差异,语义上相同的实体在不同的知识库中会有不同的表现形式。具有相同条目名称的实体也许表示着语义上的同一事物,也许表示着两种事物。在... -
数据库管理学习笔记(一)——实体关系建模
2022-01-22 04:08:12文章目录一、实体关系建模1.概念(1)实体、关系和属性(2)约束2.ER图绘制3.实体关系模型存在的问题(1)Fan Traps(2)Chasm Traps二、增强实体关系建模1.Specialization/Generalization(1)Superclasses and ... -
ANSYS Workbench中通过接触进行实体单元与实体单元之间的连接 | 坐倚北风
2021-01-14 04:21:211、题例细长梁截面尺寸50X50mm,长度400mm,底座截面...1、默认实体单元连接在ANSYS Workbench中不同的实体部件之间如果有接触面,在进入Mechanical模块时Workbench会在接触面上添加默认的连接接触。各个参数设置... -
单个实体内部和三个实体内部之间的关系
2019-03-17 15:07:12单个实体内部也有一对一、一对多、多对多的关系 一对一:独生子女家庭是一个实体,一个爸爸有一个孩子,一个孩子也有一个爸爸 一对多:员工是一个实体,员工中存在着领导与被领导的...三个实体间的关系 (实体型之间... -
E-R实体关系介绍
2018-11-06 17:28:39E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框...