私はデータベース アプリケーション (Access 2007) に取り組んでおり、アーキテクチャに関していくつか質問があります。これは、これまでに作成した中で最も複雑なアプリケーションです。
現在、5 つのテーブルがあり、それぞれに固有の ID フィールドがあります。
- プラットフォーム
- 車
- マニュアル
- 手順
- 障害
同じ障害が複数の手順に表示される可能性があり、同じ手順が複数のマニュアルに表示される可能性があります。ユーザーがレコードをコピーおよび削除したり、テーブル間でレコードを相互リンクしたりできるようにしたいと考えています。
現在、上記の各テーブル間にテーブルを結合しています。
- platform_vehicles
- vehicle_manuals
- manuals_procedures
- procedure_faults
コピーおよび削除アクションが他のテーブルにカスケード効果を及ぼすため、(結合テーブルの内容を編集することによって) メイン テーブル間の関係を編集することは非常に複雑になっています。私の考えでは、これは再帰を使用して効率的に実行できますが、実際に機能させることはまったく別の話です。
質問 #1: 私が説明したアーキテクチャは、このデータを整理するための「適切な」方法ですか、それとも不必要に複雑ですか? (私はそのように物事を行う習慣があります。)
質問 #2: これを行うための「推奨される」方法はありますか?
質問 3: 次のように、テーブルを別の方法で整理したほうがよいでしょうか。
5テーブルのみ、
- プラットフォーム
- 車
- マニュアル
- 手順
- 障害
各テーブルには、コンテンツ フィールドのキーと、すぐ上のテーブルの親レコードを表す別のキーがあります。例えば、
- プラットフォーム
- プラットフォーム ID、プラットフォーム名
- 車
- platformID, vehicleID, vehicleName
- マニュアル
- vehicleID、manualID、manualName
- ...
これは私にはより簡単に思え、確かにそれほど複雑ではありません。専門的なフィードバックをお寄せいただければ幸いです。
ありがとう!