|
|
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Задание: Предметная область – Сайт Kinopoisk.ru Бизнес сущности: 1. Фильм a. Название b. Год c. Жанр 2. Зарегистрированный пользователь сайта a. Username Требования: 1. Один пользователь может проголосовать за каждый фильм только один раз 2. Пользователь может указать для одного фильма несколько похожих Сценарий: 1. Пользователь ставит оценку любому фильму от 1 до 10 2. Пользователь указывает похожие фильмы к любому фильму Проблема в создании структуры для указания "похожести" одного фильма на другой. Был вариант следующий: -Таблица "Фильмы": ID Name Group - идентификатор похожих фильмов. Т.е. если фильм А похож на фильм Б, то они имеют одинаковое значение в поле Group. Но тут проблема, если пользователь ошибся и захочет отменить, что фильм похож на другой, то возникают проблемы. На форуме не нашёл похожей проблемы. Подскажите, если не трудно, как тут лучше составить структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 13:56 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_Подскажите, если не трудно, как тут лучше составить структуру. Таблица "Оценка похожести" с полями "Фильм1", "Фильм2", "Пользователь". Критерием похожести считается максимальное количество пользователей, которые так считают. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:02 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_Был вариант следующий: -Таблица "Фильмы": ID Name Group - идентификатор похожих фильмов. Т.е. если фильм А похож на фильм Б, то они имеют одинаковое значение в поле Group. Но тут проблема, если пользователь ошибся и захочет отменить, что фильм похож на другой, то возникают проблемы. На форуме не нашёл похожей проблемы. Подскажите, если не трудно, как тут лучше составить структуру. никакого "похожести" в Таблица "Фильмы" ! это должна быть отдельная таблица ID_фильм1ID_фильм2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:04 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. Можно только уточнить, что Вы имеете в виду под "Критерием похожести считается максимальное количество пользователей, которые так считают". Т.е. даже если один сказал, что А похож на Б - значит похож? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:06 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_Спасибо за ответ. Можно только уточнить, что Вы имеете в виду под "Критерием похожести считается максимальное количество пользователей, которые так считают". Т.е. даже если один сказал, что А похож на Б - значит похож? это ты уже должен решить, с какого количества "проголосвавших" за "похожесть" одного фильма на другой, начинается "в-сам деле похожие !" :) а для этого, нужно будет, или в эту таб."Оценка похожести" - счечик голосов добавить, или ещё одна таб. ИД_Оценка похожестиИД_Зарегистрированный пользователь сайта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:16 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я бы разбил на две таблички: 1. Похожесть (фильм1, фильм2, кол-воОценок; фильм1фильм2 - составной уникальный ключ) 2. ОценивалиЮзвери (fkey::Похожесть(фильм1фильм2), fkey::Пользователь, дата) Можно "отменить" оценку - передумал. Можно запретить повторную - такой уже есть. Не надо ничего считать на лету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:20 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
qwerty112, в самом деле похожие - тервер отвечал вроде как в мат ожидание не ниже 72.6% (уточненное банковское правило 70/30, округленное обывательски 80/20)... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:22 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за помощь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:29 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
При появлении новой записи в ОценивалиЮзвери в таблице Похожесть по ключу фильм1фильм2 в соотв записи в поле кол-воОценок - просто инкремент? Извините за глупый вопрос, задание учебное, а я нуб( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:36 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
авторв самом деле похожие - тервер отвечал вроде как в мат ожидание не ниже 72.6% (уточненное банковское правило 70/30, округленное обывательски 80/20)... :) тут вряд ли возможно) т. к. нету возможности оценить непохожесть и, следовательно, невозможно оценить эти 30-20 процентов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:38 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Arhat109Dimitry Sibiryakov, я бы разбил на две таблички: 1. Похожесть (фильм1, фильм2, кол-воОценок; фильм1фильм2 - составной уникальный ключ) 2. ОценивалиЮзвери (fkey::Похожесть(фильм1фильм2), fkey::Пользователь, дата) Можно "отменить" оценку - передумал. Можно запретить повторную - такой уже есть. Не надо ничего считать на лету. Да, только в таблицу похожести тоже желательно ввести юзвера. И в уник. ключ его добавить, воизбежании наукруток и тому подобным механизмам. Кстати дату в похожести тоже можно добавить, потом пригодиться для статистик и многого другого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:43 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_авторв самом деле похожие - тервер отвечал вроде как в мат ожидание не ниже 72.6% (уточненное банковское правило 70/30, округленное обывательски 80/20)... :) тут вряд ли возможно) т. к. нету возможности оценить непохожесть и, следовательно, невозможно оценить эти 30-20 процентов) тут единственный подход - выбор N похожих фильмов выбирая макс. фильм2 к фильму1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 14:47 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
А если просто таблица похожие(фильм1, фильм2, юзер) - какие тут опасности. Потому что мне тонко намекнули что так лучше не делать, а почему ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 16:39 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Голосовалка за опубликованный материал есть во всех современных CMS (в той же joomla например). Функционал "похожести" там тоже есть. Правда доступен авторам материала а не пользователям. (если мои данные не устарели). Но в этом есть свой смысл: т.к. пользователь = потребитель. Никто не будет сидеть и как маньяк "накликивать" Вам статистику. Только тот, кто сам выкладывает материал (автор публикации) - может быть, еще будет более-менее серьезно к этому относиться. (и то не всегда) итого: весь этот функционал уже реализован. А похожесть фильмов имеет смысл собирать программными средствами: - через анализ видеоряда, (распознавание лиц актеров, динамика: статические планы, взрывы погони, распознавание марок машин) - через распознавание звука (известные муз. темы, распознавание ключевых слов диалогов или через анализ титров.) Вот это реально нужно . И действительно - будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 17:07 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Говорю ж, задание учебное, просто чтобы разобраться как это делается. Коммерческих целей не преследую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 18:28 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
> Group - идентификатор похожих фильмов Как только вы определите критерий похожести, структура сразу станет простой. Отдавать пользователю возможность свободного сравнения незачем. Формальные участники фильма, его производства и распространения, успешность проката и некоторое количество оценок профессиональных критиков известны, вы можете построить связи независимо от оценок пользователей. Остаются сюжетные особенности и спецэффекты. Imho вы решаете ненужную задачу. imdb, например, использует интегральную оценку и ее вполне достаточно. В принципе, "Повелитель бури" и "Морпехи", например, - достаточно близкие по теме фильмы, но их невозможно сравнивать. "Бойцовский клуб" или "Город Бога" - шедевры, но между ними нет ничего общего. А "Операция "Арго"" - обычное дерьмо, несмотря на кучу номинаций. Вообще, художественные оценки - вещь слишком индивидуальная, чтобы можно было их накапливать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 19:35 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
vladimir74, А Вы какого "юзверя" предлагаете туда ввести? Там же суммарное количество "голосов" за пару... первого, последнего или какого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 20:54 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_, ?!? ни понял... У Вас есть табличка пар фильмов с количеством голосов по каждой паре. Вам "для заданного фильма" надо найти "похожие". То есть найти все пары к заданному и отобрать из них только те, у который сумма голосов больше критерия похожести от общей суммы голосов этих пар. Другое дело, что таких будет крайне мало, если ограничиваться только голосами авторов и критиков (доверенных участников) ... ... так что сам критерий - придется подбирать "опытным путем"... для начала можно предложить 27,4% наиболее высоких оценок... Скажем к фильму 1 нашлось 100 пар. Выдаем первые 27 пар с наибольшими оценками по убыванию ... При голосовании - да, либо создается новая запись (оценилась новая пара) или инкрементируется счетчик (в Мускуле ON DUPLICATE KEY UPDATE к операции INSERT) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 21:02 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_, а как Вы себе это представляете? Считать как - "на лету"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 21:04 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Prophet_Говорю ж, задание учебное, просто чтобы разобраться как это делается. Коммерческих целей не преследую. Если учебное, то замечу, что фильм "Брат-2" похож на фильм "Чапаев", так как в обоих фильмах стреляют из пулемета Максим. Не исключено даже, что из одного и того же пулемета. Тогда, это вообще один фильм:) И это как-то нужно учесть в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2013, 22:27 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Arhat109vladimir74, А Вы какого "юзверя" предлагаете туда ввести? Там же суммарное количество "голосов" за пару... первого, последнего или какого? а зачем сразу сумировать. проще просто писать Film1_ID, Film2_ID, User_ID, Date. суммировать надо при выдаче. Тогда будет намного больше возможностей с манипуляцией данных. Можно выбирать с рассчетом дат, по пользователю или групп пользователей (если такие появятся) и т.д. Хотя я это писал до того как увидел что БД учебная. В данном случае это не надо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 14:06 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
vladimir74, ?!? а вторая табличка разве не позволит делать теже выборки и расчеты "при необходимости"? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 15:30 |
|
||
|
БД фильмов в очередной раз, но проблема новая
|
|||
|---|---|---|---|
|
#18+
Arhat109, вторая оценка - это таблица оценок. Или нет? PS сейчас посмотрел. у тебя идут оценки похожести. А не оценки фильма.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 16:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38103405&tid=1541413]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 377ms |

| 0 / 0 |
