Я сверхразрабатывал свою базу данных MySQL (пользователи/компании/продукты)?

Я плохо знаком с проектированием баз данных, дайте мне совет об этом.

1, Когда я должен использовать сводный индекс?

Я не уверен, что действительно индексирует, делает, но я действительно знаю, что мы должны поместить его, когда это будет heavly, загруженный как для, ГДЕ проверено = 1 и в поиске как company.name = что-то. действительно ли я прав?

2 индекса MySQL - сколько достаточно?

это как раз?

3 нормализации базы данных

это просто правильно?

alt text

Спасибо.

редактирование*

правила.

  1. каждый пользователи (член компании или владельцы) мог быть членом компании
  2. каждая компания имеет некоторого члена пользователей.
  3. существуют администраторы компании (генеральный директор, администраторы) и существуют члены компании (вставляет продукты),
  4. каждая компания может иметь продукты.

для номера 3 я добавлю немного в users_company - 1, для администратора - 0, для участников

8
задан Glorfindel 4 August 2019 в 09:13
поделиться

3 ответа

Выглядит хорошо, хорошо нормализовано, по крайней мере, для меня.

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

Я заметил, что таблица пользователей называется 'users' (множественное число), а остальные - единственное число ('company', 'product'). Но это уже мелочи.

4
ответ дан 5 December 2019 в 22:15
поделиться

Ничего хорошего.

Пример: мне нужно несколько фотографий моего продукта. Пожалуйста, позвольте мне загрузить более одной фотографии моего продукта!

2
ответ дан 5 December 2019 в 22:15
поделиться

Единственный комментарий, который у меня есть, это то, что вы можете рассмотреть возможность просто добавить столбец mapping_id в таблицу users_company и сделать CID и UID внешними ключами, а также добавить ограничение UNIQUE.

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

0
ответ дан 5 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: