Podejście do ogólnego projektu bazy danych
Aplikacja, z którą mam do czynienia u klienta, wygląda następująco:
umożliwia użytkownikom końcowym wprowadzanie „materiałów”.Do tych materiałów mogą dołączać dowolną liczbę „właściwości”.Właściwości mogą mieć dowolną wartość typu: decimal, int, dateTime i varchar (długość od 5 znaków do dużych fragmentów tekstu),Zasadniczo schemat wygląda tak:
Materiały
MaterialID int null PK
MaterialName varchar (100) nie ma wartości null
Nieruchomości
PropertyID
PropertyName varchar (100)
Właściwości materiałów
MaterialID
PropertyID
PropertyValue varchar (3000)
Istotną cechą aplikacji jest funkcja wyszukiwania: użytkownicy końcowi mogą wyszukiwać materiały, wpisując zapytania takie jak:
[property] inspectionDate> [DateTimeValue][właściwość] serialNr = 35465488Zgadnij, jak to działa w tabeli MaterialsProperties z prawie 2 milionami rekordów.
Baza danych została początkowo utworzona w programie SQL Server 2000, a później przeniesiona do SQL Server 2005
Jak można to zrobić lepiej?