■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
リレーションシップを変更したEDMファイルの統合
2022/09/09 20:49
OBER
4
ほんだ
リレーションシップを設定しているエンティティから
リレーションシップを削除して
EDMファイルを統合したところ
外部キーのカラムは削除されましたが
FK制約は削除されていませんでした。
EDMファイル統合機能では
リレーションシップの変更は対応していないのでしょうか?
対応していないのならば
別の方法はないでしょうか?
リレーションシップを削除して
EDMファイルを統合したところ
外部キーのカラムは削除されましたが
FK制約は削除されていませんでした。
EDMファイル統合機能では
リレーションシップの変更は対応していないのでしょうか?
対応していないのならば
別の方法はないでしょうか?
返信を投稿
OBER
OBサポート
OBサポートです。
■EDMファイルの統合機能について
SI Object Browser ERのEDMファイルの統合機能では、
①マスターEDMファイルと作業ファイルの差分を見てマスタを上書きする統合
②二つの元EDMファイルから、新たにEDMファイルを生成する統合
の二つの統合方法を提供しております。
リレーションを削除した上でEDMファイルの統合を行うと、
例えば②の方法であれば
2つのEDMファイルを比較して、リレーションの存在しない方のEDMファイルを優先することで
リレーションの変更を適用することが可能です。
→弊社でも親エンティティ・子エンティティでリレーションを含む、含まない2種類のEDMファイルを定義して、②の方法で統合を行ったところリレーションの削除動作を確認しております。
誠に恐れ入りますが、EDMファイルの統合画面において、
変更店の優先順位が適切かどうかご確認いただいた上で、再度統合結果のご確認をお願いできますでしょうか。
■EDMファイルの統合機能について
SI Object Browser ERのEDMファイルの統合機能では、
①マスターEDMファイルと作業ファイルの差分を見てマスタを上書きする統合
②二つの元EDMファイルから、新たにEDMファイルを生成する統合
の二つの統合方法を提供しております。
リレーションを削除した上でEDMファイルの統合を行うと、
例えば②の方法であれば
2つのEDMファイルを比較して、リレーションの存在しない方のEDMファイルを優先することで
リレーションの変更を適用することが可能です。
→弊社でも親エンティティ・子エンティティでリレーションを含む、含まない2種類のEDMファイルを定義して、②の方法で統合を行ったところリレーションの削除動作を確認しております。
誠に恐れ入りますが、EDMファイルの統合画面において、
変更店の優先順位が適切かどうかご確認いただいた上で、再度統合結果のご確認をお願いできますでしょうか。
返信を投稿
OBER
ほんだ
ご回答ありがとうございます。
ご指摘のように変更点の優先順位を確認してみましたが、
リレーションの削除が統合されないようです。
(相互に試してみました)
>■EDMファイルの統合機能について
>SI Object Browser ERのEDMファイルの統合機能では、
>①マスターEDMファイルと作業ファイルの差分を見てマスタを上書きする統合
>②二つの元EDMファイルから、新たにEDMファイルを生成する統合
>の二つの統合方法を提供しております。
①と②も試してみましたが
①の場合は差分にリレーションが表示されませんでした。
②は差分にリレーションは表示されます。
テストデータは以下のような内容ですが
エンティティとリレーションの作り方など
おかしなところがあるのでしょうか?
ご指摘いただけるとありがたいです。
-------------------------------------------------------
①編集前の状態
<エンティティ1>
CREATE TABLE エンティティ1
(
商品コード CHAR(3) NOT NULL,
名称 NVARCHAR(50) NULL
)
go
ALTER TABLE エンティティ1
ADD CONSTRAINT PK_エンティティ1 PRIMARY KEY CLUSTERED (商品コード)
go
<エンティティ2>
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL,
商品コード CHAR(3) NOT NULL
)
go
ALTER TABLE エンティティ2
ADD CONSTRAINT PK_エンティティ2 PRIMARY KEY CLUSTERED (商品コード)
go
<リレーション>
ALTER TABLE エンティティ2
ADD CONSTRAINT FK_エンティティ1_エンティティ2 FOREIGN KEY(商品コード) REFERENCES エンティティ1 (商品コード) ON UPDATE NO ACTION ON DELETE NO ACTION
go
-------------------------------------------------------
②編集後の状態
<エンティティ1>→変更なし
<リレーション>→削除
<エンティティ2>→リレーション削除にともない以下のように変更されている
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL
)
go
-------------------------------------------------------
③統合後の状態
<エンティティ1>→変更なし
<リレーション>
ALTER TABLE エンティティ2
ADD CONSTRAINT FK_エンティティ1_エンティティ2 FOREIGN KEY() REFERENCES エンティティ1 (商品コード) ON UPDATE NO ACTION ON DELETE NO ACTION
go
<エンティティ2>
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL
)
go
-------------------------------------------------------
ご指摘のように変更点の優先順位を確認してみましたが、
リレーションの削除が統合されないようです。
(相互に試してみました)
>■EDMファイルの統合機能について
>SI Object Browser ERのEDMファイルの統合機能では、
>①マスターEDMファイルと作業ファイルの差分を見てマスタを上書きする統合
>②二つの元EDMファイルから、新たにEDMファイルを生成する統合
>の二つの統合方法を提供しております。
①と②も試してみましたが
①の場合は差分にリレーションが表示されませんでした。
②は差分にリレーションは表示されます。
テストデータは以下のような内容ですが
エンティティとリレーションの作り方など
おかしなところがあるのでしょうか?
ご指摘いただけるとありがたいです。
-------------------------------------------------------
①編集前の状態
<エンティティ1>
CREATE TABLE エンティティ1
(
商品コード CHAR(3) NOT NULL,
名称 NVARCHAR(50) NULL
)
go
ALTER TABLE エンティティ1
ADD CONSTRAINT PK_エンティティ1 PRIMARY KEY CLUSTERED (商品コード)
go
<エンティティ2>
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL,
商品コード CHAR(3) NOT NULL
)
go
ALTER TABLE エンティティ2
ADD CONSTRAINT PK_エンティティ2 PRIMARY KEY CLUSTERED (商品コード)
go
<リレーション>
ALTER TABLE エンティティ2
ADD CONSTRAINT FK_エンティティ1_エンティティ2 FOREIGN KEY(商品コード) REFERENCES エンティティ1 (商品コード) ON UPDATE NO ACTION ON DELETE NO ACTION
go
-------------------------------------------------------
②編集後の状態
<エンティティ1>→変更なし
<リレーション>→削除
<エンティティ2>→リレーション削除にともない以下のように変更されている
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL
)
go
-------------------------------------------------------
③統合後の状態
<エンティティ1>→変更なし
<リレーション>
ALTER TABLE エンティティ2
ADD CONSTRAINT FK_エンティティ1_エンティティ2 FOREIGN KEY() REFERENCES エンティティ1 (商品コード) ON UPDATE NO ACTION ON DELETE NO ACTION
go
<エンティティ2>
CREATE TABLE エンティティ2
(
金額 NUMERIC(10,0) NULL
)
go
-------------------------------------------------------
返信を投稿
OBER
OBサポート
OBサポートです。
ご回答が大変遅くなってしまい、誠に申し訳ありません。
エンティティ、リレーションについて情報提供いただき誠にありがとうございます。
現在EDMファイルの統合機能について、開発側にも仕様・動作の確認を含め
確認を行っております。
大変ご不便をおかけしてしまい、誠に申し訳ありません。
頂いた情報をもとに改めてご回答をご案内させていただきますので、
今しばらくお待ちいただけますようお願い申し上げます。
ご回答が大変遅くなってしまい、誠に申し訳ありません。
エンティティ、リレーションについて情報提供いただき誠にありがとうございます。
現在EDMファイルの統合機能について、開発側にも仕様・動作の確認を含め
確認を行っております。
大変ご不便をおかけしてしまい、誠に申し訳ありません。
頂いた情報をもとに改めてご回答をご案内させていただきますので、
今しばらくお待ちいただけますようお願い申し上げます。
返信を投稿
OBER
OBサポート
OBサポートです。
ご回答が大変遅くなってしまい誠に申し訳ありません。
開発との確認のもと、現在の事象とEDM統合に関する動作について
ご回答させていただきます。
■EDMファイルの統合機能について
EDMファイルの統合では、
元(もしくはマスター)となるEDMファイルをベースとして上書きを行う動作を仕様としております。
そのため、
①元(マスター)となるEDMファイル:リレーションがある
②適用するEDMファイル:リレーションがない
を用いた統合を行うと、既存のリレーションについては変化がない動作となります。
※逆に
①元となるEDMファイル:リレーションがない
②適用するEDMファイル:リレーションがある
この状態でEDMファイルの統合処理を行うと、上書きで②のリレーションが反映される動作となります。
■オプションについて
お問い合わせ頂いた動作の中で、
リレーション削除時に関連するキー項目も連動して削除されているとのことでしたが、
SI Object Browser ERでは「ツール」 > 「オプション」 > 「操作」タブの
「リレーションシップ操作」項目 - 「リレーション削除時の動作」において、こちらの動作を調整することが可能です。
リレーション削除時にキー項目も削除されている動作が意図したものであれば問題ありませんが、
もしキー削除を想定していない場合には、こちらのオプションによって調整をお願いいたします。
大変お手数ですが、何卒よろしくお願い申し上げます。
ご回答が大変遅くなってしまい誠に申し訳ありません。
開発との確認のもと、現在の事象とEDM統合に関する動作について
ご回答させていただきます。
■EDMファイルの統合機能について
EDMファイルの統合では、
元(もしくはマスター)となるEDMファイルをベースとして上書きを行う動作を仕様としております。
そのため、
①元(マスター)となるEDMファイル:リレーションがある
②適用するEDMファイル:リレーションがない
を用いた統合を行うと、既存のリレーションについては変化がない動作となります。
※逆に
①元となるEDMファイル:リレーションがない
②適用するEDMファイル:リレーションがある
この状態でEDMファイルの統合処理を行うと、上書きで②のリレーションが反映される動作となります。
■オプションについて
お問い合わせ頂いた動作の中で、
リレーション削除時に関連するキー項目も連動して削除されているとのことでしたが、
SI Object Browser ERでは「ツール」 > 「オプション」 > 「操作」タブの
「リレーションシップ操作」項目 - 「リレーション削除時の動作」において、こちらの動作を調整することが可能です。
リレーション削除時にキー項目も削除されている動作が意図したものであれば問題ありませんが、
もしキー削除を想定していない場合には、こちらのオプションによって調整をお願いいたします。
大変お手数ですが、何卒よろしくお願い申し上げます。
返信を投稿
OBER