схема базы данных mysql - PullRequest
       35

схема базы данных mysql

0 голосов
/ 20 октября 2019

Я разрабатываю схему базы данных для данных спортивных центров.

Каждый center имеет много sports (футбол, теннис, настольный теннис ...).
Каждый center имеет многоcourts. Каждый court принадлежит одному sport.

Мне нужно предоставить следующие данные:
- Получить все виды спорта, в которых вы можете играть в одном центре.
- Получить корт центров по видам спорта
- Получить все центры, которые имеют sport суд. (Пример получения центров с tennis судами).

Это схема базы данных, которая у меня есть:

enter image description here

Я хотел избежать отношения треугольника.

Яинтересно, эта схема хорошо, или есть лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 20 октября 2019

Возможно, "чрезмерная нормализация".

У меня было бы 2 таблицы. Можно было бы узнать подробности о каждом центре (адрес и т. Д.). Другое будет иметь:

center_id
sport_id
court

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

sport_id может ссылаться на третью таблицу, которая включает name, slug, icon.

0 голосов
/ 20 октября 2019

Ваша идея хороша, и данные будут хорошо храниться.

Вы также можете сделать цепочку, чтобы уменьшить количество мест, например, вы можете сделать Центр -> (1: n) Спорт -> (1: 1) корт. Таким образом, вы можете избежать суда, на котором нет вида спорта (потому что в полной схеме подключения эта проблема может появиться)

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