问题标签 [entity-relationship-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4324 浏览

database-design - 一元/递归关系是强/识别还是弱/非识别?

首先,一些定义以确保我使用的术语清晰:

  1. 强实体和弱实体以及强/识别和弱/非识别关系:在 ERD 中,弱/非识别关系是连接两个强实体的关系,用虚线表示。强/标识关系是将强实体连接到弱实体(即包含其相关实体的主键 [PK] 作为其自身组件主键的组件的实体)的关系,并由实线。

    例如,考虑这个图表(从另一个帖子借来):

样品 ERD

Course(强实体)和 Class(弱实体)之间的关系是强关系(实线),因为 Class 包含 Course 的 PK (*CID) 作为其自身 PK (*CID,*Date) 的一部分。相比之下,Room(强实体)和 Class(即使它是弱实体)之间的关系很弱,因为 Room 的 PK (*RID) 不是 Class PK 的一部分。

  1. 一元/递归关系:大多数关系是二元的,因为它们连接两个独立的实体。例如,Course 和 Class 之间、Room 和 Class 之间的关系是二元关系。当一个实体与自身有关系时,您很少有一个一元(也称为递归)关系。在图中,唯一的一元关系是与 Employee 实体的关系。它应该被标记为“manages”,因为它代表了一个 Employee 可能管理 0 到多个 Employees 的事实;每个员工由 1 名且只有 1 名员工管理。Employee的PK是*EmpID,链接关系的外键(FK)是Manager。

所以,这是我的问题:一元关系是强/识别还是弱/非识别?一方的 PK (Employee, *EmpID) 不仅是多方 PK 的一部分,而且是多方 PK 的完整组成部分(同样是 Employee,*EmpID)。因此,这表明它应该是一个牢固的关系,用一条实线,与示例图中的描述相反。谁能为我澄清一下?

0 投票
3 回答
2152 浏览

sql - 关系数据库中是否可以存在与任何其他表没有关系的表?

我有一个应用程序,我将属于 Post 的PostId关键字 ( ) 存储在名为. 该表的主键是和的组合。不是唯一的,也不是。KeywordKeywordsForPostPostIdKeywordPostIdKeyword

我需要这个实现,因为我可能需要搜索有关它们包含的关键字的帖子。

我有另一个名为NewKeywords. 该表中唯一的一列是Keyword。创建帖子时,该帖子中的关键字将插入到KeywordsForPostNewKeywords中。根据用户的命令对表NewKeywords中的关键字进行操作,以使它们不再成为“新关键字”。所以我在应用该操作后删除了这些关键字。目前我的NewKeywords表与任何其他表都没有关系。这种做法合理吗?还是有更好的做法?

我搜索并找到了这个答案。 我们可以有一个与其他表没有任何关系的表吗
?但没有发现它令人满意。我还发现它与之前提出的问题不同,因为它提出了一个一般性问题,而我的问题是具体的。我需要知道是否可以将关系添加到表中。到目前为止,我一无所获。

0 投票
1 回答
1039 浏览

database - 理解 ER 图

我是从给定的 ER 图创建表格的新手,虽然我使用过鱼尾纹图,但我对下面的图表类型完全陌生。

由此,我如何确定表中的主键、外键以及 1-1、1-many 等关系?

ER模型

非常感谢您的任何建议。

PS我正在尝试在MySQL Workbench中对其进行建模,因此如果有任何具体建议,我将不胜感激!

0 投票
1 回答
326 浏览

database - 如何设计匹配关系模型的实体关系?

大家好,首先感谢所有花时间阅读我的问题和回复的人。

我有一个 RM,我需要设计一个与之匹配的 ER。

RM: A(c,j) // c 加下划线 B(b,c,d,e,h) // b,c,d,h 加下划线 C(a,g,h,i) // h带下划线 D(c,f,g,i) // c,i 带下划线

我想到了以下 ER(我正在描述它,因为我不能在这里真正绘制它): 具有属性的实体“A”:“c”(key),“j” 具有属性的实体“B”:“b”(key) ,"d"(key), "e" 实体 "C" 具有属性: "h"(key), "a", "g" 实体 "D" 具有属性: "i"(key), "f", “g”(不同于 C 的属性)

关系:AB(多对多) AD BC C->D(多对一)

那是对的吗?

谢谢你。

0 投票
1 回答
49 浏览

neo4j - 是否有任何工具可以显示两个实体之间的关系

我正在寻找适合下一项任务的工具。

例如,用户在界面实体 University 中选择并输入一些 id-s 进行搜索,并获得与他的请求相关的大学列表的结果,然后他对实体 Person 执行相同操作,最后输入最大关系长度。例如,他请求的结果是一些关系图。

或者他可能会得到几个适合关系长度的结果

我对 neo4j 不是很有经验,不知道是否有任何工具可以完成这项任务。或者任何其他与 neo4j 无关的工具都可以,但我怀疑 sql 在关系搜索中能否正常工作。谢谢。

已编辑我正在寻找用户友好的工具,该工具将在用户完全不知道 chypher 语言的情况下生成此请求

0 投票
1 回答
1544 浏览

oracle - Toad ER 图未显示表之间的关系和 pk、fk

我正在使用带有管理模块的 Toad for Oracle v12.0.0.61。我感兴趣的数据库有 61 个“视图” 我选择了所有视图,右键单击并选择 ER 图 Toad 为每个表创建了小型 UML 图,列出了表名及其所有列,但没有指示它们的主键或外键和它们之间的关系。即使我选择一个特定的表(主表),然后右键单击它并选择 ER 图,选择 5 级详细信息,它只会为一个表创建一个图表,而没有所有其他信息。我是否在这里遗漏了任何步骤,或者这与我获得的访问权限级别有关?

谢谢

0 投票
2 回答
2547 浏览

relational-database - 这个 ER 图正确吗?

我正在尝试创建一个满足以下要求的实体关系图:

• 每个客户都有一个姓名、一个永久地址和一个社会安全号码。

• 每个客户可以有多个电话号码,同一个电话号码可能被多个客户共享。

• 一个客户可以拥有多个帐户,但每个帐户由一个客户拥有。• 每个账户都有一个帐号、一个类型(如储蓄、支票等)和一个余额

• 银行为每个账户签发一份账户对账单,并每月将其邮寄给其账户所有者。随着时间的推移,同一个账户会有多个报表。

• 每个报表都有一个发布日期和一个报表ID。同一个账户的所有报表都有不同的报表ID,但是两个不同的账户可以有具有相同报表ID的报表。例如,账户 A 可能有一个 ID 为“123”的对帐单,而账户 B 有另一个 ID 为“123”的对帐单。

我已经实现了这个:

在此处输入图像描述

我有几个问题:

  1. 是否可以在任何关系的情况下使用 Min-Max 表示法,或者仅在描述中有指示时使用?

  2. 我的多对多关系在这里正确描述了吗?

  3. 我能否正确描述 Account vs Account Statement vs StatementID 之间的关系?

  4. 根据我的假设, Account Statement 真的是一个弱实体,并且Has真的是一个依赖于 Statement ID 的弱关系吗?发行日期是弱键吗?

0 投票
1 回答
53 浏览

database-schema - 将 EER 图超类型转换为数据库模式

您将如何将具有两个子类型的超类型转换为数据库模式?如果我的超类型 person 有两个子类型,student 和 staff,这将如何转化为数据库模式?(他们都有一个 ID、姓名和电子邮件地址)。

0 投票
1 回答
82 浏览

entity-relationship - 是否有可能在两个超类型之间建立关系?

假设我有两个超类型,每个超类型的每个子类型都有关系。我可以在两个超类型之间建立关系吗?还是超类型和实体类型之间的关系?

0 投票
1 回答
2941 浏览

json - 如果我在 ERD 中表示 JSON 模型是否有效?

这个答案指出:

另一方面,ERD 图是一个特定于持久性的图,它显示(最常见的)关系数据库中存在的实体(表)。

Q1:我很好奇,因为我很少看到 JSON 在 ERD 中表示。这背后的原因是什么?

Q2:由于 JSON 不是关系数据模型,如果我使用 ERD 在 ERD 中表示我的 JSON 模型是否有效?

谢谢!