Я проектирую базу данных, используя MSSQL server 2005 для хранения значений журнала с разных устройств.Тип данных значений может быть логическим, int-32 или 64-битно-двойным
Будет таблица поиска с именем channels
:
ID(PK) | int32
device_name | varchar(32)
Будет таблица с именем values
для хранения значения.Таким образом, логические и int-32 двойные значения будут приведены к типу DECIMAL.
ID(foreign key to ID@channels) | int32
logtime | DATETIME
value | DECIMAL
Причина, по которой я это делаю, заключается в том, что конечный пользователь может выбирать данные с помощью простого оператора выбора для одной таблицы, например select logtime,value from values where ID = 1
, не зная тип данных канала.
Ноэто пустая трата памяти, так как теперь я сохранил int32 и логическое значение до десятичного.Я новичок в программировании баз данных, интересно, кто-нибудь знает лучший способ сделать это?