Здравствуйте, Smoke_Jaguar, Вы писали:
S_J>И теперь программист предлагает хранить в таблице "Договор" не один строковый идентификатор работы, а строку с множеством идентификаторов работы разделяемых спец символом "@". Дальше в запросах он это фильтровать собирается.
S_J>Ладно строковые поля в качестве ключа,
Это как раз не страшно
S_J> но такой способ организации отношения один ко многим с точки зрения практики — это нормально?
Нет, это не нормально. Это нарушение первой нормальной формы. Форма это, конечно, не самоцель, но в данном случае лучше ввести третью таблицу "связь".
S_J>Можете оценить надёжность/быстродействие/сопровождаемость такой реализации?
Надёжность — смотря что имеется в виду под надёжностью
Быстродействие — низкое, так как по такой связи индекс не построить, плюс, при каждом соединении таблиц будет лишний парсинг строки
Сопровождаемость — низкая, так как решение нестандартное и кривое, поэтому каждый новый работающий над проектом будет тратить врямя на то, чтобы постебаться над автором такого решения

. Ну и, естественно, будет куча проблем, если к этим связям потребуется добавить атрибут. Например, дату добавления работы в договор.