问题标签 [normalization]

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 投票
5 回答
11347 浏览

c# - 电话号码规范化:任何预先存在的库?

我有一个使用电话号码作为唯一标识符的系统。出于这个原因,我想在所有电话号码使用标准化格式时对其进行格式化。因为我无法控制我的源数据,所以我需要自己解析这些数字并格式化它们,然后再将它们添加到我的数据库中。

我即将编写一个可以读取电话号码并输出标准化电话格式的解析器,但在我这样做之前,我想知道是否有人知道我可以用来格式化电话号码的任何预先存在的库。

如果那里没有预先存在的库,那么在创建这个可能不明显的功能时我应该记住哪些事情?

虽然我的系统现在只处理美国号码,但我计划尝试包括对国际号码的支持以防万一,因为有可能需要它。

编辑我忘了提到我正在使用 C#.NET 2.0。

0 投票
2 回答
1261 浏览

sql - 如何构建表以建模互斥的 1:n 关系?

在下表结构中:

我意识到我可以放弃在 favoriteFoods 表上使用外键约束,然后简单地在 favoriteFoods 表中添加一个类型字段来区分水果和蔬菜。但是,您将如何构建表以便实际创建必要的外键约束?

0 投票
11 回答
12601 浏览

database - 过度规范化

何时将数据库设计描述为过度规范化?这种特征是绝对的吗?还是取决于它在应用程序中的使用方式?谢谢。

0 投票
8 回答
290 浏览

database-design - 如何优化对这些数据的访问?

我有一张包含 5 年 200 家公司股票价格的表格。这是一张大表,包含公司名称、股票开盘价、最高价、最低价、收盘价、日期

我现在需要对其进行一些处理,并让用户 [最多 10 个] 访问此数据库以获取有关不同参数和查询集的报告。

我应该按原样使用数据库还是您有什么建议可以使其更加优化。

谢谢。

0 投票
4 回答
834 浏览

database-design - 这是一个好的数据库设计概念吗?

EDIT1:试图通过重命名表格及其关系来解决问题。EDIT2:请不要查看我在三个数据库表中保存的数据类型。他们是在飞行中组成的。它们不是我的真实世界场景(不,我不能谈论我的真实世界数据......事实上,目前它是 1 个父母和 6 个孩子)。请忽略什么类型的数据,只看需要一些数据的事实。EDIT3:这两个 FK 是 0 或 1 对 1 的关系。不是 0 到很多。不是 1 对 1。我试图避免 0 或 1 对 1 关系与 1 对 1 关系,所以我不需要外部连接,而是有一个内部连接。

问题:我需要知道建议的数据库设计是好/坏/蹩脚/等等。

问题:今天我尝试制作索引视图,但失败了,因为我的表有外连接。叹。所以我想知道我是否可以将其修复为如下设计:

  • 三张桌子。
  • table_User 在 table_Address 上有一个 FK
  • table_User 在 table_Vehicle 上有一个 FK
  • ETC..

和表 B 和 C(现在有点像查找表)有..

  • Id INT IDENTITY PK
  • 说明 NVARCHAR(100) NULLABLE

注意可以为空的?这样,table_User 中的某些内容在 table_Address 中不存在......该字段为空(因为内部连接)。

之前,我做了一个 LEFT OUTER JOIN,所以如果 table_b 中没有数据,我会得到空值是每个字段的结果。

我将在这里抛出一些数据示例......

表_用户

  • ID:1,姓名:Fred,地址ID:1(NULL)
  • ID: 2, Name: Joe, AddressID: 2 (1 smith street.....)
  • ID: 3, Name: Jane, AddressID: 2 (1 smith street.....)

表地址

  • ID:1,描述 = NULL
  • ID:2,描述 = 1 smith street

等等

所以我终于可以把这一切都放到一个索引视图中。(我的现实生活场景大约有 8 张桌子)。

注意:DB 是 Microsoft Sql Server 2008,但这可能适用于任何 DB。

Q1:这个设计看起来还可以吗?

Q2:所以我在这里做的是对数据进行规范化,对吗?通过保持内部连接在一起。

Q3:最后,如果这是一个好的方法..我是否也可以通过一些唯一的约束或键或索引或什么来确保表中的数据是唯一的(例如街道地址)(我不确定的适当术语)。

谢谢大师!

0 投票
6 回答
882 浏览

database-design - “查表”与否?

我目前正在为一个项目设计一个数据库。现在我正在和自己争论是否必须创建一个查找表,例如“公民身份”数据,它只能包含固定值,如单身、已婚、分居、寡妇/鳏夫。我很确定将来不会添加其他值。我应该把这些放在一个单独的表上还是只是硬编码程序代码上的值?

0 投票
5 回答
1556 浏览

database-design - 如何规范化用户生成的大型公司名称数据集?

用例:用户 1 上传 100 个公司名称(例如 Microsoft、Bank of Sierra)

用户 2 上传 100 个公司名称(例如 The Gap、Uservoice、Microsoft, Inc.)

我希望用户 1 的 Microsoft 概念和用户 2 的 Microsoft 概念映射到具有 Microsoft 唯一索引的集中维护实体。

如果有人上传了一个不在中央存储库中的名称,我想我希望它按原样输入。但是,如果第一个条目拼写错误会发生什么(例如 Vergin Mobile 而不是 Virgin Mobile?)我们如何才能最好地纠正它并将新上传的内容与同一索引相关联?

从技术上讲,中央存储库应该完全是一个单独的数据库吗?甚至用户生成的信息是否也应该与针对它发生的业务交易位于一个单独的数据库中?

从对问题的大定义开始,并希望将其与您的输入结合起来,谢谢。

0 投票
7 回答
14692 浏览

database - 可以对主键使用字符值吗?

与使用基于字符的字段相比,在数据库表中使用唯一的数字 ID 字段是否有性能提升或最佳实践?

例如,如果我有两个表:

运动员

id ... 17 ,姓名... Rickey Henderson , teamid ... 28

团队

teamid ... 28 , teamname ... Oakland

如果teamid是“OAK”或“SD”而不是“28”或“31” ,那么包含数千名玩家的运动员表将更易于阅读。让我们理所当然地认为teamid值将在角色形式上保持独特和一致。

我知道您可以使用字符,但是出于某种原因,索引、过滤等是否是个坏主意?

请忽略规范化参数,因为这些表比示例更复杂。

0 投票
7 回答
15370 浏览

sql - SQL 连接与单表:性能差异?

我试图坚持保持数据库规范化的做法,但这会导致需要运行多个连接查询。如果许多查询使用连接而不是调用可能包含冗余数据的单个表,是否会导致性能下降?

0 投票
3 回答
1618 浏览

algorithm - 过滤/归一化不良信号的算法

使用 GPS 开发跟踪应用程序。一切都很好,但有时由于封闭区域或恶劣天气,我得到的分数不准确。当您绘制它们时,它看起来不正确,有很多跳跃/跳跃。

我应该运行什么算法来过滤掉不良信号 对我来说这看起来像是一个模糊算法的应用,但你怎么看?