[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 1 или 2 таблицы
соучастник
привет всем, вопрос есть таблица юзер в ней поля id и user_name
есть таблица записи в ней поля id, name, text

как правильно построить соотношение юезров и их записей добавить поле user_id в таблицу записей, или создать новую таблицу 3 вроде id, user_id, text_id

ребят вопрос очень важный прошу отнестись серьезно,я понимаю, что если приложение будет расширяться удобнее будет работать с доп таблице 3.
НО действительно ли она нужно допустим если нужно сортировку сделать по юзеру, нужно писать более сложные запросы и таких мелких моментов говорящих в пользу 2х таблиц очень много.Что думаете по своему опыту?
pamparam
Я бы остановился на двух...
в таблице user id, user_name
в таблице text id,user_id, text
twin
Не корректный вопрос. Что за таблицы, для чего, что в них хранится? Какой объем данных прогнозируется? От этого зависит правильная архитектура, а не от названий полей вовсе.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
Цитата
ребят вопрос очень важный прошу отнестись серьезно

а самому влом про нормализацию почитать?

Цитата
Что думаете по своему опыту?

Цитата
создать новую таблицу 3 вроде id, user_id, text_id


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Michael
Цитата (соучастник)
добавить поле user_id в таблицу записей,

да, обычный же внешний ключ

_____________
There never was a struggle in the soul of a good man that was not hard
Valick
соучастник, все очень просто.
Нужно определить отношение.
Если каждый пользователь может быть автором одной и более записей, то это отношение один ко многим. Соответсвенно две таблицы.
Если каждый пользователь может быть автором одной и более записей, а каждая запись может иметь одного или более авторов, то это отношение многие ко многим. Соответсвенно две таблицы + таблица связи. Итого три таблицы.


_____________
Стимулятор ~yoomoney - 41001303250491
Guest
Valick
да ура спасибо, это именно то что нужно, но интересный вопрос задал twin, от объема данных может ли данная структура быть модернизирована, т.е. допустим у нас в таблице статей статьи ооочень большого объема в принципе можно сделать партиции по user_id, разделить на логически блоки
Valick
Guest, определение сущностей, связи и нормализация не зависит от объема.
Цитата
статьи ооочень большого объема

да хоть "Войну и Мир" перепечатайте, просто данные всегда можно разделить на актуальные и неактуальные, актуальные в основной рабочей таблице, неактуальные в архив. Процесс перехода статей из актуальных в неактуальные - это уже другая головная боль.
Если по этим статьям нужен мощный поиск, то можно сразу смотреть в сторону Sphinx


_____________
Стимулятор ~yoomoney - 41001303250491
Guest
интересно спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.