0

私はデータベース アプリケーション (Access 2007) に取り組んでおり、アーキテクチャに関していくつか質問があります。これは、これまでに作成した中で最も複雑なアプリケーションです。

現在、5 つのテーブルがあり、それぞれに固有の ID フィールドがあります。

  • プラットフォーム
  • マニュアル
  • 手順
  • 障害

同じ障害が複数の手順に表示される可能性があり、同じ手順が複数のマニュアルに表示される可能性があります。ユーザーがレコードをコピーおよび削除したり、テーブル間でレコードを相互リンクしたりできるようにしたいと考えています。

現在、上記の各テーブル間にテーブルを結合しています。

  • platform_vehicles
  • vehicle_manuals
  • manuals_procedures
  • procedure_faults

コピーおよび削除アクションが他のテーブルにカスケード効果を及ぼすため、(結合テーブルの内容を編集することによって) メイン テーブル間の関係を編集することは非常に複雑になっています。私の考えでは、これは再帰を使用して効率的に実行できますが、実際に機能させることはまったく別の話です。

質問 #1: 私が説明したアーキテクチャは、このデータを整理するための「適切な」方法ですか、それとも不必要に複雑ですか? (私はそのように物事を行う習慣があります。)

質問 #2: これを行うための「推奨される」方法はありますか?

質問 3: 次のように、テーブルを別の方法で整理したほうがよいでしょうか。

5テーブルのみ、

  • プラットフォーム
  • マニュアル
  • 手順
  • 障害

各テーブルには、コンテンツ フィールドのキーと、すぐ上のテーブルの親レコードを表す別のキーがあります。例えば、

  • プラットフォーム
  • プラットフォーム ID、プラットフォーム名
  • platformID, vehicleID, vehicleName
  • マニュアル
  • vehicleID、manualID、manualName
  • ...

これは私にはより簡単に思え、確かにそれほど複雑ではありません。専門的なフィードバックをお寄せいただければ幸いです。

ありがとう!

4

1 に答える 1

0

参照整合性ルールを設定するには、MS Access の Relationship ツールを使用する必要があります。そうすれば、削除と更新を自動的にカスケードできます。親キーがテーブルにある限り(外部キーと呼ばれます)、「テーブルの結合」は不要なので避けます。

于 2012-08-01T17:05:48.940 に答える