问题标签 [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 投票
1 回答
822 浏览

entity-relationship - ER图

只是想知道 ER 图 1 和 ER 图 2 有什么区别?

谢谢你

0 投票
5 回答
3077 浏览

sql - 循环数据库关系。好,坏,例外?

一段时间以来,我一直推迟开发我的应用程序的这一部分,纯粹是因为我想以一种循环的方式来做这件事,但是从我记得我的讲师在学校告诉我的事情中感觉这是一个坏主意。

我有一个订单系统的设计,忽略了与这个示例无关的所有内容:

  • 信用卡
  • 顾客
  • 命令

我想要这样,

  • 客户可以有信用卡(0-n)
  • 客户有订单(1-n)
  • 订单有一位客户(1-1)
  • 订单有一张信用卡(1-1)
  • 信用卡可以有一个客户(1-1)(唯一的 id,所以我们可以忽略 cc 号码的唯一性,丈夫/妻子可以共享 cc 实例等)

基本上最后一部分是问题出现的地方,有时信用卡被拒绝并且他们希望使用不同的信用卡,这需要更新他们的“当前”卡,但这只能更改用于该订单的当前卡,而不是客户可能在磁盘上的其他订单。

这有效地在三个表之间创建了一个圆形设计。

可能的解决方案:要么

创建圆形设计,提供参考:

  • cc 参考订购,
  • 客户参考抄送
  • 客户参考订购

或者

  • 客户参考抄送
  • 客户参考订购
  • 创建引用所有三个表 id 的新表并在订单上放置唯一的,以便在任何时候只有一个 cc 可能是该订单的最新

本质上,两者都对相同的设计进行建模,但翻译方式不同,此时我最喜欢后一种选择,因为它看起来不那么圆,更中心化。(如果这有道理的话)

我的问题是,

  • 如果有的话,每个人的优点和缺点是什么?
  • 循环关系/依赖的陷阱是什么?
  • 这是该规则的有效例外吗?
  • 有什么理由我应该选择前者而不是后者?

谢谢,让我知道您是否需要澄清/解释任何事情。

--更新/编辑--

我注意到我所说的要求中有一个错误。在尝试为 SO 简化事情时基本上丢球了。Payments 那里还有另一个表,它增加了另一个层。问题是,订单可以进行多次付款,并且可以使用不同的信用卡。(如果您真的想知道其他付款方式)。

在这里说明这一点是因为我认为根本问题仍然是相同的,而这只确实增加了另一层复杂性。

0 投票
1 回答
2194 浏览

asp.net-mvc - asp.net mvc 1 到许多保存帖子和上传文件

我是 asp.net mvc 的新手。

我正在使用 Linq to Sql 并尝试做所有松散耦合的事情。

我有两张桌子:

  1. 消息
  2. 新闻档案

我正在尝试做的是保存新闻并同时上传其文件。

如何将新闻与他的文件一起保存到 NewsFiles 表中?

Linq to Sql 模型是好的,它包括对象 NewsFile 到 News 对象。

我的新闻表的具体存储库类(葡萄牙语中的 noticia):

看这不是对 NewsFile 对象的任何提及。

0 投票
1 回答
2947 浏览

sql - Creating an entity diagram of a database without any foreign keys

I need to create an entity diagram of a MSSQL 2005 database.

Relationships are defined by using primary keys consistently, but there are no foreign keys anywhere. I tried Microsoft Visio's "Reverse Engineer" function, which of course failed due to the lack of foreign keys.

Therefore, I need a diagram tool which doesn't solely rely on foreign keys when drawing relationships.

0 投票
9 回答
64401 浏览

database-design - 建议偶尔使用一个好的实体关系图构建工具?

免费软件是一个加号。您能否也用一句话描述为什么它应该足以满足偶尔使用的需求?

编辑:您可以查看这个很酷的链接,提供有关实体关系图和工具的更多信息

编辑:对于选择的答案几个提示 - 点击实体,即使它看起来像圆圈并输入名称并输入 - 它会给你实体框 - 点击关联,Ctrl + L会给你很好的线条

0 投票
2 回答
2137 浏览

c# - nHibernate:在创建子对象时保存新的父对象

我正在尝试保存具有多对一属性映射的记录。我尝试在此处分配一个新创建的父对象(或使用现有的,但效果很好),但是当它尝试将父对象的 ID 添加到子表时出现错误。说它不能将 NULL 添加到表中,这是真的,但我认为 nHibernate 足够聪明,可以先保存父对象,即使我正在添加子对象。

映射:

孩子:

家长:

基本上,这是 nHibernate 可以做到的吗?

0 投票
2 回答
1796 浏览

database - 在这种情况下如何确定外键的放置位置?

如果我有两个表 - 登录和用户,如下所示:

每个登录“有一个用户”,每个用户“有一个登录”,但哪个“属于”哪个?

它只是一个判断调用还是有一个明确的公式来确定外键应该驻留在哪里?

0 投票
5 回答
17849 浏览

sql - 如何插入具有关系的表中?

我只做过没有关系的数据库,但现在我需要做一些更严肃和正确的事情。

这是我的数据库设计: 替代文字

  1. 昆德=客户
  2. 变量 = 产品
  3. Ordre = Order(阅读:我要下订单)
  4. VareGruppe = ehm..type?(阅读:汽车、椅子、壁橱等)
  5. VareOrdre = Product_Orders

这是我的 SQL (SQLite) 架构:

它应该可以正常工作。

但我对此感到困惑Product_Orders

如何创建订单?例如,2 个产品使用SQL INSERT INTO? 我什么也做不了。

至今:

仅当我手动将产品和数据插入Product_Orders然后添加该数据以Orders =使其完成时。或者反过来(使用 1 个 SQL 创建一个订单,然后Product_orders - 1为每个条目手动将产品插入 SQL)

0 投票
1 回答
2645 浏览

c# - 在数据库未定义的外键关系上配置实体框架

由于多种原因,我正在处理的数据库(SQL Server 2005)没有定义任何关系。每个表都有一个主键。大多数表至少有一个外键,但是我们从未配置过约束。

谁能告诉我应该采取哪些步骤来通知实体框架表之间的基础关系?是否有描述此过程的特定文档?

0 投票
2 回答
270 浏览

database - 实体删除策略

假设您有一个 ServiceCall 数据库表,它记录了对您进行的所有服务调用。此记录中的每一个都包含与客户记录的多对一关系,其中存储了哪个客户进行了服务呼叫。

好的,假设客户已停止与您开展业务,并且您不需要客户在数据库中的记录。创建新的 ServiceCall 记录时,不再需要客户的姓名出现在下拉列表中。

你做什么工作?您是否允许用户从数据库中删除客户的记录?

您是否为该客户的记录设置了一个特殊列 IsDeleted 为 true,然后确保所有下拉列表不会加载所有 IsDeleted 设置为 true 的记录?虽然这可以防止旧记录在内部连接处被破坏,但它也可以防止用户添加与旧客户同名的新记录,不是吗?

你根本不允许删除吗?只允许“禁用”它?

你用过其他什么策略吗?我猜每个人都有自己的方式,我只需要看看你的意见。

当然上面是相当简化的,通常一条ServiceCall记录会链接到很多其他的实体表。当需要删除它们时,所有这些都将面临同样的问题。