моя база данных перегружена? - PullRequest
8 голосов
/ 22 июля 2010

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

1 Когда мне использовать составной индекс?

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

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

Достаточно ли этого?

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

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

альтернативный текст http://i28.tinypic.com/awp2cz.png

Спасибо.

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

правила.

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

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

Ответы [ 3 ]

4 голосов
/ 22 июля 2010

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

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

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

2 голосов
/ 22 июля 2010

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

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

0 голосов
/ 22 июля 2010

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

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

...