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

mysql - 数据库结构 - 加入或不加入

我们在 mySQL Workbench 的帮助下为一个新应用程序绘制数据库结构,并且随着多对多关系的增加,列出数据所需的连接数量急剧增加。

该应用程序的读取量很大,每个表有几十万行。

问题:

  • 在需要的地方合并表从而减少连接真的那么糟糕吗?

  • 我们应该开始研究水平分区吗?(结合合并表)

  • 有没有比数据透视表更好的方法来处理多对多关系?

  • 我们讨论了将所有数据存储在序列化文本列中并让应用程序而不是数据库进行排序,但这似乎是一个非常糟糕的主意,即使数据库将被大量缓存。你怎么看?

0 投票
1 回答
2297 浏览

database - 将函数依赖转换为第三范式

我有这个问题,将关系模式分解为一组 3NF 中的模式。

我有这个关系模式: R= (A, B, C, D, E, F)
具有以下函数依赖集 F:

A → ABCDEF
B → C
D → E

谁能帮我吗?

0 投票
2 回答
184 浏览

database - 什么是满足我需求的最佳数据库?

我目前正在使用 MS SQL Server 2008,但我不确定它是否是完成这项特定任务的最佳系统。

我有一个像这样的表:

一个常见的查询是

该表大约有 10 亿行,每天插入 500 万行。

我对 SQL Server 的主要问题是分片或分散数据文件不太容易。此外,导出似乎以每秒 1000 行(约 1MB/秒)的速度最大,这似乎非常慢。

我遇到的另一个问题是,对于 SQL Server,如果我想添加一个新的 LookupCol,日志文件会大幅增长,需要大量很少使用的可用空间。

这个问题有什么明显更好的解决方案吗?

0 投票
1 回答
118 浏览

relational-database - 是否可以破坏复合键?

是否可以破坏表的复合键并将其中一个用作其他表的主键?如果是,那么请告诉我我该怎么做?

0 投票
1 回答
313 浏览

php - 在 MySql 数据库中存储人与人之间的联系

我想创建一个数据库来存储人与人之间的联系。

然后我需要带回详细说明哪些人与哪些人有联系的记录。

我需要输出:person1 连接到 person2 连接到 person3 等。

我怎样才能开始这项任务?

0 投票
1 回答
79 浏览

database - PostgreSQL 什么时候加入 ENUMS

如果我从 PostgreSQL 中枚举类型的列中运行选择,枚举的字符串值是在创建最终结果集之前还是之后加入的?我的动机的解释可以在http://archives.postgresql.org/pgsql-performance/2008-07/msg00226.php

0 投票
10 回答
10784 浏览

java - MongoDB 是关系 db + lucene 的有效替代品吗?

在一个新项目中,我需要大量使用 lucene 来实现搜索器。这个搜索器将是项目中非常重要(也是很大)的一部分。用MongoDb替换关系数据库 + Lucene 是否有效或方便?

编辑:好的,我会澄清一下:我不是在问风险,我可以在这个项目中付出这个代价。我的观点是:MongoDB 是面向这种东西的吗?我可以制作一个与 Lucene 具有相同性能的完整搜索引擎吗?一位朋友向我指出 MongoDB 作为替代方案,但我不知道 Lucene 性能是否与文档替代方案一起提供(然后,我也会在 MongoDB 中看到它),或者另一方面,倒排索引和优化是完整的独立于文档方向。

0 投票
3 回答
183 浏览

ruby-on-rails - 这甚至应该是一个 has_many :through 关联吗?

一个帖子属于一个用户,一个用户有_许多帖子。
一个帖子也属于一个主题,一个主题有_许多帖子。

嗯,这很简单,也很容易设置,但是当我显示一个主题时,我不仅想要该主题的所有帖子,还想要发布该帖子的用户的 user_name 和 user_photo。但是,这些属性存储在 User 模型中,并且与 Topic 无关。那么我该如何设置呢?

也许它已经可以调用了,因为 Post 模型有两个外键,一个用于用户,一个用于主题?

或者,也许这是某种通过关联的“单向”has_many。就像 Post 是 join 模型,Topic 是 has_many :users, :through => :posts。但这反过来是不正确的。就像用户没有 has_many :topics。

那么这甚至需要 has_many :though 关联吗?我想我只是对控制器将帖子和该帖子的用户都称为给定主题的外观有点困惑。

编辑:说真的,感谢所有参与的人。我选择 tal 的答案是因为我将他的代码用于我的控制器;但是,我可以很容易地选择 j.'s 或 tim's。也谢谢你们俩。这实现起来非常简单。我想今天可能标志着我对 Rails 的热爱的开始。

0 投票
4 回答
2249 浏览

sql - SQL:如何将两个表中的主键值插入主表

我将不胜感激有关我真的无法理解的 SQL 语句的帮助。

我想做的很简单,当将新行插入两个表之一时,我需要从两个不同的表中获取值并将它们复制到主表中。

这个问题也许最好这样解释:

我有三个表,productcategories、regioncategories 和 mastertable。

我希望在 productcategories 或 regioncategories 中创建新行时像这样插入值。

新行已创建。

并且一条 SQL 语句将新值复制到主表中。

如果在区域类别中创建行也是如此。

新行。

复制到主表。

我希望这是有道理的。

谢谢,

斯特凡

0 投票
3 回答
1105 浏览

codeigniter - 我应该如何管理我的多对多关系?

我有一个包含几个表的数据库:文件和用户。这种关系是多对多的,所以我还有一个名为 users_files_ref 的表,其中包含上述两个表的外键。

这是每个表的架构:

文件 -> 文件 ID、文件名

用户 -> 用户 ID、用户名

users_files_ref -> user_file_ref_id、user_id、file_id

我正在使用 Codeigniter 构建文件主机应用程序,并且正在添加使用户能够上传文件的功能。这就是我遇到问题的地方。

将文件添加到 files 表后,我将需要该新文件的 id 来更新 users_files_ref 表。现在我正在将记录添加到 files 表中,然后我想我会运行一个查询来获取最后添加的文件,这样我就可以获得 ID,然后使用该 ID 插入新的 users_files_ref 记录。

我知道这将在小范围内起作用,但我想有更好的方法来管理这些记录,尤其是在交通繁忙的情况下。

我是关系数据库的新手,但已经使用 PHP 有一段时间了,所以请耐心等待 :-)

我为文件、用户和 users_files_ref 表正确设置了主键和外键,我只是想知道如何管理在这种情况下添加文件记录?

感谢您提供的任何帮助,非常感谢。

-韦斯