Проектирование базы данных

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
undsoft
Сообщения: 20
Зарегистрирован: 2009.09.16, 14:16

Проектирование базы данных

Сообщение undsoft » 2010.11.24, 15:22

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

1. Наплевать на все и объединить типы данных обоих пользователей в одну таблицу, активно используя NULL. Кривовато получится.

2. EAV, но насколько я понимаю это будет совсем неэкономично. И я пока не нахожу особой необходимости в этом, ведь количество различных полей у пользователей не настолько велико - роли-то две.

3. Сделать три таблицы: Пользователи, Жюри, Участницы. В Пользователи забить информацию общую для двух пользователей, в две остальные - кастомные поля для соответствующей роли с указателем на запись в таблице Пользователи.
Но использование этого будет не очень удобным - я не смогу красиво работать программно с этим, вроде как.

Any ideas?

Аватара пользователя
kosenka
Сообщения: 676
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Проектирование базы данных

Сообщение kosenka » 2010.11.24, 15:59

Я бы выбрал 1-й вариант: одна таблица пользователей, но записи в ней имеют разные роли. И все.
И когда юзер логиниться, то ты уже знаешь, кто это (какая роль) - Участник или Жюри.
Портфолио: viewtopic.php?f=11&t=8612
Email: kosenka@gmail.com
Skype: kosenka (в сети с 9 до 18 по Москве)
Web: http://kosenka.ru

Аватара пользователя
samdark
Администратор
Сообщения: 9172
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Проектирование базы данных

Сообщение samdark » 2010.11.24, 16:26


Аватара пользователя
Svyatov
Сообщения: 459
Зарегистрирован: 2010.08.12, 14:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Проектирование базы данных

Сообщение Svyatov » 2010.11.24, 17:21

Смотря какое количество полей пересекается, а какие разные. Жюри я так понимаю мало совсем будет, по крайней мере ощутимо меньше участниц. Имхо можно и на 3 таблицы заморочится, в чем тут проблемы с красивостями?

Ответить