Дизайн базы данных - производительность - PullRequest
0 голосов
/ 04 сентября 2018

Я создаю базу данных для клуба. Существует «членская» организация, которая занимается деятельностью (спортом и т. Д.). Эти мероприятия имеют разные категории в зависимости от возраста участника. Каждое мероприятие в соответствующей категории будет иметь графики. В свою очередь, у участников будет свое расписание, потому что, например, они могут посещать только 2 дня мероприятия, которое происходит в течение 4 дней в неделю.
Я решил это так:

https://ibb.co/dsJkHz

Мой вопрос: это жизнеспособный метод для решения этой проблемы? Я кажется немного сложным, и я не думаю, что это идеально / оптимизировано для производительности. Я уверен, что должен быть другой путь. Спасибо!

1 Ответ

0 голосов
/ 04 сентября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...