| > テーブルの最適化という意味ではヘッダと明細を別のテーブルに分けて管理したほうが、 > データの整合が保てるのでと思うのですが、その場合はグループ項目の機能は使用できるのでしょうか?
老婆心ながら…
一般的にデータの冗長を無くすために正規化するのは悪いことではありませんが、
場合によっては、あえて正規化しないでデータを冗長にした方が良い場合もあります。
それはレコード発生時点の内容を保持しておいた方がよい場合です。
巷のRDBの教科書には、何でもかんでもリレーションシップを作れば良と決め付けているものが多いですが、
果たしてそうとばかり言えないケースも多いと思いますよ。
ちなみに、私の仕事場で外注した業務アプリはSQLサーバー+.NET BASICを使ったものですが、
レコード発生時点の内容を保持しておいた方がよい場合があるので、それなりに冗長な部分があります。
何でもかんでもリレーションシップは、メンテナンスに力点を置いた議論だと思いますが、
[ある時点の事実を写したものがデータ]であるという視点も重要なことだと思いますよ。
以上、釈迦に説法だと思いますが悪しからず。
なお、どうしてもリレーションシップでやりたいならば、
メイン&サブフォーム形式のフォームだろうと思いますが、これは思いっきり使い難いですよ。
※メイン&サブフォーム形式のフォームに関してはMSアクセスも五十歩百歩だと思います。
|