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

データベースのプライマリ/デフォルト レコードを示す

    私はあなたの問題を理解していますが、その一部について質問があるので、もう少し一般的になります.

    • 可能であれば、倉庫/バックアップ倉庫のデータを在庫データと一緒に保存します (倉庫を直接吊るすか、在庫テーブルから製品固有のものかのいずれか)。
    • ビジネス ロジックを介してセットアップを計算する必要がある場合、レコードは order/order_item テーブルにぶら下がる必要があります

    SQL で構造を実装する方法に関しては、すべての注文が 1 つの倉庫から発送され、発送は注文テーブルに掛けられる必要があると仮定します (ただし、アイデアは他の場所にも適用できるはずです):

      <リ>

      0/1 のバックアップ倉庫を強制する古い方法は、Orders テーブルの Warehouse_Source レコードをハングアップし、"IsPrimary" フィールドまたは "ShippingPriority" を含めてから、OrderID と IsPrimary/ShippingPriority を含む複合一意インデックスを含めることです。

      <リ>

      バックアップ倉庫が 1 つしかない場合は、ShippingSource_WareHouseID フィールドと ShippingSource_Backup_WareHouseID フィールドを注文に追加できます。ただし、これは私が行くルートではありません。

    SQL 2008 以降では、フィルター処理されたインデックス が追加されました。 .これらにより、インデックスに WHERE 句を追加できるようになり、インデックスがよりコンパクトになります。また、これまではトリガーを介してしか実行できなかったいくつかのことを実行できるという追加の利点もあります。

    • OrderID と IsPrimary/ShippingPriority (WHERE IsPrimary =0) に一意のフィルター処理されたインデックスを配置できます。

    さらに説明が必要な場合は、コメントなどを追加してください。



    1. Oracleのバインド変数を介して列名を参照することは可能ですか?

    2. 教義2-フロートの小数点以下2桁?

    3. 営業日の不足しているエントリを見つけて、最も近い日付の値で行を埋めます

    4. MySQLのコンマ区切り文字列内の値を置き換えますか?