|
こもれびさん、返信ありがとうございます。
>ご質問の内容ですが、キーを同一にするということは
>顧客固有のデータということになります。
>上にあげた例のように契約日などの変化するデータや
>繰り返し発生するデータなどはないのでしょうか?
>これは、データベースの「正規化」という重要なポイント
>なのですが、これを誤ると使いにくいものが出来上がってしまいます。
説明不足でした、すみません。
ご指摘の通り、キーを同一にすることは顧客固有のデータと言うことになります。
顧客マスターに契約テーブルの項目を入れない理由は、
顧客マスターは既に別のDBに存在しているものを参照のみで利用します。
そのDB自体もMBDからは更新できない(社内ルール)DBである為の苦肉の策として
今回のような形で考えてみました。
契約テーブルの「@契約」の項目は商品の性質上、Yes/Noの変更が繰り返し
発生します。また、他にも「@契約_更新日」など変化するデータもあるため、
別テーブルとして作成し、リレーションを持たせて、
契約テーブルに関する部分のみ、更新を行えるようにしたいのですが、
確かに、自分で書いていても使いにくそうなDBですね。。。
>さて、「同じ番号でレコードを追加する」ことはできます。
>顧客の情報を呼んでおいて、書き込みのときに
>「契約テーブル」のIDフィールドに書き込めばOKです。
「やるべきこと」は理解できました。が、私が使用している本に
具体的な手法を見つけることが出来ませんでした。。。
使用する関数(?)など、ヒントで良いので情報をいただけないでしょうか?
申し訳ありません。
>ただし、契約テーブルのIDフィールドは「数値」にしましょう。
>マスターに使用した「オートナンバー」はテキストではなく
>数値です。
ありがとうございます。
さっそくさっそく変更しておきました。
ご教授よろしくお願いいたします。
|
|