问题标签 [relational]

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 投票
8 回答
2423 浏览

sql - 表示单个 SQL 表中记录之间的多对多关系的最佳方式是什么?

我有一个这样的 SQL 表:

更新:我正在更改示例表,因为原始数据(州、城市、学校)的现有分层性质掩盖了项目之间需要简单关系的事实。

我想定义这些实体之间的双向关系,以便查看一个实体的用户可以看到所有相关实体的列表。

关系由最终用户定义。

在数据库中表示这些关系并随后查询和更新它们的最佳方式是什么?

我看到的一种方式...

我的直觉是这样的关系表:

既然如此,给定提供的 entity_id 为 4,如何获取所有相关记录,即 1 和 5?

同样, entity_id = 1 的查询应返回 2、3、4 和 5。

感谢您抽出宝贵时间,如果我能澄清这个问题,请告诉我。

0 投票
7 回答
850 浏览

flat-file - 如何说服编程团队放弃旧方法?

这更像是一个面向业务的编程问题,我似乎无法弄清楚如何解决。我与一个使用 BASIC 超过 20 年的程序员团队一起工作。我被请来帮助在 .NET 中编写相同的软件,只有更新和现代实践。问题是我似乎无法让其他 3 名团队成员(所有 BASIC 程序员,尽管现在也有 .NET)了解如何正确地创建关系数据库。这是他们无法理解的事情:

我们基本上有一个跟踪客户标签信息的事务。我们需要能够跟踪当前交易和过去的交易。在旧系统中,使用了一个平面文件数据库,其中一个表包含客户当前基本交易的记录,另一个包含客户所有先前交易以及重要货币信息的交易。为了防止冗余,他们会用历史交易覆盖当前交易——(历史文件首先更新,然后是当前的。)这完全没有必要,因为你只需要一个交易表,但我的主管或我的其他两个同事中的任何一个-工人似乎无法理解这一点。我到底如何才能说服他们看到光明,这样我们才能获胜 不必做大量荒谬的工作并最终多次访问数据表吗?感谢您的输入!

0 投票
4 回答
1399 浏览

database - 是否有一种简单的方法可以为关系数据库进行 GUI 输入?

我正在为一个朋友构建一个学生排班应用程序,除了 GUI 之外,我即将完成。我正在用 wxpython 编写它,但我不确定如何处理输入字段,因为它是一个关系数据库。有没有一种简单的方法可以做到这一点?

0 投票
6 回答
3770 浏览

sql - 获取同一个表中的公共行

我进行了一些搜索,但没有找到与我想要实现的目标完全一样的东西。

基本上,我试图找到两个用户投票习惯之间的相似之处。

我有一个表格存储每个单独的投票,其中存储:

我的目标是通过找出两件事来计算用户 A 和 B 之间的相似度:

  1. 他们共有的票数。也就是说,他们都在同一个帖子上投票的次数(此时方向无关紧要)。
  2. 他们在共同投票中朝同一个方向投票的次数

(然后简单地将#2 计算为#1 的百分比,以获得粗略的相似性评级)。

我的问题是,我如何找到两个用户的投票集之间的交集?(即我如何充分计算第 1 点,而不会以非常低效的方式循环每一次投票。)如果他们在不同的表中,我想一个 INNER JOIN 就足够了......但这显然行不通在同一张桌子上(或者会吗?)。

任何想法将不胜感激。

0 投票
7 回答
95553 浏览

ruby - 在 Ruby 中使用元组?

有人在 Ruby 中使用元组吗?如果是这样,如何实现一个元组?Ruby 散列很好,而且工作起来几乎一样好,但我真的很想看到类似 Python 中的 Tuple 类的东西,您可以在其中使用.符号来查找您正在查找的值。我想要这个,以便我可以创建D的实现,类似于 Python 的Dee

0 投票
5 回答
587 浏览

database-design - 棘手的关系数据库设计问题

我有一个棘手的问题,我已经搞砸了几天,找不到最佳解决方案。

这些是我的表:

  • 地点
  • 站点节点

站点节点表包含代表层次结构的节点列表(使用嵌套集)。每个节点必须有一个或多个关联页面。每个站点必须有一个关联的错误页面和一个未找到的页面。

因此,一个页面必须要么属于一个节点,要么属于一个站点作为错误或未找到页面。我目前正在玩弄的解决方案是:

  1. 页表上的 parentType 和 parentId 字段,其中 type 可以是“node”、“site_error”或“site_notFound”,id 可以是站点或节点 id(以与类型相关的为准)。
  2. 页表上的nodeId 字段可以为空,然后是站点表上的errorPageId 和notFoundPageId 字段。

选项 #1 确保每个页面属于一个且仅属于一个其他实体,尽管实际上不能强制执行关系,因为 parentId 字段可以指向多个位置。

选项#2 更简洁,但它基本上是说该站点“属于”两个错误和未找到的页面,这可能是不好的做法。

有什么想法或建议吗?
谢谢,
杰克

0 投票
2 回答
113 浏览

database - 关系数据库和网络结构

Microsoft 公司可以称为“microsoft”、“ms”或“m$”等。我们可以说这些名称是一个单一身份的别名。如果要存储“别名”关系,则可能必须按照以下对进行操作

或者也许有更好的方法?

0 投票
1 回答
439 浏览

ruby-on-rails - 在具有关系的表单中自动填充 ID

我创建了一个博客,它会有帖子,并且帖子是由用户创建的。我的博客中已经有一个登录系统。我已经建立了用户和他的帖子之间的关系。现在,当我想添加新帖子时,我希望 Rails 自动填充 user_id 字段。

我应该添加一个隐藏字段并从我保存它的会话中添加 user_id 吗?

还是 Ruby on Rails 有自己的方式来处理关系和使用 ID?

@编辑:

该模型:

控制器:

0 投票
2 回答
7646 浏览

azure - 构建多租户应用程序的最佳实践是什么?

构建支持多租户(例如软件即服务)的应用程序的最佳实践是什么?

非常感谢扩展此主题的白皮书链接。

0 投票
4 回答
4471 浏览

sql - 在关系数据库中存储文件夹层次结构

我有代表文件夹的对象,我想知道它们是否应该在数据库中表示。

一方面,似乎最简单的方法是不表示文件夹对象,而只存储文件夹中包含的对象的路径值。我看到的问题是您不能保留其后代不包含任何项目的文件夹,这没什么大不了的。此外,我不清楚如何加载要显示的文件夹层次结构(例如在 TreeView 中)而不预先将所有内容加载到内存中,这可能是一个性能问题。

另一种方法是有一个“文件夹”表,其中包含对其父文件夹的引用。这似乎应该工作,但我不确定如何允许具有相同名称的文件夹,只要它们不共享父级。这甚至应该是数据库应该关注的事情,还是我应该在业务逻辑中强制执行的事情?