精华内容
下载资源
问答
  • 目录写在最前一、 实体与弱实体的定义1. 实体2. 弱实体百度百科中的解释《数据库系统课程》中的解释总结起来 写在最前 数据库设计是困难的,其原因之一就在于我们很难去完全把握实体的定义。是不是实体、该不该...

    写在最前

    数据库设计是困难的,其原因之一就在于我们很难去完全把握实体的定义。是不是实体、该不该定义实体是一直困扰数据库初学者的问题,强实体、弱实体的概念同样难以理解。
    我一直深受强实体、弱实体概念的困扰,百度百科中的定义不能很好地解决我的困惑,一路学习过来,自己对强实体、弱实体的理解越来越深入,因此写下这篇文章与大家分享自己对强实体与弱实体的一些体会。如果觉得有帮助,请点赞鼓励!

    一、 强实体与弱实体的定义

    1. 强实体

    其实例的存在不依赖于任何其他实体类型的实例;有自己独立的主键,唯一性地标识它的每个实例。

    2. 弱实体

    百度百科中的解释

    一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。

    《数据库系统课程》中的解释

    其实例的存在依赖于其它实体类型的实例;其主键包括它所依赖的实体类型的主键。

    总结起来

    百度百科中的解释和课程中的解释都是在强调两点:
    第一点:依赖,弱实体应该依赖于强实体;
    第二点:主键,弱实体的主键应该是组合主键(其他实体的主键组成的)。

    二、 关于定义的几个疑惑

    但定义中有几个地方令我不解,我相信初学者多少也会遇到同样的问题。我总结了四点:

    什么叫“依赖”?

    以教务系统数据库为例,如果没有学校,那么学院不再是学院,学生不再是学生,课程更将不复存在,所以这些实体都依赖于其他实体,因此这些都是弱实体?但我们知道,学院、学生一般都作为强实体。因此,定义中的“依赖”指的是什么呢?

    先有鸡还是先有蛋?

    是因为一个实体的主键包括其他实体的主键而使该实体成为了弱实体,还是因为一个实体是弱实体,所以它的主键必须包括其他实体的主键?
    这是一个先鸡(弱实体)还是先蛋(组合主键)的问题。

    为什么要定义弱实体?

    我们知道,弱实体对于另一个实体具有很强的依赖联系,似乎并不是“真实”存在的事物,那么为什么我们还会有弱实体的概念,而不是直接认为实体就是强实体呢?

    什么时候需要定义弱实体?

    有时候弱实体就是需求中的实体,只是它依赖于其他实体,有时候关系也可以认为是弱实体,有时候出于设计的需要我们也会定义弱实体,那么何时需要定义弱实体?

    总结起来,以上四个问题其实是一个问题:

    怎样正确地理解强实体与弱实体的含义?

    三、 唯有实践,方出真知

    有很多事情是很难想明白的,但经过几次数据库设计实战,我发现自己或多或少地定义了一些弱实体。我选取了三个典型的例子:

    教务系统数据库设计(一)

    之后我会专门写一篇博客介绍教务系统数据库的设计过程,这里选取其中一个比较典型的部分。业务需求是这样的:

    一周有七天,每一天有11节。

    上面这句话中涉及到了几个实体?很简单吧,三个实体:周、天、节。那么它们是强实体还是弱实体呢?不好说,但是我们可以确定,概念数据模型的设计应该是这个样子:
    在这里插入图片描述
    需要勾选“Dependent”。首先回答一个问题:为什么不能是下面这个样子?
    在这里插入图片描述
    Day的主键应该是dayOfWeek,如果不用“Dependent”将Day的主键改为weekNum+dayOfWeek,我们的Day表格中只能有七行记录,也就是说对于某一个星期一,我们无法区分这是第几周的星期一!同样的道理,如果Section的主键仅仅为sectionNum,那么我们根本无法区分这一节课是哪一天的课!教务系统要有排课、选课功能,只知道第1节,但不知道是哪一天的第一节,这肯定是不可以的。

    因此,当我们想要找到某一节时,需要同时指定那一周、星期几、哪一节。比方说我可以把《数据库设计》这门课安排在第一周星期一三四节。

    在这个例子中,三个实体都是需求中明明白白告诉我们的实体,但我们将Day与Section都作为了弱实体,因为强实体的Day与Section根本无法满足需求。

    培训公司数据库设计

    业务需求是这样的:

    每位学生每期只能参加一门课程。

    言外之意,公司有很多课程。我们只分析“每位学生每期只能参加一门课程”这一需求,发现涉及到两个实体:学生、课程。所以我们或许会想当然地这样去设计数据库:
    在这里插入图片描述
    一个课程可以由多个学生选择,一个学生只可以选择一门课程。发现问题了吗?业务需求里不是说一个学生只能参加一门课程,而是说一个学生在一期只能参加一门课程!这么设计数据库是在断人家财路。因此,我们必须考虑“每期课程”这个概念:在这里插入图片描述
    看样子似乎是没问题了,但是数据库设计是不可能这么容易就没问题的。我们把每期课程都作为一个记录,那么对于课程的信息,比方说课程名称、价格、介绍,每开一期课就要向数据库中存一行记录,因此我们的数据库会出现大量冗余(也就是说不满足数据库第二范式)。因此,我们应该这样去设计数据库:
    在这里插入图片描述
    看到了吗?这里的“Record”是一个弱实体,它的主键是“学期主键+学生主键”,代表学生参加课程这一行为,抽象成为了弱实体。为什么要用学期表的主键和学生表的主键呢?因为一个学生、一个学期,那么就只能参加一门课程了,所以根据主键唯一标识每行记录的原则,应该这样去选取。课程表的主键成为了Record表的外键,课程表与Record表之间存在一对多关系。

    在这个例子中,学生、课程是业务需求描述中显而易见的实体,“期”也可以认为是比较明显的实体,但“参加”这个动词在我们的数据库中便成为了“参加记录” ,也就是Record实体。

    教务系统数据库设计(二)

    这一部分的业务需求是这样的:

    老师授课。

    似乎业务需求很简单,但事实上,多位老师可以独立上同一门课,也可以共同上同一门课。一位老师可以参与多门课的授课。真实的教务系统的确是这个样子的。一般,像马原、高数等课程是多位老师独立授课,专业核心课大多是多位老师共同为同一班级授课。那么数据库要怎样设计呢?
    在这里插入图片描述
    像这样吗?老师、课程之间建立多对多关系?不难发现,这样的多对多联系无法区分上面所说的两种授课情况。也就是说,我们必须引入第三个表,才有可能实现业务需求,两张表格是行不通的。我是这样设计的:
    在这里插入图片描述
    在课程表与老师表之间,引入了新的一张表格——排课表。一个课程可以安排多次排课,一个排课就对应一个独立的授课安排,可以由一位老师完成,也可以由多位老师完成。那么像马原授课这种多位老师独立授课的情况该如何解决呢?在排课表中,认为不同老师的马原课是同一课程(引用Course表中同一记录的主键作为外键),但是它们是不同的排课(ArangeNo不同,可能一个是1,另一个是2)。也正因如此,排课表的主键是组合主键(课程编号+排课编号,如CS163、1)。

    这个例子中,需求中并没有提“排课”这一实体,这个实体完全是我们为了满足需求而定义的,甚至它和课程表在概念上还有点关系。注意到了吗,这里的“关系”就是弱实体概念中所说的“依赖”!

    四、 对强实体与弱实体的总结

    1. 区别弱实体与强实体的关键在于主键,“依赖”的实质是主键之间的关系。所以归根到底,就一个主键之间是否有关系、主键是否是组合主键的问题。

    2. 弱实体与强实体可以相互转换,没有绝对意义上的强与弱。既然区别弱实体与强实体的关键在于主键,那么一个同样意义的表,当我给它一个编号作为主键,那么它就不是弱实体,而如果我令它的主键是组合主键,它就是弱实体。就像刚刚,我们说排课表的主键是组合主键(课程编号+排课编号,如CS163、1),所以它是弱实体,那么如果我定义排课编号是“CS16301”,而不再是“1”,那么它的主键(排课编号)就不再需要课程编号,它就成为了强实体。

    3. 弱实体也可以依赖于弱实体。就像第一个例子中的Session,它依赖于Day,Day就是一个弱实体。

    4. 弱实体与它所依赖的实体之间的关系只能是1:1或n:1。也就是说,一个弱实体实例不可能依赖于同一实体的多个实例。这个其实很好理解,因为如果弱实体实例A依赖于实例B,那么A的主键要包括B的主键,所以A当然不可以依赖于很多个B。

    5. 业务需求决定弱实体的定义,分三种情况:

      情况一、 业务需求中明确的弱实体
      情况二、 业务需求中隐含的弱实体
      情况三、 业务需求中无、但为实现业务需求不得不定义的弱实体

      如果觉得这篇文章对你有帮助,请给博主点个赞!

    展开全文
  • 【软考】之实体、弱实体

    万次阅读 热门讨论 2015-10-11 11:04:06
    【软考】之实体、弱实体 目录 一、基础概念 二、弱实体(weak entity) 三、问题思考 四、小结    在了解这个之前我们想想什么事实体,什么是实体集,实体有哪些关系? 一、基础概念:   实体:现实中可区别与...


                                         【软考】之强实体、弱实体  


    目录

    一、基础概念

    二、弱实体(weak entity)

    三、问题思考

    四、小结

     

       在了解这个之前我们想想什么事实体,什么是实体集,实体有哪些关系?


    一、基础概念:

        

      实体:现实中可区别与其他对象的事物。实体可以是任何实际或抽象的。
       

      实体集是相同类型的实体的集合。

    联系:实体是实体集的外延。

     

      度:联系集关联的实体集个数。

      域:属性的可取值的集合。

      复合属性:可再划分的属性。简单属性:不可再划分的属性。

      多值属性:能取多个值。需要时,可以对多值属性的数量限制。
     

      派生属性:可以由其他属性推导得。虚线

     


    二、弱实体(weak entity)

      1、定义:有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集。

    与此相对,其属性可以形成主码的实体集称为强实体集。


      通俗的说:有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集。与此相对,其属性可以形成主码的实体集称为强实体集(strong entiy)。

     

    注意:强实体与弱实体的联系只能是111N。弱实体参与联系时应该是完全参

    ,因此弱实体与联系间的联系也画成双线边。

     

     

      依赖联系在现实世界中,有些实体对一另一些实体有很强的依赖关系,即一个实体

    的存在必须以另一实体的存在为前提。前者就称为"弱实体",如在人事管理系统中,职

    工家属的信息就是以职工的存在为前提的,家属实体是弱实体,子女与职工的联系是一

    种依赖联系。在ER图中用双线框表示弱实体。又如,学生家长是一种弱实体,因为只有

    学生实体存在,家长实体才会存在。用箭头表示依赖联系。

              

                 


         

      

      弱实体集只有在参与一对多的联系集时才有意义,这时该联系集应该不具有任何描述

    性属性,因为任何所需属性都可以同弱实体集相联系。强实体集和弱实体集的概念与存

    在依赖密切相关,强实体集的成员必然是支配实体,而弱实体集的成员是从属实体。

     


    三、问题思考:

      是不是一个实体集的属性都能形成它的主码呢?答案是否定的。有些实体集的所有属

    性都不足以形成主码,这样的实体集称为弱实体集。与此相对,其属性可以形成主码的

    实体集称为强实体集。强实体集和弱实体集的概念与存在依赖密切相关,强实体集的成

    员必然是支配实体,而弱实体集的成员是从属实体。

     

    四、小结:

      虽然弱实体集的属性不能形成主码,但仍需要用某种方法来区分该实体集中依赖于某

    个特定强实体的所有实体。弱实体集的分辨符就是能够使我们进行这种区分的属性集

    合。

     

      弱实体集的属性不能形成主码,但不是说弱实体集就没有主码。由该弱实体集所存在

    依赖的强实体集的主码和该若实体集的分辨符(部分码)共同构成的属性集合就是它的主

    码。

     

     

    展开全文
  • 与ACL 2020接受的论文“没有标签数据的命名实体识别:监督方法”相关的源代码。 要求: 您首先应该确保安装以下Python软件包: spacy (版本> = 2.2) hmmlearn snips-nlu-parsers pandas numba scikit-...
  • 弱实体

    千次阅读 多人点赞 2019-04-06 20:48:00
    一张图讲解 弱实体集: 图的含义: cook:实体集,厨师(假设每个厨师都有编号,可以认为是某个饭店内部的厨师集) food :实体集,食物。...解释:图中的food就是弱实体集,名称第一次被制作的时间都...

    一张图讲解 弱实体集:

    图的含义:

    cook:实体集,厨师(假设每个厨师都有编号,可以认为是某个饭店内部的厨师集)
    food :实体集,食物。有 名称name 和 第一次被制作的时间time 两个属性
    cook_food : 联系集,哪个厨师做了哪个食物

    弱实体集weak entity set

    定义:

    没有足够的属性以形成主码的实体集
    解释:图中的food就是弱实体集,名称和第一次被制作的时间都不足以唯一确定一个元组,即没有主码。因为食物名称可能重合,制作时间也可能相同。

    相对地,有主码的实体集称为强实体集strong entity set,如cook,主码为cook_id。

    弱实体集与强实体集关联才有意义
    这个强实体集被称为标识identifying属主实体集owner entity set
    将弱实体集与标识实体集相联的联系称为标识性联系identifying relationship,在E-R图中用 双菱形 表示
    我们称弱实体集存在依赖于标识实体集,标识实体集拥有弱实体集。

    例如:图中cook_food为标识性联系
    cook是标识实体集
    food存在依赖于cook,cook拥有food。

    分辨符discriminator(部分码)

    弱实体集没有可以充当主码的属性,它用分辨符来区分属性集合。
    在实体集中用 虚下划线 标识(图中蓝色虚线)

    food的分辨符是由 name、time 组成。

    为什么可以区别:对于一个厨师来说,时间和名称唯一标识了一个食物
    (请不要钻牛角尖说同时做两个名字一样的菜,没意思)

    弱实体集的主码

    标识实体集的主码 + 分辨符
    food的主码为{ cook_id, name , time }

    展开全文
  • 于是本文对实体关系描述词的特点进行了分析,提出了一种语义层面的监督军事实体关系识别技术。本方法采取Word2vec模型FPGrowth算法对海量未标注军事文本进行分析,从关联分析角度进行实体关系描述词提取,从语义...
  • 因此,“引导”到弱实体的关系称为“识别”关系.在实践中,这意味着父母的主键被迁移到子PK的子集(通常是proper)中(术语“弱实体”通常与主键相关地定义,但理论上它可以应用于任何键).拥有一个不能独立存在的实体是...

    一个实体并不弱,因为它不能独立存在,而是因为它无法独立识别.因此,“引导”到弱实体的关系称为“识别”关系.在实践中,这意味着父母的主键被迁移到子PK的子集(通常是

    proper)中(术语“弱实体”通常与主键相关地定义,但理论上它可以应用于任何键).

    拥有一个不能独立存在的实体是完全合法的,但可以独立识别 – 换句话说,就是与非NULL的非识别关系.

    您必须要问:historyLineID可以单独使用,还是与orderID结合使用?我怀疑后者就是这种情况,这会使它成为一个弱势实体.

    Is this really a correct weak entity relationship?

    你告诉我们的不是一个弱实体 – 父母的PK不会迁移到孩子的PK中.

    Is there other ways to identify them?

    你基本上有两个选择:

    > orderHistory有一个复合PK:{orderID,historyLineID},其中orderID是FK.顺便说一句,这个PK可以被认为是“自然的”:

    > orderHistory有一个代理PK:{orderHistoryID},而orderID在PK之外.您仍然需要备用密钥{orderID,historyLineID}:

    Should I add the PK of table order to table orderHistory and make it a composite primary key?

    是的,这是上面描述的第一个选项.除非你在orderHistory本身有子关系,否则这也是最好的解决方案.如果orderHistory确实有孩子,那么这可能是也可能不是最佳解决方案,具体取决于几个因素.

    What if I decide to model this as a normal One-To-Many relationship where orderID is added as a foreign key instead? what are the cons of doing so?

    这不是 – 或者.字段可以是FK和(主要或备用)键的一部分,如上所示.

    Will ignoring Weak entities at all cause any problems later in a design provided all tables are in 3rd normal form?

    除非您正确指定密钥,否则您将无法达到3NF,如果不考虑哪个实体可以独立识别,哪个不能独立识别,您将无法做到这一点.

    展开全文
  • 什么是弱实体

    千次阅读 2020-05-18 20:03:34
    弱实体的相关概念 相关文章1 相关文章2 一篇比较好的讲解弱实体的博客 比如用户 和消费记录, 消费记录的 id 和 用户的...强实体和弱实体一般是 1:N 或者 1:1 的关系,弱实体依赖实体而存在(依赖实体的主键) ...
  • 关于弱实体的浅谈

    千次阅读 2018-08-22 21:59:17
     弱实体和强实体的区别是什么呢?  实体指的是在这个关系中(比如说银行系统中),用户这个实体 是实体;为什么?因为不论为啥,银行总要有用户,用户不依赖于其他实体而存在;  相对而言,弱实体就有些...
  • 如何设计ER图(弱实体集)

    千次阅读 2020-04-04 14:18:17
    弱实体集依赖于实体集而存在。之间的联系叫做标识性联系 考虑两个实体集, 我们发现属性会冗余,贷款编号是贷款的主码,也是还款的外码和主码。 为了消除冗余,我们只能消除还款的贷款编号属性。 但这样会出现一...
  • Q1:与联合抽取对比,Pipeline方法有哪些...如何应用监督预训练机制?怎么解决高复杂度问题、进行one-pass关系分类? Q4:什么是关系重叠问题? Q5:联合抽取难点在哪里?联合抽取总体上有哪些方法?各有哪些缺点?
  • PowerDesigner如何表示弱实体

    千次阅读 2016-04-05 09:25:34
    在建立概念数据模型(CDM) 的时候遇到了不知如何表示弱实体集的问题。其实PowerDesigner中的ER图是通过在联系端使用三角符号的方式进行标示。 具体操作:打开你要设置的多对一关系,在Cardinalities里将关系中的多...
  • 实体-联系模型

    千次阅读 2020-12-20 22:08:32
    E-R模型采用三个基本概念:实体集、联系集属性。 将E-R图的知识点打散到各个章节 实体实体(entity)是现实世界中可区别于所有其他对象的一个“事物”或“对象”。(可从面向对象的类含义类似)实体集是相同...
  • 人工智能 C.人工智能 D.人工智能 我的答案 C 答对 2. 当前人工智能重点聚焦 _x000D_ 大领域 0.4 分 A.6 B.7 C.8 D.9 我的答案 B 答对 3.关于中国人工智能产业技术创新日益活跃 ,下列说法不正确的是 0.4 分 A....
  • 数据库中,设计的ER图里面弱实体A依赖于弱实体B的话,是否需要将弱实体B中的主键放去弱实体A中充当主键?
  • 2021年7月金融数据点评:实体融资需求走
  • 实体关系图

    2021-01-20 03:57:10
    E-R图为实体-联系图,提供了表示实体型、属性联系的方法,用来描述现实世界的概念模型。E-R模型最常见的运用是在数据库设计的分析阶段解释实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本...
  • 概念设计(Conceptual Design) —— 设计实体关系模型 (ER Model) 逻辑设计(Logical Design)—— 实现从 ER 模型到关系模式(Relation Schemas)的转换。 物理设计(Physical Design) 本文主...
  • 受ArtemisTerrasology启发的JVM的实体组件系统(ECS)。 概括 世界 世界是模块的心脏,也是用户的切入点。 世界: 管理实体集合 创建实体并提供请求的实体 可以序列化反序列化其实体集合 发布实体事件 订阅并...
  • 有色金属行业周报:宽货币弱实体格局延续,继续看好贵金属板块.pdf
  • 为了确保高精度高召回率,我们利用大量的在线问题档案,开发了一种监督的引导方法,用于比较问题的识别和可比较的实体提取。 实验结果表明,我们的方法在比较问题识别中的F1测度为82.5%,在可比较实体提取中的...
  • 人工智能 C.人工智能 D.人工智能 我的答案 C 答对 2.当前人工智能重点聚焦_x000D_大领域0.4分 A.6 B.7 C.8 D.9 我的答案 B 答对 3.关于中国人工智能产业技术创新日益活跃,下列说法不正确的是0.4分 A.语音识别 B....
  • 实体关系抽取入门

    万次阅读 2019-03-13 16:52:39
    信息抽取的主要任务有:命名实体识别、实体关系抽取、事件抽取、实体消歧。关系抽取(Relation Extracion,RE)是其中的重要子任务之一,主要目的是从文本中识别实体并抽取实体之间的语义关系。实体关系抽取解决了原始...
  • 文章目录一,实体集1,实体集表示为表2...E-R 图1,E-R 图1.2 角色2,具有三元联系的E-R图3,二元与非二元联系4,弱实体集七,扩展的E-R特性1,特化与概化2,对特化/概化的设计约束3,聚集4,E-R图表示法中使用的符...
  • 命名实体翻译等效项提取在机器翻译(MT)... 我们使用相关双语文本集最少的附加知识来提取NE对有效地减少了构建语料库的成本对附加知识的需求。 我们的方法可能有助于使用单语语料库构建大规模的汉日NE翻译词典。
  • 实体—联系模型

    千次阅读 2018-06-25 01:36:53
    一、实体—联系(E-R)数据模型概述 该数据模型基于对现实世界的这样一种认识:世界由一组称为实体的基本对象及这些对象间的联系组成,该模型是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义。...
  • 数据库——实体联系模型

    千次阅读 2020-02-28 20:04:55
    1.实体 1.实体:客观存在并且可以相互区分的任何事物,可以是实际对象,也可以是抽象概念。 2.属性:实体所代表的事物具有的某种特性,每个实体都可以用... 实体和实体集的型都用其属性名的列表表示  例如,学生...
  • HarvestText是一个专注无()监督方法,能够整合领域知识(如类型,别名)对特定领域文本进行简单高效地处理分析的库。适用于许多文本预处理初步探索性分析任务,在小说分析,网络文本,专业文献等领域都有...
  • 实体关系联合抽取一、实体关系抽取任务介绍二、实体关系抽取与知识图谱三、实体关系抽取任务分类1.监督学习2.远程监督关系抽取3.少样本数据抽取4.实体关系联合抽取四、实体关系联合抽取常用方法1.序列标注...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,716
精华内容 19,486
关键字:

强实体和弱实体