у меня есть три стола
Результаты:
TestID
TestCode
Значение
Тесты:
TestID
TestType
SysCodeID
SystemCodes
SysCodeID
ParentSysCodeID
Описание
У меня вопрос, когда пользователь вводит данные в таблицу результатов .
Код форматирования, когда строка получает фокус, меняет поле значения на выпадающий список, если testCode имеет тип SystemList. Раскрывающийся список содержит список всех системных кодов, у которых есть parentyscodeID test.SysCodeID. Когда пользователь выбирает значение в списке, оно переводится в число, которое входит в поле значения.
Тип данных поля Results.Value является целым числом. Я сделал это целое число вместо строки, потому что при составлении отчетов легче выполнять вычисления и сортировку, если это число. Существуют проблемы, если вы помещаете целое / десятичное значение в строковое поле. Кроме того, когда проектировалась система, им нужны были только цифры.
Пользователи теперь хотят поместить строки в поле значений, а также числа / значения из списка, и мне интересно, как лучше всего это сделать.
Будет ли плохой практикой преобразовывать поле в строку, а затем хранить строки и целые числа в одном поле? Есть разные проблемы, связанные с этим, но я не уверен, что они действительно имеют большое значение.
Должен ли я добавить еще один столбец в таблицу строкового типа данных и, если тест относится к строковому типу, поместить данные, введенные пользователем, в другое поле.
Другой вариант - создать отношение 1-1 к другой таблице, и если пользователь вводит строку в поле значения, он добавляет ее в новую таблицу с ключом числа.
У кого-нибудь есть интересные идеи?