ptrvch
@ptrvch
вебдев-энтузиаст. Django, AngularJS

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

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

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

Где можно узнать подробнее, как нужно и как не нужно проектировать БД для подобного рода задач?
С базовыми принципами РМД и понятием нормальной формы знаком, но опыта проектирования как такового не было.
  • Вопрос задан
  • 490 просмотров
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Рисуешь на бумажке связи между сущностями, просматривая Нормальная_форма и меняя модель так чтоб прийти к 3НФ

Потом
https://docs.djangoproject.com/en/1.9/ref/models/f...
и
https://docs.djangoproject.com/en/1.9/topics/db/ex...
Ответ написан
Комментировать
@Neyury
Относительно реляционных СУБД проектировать можно так.

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

Войдите, чтобы написать ответ

Похожие вопросы