, я работаю с базой данных третьей стороны, которая содержит контактную таблицуИмеет ли нижняя колонка нормальная форма?
т.е.
ID int,
Name varchar(50)
Name_Lower varchar(50)
, как вы можете себе представить, Имя и Имя нижнего столбец содержит данные, такие как
Name - "John"
Name_Lower - "john"
поскольку данные должны быть точно такими же, за исключением нижней функции, я считаю, что это нарушает нормальную форму. Вероятно, стоит упомянуть об этом, это не вычисленная колонка. В прошлом были случаи, когда они не синхронизировались.
Зачем вам такая колонка? На сравнения строк влияет сортировка столбцов. Нестандартная сортировка по умолчанию является невыполнением для большинства языков –
@DrCopyPaste не нужно для этого, вы можете указать другую сортировку по самому запросу. Вычисленный столбец понадобится только в том случае, если вы хотите поместить индекс в новый столбец, но зачем это делать? –
Простой: если он нарушает правило * Все данные должны полагаться на ключ, весь ключ и ничего, кроме ключа (так что помогите мне Codd) * - тогда да, это нарушает одну из трех основных нормальных форм. Если у вас есть столбец 'lower', который зависит ** только ** от столбца' Name', а 'Name' не является ключом для этой таблицы -> он нарушает NF –