Чудеса происходят лишь там, где их ждут.
Я хочу убить того, кто проектировал эту базу данных. Я хочу делать это медленно, точно с такой же скоростью, с какой взрывается мой мозг, когда я пытаюсь вникнуть в суть этого... безобразия. Это было всего лишь в прошлом семестре, а я УЖЕ сижу и не понимаю на хрен там СТОЛЬКО композитных ключей. Интересно, чего это у меня hibernate не подключается?
А для тех кто понял, пример сущности:
читать дальше
Чуваааааак! Ты же сам внешний ключ создал! На кой хрен тебе делать его композитным, да еще и ТАКИМ! Мне искренне и нежно хочется тебя уеб... долбануть головой об стол...

Я закончила - пошла перепроектирвоать к чертям базу...

Комментарии
09.04.2013 в 09:50

Вот для этого в каждой таблице для сущностей (не для связей) стоит делать колонку id с автоинкрементом. Даже если пока не надо. На всякий случай.
Хотя... тут же уже есть идентификаторы 0_o Бр! Я правильно понимаю, что e_mail из той же таблицы, что и id_listener, а admin_e_mail из той же, что admin_id?
Может у него id не uniq, и у каждого слушателя и администратора подразумевается раздвоение личности? =D Типа человек тот же, но на разные вебинары с разными email'ами регистрируется )))
Короче да, пристрели его xD
09.04.2013 в 11:45

Чудеса происходят лишь там, где их ждут.
Чи, вооооот!!!!! Вооооооот! И я о том же!! Там получается, что id слушателя и его e-mail являются композитным ключом к таблице слушателей. Администратовры выделены в отдельную табоицу да еще и там так же >< про все осталбное я вообще молчу)
09.04.2013 в 15:28

oranJann, я тебе страшную тайну открою: идиотов вообще много, и почему-то именно работа с БД даже на фоне прочего их говнокода выглядит устрашающе.
Я сейчас главным образом с двумя системами работаю, обе, типа, production. Одна - САП на php, там автор вообще недавно только узнал, что есть join'ы, но продолжает при запросе выгружать в память с десяток связанных таблиц и рассовывать все их данные по массивам, даже если на выходе нужна пара строк. Тут как бы ладно: сразу видно, что автор мудак не программист, но реально написал продукт, у которого аналогов нет.
Со второй системой все гораздо хуже: это биллинг. Держись за стул, а то упадешь. Очень хочу верить, что такие запросы у них генерятся программно, потому что, если это пишут руками, то руки эти надо отрывать. Два запроса (взяты из логов):
1) Отчет, отрабатывает несколько минут; первая таблица ~500000 записей, во второй, хвала магистрам, "всего" ~1000.

2) Работает быстро, спасибо, что таблица небольшая. Но сама идея дорогого стоит.

09.04.2013 в 16:03

Чудеса происходят лишь там, где их ждут.
Если недавно про join'ы недавно узнал... к ним тоже привыкнуть надо, но кучу таблиц в память -это хорошоооо)))
О____о второй особенно порадовал...

Я знаю почему на бд все выглядит более устрашающе) потому что на бд все наглядно и видноё где какие косяки)