0

可変長の複数のテキストフィールドをOracleデータベースに格納する必要があります。クエリを実行したときに結果を並べ替えられるようにするには、それらを同じテーブルの列として定義する必要があります。

フィールドの内容の最大サイズがわかりません。ほとんどの場合、100文字未満になりますが、数千文字になる可能性があります。さらに、フィールドの数は動的に変化します。

複数のNCLOB列を含むテーブルを定義して、そこに何でも格納できるようにすることを考えていました(非常に短いテキストと非常に長いテキスト)が、これが正しい設計であるかどうか疑問に思います。

概要:

  • 可変数のフィールド(同じオブジェクトのメタデータ)
  • コンテンツの可変長
  • 結果を注文する必要があります

ありがとう

KL

4

1 に答える 1

1

可変数のフィールドが必要な場合は、テーブルを親と子に分割することをお勧めします。そうすれば、実質的に任意の数のフィールドを持つことができます。また、順序情報を格納する順序列を追加して、結果を並べ替えることができます。2 つのテーブルを結合してクエリを実行し、order by句を使用して結果を並べ替えることができます。また、外部キー制約を追加して、関係とデータの整合性を確保することもできます。

コンテンツの長さが可変の場合、varchar2 (または nvarchar2) を使用してテキストの日付を格納できます。Varchar2 は、最大 4000 バイトの文字を保持できます。コンテンツの最大長が 4000 バイトを超える可能性があることがわかっている場合は、CLOB (または NCLOB) を使用する必要があります。

于 2012-07-18T08:27:42.813 に答える