Подход к общему дизайну базы данных

Приложение, с которым я сталкиваюсь у клиента, выглядит так:

это позволяет конечным пользователям вводить «материалы».К этим материалам они могут добавлять любое количество «свойств».Свойства могут иметь любое значение типа: decimal, int, dateTime и varchar (длина варьируется от 5 символов до больших кусков текста),

По сути, схема выглядит так:

материалы
MaterialID int not null PK
MaterialName varchar (100) не нуль

свойства
PropertyID
PropertyName varchar (100)

MaterialsProperties
MaterialID
PropertyID
PropertyValue varchar (3000)

Важной особенностью приложения является функция поиска: конечные пользователи могут искать материалы, вводя такие запросы, как:

[property] InspectionDate> [DateTimeValue][property] serialNr = 35465488

Угадайте, как это работает с таблицей MaterialsProperties, содержащей почти 2 миллиона записей.

База данных была изначально создана под SQL Server 2000, а затем перенесена на SQL Server 2005

Как это можно сделать лучше?

Ответы на вопрос(2)

Ваш ответ на вопрос