■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
サブモデル、メインモデルへの反映について 2007/04/03 15:01 OBER 3
いつも御世話になっております。

昨年購入検証を行い、このたびOBERをプロジェクトにて購入いたしました。

設計段階から使用していればよかったのですが、
納品物として必要となったため急遽開発末期にER図を作成している状態です。

テーブルに設計不備があるためか、OBERのリレーションを使用すると
テーブル項目が自動的に追加されてしまう問題が発生したため
やむなく連結線でリレーションを表記しています。

テーブル数が多いためサブモデルを使用して管理しようと思うのですが、
連結線をサブモデルへ追加してもメインモデルへは反映されません。

何かの設定で連結線のメインモデルへの反映は可能でしょうか??

連結線が反映されない場合、
サブモデルへ追加した連結線を全てメインモデルへ反映させたり
あるいは反映されているかチェックしたり等煩雑な作業が多くなります。
反映されるかしないかで、作業工数が大きく変わります。

過去投稿も調べてはみたのですが、Ver4でどうなっているのかの記載を
発見できませんでした。

お忙しいとは思いますが、回答及び検討の程よろしくお願いします。





こんにちは
後迫@SIです。

お問い合わせいただきました件ですが、
サブモデルにて連結線を設定時に、
メインモデルに反映させることはできません。
ご希望に添えることが出来ず、申し訳ございません。

お手数ですが、すべてのモデルに連結線を設定していただくか、
リレーション追加後、以下の手順にて自動追加された項目を
削除していただけますでしょうか。
①該当のリレーションをダブルクリックします。
②「使用キー」タブを選択し、「子エンティティ属性」を変更します。
③リレーション設定時に増えた項目を削除します。

お手数をおかけいたしますが、
何卒よろしくお願いいたします。
お忙しい中回答いただきどうもありがとうございます。
>
>お問い合わせいただきました件ですが、
>サブモデルにて連結線を設定時に、
>メインモデルに反映させることはできません。
>ご希望に添えることが出来ず、申し訳ございません。

連結線の件了解いたしました。


>①該当のリレーションをダブルクリックします。
>②「使用キー」タブを選択し、「子エンティティ属性」を変更します。
>③リレーション設定時に増えた項目を削除します。

当対応についてもう少し詳しく質問させてください。

私たちが今困っている現象です。

親エンティティのキー項目で子エンティティに存在しないものがある場合、
リレーションを設定すると
子エンティティに自動的に親のキー項目が追加されてしまいます。

子エンティティ側に親キー項目に対応する項目があれば、
子エンティティ属性にその項目を設定すれば子エンティティから追加項目を削除できます。

しかし子エンティティ側に対応項目がない場合、子エンティティ属性を変更するわけにもいかず、親のキー項目は子のキー項目として追加されるためか、子エンティティからの項目削除ができません。(-ボタンが選べない状態)

項目が追加されてしまっては現状の物理テーブルのリレーションをER図で表現することができないため、リレーションではなく連結線でリレーションを表現しようとしたしだいです。

このような場合、どのように対応できますでしょうか?
(「テーブル設計を変える」はなしでお願いします・・・)
リレーションを設定した場合に自動的に親キー項目を引き継ぐことをやめることが
できれば連結線を使ってER図を書く必要もないのですが・・・。

私たちの場合設計段階ではなく開発終了段階でOBERを使用したため発生した問題かもしれませんが、このような問題は頻発しているのではと思います。
自動的に親キー項目を子エンティティへ引き継ぐ必要がないケースも多い気がするのですが・・・。
(設定で選べるor最低限追加項目を削除できる必要があるのでは??)


お忙しいとは思いますが、回答の程よろしくお願いいたします。
当質問については過去文書を見ていませんので、
過去に同様の質問があった、あるいは単なる私のOBERに対する知識不足の場合はご容赦ください。





こんにちは
後迫@SIです。

説明不足で申し訳ございません。

リレーションを設定する際は
必ず対応する項目が子エンティティに必要となるため、
子エンティティに対応する項目がないという場合は
リレーションを設定する方法は利用いただけません。
(リレーションは、データベース上では参照整合性制約に対応しており、
その制約の関係で、必ず子テーブルに対応する項目が必要となります。)
ご希望に添えることが出来ず、大変申し訳ございません。

子エンティティに対応する項目がないという場合は、
お手数ですが、連結線を設定する方法をご利用いただけますでしょうか。

大変申し訳ございませんが、
何卒よろしくお願いいたします。