0

我需要创建一个数据库来存储模拟结果。有什么资源可以帮助我设计这个?

编辑:对于那些想要更多细节的人......

我们使用军方使用的离散事件模拟。因此,重要的模拟事件是武器开火、击杀发生时以及武器未能击杀目标时。其他重要事件是检测到目标或不再跟踪目标。我们保留了非常详细的日志文件,然后我们会挖掘这些文件来计算平均值和其他统计数据。这主要是我关心存储在数据库中的统计数据。

我想包括的另一件事是案例 ID。我们使用与系统和重要输入参数的特定组合相对应的字母数字案例 ID 字符串来识别不同案例。例如,假设传感器可以根据模式在 3 个不同范围内检测到目标,则案例 ID 中将有一个字符对应于每个检测范围级别,标记为 0、1 或 2。如果有足够的级别对于给定的案例,案例 ID 字符在 9 之后切换为字母。这个案例 ID 肯定是数据库中的一个重要键。一旦我们存储了数据,我们需要检索某些数字来制作比较不同情况的图表。我们目前在 Excel 中制作图表,但我最近一直在添加更多 MATLAB。

至于数据库技术,我想我会在Access中做表设计来原型化,然后在MS SQL Server中实现它。我打算使用 Ruby 创建带有数据表和图表的 HTML 报告。

4

9 回答 9

2

提供以下内容,您将获得有用的答案

  1. 数据库类型(MsSQL、MySQL 等)
  2. 您使用的任何其他语言(C#、PHP)
  3. 您要存储的数据
  4. 您打算如何处理数据(它可能会影响如何最好地存储和查询它),这一步是非常可选的
于 2008-09-27T17:38:27.977 回答
2

可以提供帮助的一件事是拥有实体关系图。这将帮助您设计您希望使用的不同表格以及这些表格是如何相互关联的。如果您的模拟不需要使用超过几个表,这对于您的需求可能是多余的。

我们使用的一个便宜的解决方案(不是免费的)是Happy Fish。它提供了一种可视化数据的好方法,即使对于具有一百多个表的复杂应用程序也是如此。此工具将自动生成模式 DDL 来为您的环境创建必要的表、索引、外键约束(包括对 Oracle、MySQL、Microsoft SQL Server 等的支持)。

这方面还有许多其他工具。您可以从Wikipedia中找到一系列免费工具。

于 2008-09-27T18:01:26.877 回答
1

有一个名为“Stack Overflow”的网站有一群可以提供帮助的聪明人。;-)

提供有关您要存储的内容的更多详细信息,我相信您会得到很多有用的答案。

于 2008-09-27T17:35:22.773 回答
1

如果您使用的是关系数据库(提示:可能是),那么首先要知道的是如何规范化您的数据(即正确地构建表格)。

好的起点:这篇维基百科文章

于 2008-09-27T18:01:33.537 回答
1

模拟什么?

David C. Hay所著的Data Model Patterns: Conventions of Thought一书为许多业务类型提供了设计秘诀。也许您可以从那里的模型中获得灵感?

于 2008-09-27T18:05:47.867 回答
1

我建议您在计划使用的数据库中制作原型。从长远来看,访问不适用于此类数据。由于 Access Sql 与 SQL Server t-sql 非常不同,并且访问数据类型与 SQL Server 数据类型不同(并且向导在转换时做出了非常糟糕的选择),因此使用 Access 原型不会为您带来任何好处,并且可能会创建更多的工作来重新创建您的东西已经解决了。

于 2008-09-27T21:02:02.543 回答
0

通常,我们会写下用例——谁将使用它以及他们将要做什么。

有时,我们会记下数据库中的内容。实体、它们的属性以及实体所做的不同事情。

一旦我们有了一些基本的背景,我们经常会绘制实体图以及它们之间的关系。

鉴于所有这些,我们试图找到有经验的人,他们可以帮助我们将我们的图片映射到可用的技术上,并为下一步提出一些建议。

于 2008-09-27T18:08:30.853 回答
0

就 DBMS 基础而言:使用 SQL Server Express,然后根据需要迁移到 SQL Server。不要为此使用 Access。

于 2008-09-27T21:05:11.913 回答
0

If you're going to use Ruby, then consider building your database using ActiveRecord (a core component of Rails, but is not exclusively tied to it). That way you get to evolve your schema using migrations, which is a nice way to manage things. By default your database gets implemented in SQLite, which if you don't mind losing the graphical aspects of Access, is a nice little package (and probably the most-implemented DB software in the world, which not a lot of people know). Moving up to SQL Server should be fairly pain-free (I've done it - no major scars).

If you go that route, and plan to output HTML via Ruby from your data, why not go the whole hog and build the whole thing as a Rails-based web site? The number of wheels you avoid reinventing might be worth it.

(Disclaimer: I'm a born-again Rails programmer with a long history of Windows-based DB application development. Apologies for any inadvertent evangelism.)

于 2008-09-29T10:37:11.030 回答