问题标签 [entity-relationship]

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 回答
3405 浏览

python - 在 Django 中建模复杂的关系

我正在使用 Django 开发 Web 服务,我需要对一个非常具体、复杂的关系进行建模,而我无法解决。

想象三个通用模型,我们称它们为 Site、Category 和 Item。每个站点包含一个或多个类别,但它可以通过两种可能的方式之一与它们相关:一种是“常见”类别,它们处于多对多关系:它们是预定义的,每个站点可以与零相关或更多类别,反之亦然。其他类型的类别是为每个站点单独定义的,其中一个此类类别仅“属于”该站点,而不属于其他类别;即它们是多对一的关系,因为每个站点可能有许多这些类别。

在内部,这两种类型的类别完全相同,只是与站点相关的方式不同。但是,它可以将它们分成两个不同的模型(可能有一个共同的父模型),但这只能解决我的一半问题:Item 模型与 Categories 是多对一的关系,即每个 Item 属于只有一个类别,理想情况下它不应该关心它与站点的关系。

另一种解决方案是允许两种不同类型的站点-类别关系共存(即在同一个类别模型上同时具有 ForeignKey 和 ManyToMany 字段),但这种解决方案感觉就像打开了另一罐蠕虫。

有没有人知道这个死胡同是否有第三种更好的解决方案?

0 投票
3 回答
2385 浏览

sql-server - SQL Server to er 模型

是否有将 SQL Server 数据库图转换为 er 模型的程序,或从 SQL Server 服务器创建数据库的 er 模型?

0 投票
6 回答
4440 浏览

sql - 如果行不受约束影响,则 SQL 删除

首先注意我见过这个问题:TSQL delete with an inner join

我有一个大表和几个外键关系,每个关系都有给定年龄的数据。我们需要定期删除比给定数据更旧的数据,以阻止数据库无限制地增长。

我正在编写一个查询,如果您将通过给定的参数从星上的每个点删除(不幸的是,这些参数是可配置的并且在表之间是不同的)。

在第一次删除之后,我有一个中央表,我担心我正在做两次尝试删除的工作,因为在删除数据库时会检查条件。我有一套:

TSQL 正在将其制成正确的反半联接并在索引上做得很好。问题是它创建了一个要删除的内容列表,然后在执行删除时再次执行相同的检查。

我想我的问题是是否有逐行尝试删除,(我不打算在游标中这样做,因为我知道它会有多慢),但你会认为这样的关键字会存在,我没有t 有运气找到它虽然。

0 投票
2 回答
7664 浏览

.net - 与 EntityDataSource 的多重关系绑定

我的数据库有一个 ADO .Net 实体数据模型。在这个模型中,我有三个相关的表:“用户”表包含 UserId 和其他详细信息。“Run”表包含 RunId、ApproverId 和其他详细信息 “RunToUser”包含 UserId 和 RunId 列

关系如下: Users.UserId 与 Run.ApproverId 是一对一的关系 User.UserId 与 RunToUser.UserId 是多对多 Run.RunId 与 RunToUser.RunId 是多对多

在实体模型中,这表示为具有 2 个独立关系的两个表。用户和运行之间的一对一关系和多对多关系。

我有一个 ASP.net Formview,我想在其中编辑运行中的数据以及用户中的相关数据。

数据绑定在大多数情况下都有效。但是,当我作为实体数据源绑定到用户表时,它总是使用一对一的关系关联。

如何强制实体数据源使用特定的关系关联,以便将数据从一对一映射绑定到标签,将多对多映射到数据视图?

我在限制记录的 where 子句中尝试了“EXISTS”,但它仍然坚持始终使用一对一并且仅在所有数据绑定控件中显示单个用户。这是用户的实体数据源:

我假设我需要两个实体数据源,一个用于标签,另一个用于网格视图,但在我知道如何指定关联之前,我不知道如何进一步进行。谢谢,-J

0 投票
1 回答
4178 浏览

c# - 如何通过实体键添加/删除与实体框架的多对多关系?

我试过:

当尝试使用 Remove() 而不调用 attach 之前没有抛出异常但没有删除关系。

0 投票
1 回答
1308 浏览

entity-framework - 实体框架:为一对多查找 EntityKey 值

在 EF 中,可以编写以下行:

这会导致关联的 OrderReference 的 ID。

如果我想知道与订单关联的 orderLines 的 ID,解决方案是什么?

0 投票
1 回答
6525 浏览

iphone - 代码中的核心数据简单关系

我是一个可可新手,试图创建一个包含 Core Data 的 iPhone 应用程序。

我的问题是:我现在有一个小应用程序正在运行,它有一个名为 Playlist 的实体,我显示在表格视图中,并且可以在其中添加和删除条目。

我的 PlayerAppDelegate 中有这些:

播放列表ManagedObjectModel

playlistListManagedObjectContext

playlistListPersistentStoreCoordinator

添加实体:

现在我想添加一个名为 Song 的子关卡,它具有一对多关系。

添加播放列表属性:songRelation 添加歌曲属性:playlistRelation

我已经创建了这个实体并设置了两种方式的关系,单击可选标志,因为我希望播放列表中至少有一首歌曲。

设置此关系后,我现在无法再创建播放列表而不会收到警告。问题是“它”也想要一首歌曲,但我不知道怎么做。

在这种情况下,我找不到一个关于如何添加新播放列表的示例,即何时与另一个必须添加的实体有关系。

我需要创建这些:

还是可以通过播放列表实体以某种方式访问​​ Song 实体?

可能是这样的:

添加播放列表

添加歌曲

设置“关系”属性(如何?)

保存到持久存储

或者????

我真的用谷歌搜索了很多,可能在这里误解了一些基本的东西,因为没有可用的例子......

Rgds PM

0 投票
0 回答
1920 浏览

entity-framework - 更新实体框架中的 EntityKey 引用

我创建了一个使用 Asp.net、Entity Framework 和 Windows Workflow Foundation 的应用程序,一切都按预期工作。

我的 asp.net 页面应该启动一个工作流,该工作流执行并更新从页面传递到工作流的实体。一切正常:我使用工作单元模式在 asp.net 和 WWF 之间共享上下文,并且我的实体在工作流期间成功更新......除了在我的实体中建模的字段作为对另一个实体的引用。

假设这种情况。主实体称为 Item,具有称为 Status 的属性,该属性是另一个称为 Status 的实体的外键。当我创建一个项目时,我只是用常见的语法来创建它,比如

然后我创建对 Status 实体的引用,如下所示:

其中 State 是在工作流程步骤中硬编码的整数值。

每当我尝试更新此实体(第一项)时,我都会按照以下步骤操作:a)我从上下文中检索实体(一个新实体,为以下事务构建为工作单元),使用:

然后将实体附加到我的上下文中。EntityState 处于未更改状态

b)我像以前一样更新状态参考:

c) 我在上下文中保存更改,例如:ctx.SaveChanges();

使用 vs2008 调试器,我可以看到更新的实体以及保存更改的时间......我看到所有属性都已更改(modifiedDate、itemName 和其他道具),但实体引用仍指向原始属性。

谁能给我一些帮助?!

0 投票
1 回答
2729 浏览

database - Oracle 可选关系

定义与另一个表具有可选外键关系的 oracle 表的正确方法是什么?例如,一些员工记录定义了他们来自的国家(来自国家/地区表的 FK),而有些则没有。

0 投票
1 回答
373 浏览

sql - 以 1:n(一对多)关系对记录进行排序

我有两张桌子:

在这种关系中:

Person hasMany Photo <-> Photo belongsTo Person

我想列出所有带有照片的人(即使有人没有,比如杰克),并按照片的标题排序。

我应该为此编写什么 SQL 查询(MySQL)?我可以在一对多关系中使用联接吗?

PS:作为一个信息,我希望能够用记录构造一个这样的数组:

非常感谢!