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

sql - “政党模式”背后的原则和好处是什么?

“党模型”是关系数据库设计的“模式”。至少其中一部分涉及找到许多实体之间的共性,例如客户、员工、合作伙伴等,并将其分解到一些更“抽象”的数据库表中。

我想了解您对以下方面的想法:

  1. 党的模式背后的核心原则和动力是什么?
  2. 它规定你对数据模型做什么?(我上面的那一点水平很高,在某些方面很可能不正确。我一直在使用它的项目中,但我正在与一个专注于其他问题的单独团队合作)。
  3. 你的经历让你有什么感受?你用过吗,如果用过,你会再用吗?有什么好处和坏处?
  4. 派对模型是否限制了您对 ORM 的选择?例如,您是否必须消除某些 ORM,因为它们不允许在您的域对象和您的物理数据模型之间有足够的“抽象层”?

我确信每一个回复都不会解决这些问题中的每一个……但任何涉及其中一个或多个问题的事情都会帮助我做出我面临的一些决定。

谢谢。

0 投票
5 回答
168492 浏览

sql-server - 我应该在电话的 SQL varchar(length) 中考虑的最长的全球电话号码是多少

我应该在电话的 SQLvarchar(length)中考虑最长的全球电话号码是多少。

考虑因素:

  • + 国家代码
  • () 代表区号
  • x + 6 个数字用于扩展扩展名(所以将其设为 8 {space})
  • 组之间的空格(即在美国电话中 +x xxx xxx xxxx = 3 个空格)
  • 这是我需要你帮助的地方,我希望它在全球范围内

考虑到现在在我的特殊情况下,我不需要卡等号码以国家代码开头并以分机号结尾,不需要传真/电话等评论,也不需要电话卡的东西。

0 投票
1 回答
136 浏览

python - 如何在 Google App Engine 中获取具有所需属性的类型的所有实体?

我有一个模型,它具有如下所需的字符串属性:

当我尝试调用 Jean.all() 时,python 抱怨没有必需的属性。

当然,必须有一种方法可以得到所有这些。

如果史蒂夫是正确的(他的回答确实有道理)。我如何确定这是否真的导致了问题。如何找出我的数据存储区中的确切内容?

0 投票
1 回答
427 浏览

sql - 了解关系和 LDAP 的建模工具

我正在寻找做一些建模,并希望有一个工具,它不仅可以捕获像 ERWIN 这样的关系模型,而且还允许我们轻松地移植到 LDAP 作为选项。

注意:Visio 可以连接到现有的 LDAP 服务器并进行绘图,但不允许您先建模然后部署,这与它的关系功能不同。

0 投票
6 回答
527 浏览

active-directory - 大多数 LDAP 管理员是否手动创建 LDIF?

是否有使工作更容易的工具?如果仅存在命令行工具,那么任何人都可以推测 GUI 工具是否有市场?例如,您可以通过可视化建模来创建关系数据库。LDAP 是否应该存在相同的概念?

0 投票
15 回答
466603 浏览

database - 识别关系和非识别关系有什么区别?

我无法完全掌握这些差异。你能描述这两个概念并使用现实世界的例子吗?

0 投票
2 回答
482 浏览

design-patterns - 身份映射中的空键

我有一个在身份映射中使用的域对象(键是对象的Id属性)。

伪代码:

我观察对象告诉我它何时保存到数据库中:

对于新对象,该Id字段为空并且在保存到数据库之前不会填充。

这就是我的问题。在新对象的情况下,查找“ map[domainObj.Id]”失败,因为对象的身份在保存后发生了变化!

在这样的身份图中使用对象的最佳方法是什么?

约束

  1. 我使用的语言不允许对象作为映射中的键 [JavaScript]
  2. 保存新对象时必须在服务器上生成该Id字段

更新

感谢您的反馈。我真的很想让值对象以与实体相同的方式映射:仅仅因为值对象尚未保存并不意味着它没有要映射到我的应用程序的值。事实上,我误解了身份映射是什么(在重新阅读模式定义后,我发现我并没有真正使用它)。

我想出的解决方案几乎直接来自 Igor 的回答:每个对象在实例化时都会获得一个分配给它的随机 id。它在对象所在的上下文的生命周期内是唯一的、不可变的和不变的。它适用于数据库中的实体和新的实例化。实体的调整是它被设置为匹配对象的真实身份。这使得调试更容易一些。这是我在映射中用作键的值。

0 投票
6 回答
7638 浏览

security - 避免在 Web 应用程序的源代码中暴露主键?

我经常遇到通过选择框等表单公开内部数据库主键的 Web 应用程序。有时我会看到 javascript 与切换逻辑的 int 或 guid 魔术值匹配。

这是避免泄露 Web 应用程序中行的所有内部标识符的最佳实践,以防止外人过多地了解您的系统并可能使用它来利用您的系统。如果是这样,解决此问题的最佳方法是什么?

您是否应该向 Web 应用程序公开一些可以转换回主键的其他值?

谢谢

编辑

在一个完美的世界里,你的应用程序将是 100% 安全的,所以如果你把事情弄得模糊不清也没关系。显然情况并非如此,所以我们是否应该谨慎行事而不公开这些信息?

有人指出 Stackoverflow 可能会在 Url 中公开一个键,这可能很好。但是,企业应用程序的考虑因素是否不同?

0 投票
1 回答
580 浏览

asp.net-mvc - 在领域驱动设计的上下文中,我在哪里可以找到有关身份验证和授权的信息?

我正在尝试以 DDD(域驱动设计)的方式做事。男孩,我挣扎。在我读过的所有书中,身份验证都是无关紧要的,也没有提到!

我编写了自己的身份验证和会员服务,负责注册和登录用户、创建加盐密码等。我不使用 .NET 的会员提供程序,但确实依赖表单身份验证。

我已经实现了一个包含用户名、电子邮件、密码哈希、批准状态等的用户模型。

现在我想域模型的其余部分不应该与用户相关。我有一个 Person 类,用于对 Person 及其相关数据进行建模。因此,它可用于对来自用户和非用户的个人数据进行建模。Company 类型的对象与 Persons 一起使用,而不是与 Users 一起使用。一个活动被分配给一个人,而不是一个用户。

问题是,我如何将 Person 模型与 User 模型联系起来?我真的不想在两个模型中的任何一个中相互引用。我是否应该创建一些名为 PersonUser 的关系模型并创建一个额外的服务来检索当前经过身份验证的用户的人员对象?

0 投票
2 回答
314 浏览

ruby-on-rails - 中间三元关系模型的好的设计是什么?

我是 Rails 的新手,还没有掌握关联的所有可能性。这是我的问题:

我有几个模型,比如苹果和柠檬。然后是包含三元关系的模型“关系”:

主题 | 关系 | 目的

苹果| 高分辨率照片| CLIPARTO 比| 更甜 柠檬

“关系”的迁移是这样的:

这应该存储关系

主题 ID = 1

主题类型 = 苹果

关系 = 比

object_id = 2

object_type = 柠檬

实际上,我有不止 2 个模型,所以我认为我需要通过使用多态选项使主题和对象列模型不可知。

你将如何设置苹果、柠檬和关系模型类中的关联?这样的关系表设计好不好?

非常感谢你的帮助!!

-亚历克斯