注:この質問は、同じシナリオを使用する一連の質問の一部です。あなたの便宜のために、シナリオは各質問で繰り返されます。各質問には異なる目標と回答の選択肢がありますが、シナリオのテキストはこのシリーズの各質問で全く同じです。
BlogCategory、BlogEntry、ProductReview、Product、およびSalesPersonの表を含むデータベースがあります。表は、次のTransact SQL文を使用して作成されました。

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

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

レコードが参照されている場合は、Productテーブルのレコードを削除することはできません。

ProductReviewテーブル。
製品表のレコードに対する変更は、ProductReview表に伝播する必要があります。

Order、ProductTypes、およびSalesHistoryというデータベーステーブルもあります。これらのテーブルのtransact-SQL文は使用できません。
Ordersテーブルを変更して、次の要件を満たす必要があります。
INSERTpermissionsをテーブルに付与することなくテーブルに新しい行を作成します。

オーダーが完了したかどうかを注文する営業担当者に通知します。

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

ProductID列を使用してProductTypeのProduct列を参照する定数

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

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

財務部門のユーザーは、SalesYTD列の値が特定のしきい値を超える営業担当者のSalesHistoryテーブルからデータを取得できる必要があります。
SalesOrderという名前のメモリ最適化テーブルを作成する予定です。表は次の要件を満たしている必要があります。
この表には、ユニークな受注があります。

テーブルはI / O操作を最小限に抑えるためにチェックポイントを使用する必要があり、トランザクションログを使用しないでください。

データの損失は許容されます。

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