注:この質問は同じシナリオを使用する一連の質問の一部です。あなたのための
便宜上、シナリオは各質問で繰り返されます。それぞれの質問は異なる目標を提示します
しかし、シナリオのテキストは、このシリーズの各質問でまったく同じです。
次のテーブルを含むデータベースがあります。BlogCategory、BlogEntry、ProductReview、Product、
そしてSalesPerson。テーブルは、次のTransact SQLステートメントを使用して作成されました。

以下の要件を満たすようにProductReviewテーブルを変更する必要があります。
テーブルはProductテーブルのProductID列を参照する必要があります

ProductReviewテーブル内の既存のレコードをProductテーブルで検証してはいけません。

レコードがレコードによって参照されている場合は、Productテーブルのレコードを削除してはいけません。

ProductReviewテーブル
Productテーブル内のレコードへの変更はProductReviewテーブルに伝播する必要があります。

次のデータベーステーブルもあります:Order、ProductTypes、およびSalesHistory。トランザクションSQL
これらのテーブルに対するステートメントは利用できません。
以下の要件を満たすようにOrdersテーブルを変更する必要があります。
テーブルにINSERT権限を付与せずにテーブルに新しい行を作成します。

注文が完了したかどうかを、注文を出した販売員に通知します。

SalesHistoryテーブルに次の制約を追加する必要があります。
フィールドをレコードIDとして使用できるようにするSaleID列の制約

ProductType列のProduct列を参照するためにProductID列を使用する定数

表
列内にNULL値を持つ1行を許可するCategoryID列に対する制約

SalePrice列を4より大きい値に制限する制約

財務部門のユーザーは、営業担当者のSalesHistoryテーブルからデータを取得できる必要があります。
SalesYTD列の値が特定のしきい値を超えている場合。
SalesOrderという名前のメモリ最適化テーブルを作成する予定です。テーブルは以下を満たす必要があります
必要条件
テーブルには1000万件の固有の受注がなければなりません。

テーブルは、I / O操作を最小限に抑えるためにチェックポイントを使用しなければならず、トランザクションロギングを使用してはなりません。

データの損失は許容範囲内です。

完全に同等なWHERE句を使用するSalesOrderテーブルに対するクエリのパフォーマンス
操作を最適化する必要があります。
Ordersテーブルの要件を満たすように環境を変更する必要があります。
何を作るべきですか?