0

私はしばらくの間MSAccess2010を使用してきましたが、ほとんどの場合、すべてが機能します。わーい。ただし、作業に使用する機器からのデータ(x軸とy軸のペア)を最終的にプロットするための大量のデータがあります。このデータを個別のテーブルとしてインポートすることはできますが、純粋にこのデータを格納するための個別のテーブルでデータベースをオーバーロードするという考えは特に好きではありません。私の理解では、各テーブルはデータベースの大規模なコンテキストに適合するエンティティを表す必要があります。また、現在使用している機器では、すべてのx軸データが冗長です。問題は、効率的なストレージのためにデータを分割するための最良の方法は何ですか?

考慮事項:私はこの質問について考えるのと同じ問題に遭遇し続けます。いずれの場合も、1つはx軸データを格納し、もう1つはy軸データを格納するために、2つのテーブルを作成し、2つの間に多対多の関係を可能にするリンクテーブルがあるとします。

一方では、レコードごとに1つの値を格納できます(すべての値を1つの列に格納します)。ただし、これら2つのテーブルのそれぞれにタグフィールドが必要になるため、分割の目的が無効になります。

一方、フィールドごとに1つの値(すべての値を1つの行に格納)を格納できます。これにより、私の場合、各テーブルに2000を超えるフィールドが生成されます。

1つのテーブルに行ごとに1つのペアを格納するために、現在使用している3番目のオプションがあります。ただし、多くの冗長性があります。

4

1 に答える 1

0

現在の方法に固執する必要があります。これは、データの取得と追加の両方を行う最も簡単な方法です。以下に、他の提案に対する私の反応を示します。

どちらの場合も、x 軸データを格納するテーブルと y 軸データを格納するテーブルの 2 つのテーブルを作成し、多対多の関係を可能にする 2 つのリンク テーブルを作成したとします。

X と Y が整数でない場合、これにより、ハード ドライブ容量がわずかに改善される可能性があります。しかし、それは疑わしい利益のために物事を著しく複雑にするでしょう.

一方では、レコードごとに 1 つの値 (すべての値が 1 つの列) を格納できます。ただし、これら 2 つのテーブルのそれぞれにタグ フィールドが必要になるため、分割の目的が無効になります。

これにより、データの操作が非常に複雑になり、悪い考えです。同じ行で両方のデータ ポイントを取得するには、複雑なクエリを使用する必要があります。これを行うこともできますが、入力と検索の両方が複雑になります。

一方、フィールドごとに 1 つの値 (すべての値が 1 つの行) を格納できます。この場合、各テーブルに 2000 を超えるフィールドが生成されます。

こんなことしたら後悔する。これにより、後で有意義なデータ分析を行うことがほぼ不可能になります。

1 つのテーブルに行ごとに 1 つのペアを格納するために、現在使用している 3 番目のオプションがあります。ただし、冗長性はかなりあります。

これが理想です。データを 2 つの列に簡単にインポートでき、データは簡単に取得できます。値が無関係でない限り、冗長性は重要ではありません。

于 2012-07-27T15:42:17.380 に答える