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