■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
リバースエンジニアリングの外部キーについて
2003/06/05 11:31
OBER
1
たあぼ
たあぼです。
リバースエンジニアリングで子テーブルが親テーブルを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))
/
リバースエンジニアリングで子テーブルが親テーブルを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))
/
返信を投稿
OBER
後迫@SI
こんにちは
後迫@SIです。
ご報告いただきありがとうございます。
現象を確認いたしました。
リレーションを張る列名がそれぞれ異なる場合に、
この現象が発生いたします。
誠に申し訳ございません。
こちらの現象につきましては、
次回バージョンアップにて修正させていただきます。
ご不便をお掛けいたしますが、
どうぞよろしくお願いいたします。
後迫@SIです。
ご報告いただきありがとうございます。
現象を確認いたしました。
リレーションを張る列名がそれぞれ異なる場合に、
この現象が発生いたします。
誠に申し訳ございません。
こちらの現象につきましては、
次回バージョンアップにて修正させていただきます。
ご不便をお掛けいたしますが、
どうぞよろしくお願いいたします。
返信を投稿
OBER