Я знаю, что полнотекстовый индекс 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 содержат значения, которые можно использовать в раскрывающихся списках во всем создаваемом приложении. Например, Тип атрибута «Цвет транспортного средства» с атрибутами «Черный», «Синий», «Красный» и т. Д.
Хорошо, проблема возникает, когда пользователь пытается найти «Синий Ford Mustang». Так что же является лучшим решением, учитывая, что таблицы, такие как Vehicle, станут довольно большими?
Создать ли в таблице «Автомобиль» еще одно поле «Veh Color», которое содержит текстовое значение того, что выбрано в раскрывающемся списке, в дополнение к «FK Atr VehicleColor»?
Или я вообще исключаю "FK Atr VehicleColor" и добавляю "Veh Color"? Я могу использовать текстовое значение «Veh Color» для сопоставления с «Atr Name», когда выпадающий список заполнен в форме обновления. При таком подходе мне придется справиться, если атрибуты будут удалены из базы данных.
- Примечание. Невозможно использовать подчеркивание вне представления кода, поскольку все между двумя подчеркиваниями выделено курсивом .