Простые соображения базы данных и CakePHP

0

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

Я изо всех сил пытаюсь задуматься над правильным дизайном базы данных, например:

У меня есть таблица для пользователей, просто содержащая обычные данные и т.д.

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

Мой вопрос: где должен быть размещен внешний ключ? Если вообще? Должен ли я иметь внешний ключ Оружейной в таблице пользователя или внешний ключ пользователя в таблице Оружейной палаты. Или я должен иметь совершенно другую таблицу для отношений между этими двумя?

Кроме того, независимо от подхода, как мне затем связать структуру базы данных внутри CakePHP?

Теги:
database
model-view-controller
cakephp

1 ответ

1
Лучший ответ

Прежде всего, вы должны иметь в виду cakePHP cookbook, это поможет вам, прежде всего, если вы начнете, так что вы "Вступают в контакт с соглашениями, MVC...

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

Если у арсенала достаточно логики, чтобы быть самой моделью, тогда связь между Пользователем и Оружейной палатой была бы Пользователем. Но если, например, у Пользователя может быть более одного, это будет User hasMany Armories. Я не знаю вашего дела, просто догадываясь.

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

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

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

Альф.

  • 0
    Приветствия, мое замешательство было, иметь ли ссылку на арсенал в таблице пользователей или наоборот. Имеет больше смысла иметь его в таблице оружейных

Ещё вопросы

Сообщество Overcoder
Наверх
Меню