Задать вопрос
ptrvch
@ptrvch
вебдев-энтузиаст. Django, AngularJS

Как спроектировать БД спортивных соревнований?

В порядке ознакомления с Django (+ Django Rest Framework) клепаю pet-project по добавлению-хранению результатов спортивных соревнований.

Пользователь может создать "ассоциацию", в которую входят "лиги", команды которых проводят как внутренние, так и межлиговые матчи в пределах ассоциации. (вдохновение черпал на примере футбола, в частности национальных лиг/кубка UEFA).

Где можно узнать подробнее, как нужно и как не нужно проектировать БД для подобного рода задач?
С базовыми принципами РМД и понятием нормальной формы знаком, но опыта проектирования как такового не было.
  • Вопрос задан
  • 493 просмотра
Подписаться 2 Оценить Комментировать
Ответ пользователя Neyury К ответам на вопрос (2)
@Neyury
Относительно реляционных СУБД проектировать можно так.

  • Подробно описываешь предметную область
  • Выписываешь из предметной области все существительные и глаголы
  • Определяешь среди существительных что является сущностью, а что атрибутами сущности (атрибут является атомарным значением)
  • Строишь таблички (на каждую сущность - таблица) где указываешь атрибуты, у атрибутов тип данных и ключи (первичные и внешние), дописываешь недостающие атрибуты
  • На основе сущностей строишь блок-схему со связями между сущностями (на этом этапе допускается связь много ко многим)
  • Смотришь на эту схему и устраняешь очевидные недостатки, исправляешь места, в которых есть связь много ко многим (допустим с помощью ассоциативной таблицы)
  • Поздравляю, у тебя готова схема базы данных, а именно сущности (таблицы), атрибуты сущностей (столбцы), а так же связи между таблицами
Ответ написан
Комментировать