powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше спроектировать таблицы и связь?
17 сообщений из 17, страница 1 из 1
Как лучше спроектировать таблицы и связь?
    #37569793
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Представьте, что на сайте есть каталог (ну например) часов.

tWatches
ID
Mark
Model


Также на сайте есть форум. Форум самый простой и имеет следующую схему:

tForumThemes
ID
Name


tForumDiscussions
ID
ForumThemeID
UserID
Text


Задача сделать так чтобы каждая модель часов имела в форуме свою тему для обсуждения.
У меня есть свои мысли:
Вариант 1. Создать ещё одну таблицу-аналог tForumDiscussions, но для таблицы tWatches. И потом уже через объединение работать ....
Вариант 2. Добавить дополнительное поле в таблицу tForumDiscussions (ну например ThemeType) и тогда сделать так, чтобы у таблицы tForumDiscussions было ДВА родителя (tWatches и tForumThemes) через поле ForumThemeID.

Парни, подскажите, как правильно? А может есть ещё варианты? Может кто сталкивался с такими задачами...
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37569824
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene OstenbakenЗадача сделать так чтобы каждая модель часов имела в форуме свою тему для обсуждения.

А что, тупо автоматически создавать темы при наполнении каталога часов - некошерно?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37569855
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Конечно, кошерно!
Приходило такое решение в голову (сделать связь 1:1) - поленился описать!

Позицию понял. Спасибо за ответ! Жду ещё варианты!
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37569913
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene OstenbakenПриходило такое решение в голову (сделать связь 1:1) - поленился описать!

А связь-то зачем? С удалением позиции из прайса автоматически должен удаляться топик на
форуме?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37569921
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Ну это уже тонкости. Тем более что "ЧАСЫ" - это просто пример для схемы.
Мне нужно принципиальное решение вопроса. Как люди поступают в таких ситуациях. Но все равно спасибо за участие!
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37569925
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Забыл написать про связь 1:1. По ней то как раз и хотел находить топик и удалять его или что-то делать с ним:

tWatches
ID
Mark
Model
ThemeTopicID
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37571633
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ещё варианты по организации базы данных?
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37572235
donky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene OstenbakenЕсть ещё варианты по организации базы данных?

Вынести в отдельную таблицу связей
tForumWatchLink
tWatch.ID, tForumThemeID

Ибо может захотеться всякого, например, обсуждать группу товаров в одном топике, или наоборот, если модель популярная, разнести обсуждение по нескольким топикам
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37572531
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
donky,

У меня вопрос по Варианту 2 (моему варианту). Так вообще делается, чтобы было ДВА родителя? Какие-то проблемы ждут меня на уровне базы данных?
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37572533
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
donky,

Разработка в MySQL.
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37572552
donky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene Ostenbakendonky,

У меня вопрос по Варианту 2 (моему варианту). Так вообще делается, чтобы было ДВА родителя? Какие-то проблемы ждут меня на уровне базы данных?

Да куча.
- Нельзя будет построить FK - отсутствие проверок ссылочной целостности
- Тяжело реализовывать join'ы от tForumDiscussions к tWatch и tForumTheme
- Возможность пересечения ID от двух родителей
- Тяжело будет восприниматься сторонними разработчиками

ЗЫ: Подобную логику (только инвертированную, родитель - несколько детей) иногда используют для реализации "наследования" на уровне БД, например tCustomer -> tPerson, tCompany.
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37572753
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/13/2011 01:10 PM, Eugene Ostenbaken wrote:

> У меня вопрос по Варианту 2 (моему варианту). Так вообще делается, чтобы было
> ДВА родителя? Какие-то проблемы ждут меня на уровне базы данных?

Ты бы нарисовал бы ER-диаграмку, и запостил.
А то фиг знает что ты там надумал себе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37578747
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Ну вот... пожалуйста, ER диаграмки!
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37578748
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Ну вот... пожалуйста, ER диаграмки!
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37578750
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Ну вот... пожалуйста, ER диаграмки!
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37578946
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант 2 не делается.
Вариант 1 тоже какой-то странный -- таблица скопирована со всей структурой.

Надо в "Продукт" (часы) добавить ссылку на тему, где её обсуждают, и всё.
Это либо 3-ий вариант, либо возможно ссылку надо делать на другую таблицу, ForumDiscussions ,
тебе виднее, куда.
...
Рейтинг: 0 / 0
Как лучше спроектировать таблицы и связь?
    #37581327
Eugene Ostenbaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Если я сделаю ссылку с каталога часов на таблицу ForumDiscussions, то получится Вариант2.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше спроектировать таблицы и связь?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]