次の方法で共有

Access 2013 のフィールド形式と実データのサイズについて

Anonymous
2016-06-22T01:33:46+00:00

Access 2013 についてファイルサイズが 2GB ということをこのコミュニティにて知りました。

ただ、対象がmdb形式(access 2002-2003形式)にて利用しています。

レコード数とフィールドの項目が意外と多く、データサイズを制限したいと考えております。

そこで、フィールドの形式と実データのバイト数を教えていただければ幸いです。

使用形式は以下を使用しています。

1)短いテキスト(サイズ 9文字)

2)整数

3)長整数

4)十進数( 5 桁 少数以下 1) --->100個使用

5)十進数(  1桁 )

6)十進数(  2桁)

十進数を使用したのはこちらのほうがバイト数が少ないのではと感じたためです。ただ、整数にしたほうがいいかもと考えています。

使用数値は最大で 9999.9 です。

以上 よろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2016-06-22T02:55:36+00:00

こんにちは、ずっちです。

フィールド サイズの設定

こちらが参考になると思います。

あまり意識したことはなかったのですが、

テキスト データを格納するフィールドのフィールド サイズも変更できますが、この操作を行っても、使用される領域サイズには大きな効果はありません。

なんて事がかかれててちょっとびっくりしましたw

私の場合、数値は「考えうる最大値・最小値(マイナスもアリか)」と「少数はあるか」で使い分けています。

その点でいけば、4)と5)はバイト型でもいけそうですね。

「フィールド数が膨大」と聞くと、Excelみたいな正規化されていないデータを思い浮かべてしまうのですが、

正規化は行われておりますでしょうか。

適度な正規化はデータ容量の削減にも効果がありますので、そこも確認していただければと思います。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

5 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-06-25T02:53:10+00:00

    浮動小数点数の場合は演算結果に誤差がでるので、

    集計したり、演算したりする場合は注意が必要です。

    この場合、有効桁数に収まっているかどうかは関係ありません。

    「浮動小数点数型 誤差」でWEB検索するといろいろ解説ページが見つかるので目を通しておくことをお薦めします。

    演算・集計対象の少数データで誤差が許されない場合、、通貨型にするのがセオリーです。

    サイズは8バイトと若干大きくなりますが、レコード数数万程度なら問題になることはないでしょう。

    ただし有効小数桁数が4桁ですのでそれを超えるときは十進型を使用します。

    ずっちさんも指摘していますが、「正規化」については理解されていますか。

    こちらの方がテーブル設計において、データサイズよりずっと重要なことです。

    こちらもWEB検索して解説を熟読しておくことをお薦めします。

    正規化について十分理解されているのでしたら余計なお節介ですのでスルーして下さい。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-06-24T09:22:14+00:00

    ずっちさん、誤差の件、アドバイスありがとうございます。

    詳しくはわかりませんが、扱う数字は整数部5桁、小数部1桁なので有効桁数7桁に収まっているので大丈夫と思っています。内部表現によるかもしれませんが、0.1は二進数では正確に表せないような情報を目にした記憶があります(曖昧です)。

    今後ともよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-06-23T00:56:22+00:00

    おはようございます、ずっちです。

    浮動小数点数で小数を表す場合、誤差がでる場合があるので気をつけてくださいね。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2016-06-22T08:50:41+00:00

    ずっち さん、情報ありがとうございます。

    ご提供いただいたリンク先の情報は大変役に立ちました。

    単精度浮動小数点型が4バイトと小さく、有効桁数が7桁あるので十進数形式は全てこちらに変更しました。

    バイト型も利用しました。

    ただ、フィールド数(112)またはデータ件数(12000)が多いのか  Acesss ではディスク容量不足かメモリ不足ということで変換処理ができませんでした(私が方法を知らないだけかもしれません)。

    レコードを新しいテーブルにコピーするプログラムを作成し何とかデータの移行が完了しました。

    約50MBのファイルが約6.6MBに劇的に減少しました。

    最終的には3万件程度になるのでデータ処理がスムーズに行えるようになると思います。

    どうもありがとうございました。

    今後ともよろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません