问题标签 [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 回答
1309 浏览

design-patterns - 高级设计模式或不重新发明轮子

编程的圣杯是解决一个问题一次,然后永远重复使用该解决方案。然而,尽管我尽了最大的努力,但我发现我经常重新处理熟悉的问题。所以抛开 GoF 设计模式不谈,我曾多次设计过日历、内容管理和个人/组织地址簿,仅举几例。

我想知道是否有任何好的资源(书籍、网站等)可以让我细读常见的高级业务设计。我确实意识到我的项目和我可能发现的任何模式之间的要求会有所不同,但我确实希望问题的核心保持不变,会有很多来之不易的经验可供借鉴。另外,尽管这很怪异,但我只是喜欢阅读有关设计出现的过程和决策背后的基本原理。我喜欢商店、初创公司和程序员对他们的设计透明的时候。(例如 37Signals,Garret Dimon)

这篇文章涉及这个主题并将这些高级设计模式称为“功能设计模式”,但我不确定这是我所描述的常用术语。“功能设计模式”的搜索结果并不多。我还搜索了“特定领域的设计模式”和“数据模型设计模式”,后者提供了一个有趣的结果,所以也许这更符合目标。你知道我要描述什么吗?有什么好的资源吗?任何其他透明地展示他们新兴设计的商店/编码员?

0 投票
3 回答
5215 浏览

mysql - 帮助在 mysql 中创建自定义自动增量函数

我想创建一个自动增量函数,允许我在多个表的指定列中保持唯一性。

我知道这在 mysql 的标准函数下不受支持,但似乎可以手动完成。有人能指出我正确的方向吗?

谢谢

0 投票
2 回答
1484 浏览

mysql - 数据库模型和计算余额,mysql

来自第一次尝试自己组装数据库模型的应用程序程序员的另一个问题。

在我的应用程序中,有用户、帐户和交易。我最初在 3NF 中拥有所有表格(或者我相信)。然后我决定给用户添加一个平衡字段,主要是因为我的代码会开源,我不希望人们通过更改 PHP 代码来搞乱系统的业务逻辑。所以触发器和存储过程会更新余额。

现在有一个新要求,用户将在他们的帐户页面上列出他们使用余额列进行的所有交易,这样他们就可以看到他们的余额如何随着每笔交易而变化。当然,事务和用户在不同的表中。

该怎么做?我当前的解决方案草图看到一个 balance_history 表,其中包含 transaction_id 和 user_id 的外键。还有什么建议吗?谢谢。

0 投票
1 回答
296 浏览

database-design - 如何在产品订单数据库设计中添加“升级”实体?

我正在为电子商务 Web 应用程序进行数据库设计。对于这个问题,我正在简化设计,只显示与我的问题相关的部分。

在这种情况下,我感兴趣的事物(实体)是ProductsUpgradesOrders

ProductsOrders以这种类型的数据库设计的典型方式相关,并使用一个表OrderItems来创建多对多关系:

现在我想知道如何添加Upgrades到组合中:

  • anUpgrade可以对一个或多个有效Products
  • anOrderItem可以涉及零个或多个有效Upgrades

例如,假设我在OrderItems制作订单 #1 时有这些记录:

我想将升级#1 应用到产品#1 和#2...

我可以想象添加一个Upgrades表格和一个OrderItemUpgrades表格,这将允许我将任意数量的应用Upgrades到给定的OrderItem(行中的行Order)。

Upgrade我认为这是对 an中的 aProduct的“应用程序”进行建模Order

我的问题是,我在哪里为给定的给定的“有效性”Upgrade建模Product?我应该添加一个ValidProductUpgrades与升级和产品(或其他数据库层解决方案)相关的表吗?还是该业务逻辑属于应用层?

0 投票
6 回答
201 浏览

sql - 如何存储必须在上线前批准的用户配置文件编辑?

我试图弄清楚我应该如何保存用户对其个人资料所做的编辑,这种编辑在得到管理员批准之前不会上线或影响现有的实时数据。有第二个表格用于编辑配置文件,然后复制批准数据?将它们全部保存在一个表中并拥有所有可编辑字段的 _tmp 副本?对此有最佳做法吗?

谢谢你的想法。

0 投票
6 回答
20776 浏览

.net - 在 SQL 数据库中表示颜色的最佳方法?

如果我使用的是 .Net 和 SQL Server 2008,那么在数据库中存储颜色的最佳方式是什么,我应该使用 ToString 还是将其转换为整数或其他方式?

编辑:

我想要从颜色中检索它并以指定的颜色在屏幕上绘制一些东西。我不需要能够查询它。

0 投票
6 回答
451 浏览

sql - 数据库设计

我现在正在制作一个 web 应用程序,我正试图了解数据库设计。

我有一个用户模型(用户名(主键)、密码、电子邮件、网站)我有一个条目模型(id、标题、内容、评论、commentCount)

用户只能对条目发表一次评论。这样做的最佳和最有效的方法是什么?

目前,我正在考虑另一个具有用户名(来自用户模型)和条目 ID(来自条目模型)的表

因此,要列出条目 4 的注释,它会搜索 id=4。

附带说明: 每次需要时从数据库中计算评论计数,而不是存储评论计数会更好吗?

0 投票
3 回答
224 浏览

sql - 您认为地址表中列的最佳平衡是什么?

几乎每次构建应用程序时,我都会发现自己创建了一个“地址”表来包含系统的地址。

你在你的“地址”表中创建了哪些列(或者如果你对多个地址进行规范化的表),你的理由是什么?

0 投票
5 回答
10644 浏览

data-modeling - 摩托车数据库(制造/型号/产品年份)

这更像是一个资源问题,而不是技术问题。

我正在为需要对照片(摩托车)进行分类的客户建立一个网站,并且我正在寻找模型/年份/生产年份的数据库。

如果有人知道我在哪里可以找到这样的数据库,请告诉我。

0 投票
2 回答
971 浏览

sql - 我需要一个单独的表格来描述 nvarchar(max) 吗

在我以前的一家公司中,我们曾经有一个单独的表,我们在文本类型列中存储了长描述。我认为这样做是因为文本类型的限制。

我现在为我正在处理的现有应用程序设计表格,这个问题浮现在我的脑海。我对将我的项目的详细描述存储在 varchar(max) 列的同一个项目表中产生共鸣。我知道我无法索引此列,但没关系,因为我不会对这些列进行搜索。

到目前为止,我看不出有任何理由将此列与另一个表分开。

如果我遗漏了什么,或者将我的描述存储在 varchar(max) 的同一张表上是个好方法,你能给我输入吗?谢谢!