|
たあぼ
|
|
たあぼです。
リバースエンジニアリングで子テーブルが親テーブルを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)) /
|
|
|