问题标签 [data-modeling]

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

sql - 推荐的用于标记或标记的 SQL 数据库设计

我听说过几种实现标记的方法;使用 TagID 和 ItemID 之间的映射表(对我来说很有意义,但它可以扩展吗?),向 ItemID 添加固定数量的可能 TagID 列(似乎是个坏主意),将标签保留在逗号分隔的文本列中(听起来疯狂但可以工作)。我什至听说有人推荐一个稀疏矩阵,但是标签名称如何优雅地增长?

我错过了标签的最佳实践吗?

0 投票
17 回答
67989 浏览

ruby - 在日历应用程序中模拟重复事件的最佳方法是什么?

我正在构建一个需要支持重复事件的组日历应用程序,但是我想出的处理这些事件的所有解决方案似乎都是一个 hack。我可以限制一个人可以看多远,然后一次生成所有事件。或者,我可以将事件存储为重复事件并在日历上向前看时动态显示它们,但如果有人想要更改事件的特定实例的详细信息,我必须将它们转换为正常事件。

我确信有更好的方法可以做到这一点,但我还没有找到。对重复事件建模的最佳方法是什么,您可以在其中更改或删除特定事件实例的详细信息?

(我正在使用 Ruby,但请不要让这限制了你的答案。如果有特定于 Ruby 的库或其他东西,那么很高兴知道。)

0 投票
20 回答
8862 浏览

drawing - 绘制数据库模型的最终程序是什么?

当我在一个新项目上时,我做的第一件事就是设计一个数据库模型。为了可视化模型,我使用了 7 年的 Smartdraw 版本。也许是时候来点新东西了。绘制数据库模型的最终程序是什么。Smartdraw 仅适用于 Windows。有什么东西也可以在unix上使用吗?

0 投票
9 回答
7298 浏览

database-design - 一对多对自己

如何为可以与自身具有一对多关系的实体构建表?具体来说,我正在开发一个跟踪动物繁殖的应用程序。每只动物都有一个ID;它还有一个父亲身份证和一个女士身份证。因此,从父系或母系到其后代,有可能是一对多的。我会倾向于这样的事情:

并将购买并添加到种畜的那些动物记录为空值,并在表格中记录其余的ID。

所以:

  1. 有人可以指出我讨论建模这种关系的文章/网页吗?
  2. ID 应该是 INT 还是某种字符串?INT 中的 NULL 表示该动物在数据库中没有父母,但可以使用具有特殊标志值的字符串来表示相同的事情。
  3. 这可能最好通过两个表建模吗?我的意思是一张动物表和一张单独的表,仅表明亲属关系,例如:

    动物

    ID INT NOT NULL 主键

    亲属关系

    ID INT NOT NULL PRIMARY KEY FOREIGN KEY

    SIRE_ID INT 主键 外键

    DAME_ID INT 主键 外键

我为上述道歉:我的 SQL 生锈了。我希望它能表达我的想法。

0 投票
4 回答
3988 浏览

sql - 成绩数据库表

我正在尝试定义一个表格来存储在线成绩单的学生成绩。不过,我无法决定如何去做。

成绩是按学科给出的,在三个月内。每个学期都有一个平均成绩,总缺课和“恢复成绩”(我不知道英语的正确术语,但如果你低于平均水平,这是一个额外的测试,试图提高你的成绩) ,我还必须存储年平均和最终“恢复成绩”。基本上,它是这样的:

我可以将此信息存储在单个数据库行中,每一行如下所示:

依此类推,但我认为这将是一种痛苦,如果学校决定按双学期或其他时间评分(就像它过去一直到 3 年前一样)。
我还可以概括表格字段,并使用 tinyint 来标记这些成绩是哪个学期的,或者它们是否是年终总决赛。但是这个会要求很多子查询来写成绩单,维护起来也很痛苦。

两者哪个更好,还是有其他方法?谢谢

0 投票
1 回答
1332 浏览

php - MySQL 数据建模

我必须在 MySQL 数据库中表示的数据当前存在以下问题:

我必须支持具有不同数据的不同类型的产品,例如汽车、酒店房间、书籍等。对于我的应用程序,每个产品都有一些通用数据,如名称、描述、价格等。

所以我想有一个产品表,包含通用数据,汽车、hotel_rooms、书籍和任何以 1:1 关系引用此产品表的表。

问题是将产品表作为主表,所以我可以查询产品表并通过这些查询“自动”获取额外数据,这样我就可以使应用程序更“通用”。

关于如何实现这一点的任何想法?我有一些想法,但我不认为它们是最好的方法,当这个问题可能比我想象的更常见时,我不想去做肮脏的黑客攻击。

使用:PHP + Zend 框架 + MySQL。

0 投票
4 回答
462 浏览

asp.net - 与 DataSet 模型相比,XML 数据模型有哪些优势?

在我目前的工作中,我们有一个基于 .NET/SQL Server 的 CMS 系统。在为一些内部使用定制几个模块时,我有点惊讶地发现,API 没有通过绑定到 DataGrid/DataList/Repeater 控件的典型结果集返回数据,而是返回 XML节点/集合,然后将其传递给 XSLT 转换并以这种方式呈现在页面上。

使用这样的模型有什么好处?

0 投票
4 回答
3131 浏览

python - Google App Engine 上博客标签系统的数据建模建议

我想知道是否有人可以就构建数据模型以完成下面描述的简单系统的有效方法提供一些概念性建议。对以非关系方式思考有点陌生,并想尝试避免任何明显的陷阱。我的理解是,一个基本原则是“存储很便宜,不用担心数据重复”,就像在规范化的 RDBMS 中一样。

我想建模的是:

可以给定 0-n 个标签的博客文章。许多博客文章可以共享相同的标签。检索数据时希望允许检索与标签匹配的所有文章。在许多方面与stackoverflow 采用的方法非常相似。

我的正常心态是在标签和博客文章之间建立多对多的关系。然而,我认为在 GAE 的背景下这会很昂贵,尽管我已经看到了它正在完成的例子。

也许使用包含每个标签作为文章实体的一部分的 ListProperty,以及在添加和删除标签时跟踪标签的第二个数据模型?这种方式不需要任何关系,并且 ListProperty 仍然允许查询任何列表元素匹配将返回结果。

关于在 GAE 上解决此问题的最有效方法有什么建议吗?

0 投票
8 回答
110238 浏览

database - 在数据库中存储标签的最有效方法是什么?

我正在我的网站上实现一个标记系统,类似于一个 stackoverflow 使用,我的问题是 - 存储标签以便可以搜索和过滤它们的最有效方法是什么?

我的想法是这样的:

这太慢了吗?有没有更好的办法?

0 投票
1 回答
2246 浏览

mysql - MySQL 组合 PK 与可为空的 FK

首先,让我先声明一下我真的是一个非常糟糕的数据建模师。我只知道危险。

我正在构建的表有四个外键,其中两个引用同一个表。这是该表的创建语句。

我在这篇文章中关注的索引是fk_reputation_log_userfk_reputation_log_user1。每个声誉事件都有一个给予者,但只有一些有接收者。我希望这个FK 可以为空,但我不知道该怎么做,或者它是否被“允许”。

我还玩弄了将所有 FK 列作为主键的一部分以对重复日志条目进行数据库级保护的想法——但这不会起作用,因为 PK 列必须为 NOT NULL。

如果您需要更多详细信息,请在评论中说明。谢谢!

(是的,这是针对与 SO 没有太大不同的声誉系统)