powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как лучше организовать структуру таблиц?
2 сообщений из 2, страница 1 из 1
Как лучше организовать структуру таблиц?
    #39540149
ramundo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Взять, к примеру, предметы (артефакты), каждый из которых дает определенные характеристики, такие как + 10 к силе, + 15 к урону и тд.

* Всего около 200 предметов и около 40 видов характеристик.
* Предмет обычно дает не более 5-ти характеристик.
* новые предметы и характеристики будут добавляться крайне редко.
Через 5 лет будет примерно 205 / 42 соответственно.

* Имя предмета и его id будут доставаться из БД ОЧЕНЬ часто, а характеристики, наверное, на 20% реже. Конечно, на мой сайт будет заходить по 5 бомжей в год и то случайно, но это не повод не разобраться в том, как же все таки сделать структуру БД правильнее. Точнее эффективнее.

Так вот, надумал (чем - не знаю) такие варианты:

1) Сделать две таблицы:

items:
| id | name |

и

effects:
| item_id | + к силе | + к обаянию | + к длинне самооценки | и еще около 35 таких полей

И доставать одним JOIN-ом , когда необходима вся информация.
Проблема в том, что раз каждый предмет может давать не более 5-ти характеристик, и соответственно, в каждой записи будет пустовать по 35 полей.

С другой стороны, количество записей расти не будет. И избыточность соответственно тоже.


2) Сделать три таблицы:

items:
| id | name |

effects:
id |name |

item_effects:
item_id| effect_id| value | (в item_effects будет примерно 600-1000 записей)

И делать либо 1 SELECT + 1 JOIN:
SELECT нужное FROM items WHERE id = 1;

SELECT a.name, b.value FROM effects a LEFT OUTER JOIN
item_effects b ON a.id = b.effect_id where b.item_id = 1;

Либо сложные Join на все сразу в одном запросе.

при условии, что во всех таблицах количество записей не будет меняться, какой вариант лучше?
И какие есть лучше?
...
Рейтинг: 0 / 0
Как лучше организовать структуру таблиц?
    #39540217
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связь много-ко-много. Три таблицы.
Первый вариант потребует в будущем изменения структуры - посему его даже не рассматривай.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как лучше организовать структуру таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]