Кодифицировать меру в имени поля базы данных - PullRequest
6 голосов
/ 06 октября 2008

У меня есть вопрос, касающийся полей в базах данных, которые представляют собой меры, которые могут отображаться в разных единицах, но хранятся только в одной единице, например, «высота».

Где должна быть указана «единица измерения»? Конечно, в документации и т. Д. Но мы все знаем, что никто не читает документацию, и что самодокументированные вещи предпочтительнее.

С практической точки зрения, что вы думаете о кодировании в поле базы данных (например, в виде height_cm)?.

Я нахожу это странным на первый взгляд, но я считаю целесообразным избегать любых ошибок, когда разные люди имеют дело с базой данных напрямую, и "единица шаблона" никогда не изменится.

Что ты думаешь?

Привет.

Ответы [ 4 ]

8 голосов
/ 06 октября 2008

Что странного в height_cm? Выглядит хорошо для меня.

Иногда вы видите меры и единицы в двух отдельных полях, что гораздо более болезненно.

Пока вы знаете, что единицы не изменятся, я думаю, что height_cm - хороший способ справиться с этим.

2 голосов
/ 06 октября 2008

Большинство баз данных поддерживают комментарии к столбцам. Например, в Postgres вы можете установить комментарий следующим образом:

COMMENT ON COLUMN my_table.my_column IS 'cm';

Сохранение имени устройства таким образом означает, что ваша база данных самодокументируется. Я бы также настоятельно рекомендовал использовать стандартные научные единицы (то есть метрическую систему).

0 голосов
/ 15 марта 2010

Будьте осторожны с мерами, которые могут меняться как валюты. Во многих случаях нецелесообразно переименовывать поле базы данных при изменении меры.

Глупо иметь поле под названием amount_mk, которое раньше содержало сумму денег в марках, но в настоящее время фактически содержит сумму денег в евро.

0 голосов
/ 06 октября 2008

Согласен, ничего плохого в добавлении единицы к имени поля.

Единственное, что я хотел бы сказать, - это согласовать соглашение о присвоении имен в вашей базе данных - то есть избегать ситуаций, когда в одной базе данных присутствуют height_cm и mm_width!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...