Дизайн базы данных: как добавить информацию, которая может быть применена к нескольким таблицам - PullRequest
1 голос
/ 06 апреля 2010

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

В моей системе есть связанные родительские и дочерние таблицы для фермеров, производящих годы и поля / области - это простое представление о реальном мире, в котором фермеры выращивают сельскохозяйственные культуры на своих полях.

Теперь мне нужно добавить несколько флагов состояния для каждого из этих уровней: фермер может быть сертифицирован, или его поле может быть, или конкретный год может быть; каждый из этих флагов имеет несколько состояний и может встречаться несколько раз.

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

Что мне интересно, если есть более простой способ сделать это, чтобы не попасть на множество столов? Где и как лучше хранить эти данные?

1 Ответ

1 голос
/ 06 апреля 2010

Как насчет индикатора на каждой таблице, который содержит данные, которые могут быть или не быть сертифицированы? Это проще, чем добавлять новые таблицы.

Или, если «сертификация» на самом деле является комбинацией нескольких частей / полей данных, то иметь одну таблицу «сертификации», а другие таблицы могут ссылаться на нее через внешний ключ (что-то вроде «tification_id », ключ таблицы «сертификация»).

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