MyWackoSite: NsuTs/Вам запрещён доступDocumentation/devguide/dbchanges ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  
Это старая версия NsuTs/Documentation/devguide/dbchanges за 2011-11-18 20:57:33..

Изменения в базе данных

Концепция:

1.2.8 – Есть команды, которые привязаны к олимпиаде, к туру. Участники команды записываются как обычные данные о команде.
1.3.0 – Есть пользователь.
Он может привязывать себя к различным олимпиадам (создается запись user_olympiad), подставляя себе определенные данные(ФИО, город)
В олимпиадах возможно создавать команды.

Отличия:

  1. Наличие внешних ключей, каскадное удаление (раньше просто подразумевалась связь)
  2. Строгое именование таблиц: в каждой таблице id, название таблицы в ед. числе, через подчерк
  3. Изменение сущностей

Users -> User + User_olympiad
Forms -> Attribute + Olympiad_attribute
Olympiad поле teams_alllowed Командная / Личная?

Рассогласования:

  1. Как хранить команды?
Вариант 1
Создать таблицу team( id, title ...). В таблице user_olympiad есть ссылка user_olympiad.team на team.id
Сценарий работы:
Если олимпиада командная, то выводим список существующих команд и просим либо присоединиться к уже созданной, либо ввести название новой команды.
Если олимпиада личная, то просим ввести ник/логин пользователя, автоматически создаем команду запись в таблице team.
Вариант 2
Поле team ничем не отличается от других атрибутов (ФИО, город), поэтому завести поля в таблице attribute: team_title, login
Сценарий работы:
При создании олимпиады
Если олимпиада командная, то создаем olympiad_attribute c атрибутом team_title.
1) При регистрации это поле будет предложено заполнить, как и другие.
Если человеку уже выслано приглашение вступить в команду, то сразу добавляем для него запись user_olympiad, правда с ключом activate = false. Если он захочет зарегистрироваться, то активируем эту запись, заполняем недостающие поля.
2) При регистрации это поле не заполняется. Заполняется как в 1ом варианте в отдельной вкладке.
  1. Как хранить пользовательские данные?
Вариант 1


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]