С Новым годом! Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195

Как лучше спроектировать систему подписки?

05.03.2017, 13:22. Показов 1877. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Может кто подскажет, как лучше спроектировать систему подписки, что б ее было не стыдно показать?

Есть на сайте Дисциплины, команды и игроки. И пользователь должен иметь возможность подписаться на них(и на дисциплину, и на команду, и на игрока). Самый просто вариант это сделать для каждой таблицы свою подписку (ну я думаю это не очень):



есть еще вариант сделать одну таблицу подписок(id_usera, id_на_кого_подписываемся, тип). связь будет тогда 1 x 1. Может есть у кого идеи как еще можно сделать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2017, 13:22
Ответы с готовыми решениями:

Как лучше спроектировать БД
Добрый день. Тут на работе при проектировании БД столкнулся с такой проблемой: Есть физические и юридические лица (отдельные таблицы), и...

Как лучше спроектировать БД?
Абстрактный вопрос не относящийся к конкретной СУБД. Как быть если нужен список строк в БД? Как то так. Приведу пример: есть сущность -...

Как лучше спроектировать систему и какую архитектуру разработки приложения использовать?
Всем привет, ситуация такая: Сейчас появилось время и решил снова заняться разработкой САПР для машиностроения. Для чего? Считаю...

7
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
06.03.2017, 07:55
Цитата Сообщение от Fantom2209 Посмотреть сообщение
Самый просто вариант это сделать для каждой таблицы свою подписку (ну я думаю это не очень):
Почему вы так думаете?

Добавлено через 2 минуты
Цитата Сообщение от Fantom2209 Посмотреть сообщение
есть еще вариант сделать одну таблицу подписок(id_usera, id_на_кого_подписываемся, тип). связь будет тогда 1 x 1.
Вы не таблицу подписок одну делайте, а именно на вывод сделайте запрос, который соберет все подписки в один столбик. НО хранить разнородные данные в одой таблице зачем? Как вы ссылочную целостность обеспечивать собираетесь? В одном и том же поле коды и команд, и игоков, и дисциплин - как?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
06.03.2017, 09:44
Цитата Сообщение от texnik-san Посмотреть сообщение
В одном и том же поле коды и команд, и игоков, и дисциплин - как?
они мало чем отличаются. У всех есть Name и Parent. Их можно и в одну таблицу слить, т.к. на данном уровне формализации предметной области это объекты одного класса
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
06.03.2017, 12:06
Цитата Сообщение от texnik-san Посмотреть сообщение
В одном и том же поле коды и команд, и игоков, и дисциплин - как?
легко
процентов 90 классификаторв так и делают
{idclass;value}
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
06.03.2017, 22:11
Цитата Сообщение от YuryK Посмотреть сообщение
они мало чем отличаются. У всех есть Name и Parent. Их можно и в одну таблицу слить, т.к. на данном уровне формализации предметной области это объекты одного класса
А вот так - годится
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
07.03.2017, 23:19  [ТС]
Цитата Сообщение от texnik-san Посмотреть сообщение
Сообщение от Fantom2209
Самый просто вариант это сделать для каждой таблицы свою подписку (ну я думаю это не очень):
Почему вы так думаете?
Там просто еще у каждого (Дисциплина, команда, игрок) есть новости, тогда придется для каждого делать отдельную таблицу новостей (Новости дисциплин, новости команд, новости игроков).

Цитата Сообщение от YuryK Посмотреть сообщение
они мало чем отличаются. У всех есть Name и Parent. Их можно и в одну таблицу слить, т.к. на данном уровне формализации предметной области это объекты одного класса
Их действительно можно слить в одну таблицу, но в дальнейшем мне придется привязывать команды к турнирам. В связи с этим, я думаю что слить в одну таблицу тоже не лучший вариант для меня.

Извиняюсь за то что сразу не указал эти нюансы, виноват(

Есть вариант: оставляем таблицы (Дисциплина, команда, игрок). Добавляем таблицу Фан. клуб(id_фан_клуб,id_объекта, тип_объекта). Между ними вот тут получиться 1 к 1. Делаем одну таблицу подписки. Связываем пользователя с подпиской и подписку с фан клубом. Что думаете? меня смущает связь один к одному с тремя таблицами( Это нормальная практика или такого лучше избегать?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
08.03.2017, 00:58
Лучший ответ Сообщение было отмечено Fantom2209 как решение

Решение

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

В конце концов, КОГДА возникнут реальные различия между дисциплинами, игроками и командами (сейчас их пока нет), тогда и создашь объекты Дисциплины, Команды и(или) Игроки, наследованные от Объекты, т.е. связанные 1 к 1, ИМХО

Цитата Сообщение от Fantom2209 Посмотреть сообщение
Фан. клуб(id_фан_клуб,id_объекта, тип_объекта)
если это тип объекта, то почему это не атрибут объекта, а атрибут Фанклуба ?

Цитата Сообщение от Fantom2209 Посмотреть сообщение
Между ними вот тут получиться 1 к 1
Как, интересно, если атрибут один?
Миниатюры
Как лучше спроектировать систему подписки?  
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
08.03.2017, 17:44  [ТС]
Всем спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2017, 17:44
Помогаю со студенческими работами здесь

Как спроектировать систему правильно?
Добрый день! Начал разработку ИС "Ребусы и загадки" В связи с чем возникли вопросы. У меня есть 2 класса: -Класс описывающий...

Как лучше/правильнее спроектировать
Возникла необходимость переписать старую CRM Что есть сейчас: 1) БД MS SQL а хостинге 3) Web сервис, который на вход получает sql...

Как спроектировать высоконагруженную систему на ASP?
Здравствуйте! Есть идея сервиса, который захватит весь мир! Т.е. будет много желающих, будет большая нагрузка. В общем, что почитать и куда...

Как лучше спроектировать одну из таблиц?
Помогите пожалуйста разобраться.. Есть заявление на ремонт: код клиента, чего сдает, номер и т. д. А вот комплектность, как лучше...

Как лучше спроектировать рутинную программу
Как предварительно перед созданием спроектировать, программу с большими кодами.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru