Структура базы данных для приложения контрольного списка - PullRequest
0 голосов
/ 29 мая 2011

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

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

Пока я рассматриваю возможность использования этих таблиц:

Пользователь --ID, Имя, пароль, заголовок и т. Д.

Проект --ID, Имя

Контрольный список --ID, имя, isDefault

ChecklistItem --ID, текст, статус

Какие поля внешнего ключа следует использовать, чтобы иметь такую ​​структуру?Как я буду иметь контрольные списки по умолчанию, связанные с проектом?

Ответы [ 2 ]

0 голосов
/ 29 мая 2011

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

Я рекомендую вам взглянуть на эту схему , взятую из этой страницы и сделать полу-подробный эскиз вашей модели БД. Из такой модели вы можете использовать такие инструменты, как ORM или Zend_Db & friends, чтобы применять его на уровне приложения, или использовать старый подход и кодировать эти ограничения самостоятельно. в вашем приложении.

Удачного кодирования!

0 голосов
/ 29 мая 2011

Быстрое создание модели:

  1. Каждый проект может иметь ноль или более контрольных списков
  2. Каждый контрольный список может содержать ноль или более элементов
  3. Каждый пользователь может иметь нольили более назначенных пунктов контрольного списка

Я думаю, что это можно сделать лучше, но это то, с чего можно начать.

enter image description here

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