sql >> データベース >  >> RDS >> Sqlserver

varcharを自動インクリメントする方法

    1. データベース設計の考え方は、各データ要素を分離しておくことです。また、各要素には独自のデータ型、制約、およびルールがあります。そのc0002 1つのフィールドではなく、2つのフィールドです。 XXXnnnと同じ または何でも。これは正しくないため、データを使用したり、データベースの機能や機能を使用したりする能力が大幅に制限されます。

      2つの個別のデータ項目に分割します:
      column_1 CHAR(1)
      column_2 INTEGER

      次に、column_2にAUTOINCREMENTを設定します

      はい、主キーは(column_1, column_2)にすることができます 、したがって、c0002の意味を失うことはありません。

    2. サプライヤーと顧客(「c」と「s」が意味するものは何でも)を同じテーブルに配置しないでください。これを行うと、データベーステーブルがなくなり、フラットファイルが作成されます。そして、それに起因するさまざまな問題と制限。

      つまり、データを正規化します。最終的には次のようになります:

      • Person用の1つのテーブル またはOrganisation 共通データ(Name, Address)を含む ...)
      • Customer用の1つのテーブル 顧客固有のデータを含む(CreditLimit ...)
      • Supplier用の1つのテーブル サプライヤー固有のデータを含む(PaymentTerms ...)
      • あいまいな列やオプションの列がないため、Nullはありません
      • 使用またはSQL関数に制限はありません

      また、列を追加する必要がある場合は、フラットファイルの他のすべての問題に影響を与えることなく、必要な場所でのみ追加します。効果の範囲は変更の範囲に限定されます。



    1. DomoでのJDBCデータの操作

    2. テーブル構造を新しいテーブルにコピーします

    3. PostgreSQLレプリケーション101のフェイルオーバー

    4. SQL2005のPIVOT