■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

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




投稿No.1188
ツリー表示
2003/06/05 11:31:20
ハンドルネーム たあぼ
製品 OBER
タイトル リバースエンジニアリングの外部キーについて
メッセージ本文 たあぼです。

リバースエンジニアリングで子テーブルが親テーブルを2つ以上参照していると
余分なカラムが付与されます。
例えば、下記のようなテーブルがあります。
CREATE TABLE TABLE_OYA
(
ID VARCHAR2(1) NOT NULL,
NAME VARCHAR2(10)
)
/
ALTER TABLE TABLE_OYA
ADD(CONSTRAINT PK_TABLE_OYA PRIMARY KEY (ID) USING INDEX)
/

CREATE TABLE TABLE_KO
(
KEY NUMBER(2,0) NOT NULL,
ID1 VARCHAR2(1),
ID2 VARCHAR2(1),
ID3 VARCHAR2(1)
)
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT PK_TABLE_KO PRIMARY KEY (KEY) USING INDEX)
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID1 FOREIGN KEY(ID1) REFERENCES TABLE_OYA (ID))
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID2 FOREIGN KEY(ID2) REFERENCES TABLE_OYA (ID))
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID3 FOREIGN KEY(ID3) REFERENCES TABLE_OYA (ID))
/

OBERでリバースエンジニアリングするとTABLE_KOにIDというカラムが余分に付きます。
調査をお願いします。

CREATE TABLE TABLE_KO
(
KEY NUMBER(2,0) NOT NULL,
ID1 VARCHAR2(1),
ID2 VARCHAR2(1),
ID3 VARCHAR2(1),
ID VARCHAR2(1) NOT NULL ← 余分なカラム
)
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT PK_TABLE_KO PRIMARY KEY (KEY) USING INDEX)
/

CREATE TABLE TABLE_OYA
(
ID VARCHAR2(1) NOT NULL,
NAME VARCHAR2(10)
)
/
ALTER TABLE TABLE_OYA
ADD(CONSTRAINT PK_TABLE_OYA PRIMARY KEY (ID) USING INDEX)
/

ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID1 FOREIGN KEY(ID1) REFERENCES TABLE_OYA (ID))
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID2 FOREIGN KEY(ID2) REFERENCES TABLE_OYA (ID))
/
ALTER TABLE TABLE_KO
ADD(CONSTRAINT FK_TABLE_KO_ID3 FOREIGN KEY(ID3) REFERENCES TABLE_OYA (ID))
/


元の文章を引用して返信