问题标签 [schema-design]

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 投票
3 回答
388 浏览

tsql - 如何从签入和签出列表中计算时间跨度?

我正在编写一个简单的时间跟踪程序来管理我自己的项目。我非常喜欢在数据库中保存报告代码,所以我一直在尝试创建一些 sprocs 来生成发票和时间表等。

我有一个表,其中包含时钟操作、IE“Punch In”和“Punch Out”。它还包含执行此操作的用户、与该操作关联的项目以及当前日期/时间。

我可以从此表中选择以获取特定时间/项目/和用户的打卡信息,但我想将其汇总,以便每个打卡和打卡都从 2 行转换为包含总时间的单行。

例如,这是一个示例输出:

其中 ActionType 1 是“ClockIn”,ActionType 2 是“ClockOut”。为简洁起见,我还删除了 User、Project 和 Description 列。

我需要在纯 SQL 中生成一个结果集,例如:

对于每个 ClockIn / ClockOut 对。

我认为这实际上会相当简单,我只是不太确定采用哪种方法。

编辑:用户将能够同时进入多个项目,尽管首先将结果集缩小到单个项目,这对这里的逻辑没有任何影响。

0 投票
5 回答
474 浏览

database - 强制完整性的表关系的最佳模式设计

给定一个模型表“A”,它可以有多个子模型“B”,其中“B”将有一个或多个子模型“C”。这听起来很简单,但是我需要为每个“A”强制执行',任何“B”都必须有一个唯一的“C”集合。例如,C 不能是属于同一父“A”的两个“B”的子代。但“C”可以是子代鉴于每个 'B' 的父 'A' 是不同的..

这有意义还是我应该不混淆我的场景?提前喝彩!

请注意,我知道此策略将在应用程序中强制执行,但我不希望数据库处于无效状态是不可能的。

编辑:大家好,很棒的反馈,所以首先我必须感谢大家与我分享你的知识。

只是为了澄清情况,我将解释这个场景,但这里有一些注意事项:

'A' 有零个或多个'B','B' 隐含地与'A' 相关联,因此总是只有一个'A' 的孩子。“C”在某种程度上是与许多“B”以及数据库中的其他元素相关联的根实体。


这是真实的故事:

这是一个包含许多简报(A)和许多成员(C)的网站,一个简报可以有许多提交(B),其中一个提交总是有一个或多个关联成员。这个想法是,提交实际上可以是一种协作,每个成员都没有比任何其他成员更多的“权力”,但是会有一个不同的系统来验证成员如何一起工作的政策。

因此,每个简报,一个成员只能提交一个提交,而一个提交可以有多个成员(合作者)。

希望这会有所帮助,但我认为您已经给了我很多帮助!

史蒂夫。

0 投票
3 回答
2393 浏览

database - 数据库设计一对多,其中多为至少一

与我之前的问题有点相关,这是关于强制执行表模式的创建模式,其中“A”有许多“B”子级,其中“C”是“A”的子“B”表,但至少有一个。

目前我有:

关键是A肯定总是至少有一个'B''child',但可以选择更多..但是我遇到的问题是'C'表当前可以引用'A'已经是相同的'B'隐式引用..

例子:

限制这一点的最佳方法是什么?注意到可以更新“A”以尝试引用已经在“C”集合中为该“A”声明的“B”,更有可能的是,“C”引用了已经隐含声明的“B”相关的'A'..

希望这是有道理的,并再次提前欢呼。

编辑:表格如下:

'A' 是一个提交,一个提交可以有多个“贡献者”(成员),但总是至少有一个。'B' 是一个成员 'C' 是将一个 'A' 链接到许多 'B' 的表

0 投票
1 回答
3848 浏览

xml - XML 元素唯一 ID 架构表示

我的 XML 看起来像这样:

如何编写 xml 模式,以便定义员工元素,使每个员工都有一个唯一的 id 属性(没有两个员工元素可以具有相同的 id 属性值)

0 投票
2 回答
714 浏览

database - 使用 interbase 设计数据库表的最佳方法?

我即将开始以适当的方式重做公司数据库。我们当前的数据库一团糟,几乎没有文档。我想知道人们在设计 Interbase 数据库时推荐使用什么?是否有某种可以生成 SQL 的优秀视觉模式设计器?全部手工完成会更好吗?

基本上,人们在设计和记录数据库时通常会采取哪些步骤?如果重要的话,我打算使用 Hibernate 作为数据库的 ORM。(Interbase 的具体提示也将不胜感激)。

谢谢!

0 投票
3 回答
137 浏览

ruby-on-rails - Ruby 社区重视简单性……您对在新项目中简化数据库模式有何看法?

我正在与以前没有使用过 Ruby OR Rails 的开发人员一起开发一个项目。

在我看来,他们创建了一个过于复杂的模式。该模式有 117 个表,获取最简单的信息需要遍历/连接 7 个表……当然,没有“主”表作为它们之间的一种键。该模式呈现了许多 Rails 工具,如“查找”方法,并且许多 has_many/belongs 关系几乎无用。为所有这些关系编写代码可能会比我们有钱编写代码更耗时。

问题:

假设您非常确信(恕我直言……呵呵)架构并不理想,并且有多种方法可以表示域,那么您将如何主张简化架构(除了我已经说过的)?

0 投票
2 回答
1015 浏览

xcode - 关于如何组织 Core Data 可视化布局的建议?

Core Data非常棒,我非常喜欢使用the visual layoutXcode 提供的功能来组织事物并快速获取我放置的数据的示例。有时我开始怀疑我是否正在充分利用它,然而,一段时间后往往会出现如此多的箭头,以至于很难分辨出什么在哪里。

我尝试通过以下方式将其保持在最低限度

  • 将类似的对象组合在一起,
  • 树上的抽象对象/父母和他们的孩子,
  • 等等

但混乱似乎不可避免。

您采用哪些方法来保持最佳组织和可读性?

0 投票
1 回答
528 浏览

c# - 保持 JavaScript 和 C# 对象模型之间的一致性

我正在开发一个 ASP.NET Web 应用程序,该应用程序在客户端使用大量 JavaScript 以允许用户执行诸如拖放重新排序列表、查找要添加到列表中的项目(如Google 搜索栏),从列表中删除项目等。

我有一个 JavaScript“类”,用于在客户端存储每个列表项以及有关用户对项执行的操作(添加、编辑、删除、移动)的信息。页面发布到服务器的唯一时间是用户完成后,在提交页面之前,我将有关更改的所有信息序列化为 JSON 并将其存储在页面上的隐藏字段中。

我正在寻找的是一些关于如何在 C# 中构建我的类的一般建议。我认为在 C# 中拥有一个与 JavaScript 匹配的类可能会很好,这样我就可以将 JSON 取消实现为此类的实例。虽然服务器端的类都直接复制 JavaScript 类,而且只为支持 JavaScript UI 实现而存在,但这似乎有点奇怪。

这是一个抽象的问题。我只是在寻找其他在维护匹配的客户端和服务器端对象模型方面做过类似事情的人的指导。

0 投票
1 回答
1238 浏览

schema - SOLR 模式设计问题:字段缺失或布尔字段?

我需要将我的 SOLR 索引分成两半。事实证明,我已经有一个 STRING 字段,它代表我需要的分区信息。意思是,要搜索的一种记录是字符串字段存在于记录中并包含值的地方,另一种是不包含值的地方。所有查询都必须指定要搜索的分区。现在,使用否定字段查询搜索该字段对我来说会更快吗,-strFld:[* TO *]或者创建一个新的布尔字段对我来说会更好/更快,称之为“hasStrFld”,然后搜索?因此,当 strFld 不存在时,hasStrFld 为假。同样,当 StrFld 中有数据时,hasStrFld 为真。

其他注意事项:将来索引可能被划分为第三个分区的可能性非常低,这使得布尔不合适和否定查询不合适,并考虑使用枚举值的字段。但是,这种可能性非常低,今天的快速性能比明天的可扩展性要重要得多。

0 投票
5 回答
6891 浏览

sql - 什么时候参照完整性不合适?

我理解需要具有参照完整性,以限制输入时的特定值或可能阻止它们在删除请求时被删除。但是,我不清楚是否有一个有效的用例会将该机制排除在始终使用之外。

我想这将分为几个子问题:

  1. 什么时候参照完整性不合适?
  2. 包含多个和/或可能不完整的外键列表子集的字段是否合适?
  3. 通常,这应该是模式结构设计决策还是界面设计决策?(或者可能两者都没有或两者都有)

想法?