问题标签 [database-schema]

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 投票
4 回答
9204 浏览

database - 具有“开放模式”的数据库 - 好主意还是坏主意?

Reddit 的联合创始人介绍了他们在扩展到数百万用户时遇到的问题。此处提供了摘要。

令我惊讶的是第 3 点:

相反,他们保留了一个事物表和一个数据表。Reddit 中的一切都是事物:用户、链接、评论、subreddits、奖项等。事物保持共同的属性,如赞成/反对票、类型和创建日期。Data 表包含三列:事物 ID、键、值。每个属性都有一行。标题、网址、作者、垃圾邮件投票等有一行。当他们添加新功能时,他们不必再担心数据库了。他们不必为新事物添加新表或担心升级。

这对我来说似乎是一个糟糕的想法,但它似乎对 Reddit 来说已经奏效了。不过,总的来说这是个好主意吗?或者是 Reddit 的一个特性恰好为他们解决了问题?

0 投票
3 回答
112 浏览

database-design - 具有“主要”实体的子集合的最佳模式设计是什么

场景如下:您有一个 Persons 表,它与 Addresses 表具有一对多关系,其中 Address 行之一是“主要”地址。

在标准化模式中是否更好

  • 使用 Persons.PrimaryAddressID 访问人员的“主要”地址

或者

  • 使用 Addresses.IsPrimary 位列通过 Addresses.PersonID 引用人员的“主要”地址

或者

  • 其他

为什么?

0 投票
1 回答
273 浏览

c# - 使用 SqlCe 创建和索引电子邮件数据库

我正在创建一个简单的电子邮件客户端程序。我使用 MS SqlCe 作为电子邮件的存储。用于存储消息的数据库模式如下:

在 StorageData 字段中,我将 MIME 消息存储为字节数组。但是当我要对存储的消息进行搜索时,问题就出现了。我不知道如何在此架构之上索引消息。

谁能帮我提出一个好的但简单的模式,以便它在存储空间和搜索友好性方面也有效?

问候,

阿宁迪亚·查特吉

0 投票
2 回答
6967 浏览

database-schema - 是否有我可以使用的通用会计系统数据库架构?

我需要一个通用的会计系统数据库架构有没有提供这个的网站?

0 投票
4 回答
521 浏览

database-design - 数据库设计——表关系题

我正在为一个简单的测验应用程序设计模式。它有 2 个表 - “问题”和“答案选择”。问题表具有“问题 ID”、“问题文本”和“答案 ID”列。“答案选择”表有“问题 ID”、“答案 ID”和“答案文本”列。有了这个简单的模式,很明显一个问题可以有多个答案选择,因此需要答案选择表。但是,一个问题只能有一个正确答案,因此需要在问题表中提供“答案 ID”。但是,问题表中的这个“答案 ID”列提供了一种错觉,好像一个不正确的答案可能有多个问题。消除这种错觉的另一种替代方法是使用另一个表仅用于正确答案,该表只有 2 列,即问题 ID 和答案 ID,两个表之间具有 1-1 关系。但是,我认为这是多余的。关于如何最好地设计这个从而强制执行一个问题可以有多个答案选择但只有一个正确答案的规则的任何建议?非常感谢。

0 投票
3 回答
1655 浏览

database-design - 创建物化视图或新表哪个更好?

我有一些要求很高的mysql 查询,它们必须从5-7个 mysql 表中选择相同的频繁更新的数据集。“选择”操作会比 CUD 多一点。

我正在考虑创建一个表或物化视图以从其他表中收集所有要求高的列,从而减少对不同表的总体查询时间,从而提高性能。

如果我创建该表,每次更新其他表时,我可能需要执行额外的插入/更新/删除操作。

如果我创建物化视图,我担心性能是否可以大大提高。因为来自其他表的数据变化非常频繁。最有可能的是,每次选择视图之前都需要先创建视图。

有任何想法吗?例如如何缓存?我还能采取其他额外措施吗?

0 投票
1 回答
2407 浏览

sql-server - 将 LINQ-to-SQL DBML 架构与 SQL Server 数据库同步

创建 SQL Server 2008 数据库后,我在 Visual Studio 中创建了 Linq-to-SQL 架构。接下来,在.dbml可视化编辑器中(在 Visual Studio 2010 中),我将 PK-to-FK 和 PK-to-PK 关联添加到架构中。

如何将我在 Visual Studio 中创建的那些关联复制到数据库中?换句话说,我如何与数据库同步

0 投票
5 回答
612 浏览

language-agnostic - 在数据库表中标记已删除的记录

有时您想将数据库表记录标记为已删除而不是永久删除,对吗?

你是怎样做的?

到目前为止,我一直在使用布尔“已删除”字段,但我不确定这是否是一个好的方法。

0 投票
3 回答
41902 浏览

mysql - 复制单个表

是否可以复制单个表?

0 投票
2 回答
2144 浏览

sql-server - 如何在多租户应用程序中更新所有租户的所有架构?

我正在开发一个多租户应用程序。我选择了“共享数据库/单独模式”方法。

我的想法是有一个默认架构(dbo),并在部署此架构时,对租户的架构(、、、tenantAtenantB进行更新tenantC;换句话说,制作同步模式。

如何将租户的架构与默认架构同步?

我正在使用 SQL Server 2008。