Приложения, которое я столкнулся на клиенте, выглядит следующим образом:подхода к проектированию баз данных общих
- это позволяет конечным пользователям вводить «материалы».
- К этим материалам они могут добавлять любое количество «свойств».
- Свойство может иметь от любого значения типа: десятичный, INT, DATETIME и VARCHAR (длина колеблется от 5 символов до больших кусков текста),
По существу, схема выглядит следующим образом:
материалы
MaterialID Int не нулевой PK
MaterialName VARCHAR (100) NOT NULL
Свойства
PropertyID
PropertyName VARCHAR (100)
MaterialsProperties
MaterialID
PropertyID
PropertyValue VARCHAR (3000)
Существенной особенностью приложения является функция поиска: конечные пользователи может искать материалы, введя такие запросы, как:
- [свойство] inspectionDate> [DateTimeValue]
- [свойство] serialNr = 35465488
Угадайте, как это выполняет над MaterialsProperties столом с почти 2 миллиона записей в ней.
База данных была изначально создана под SQL Server 2000, а затем на мигрировали в SQL Server 2005
Как это можно сделать лучше?
На самом деле конечные пользователи выбирают свойства из раскрывающегося списка. Поэтому у меня есть свойствоID с самого начала. Вариант интеллектуального анализа данных кажется очень интересным, спасибо за то, что указали на меня! – user80498