稼働中のデータベース・スキーマからJDeveloperに表をインポートする場合、外部キーについての情報は必ずしも利用できるとはかぎりません。つまり、1つ以上の表定義をオフラインで作業して、生成した情報を元のデータベースに戻すと、外部キーが失われる場合があります。疑わしい場合は、変更内容を直接データベースに反映しないようにしてください。そのかわり、SQLファイルを生成して検証し、必要であれば変更してから、データベースに対して実行してください。
以降の各項では、外部キー情報の処理方法をケース別に説明します。
これは最も簡単なケースであり、重要な情報が失われるおそれはありません。JDeveloperが、外部キーをその間に持つ複数の表をインポートする場合、その外部キーに関する情報もインポートされます。これにより外部キーは、データベース・ダイアグラムおよび「オフライン表の編集」ダイアログの制約情報ページに正しく表示されます。
表での作業を終了した後、その変更内容を直接データベースに反映できます。
JDeveloperが外部キーを持つ表をインポートする場合で、キーの他端にある表はインポートしない場合、外部キーの情報は存在しますが、非表示にされています。外部キーの他端にある表が続けてインポートされた場合、外部キーの情報は両方の表を含むデータベース・ダイアグラムまたは「オフライン表の編集」ダイアログの制約情報ページに正しく表示されます。外部キーの他端の表がインポートされない場合は、外部キーの情報は非表示にされ、データベースに変更内容を生成する場合、外部キーは削除されます。それが意図したものでなければ、変更を直接データベースに加えるのではなく、SQLファイルを生成する必要があります。SQLファイルを実行する前に編集して、不要なDROP
文を削除できます。
前述の情報から、新しいデータベース・スキーマの基本として機能する表をインポートしている場合、使用しない表に対する外部キーについて注意する必要がないことがわかります。安全に変更し、オンライン表を新しいスキーマに生成できます。
しかし、表をインポートして希望する変更を行い、同じデータベース・スキーマに変更を反映する場合には、次のいずれかを実行する必要があります。
DROP
文を削除します。
Copyright © 1997, 2007, Oracle. All rights reserved.