соучастник
14.08.2013 - 22:23
привет всем, вопрос есть таблица юзер в ней поля id и user_name
есть таблица записи в ней поля id, name, text
как правильно построить соотношение юезров и их записей добавить поле user_id в таблицу записей, или создать новую таблицу 3 вроде id, user_id, text_id
ребят вопрос очень важный прошу отнестись серьезно,я понимаю, что если приложение будет расширяться удобнее будет работать с доп таблице 3.
НО действительно ли она нужно допустим если нужно сортировку сделать по юзеру, нужно писать более сложные запросы и таких мелких моментов говорящих в пользу 2х таблиц очень много.Что думаете по своему опыту?
pamparam
15.08.2013 - 00:18
Я бы остановился на двух...
в таблице user id, user_name
в таблице text id,user_id, text
Не корректный вопрос. Что за таблицы, для чего, что в них хранится? Какой объем данных прогнозируется? От этого зависит правильная архитектура, а не от названий полей вовсе.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Игорь_Vasinsky
15.08.2013 - 08:12
Цитата |
ребят вопрос очень важный прошу отнестись серьезно |
а самому влом про нормализацию почитать?
Цитата |
Что думаете по своему опыту? |
Цитата |
создать новую таблицу 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
15.08.2013 - 08:24
Цитата (соучастник) |
добавить поле user_id в таблицу записей, |
да, обычный же внешний ключ
_____________
There never was a struggle in the soul of a good man that was not hard
Valick
15.08.2013 - 09:52
соучастник, все очень просто.
Нужно определить отношение.
Если каждый пользователь может быть автором одной и более записей, то это отношение один ко многим. Соответсвенно две таблицы.
Если каждый пользователь может быть автором одной и более записей, а каждая запись может иметь одного или более авторов, то это отношение многие ко многим. Соответсвенно две таблицы + таблица связи. Итого три таблицы.
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
да ура спасибо, это именно то что нужно, но интересный вопрос задал twin, от объема данных может ли данная структура быть модернизирована, т.е. допустим у нас в таблице статей статьи ооочень большого объема в принципе можно сделать партиции по user_id, разделить на логически блоки
Valick
15.08.2013 - 16:56
Guest, определение сущностей, связи и нормализация не зависит от объема.
Цитата |
статьи ооочень большого объема |
да хоть "Войну и Мир" перепечатайте, просто данные всегда можно разделить на актуальные и неактуальные, актуальные в основной рабочей таблице, неактуальные в архив. Процесс перехода статей из актуальных в неактуальные - это уже другая головная боль.
Если по этим статьям нужен мощный поиск, то можно сразу смотреть в сторону
Sphinx
_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.