问题标签 [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.
database-design - 一元/递归关系是强/识别还是弱/非识别?
首先,一些定义以确保我使用的术语清晰:
强实体和弱实体以及强/识别和弱/非识别关系:在 ERD 中,弱/非识别关系是连接两个强实体的关系,用虚线表示。强/标识关系是将强实体连接到弱实体(即包含其相关实体的主键 [PK] 作为其自身
组件主键的组件的实体)的关系,并由实线。例如,考虑这个图表(从另一个帖子借来):
Course(强实体)和 Class(弱实体)之间的关系是强关系(实线),因为 Class 包含 Course 的 PK (*CID) 作为其自身 PK (*CID,*Date) 的一部分。相比之下,Room(强实体)和 Class(即使它是弱实体)之间的关系很弱,因为 Room 的 PK (*RID) 不是 Class PK 的一部分。
- 一元/递归关系:大多数关系是二元的,因为它们连接两个独立的实体。例如,Course 和 Class 之间、Room 和 Class 之间的关系是二元关系。当一个实体与自身有关系时,您很少有一个一元(也称为递归)关系。在图中,唯一的一元关系是与 Employee 实体的关系。它应该被标记为“manages”,因为它代表了一个 Employee 可能管理 0 到多个 Employees 的事实;每个员工由 1 名且只有 1 名员工管理。Employee的PK是*EmpID,链接关系的外键(FK)是Manager。
所以,这是我的问题:一元关系是强/识别还是弱/非识别?一方的 PK (Employee, *EmpID) 不仅是多方 PK 的一部分,而且是多方 PK 的完整组成部分(同样是 Employee,*EmpID)。因此,这表明它应该是一个牢固的关系,用一条实线,与示例图中的描述相反。谁能为我澄清一下?
sql - 关系数据库中是否可以存在与任何其他表没有关系的表?
我有一个应用程序,我将属于 Post 的PostId
关键字 ( ) 存储在名为. 该表的主键是和的组合。不是唯一的,也不是。Keyword
KeywordsForPost
PostId
Keyword
PostId
Keyword
我需要这个实现,因为我可能需要搜索有关它们包含的关键字的帖子。
我有另一个名为NewKeywords
. 该表中唯一的一列是Keyword
。创建帖子时,该帖子中的关键字将插入到KeywordsForPost
表NewKeywords
中。根据用户的命令对表NewKeywords
中的关键字进行操作,以使它们不再成为“新关键字”。所以我在应用该操作后删除了这些关键字。目前我的NewKeywords
表与任何其他表都没有关系。这种做法合理吗?还是有更好的做法?
我搜索并找到了这个答案。
我们可以有一个与其他表没有任何关系的表吗
?但没有发现它令人满意。我还发现它与之前提出的问题不同,因为它提出了一个一般性问题,而我的问题是具体的。我需要知道是否可以将关系添加到表中。到目前为止,我一无所获。
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(多对一)
那是对的吗?
谢谢你。
neo4j - 是否有任何工具可以显示两个实体之间的关系
我正在寻找适合下一项任务的工具。
例如,用户在界面实体 University 中选择并输入一些 id-s 进行搜索,并获得与他的请求相关的大学列表的结果,然后他对实体 Person 执行相同操作,最后输入最大关系长度。例如,他请求的结果是一些关系图。
或者他可能会得到几个适合关系长度的结果
我对 neo4j 不是很有经验,不知道是否有任何工具可以完成这项任务。或者任何其他与 neo4j 无关的工具都可以,但我怀疑 sql 在关系搜索中能否正常工作。谢谢。
已编辑我正在寻找用户友好的工具,该工具将在用户完全不知道 chypher 语言的情况下生成此请求
oracle - Toad ER 图未显示表之间的关系和 pk、fk
我正在使用带有管理模块的 Toad for Oracle v12.0.0.61。我感兴趣的数据库有 61 个“视图” 我选择了所有视图,右键单击并选择 ER 图 Toad 为每个表创建了小型 UML 图,列出了表名及其所有列,但没有指示它们的主键或外键和它们之间的关系。即使我选择一个特定的表(主表),然后右键单击它并选择 ER 图,选择 5 级详细信息,它只会为一个表创建一个图表,而没有所有其他信息。我是否在这里遗漏了任何步骤,或者这与我获得的访问权限级别有关?
谢谢
relational-database - 这个 ER 图正确吗?
我正在尝试创建一个满足以下要求的实体关系图:
• 每个客户都有一个姓名、一个永久地址和一个社会安全号码。
• 每个客户可以有多个电话号码,同一个电话号码可能被多个客户共享。
• 一个客户可以拥有多个帐户,但每个帐户由一个客户拥有。• 每个账户都有一个帐号、一个类型(如储蓄、支票等)和一个余额
• 银行为每个账户签发一份账户对账单,并每月将其邮寄给其账户所有者。随着时间的推移,同一个账户会有多个报表。
• 每个报表都有一个发布日期和一个报表ID。同一个账户的所有报表都有不同的报表ID,但是两个不同的账户可以有具有相同报表ID的报表。例如,账户 A 可能有一个 ID 为“123”的对帐单,而账户 B 有另一个 ID 为“123”的对帐单。
我已经实现了这个:
我有几个问题:
是否可以在任何关系的情况下使用 Min-Max 表示法,或者仅在描述中有指示时使用?
我的多对多关系在这里正确描述了吗?
我能否正确描述 Account vs Account Statement vs StatementID 之间的关系?
根据我的假设, Account Statement 真的是一个弱实体,并且
Has
真的是一个依赖于 Statement ID 的弱关系吗?发行日期是弱键吗?
database-schema - 将 EER 图超类型转换为数据库模式
您将如何将具有两个子类型的超类型转换为数据库模式?如果我的超类型 person 有两个子类型,student 和 staff,这将如何转化为数据库模式?(他们都有一个 ID、姓名和电子邮件地址)。
entity-relationship - 是否有可能在两个超类型之间建立关系?
假设我有两个超类型,每个超类型的每个子类型都有关系。我可以在两个超类型之间建立关系吗?还是超类型和实体类型之间的关系?
json - 如果我在 ERD 中表示 JSON 模型是否有效?
这个答案指出:
另一方面,ERD 图是一个特定于持久性的图,它显示(最常见的)关系数据库中存在的实体(表)。
Q1:我很好奇,因为我很少看到 JSON 在 ERD 中表示。这背后的原因是什么?
Q2:由于 JSON 不是关系数据模型,如果我使用 ERD 在 ERD 中表示我的 JSON 模型是否有效?
谢谢!