SQL Server のフルテキスト インデックスで複数のテーブルにインデックスを作成できないことはわかっています。しかし、全文索引を実装したいテーブルにリレーションシップがあります。
以下の3つの表を見てください...
Vehicle
Veh_ID - int (Primary Key)
FK_Atr_VehicleColor - int
Veh_Make - nvarchar(20)
Veh_Model - nvarchar(50)
Veh_LicensePlate - nvarchar(10)
Attributes
Atr_ID - int (Primary Key)
FK_Aty_ID - int
Atr_Name - nvarchar(50)
AttributeTypes
Aty_ID - int (Primary key)
Aty_Name - nvarchar(50)
Attributes テーブルと AttributeTypes テーブルには、ビルド中のアプリケーション全体でドロップダウン リストで使用できる値が保持されます。たとえば、「黒」、「青」、「赤」などの属性を持つ「車両の色」の属性タイプ...
ユーザーが「ブルー フォード マスタング」を検索しようとすると、問題が発生します。では、Vehicle のようなテーブルがかなり大きくなることを考えると、最善の解決策は何でしょうか?
「FK Atr VehicleColor」に加えて、ドロップダウンで選択されたもののテキスト値を保持する「Veh Color」である「Vehicle」テーブルに別のフィールドを作成する必要がありますか?
または、「FK Atr VehicleColor」を完全に削除して、「Veh Color」を追加しますか? ドロップダウンが更新フォームに取り込まれているときに、「Veh Color」のテキスト値を使用して「Atr Name」と照合できます。このアプローチでは、属性がデータベースから削除された場合に対処する必要があります。
-- 注: 2 つのアンダースコアの間のすべてがイタリック体であるため、コード ビューの外ではアンダースコアを使用できませんでした。