Должен ли я использовать внешний ключ пользователя для всех таблиц?

0

До сих пор у меня есть четыре стола. Они называются:

пользователь, банда, gang_business, gang_members, gang_weapons

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

  • таблица пользователя: (user_id, user_name, user_email, user_password)
  • gang table: (gang_id, user_id, gang_name, gang_color, gang_idelogy)
  • gang_business: (business_id, user_id и/или gang_id, бар, ресторан,
    казино и т.д.)
Теги:
key

2 ответа

1

Это зависит от отношений внутри пользователей и таблиц банд.

Я бы сделал это с помощью этих таблиц:

user: (id, имя, адрес электронной почты, пароль)

банда: (id, имя, цвет, идология)

gang_members: (user_id, gang_id)

user_weapons: (user_id, weapon_id)

gang_business: (gang_id, business_id)

оружие: (id, имя,...)

бизнес: (id, имя,...)

Я бы только префикс столбцов, когда они являются внешними ключами.

Я полагаю, что оружие принадлежит пользователям, а бизнес принадлежит бандам.

0

Если только gang-sters могут быть членами gang_business и gang_members, тогда вы должны использовать PK таблицы банды. Вы не должны использовать пользовательский ПК, потому что это супергруппа, из которых таблица банда является подгруппой.

  • 0
    Таблица банды состоит только из имени банды и других атрибутов, таких как цвет и идеология. Я собираюсь использовать таблицу gang_members для членов банды. Это не похоже на традиционную мафиозную банду, так как gang_members - это ИИ, которого вы набираете, и который используется для борьбы с другими бандами (и их набранными членами ИИ). ,
  • 0
    @ BlackCoder Пожалуйста, уточняйте в сообщениях, а не в комментариях.

Ещё вопросы

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