01数据库的实体关系

Posted bbs1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01数据库的实体关系相关的知识,希望对你有一定的参考价值。

如何分析实体集合之间的关系

  前提必须知道如何去分析实体?

  解释 客观存在:
      客观存在性是指某种事物具有不因外在因素或人的意愿而改变的性质

  实体 和实体型 以及实体集的关系?

    实体型用于区分不同的实体,而实体集是一类实体的集合!

  需求分析中,分析实体,实体型。然后分析实体型之间的关系。

1。实体:客观存在,可以相互区别的事物称为实体。(注意实体是客观上存在的). 2。实体型:用实体名及属性名集合来抽象和刻划的同类实体。比如,学生(学号,姓名) 3。实体集:性质相同的同类实体的集合,称为实体集。比如,(张三,李四) 4。联系:是指实体之间的相互关系。 5。E-R图:通常称为 实体-关系(联系)图,其实是不对的,严格的应该叫做实体型-关系(联系)图。因为E-R图讨论的实体不是具体的个体,而是同类实体的一个集合,即实体集,而实体型恰恰可以表达具有这类性质的集合。E-R图的作用是提供了表示实体型、属性和联系的方法。绘制E-R图的过程是在客观世界与抽象世界之间相互切换,并最终以抽象形式展现的结果。在E-R图中使用实体型来描述实体集(由客观世界实体抽象到抽象世界的实体型),考查客观中具体实体之间的关系并以联系来表示(由客观世界中实体之间的关系抽象到抽象世界的联系概念)。

     实体是单个个体  实体集合呢是同类实体的集合  

     实体型 是   同一类型的实体 不同的 实体信息 

  如: 商品 他是一个实体类型, 不同的实体 就是不同的实体  比如袜子衣服,这都是客观存在的事物 。区分统一实体类型的实体差异是 通过 相关的信息

    如 做月饼的模子 , 做出来的都是月饼 但是其中 成分含量是有区别的。

如何通过E-R图分析实体型之间的关系?

  实体之间的关系通常图形描述 ?

      通常用矩形框代表实体,

        用椭圆形或圆角矩形表示实体的属性,  

      用菱形框表示实体的关系,

      并用直线把实体(或关系)与其属性连接起来。

 

实体之间的联系有哪些?

  联系(Relationship): 数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下 3 种类型: 
(1) 一对一联系 (1 ∶ 1)  一对一的关系 一般不出现 因为数据库单表字段的关系就是一对一
  例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 

一下关系是实体关系中经常出现的的实体关系
(2) 一对多联系 (1 ∶ N)  主从关系
  例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教【见图1】。  

   淘宝上的  登陆的用户 和创建的订单的关系   一个登陆的用户实体型可以创建多个订单实体型,但一个创建好的订单实体型 只属于一个用户实体型。  订单是一个创建的过程

  一对多 如何通过数据库表结构实现? d

     1.两个实体型对应两张表

    2.在多表的一方,添加一个外键 指向   主表的主见

  一对多 如何通过javabean对象来实现那?

    1.通过两个实体类建立两个javabean对象

    2.在主表中 添加一个集合 从表中类型的引用
(3) 多对多联系 (M ∶ N) 
  例如,图1表示学生与课程间的联系(“ 学 ”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生 “ 学 ” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于 “ 成绩 ” 既依赖于某名特定的学生又依赖于某门特定机的课程,所以它是学生与课程之间的联系 “ 学 ”的属性.

  淘宝 登陆的用户创建的订单 和 网站所拥有的商品是 一种  多对多的关系,  一个订单型中可以包含好多的商品型  ,一个商品信息 可以出现订单型中     

    比如我在淘宝买欧莱雅男士套装, 我登陆淘宝,我是一个用户。我可以创建多个订单来买欧莱雅男士套装  并付款,同一个商品信息可以出现在多个订单中,

  出现在多个订单的同一个商品怎么理解?

    统一中商品它有商品数量 。就像多个被克隆的人。

  如何分析 学生和选课之间的多对多的关系

      1. 学生必须是多个,课程必须是多个

      2.每一个学生可以选择多个课程 单个学生对课程来说是 主从的关系 一对多

      3.每个课程可以选择多个学生  单个课程 对学生来说也是主从的关系 一对多

   如何分析  订单和商品的多对多的关系?

      1.订单可以有多个。商品种类有多个。

      2.一个订单可以包含多个商品种类  

      3.同一个商品种类 可以出现在多个订单中   

  多对多 如何通过数据库表结构实现? 将多对多的关系 变成两个一对多的关系

     1.两个实体型对应两张表  加一个关系表

    2.关系表中 存放两个实体型的主见

  多对多 如何通过javabean对象来实现那?

    1.通过两个实体类建立两个javabean对象

    2.两个javabean中都添加对方引用的集合

 

                          

 

 

ER 图 讨论的是  实体集合之间的关系

      但是这个关系那是有每一个实体之间个关系体现的!

 

以上是关于01数据库的实体关系的主要内容,如果未能解决你的问题,请参考以下文章

对许多实体和实体关系进行过滤的核心数据提取

在 Nest JS / TypeORM 中使用具有关系的实体内部的实体并填充数据库

在春季一对多实体关系不获取数据

如何在核心数据中检索实体的唯一关系

理解实体框架核心外键关系

在 Core Data 中获取具有关系的实体