问题标签 [database-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.
sql - 克隆分层数据
让我们假设我有一个自引用分层表构建像这样的经典方式:
我现在需要的是一个函数(最好是纯 sql),它将获取测试记录的 id 并克隆所有附加记录(包括给定的记录)。克隆的记录当然需要有新的 id。例如,期望的结果是这样的:
任何指针?我使用的是 PostgreSQL 8.3。
sql - varchar(255) v tinyblob v tinytext
我的问题是 tinyblob 和 tinytext 之间真的有什么区别吗?
购买我真正的问题是什么原因(如果有的话)我会选择 varchar(255) 而不是 tinyblob 或 tinytext?
database-design - 数据库设计
我需要创建一个数据库来存储模拟结果。有什么资源可以帮助我设计这个?
编辑:对于那些想要更多细节的人......
我们使用军方使用的离散事件模拟。因此,重要的模拟事件是武器开火、击杀发生时以及武器未能击杀目标时。其他重要事件是检测到目标或不再跟踪目标。我们保留了非常详细的日志文件,然后我们会挖掘这些文件来计算平均值和其他统计数据。这主要是我关心存储在数据库中的统计数据。
我想包括的另一件事是案例 ID。我们使用与系统和重要输入参数的特定组合相对应的字母数字案例 ID 字符串来识别不同案例。例如,假设传感器可以根据模式在 3 个不同范围内检测到目标,则案例 ID 中将有一个字符对应于每个检测范围级别,标记为 0、1 或 2。如果有足够的级别对于给定的案例,案例 ID 字符在 9 之后切换为字母。这个案例 ID 肯定是数据库中的一个重要键。一旦我们存储了数据,我们需要检索某些数字来制作比较不同情况的图表。我们目前在 Excel 中制作图表,但我最近一直在添加更多 MATLAB。
至于数据库技术,我想我会在Access中做表设计来原型化,然后在MS SQL Server中实现它。我打算使用 Ruby 创建带有数据表和图表的 HTML 报告。
sql - SQL Server 规范化策略:varchar vs int Identity
我只是想知道这里的最佳解决方案是什么。
假设我有一个规范化的数据库。整个系统的主键是一个varchar。我想知道我应该将此 varchar 与 int 关联以进行规范化还是保留它?保留为 varchar 更简单,但可能更理想
例如我可以有
或者我可以
当然,还要添加几个其他的一对多关系。
大家怎么看?哪个更好?为什么?
linux - 你能推荐一个适用于 Linux 的 PostgreSQL 可视化数据库设计器吗?
当我在 Windows 中时,我使用优秀的 MicroOLAP Database Designer for PostgreSQL,但它不是开源的或多平台的。
您知道或可以向我推荐可以在 Linux 中使用的该软件的替代品吗?
编辑:澄清一下,我不想用 wine 来模拟 PostgreSQL 的 MicroOlap,它工作得不太好,我更喜欢本机或基于 Java 的东西。
design-patterns - 关系数据库设计模式?
设计模式通常与面向对象的设计有关。
是否有用于创建和编程关系数据库的设计模式?
许多问题肯定有可重用的解决方案。
示例将包括用于表设计、存储过程、触发器等的模式......
是否有此类模式的在线存储库,类似于martinfowler.com?
模式可以解决的问题示例:
- 存储分层数据(例如,具有类型的单个表与具有 1:1 键和差异的多个表......)
- 存储具有可变结构的数据(例如,通用列 vs xml vs 分隔列...)
- 非规范化数据(如何在影响最小的情况下做到这一点,等等......)
sql - Sql设计问题-多个部分中的项目
我有一个sections 表和一个items 表。
问题是每个项目可能位于一个或多个部分中,因此每个项目的简单“section_id”将不起作用,并且 sql 没有办法存储我可以说“section_ids 中的 WHERE 5”的数组。 ..
我考虑过将 id 列表存储为逗号分隔的字符串,问题是我看不到任何方法来检查项目是否在 sql 查询的给定部分中。我在这里看到的唯一选项是选择整个表,并在 php.ini 中解析字符串。不用说,有 1000 件物品,这不是一个好主意。
有没有更好的方法来“链接”具有多个部分的项目,并且能够轻松选择给定部分 ID 的所有项目?
database - 我可以在我的事实表中将非度量代码与度量混合吗?
我们正在做一些复杂的数据积累。我们的客户向我们发送了一些包含两个维度(时间和业务单位)的内容。时间主要是年月。业务单位维度只有几个属性:名称和几个类别,BU 可以属于这些类别以用于报告和分析目的。
他们发给我们的东西包括一些当前状态信息(日期和代码)。这些看起来像事实。他们还发送一些描述与业务部门关系的信息(主要是附加代码)。同样,这些对于业务部门和时间段来说是独一无二的。
最后,他们向我们发送了显然是附加事实的东西。它包括具有适当单位的货币和计数。
我应该将这些定性信息与附加事实混合在一个事实表中吗?或者我应该将定性的东西(只能与计数一起使用)与定量的东西(可以与总和一起使用)分开吗?
database-design - 多用户的 CouchDB 建模
我已经对文档数据库感到兴奋,尤其是对 CouchDB 的简单性感到兴奋。但是我很难理解这样的数据库是否是多用户系统的可行选择。因为这些系统需要文档数据库不提供的记录之间的某种关系。
对于这种情况,它完全是错误的工具吗?或者一些标记和临时视图是实现这一点的方法?要不然...
更新:
到目前为止,我了解答案。但是让我重新表述一下这个问题。假设我有大量半结构化数据,通常适合 CouchDB。我可以将它们标记为“type=post”和“year=2008”。我的问题是这种类型的标记我能走多远?假设我可以创建一个包含 10.000 个名称的数组字段吗?或者有没有更好的方法来做到这一点?这是一个理解如何在这种基于文档的意义上思考的问题。