问题标签 [relational-database]

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

database - 关系数据库和多播消息

我读过关系数据库是一种糟糕的方式来处理像 twitter 这样的多播消息。

所以 twitter 只保存每条推文一次,然后在每个流中检索它?还是将每条推文保存在每个用户的流中?

我想知道为什么关系数据库(如 mysql 或 postgresql )不适合类似 twitter 的应用程序。

0 投票
1 回答
269 浏览

sql-server - 子表上的外键依赖于父字段

使用 SQL2005/2008。假设我有一个酒店表 (HotelID, HotelName) 和一个房间表 (RoomID, HotelID, RoomName) Hotel -> Room 1:M by HotelID RoomID is PK inside Room 现在我有一个合同表 (ContractID, HotelID, ContractDescription)和 ContractRate (ContractRateID, ContractID, RoomID, Rate) 定义了所有主键和外键,但是,¿将 ContractRate 中的 RoomID 与 Room 相关联的最佳方法是什么,考虑到 RoomID 只能来自与 Room 中的 HotelID 关联的值?目前我在 ContractRate.RoomID -> Room.RoomID 上有一个 FK,但这需要 Room.HotelID 的附加过滤器为 ContractRate -> Contract.HotelID,我可以在应用程序中强制执行,但想知道是否可以定义/强制执行在数据库中(或者如果我必须重新定义数据库)最好的 regads,Juanro

0 投票
1 回答
683 浏览

mysql - MySQL - 在一个查询中访问所有关系数据

我有一个关系 mysql 数据库设置。我想从主行中提取一项的所有数据,并在一个查询中提取所有关系数据(即多个关联行)。除了一个查询中的多个 JOIN 语句之外,最简单/最好的方法是什么?

当前使用的表和查询如下。

关系数据

主表

查询是

0 投票
4 回答
923 浏览

mysql - mysql删除和数据库关系

如果我尝试从表中删除多行,并且由于数据库关系而无法删除其中一行,会发生什么?

不受关系约束的行是否仍会被删除?还是整个删除都会失败?

0 投票
4 回答
105473 浏览

database-design - 关系数据库与维度数据库,有什么区别?

我正在尝试了解 OLAP 和数据仓库,但我对关系建模和维度建模之间的区别感到困惑。维度建模基本上是关系建模,但允许冗余/非规范化数据吗?

例如,假设我有(产品、城市、# 销售额)的历史销售数据。我理解以下将是一个关系的观点:

虽然以下是更立体的观点:

但似乎这两种观点都将在相同的星型模式中实现:

直到您开始向每个维度添加一些额外的细节,差异才会开始显现。例如,如果您还想跟踪区域,关系数据库往往会有一个单独的区域表,以保持一切正常化:

而维度数据库将允许非规范化以将区域数据保留在城市维度内,以便更轻松地对数据进行切片:

它是否正确?

0 投票
3 回答
134 浏览

php - 在 mysql db 中提交的最后结果

我将如何获得在 mysql 数据库行中提交的最后 20 个结果。

我需要 20 个最近用户提交的结果。

干杯。

0 投票
8 回答
78048 浏览

database - 仍然对识别与非识别关系感到困惑

因此,我一直在阅读有关在我的数据库设计中识别与非识别关系的内容,并且一些关于 SO 的答案似乎与我相矛盾。这是我正在研究的两个问题:

  1. 识别关系和非识别关系有什么区别
  2. 难以确定识别或非识别关系

查看每个问题的最佳答案,我似乎对什么是识别关系有两种不同的想法。

第一个问题的回答说,标识关系“描述了子表中的行的存在依赖于父表中的行的情况”。给出的一个例子是,“一个作者可以写很多书(一对n的关系),但是没有作者就不能存在一本书。” 这对我来说很有意义。

然而,当我阅读对问题二的回答时,我感到困惑,因为它说:“如果孩子识别出它的父母,那就是一种识别关系。” 答案接着给出了一些例子,例如社会安全号码(识别一个人),但地址不是(因为很多人可以住在一个地址)。对我来说,这听起来更像是主键和非主键之间的决定。

我自己的直觉(以及对其他网站的额外研究)指出了第一个问题,并且它的回答是正确的。但是,我想在继续前进之前进行验证,因为我不想在我正在努力理解数据库设计时学习错误。提前致谢。

0 投票
2 回答
302 浏览

c# - 将关系数据库数据表示为 XML 并使用 XPath 获取结果

我们有一个包含一些数据的关系数据库,我们需要通过 XML Web 服务提供数据库的内容。我们还必须使用户能够使用 XPath 获取部分 XML 表示(稍后可能需要使用 XQuery 的数据的 XML 表示间接修改数据)。有没有一种简单的方法可以在 C# 中实现这一点?用户将知道数据的 XML 模式。

用于网络搜索的关键字也受到赞赏。

0 投票
2 回答
1623 浏览

database-design - 如何强制 grails GORM 尊重 DB 方案?

我有两个域:

实际上,使用这些模型,我得到了表:
-code_set,-cartridge,
-
和表:code_set_cartridge(两个字段:code_set_cartridges_id,cartridge_id)

我想没有 code_set_cartridge 表,但保持关系:
code_set --> 1:n --> 墨盒

换句话说,如何在没有中间表的情况下保持 code_set 和墨盒之间的关联?(使用 code_set_id 作为 code_set 中的主键,使用 code_set_id 作为盒式磁带中的外键)。

不用中间表就可以用 GORM 映射?

0 投票
1 回答
47 浏览

ruby-on-rails - 调用不同型号的多个项目?

目前在我的应用程序中,当在 kase 模型中创建新的 kase 时,我可以从公司模型中选择一家公司。

这显示了公司列表,然后当我选择一个时,它会将公司 ID 添加到 kases 表中的 company_id 字段中。

我希望能够在 kase 中添加第二家公司,但我不知道下一步是什么。我在 kases 表中创建了一个名为指定surveyor_id 的字段,因此当我选择公司时,它会将公司 ID 添加到指定的surveyor_id 字段中。

这可行,但我需要能够像调用第一家公司一样调用有关该公司的信息。

上面返回的是company_id号,但是如何返回公司名称、地址等呢?

对于第一家公司,它很简单:

但如果我第二次这样做,我只会得到第一家公司的详细信息。

谢谢,

丹尼