Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Организация структуры.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
jonston
Отправлено: 07 Сентября, 2017 - 11:16:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011  


Помог: 3 раз(а)




Добрый день!Есть модуль пользователя (таблица users) и резюме (таблица resume) отношение один к одному.С точки зрения архитектуры лучше сделать $user->getResume($user_id) или $resume->getByUserId($user_id).Ключ user_id храниться в таблице resume


-----
$i = 0;
$i = $i++ + ++$i; ?
 
 Top
Sail
Отправлено: 09 Сентября, 2017 - 00:46:31
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




jonston пишет:
Добрый день!Есть модуль пользователя (таблица users) и резюме (таблица resume) отношение один к одному.С точки зрения архитектуры лучше сделать $user->getResume($user_id) или $resume->getByUserId($user_id).Ключ user_id храниться в таблице resume

Оба варианта.
К тому-же, с точки зрения предметной области актуальна связь один (user) ко многим (резюме)... Соискатель может быть заинтересован в том, чтобы для разных видов деятельности составлять отличающиеся друг от друга резюме...
(Добавление)
Соответственно, если 1:n - то в первом случае метод возвращает коллекцию (множество)...
 
 Top
LIME
Отправлено: 09 Сентября, 2017 - 04:37:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




jonston если исключить аргументы уважаемого оратора выше то вопрос.
а нахрена создавать 1к1?
пихай все в одну таблицу
однако выше уже сказали что резюме может быть более чем 1
я вообще...за жизнь...что тебя сподвигло создавать 1к1? я знаю когда это это бывает нужно...это вертикальное шардирование...а тебе оно надо?
короче чтоб не быть пустозвоном поясню-
если некоторые поля часто обновляются то их выносят отдельно в 1к1 чтоб не ломать кэш и не писать лишнего в диск
но это оптимизация
тебе оно зачем?
(Добавление)
jonston а насчет юзера это вообще отдельная тема
например поле last_active вообще стоит вынести за субд
если интересно могу порасскозать интересного
(Добавление)
jonston а по сабжу оба метода норм
оба могут быть
никто не запрещает делать как удобнее
 
 Top
jonston
Отправлено: 10 Сентября, 2017 - 02:30:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011  


Помог: 3 раз(а)




LIME пишет:
jonston
а нахрена создавать 1к1?

Резюме это сущность.У него есть собственные поля.Как нахрена?У резюме есть свои связи.Ссылки на сайты например.Это не говоря о одинаковых именах если говорить в общем об отношениях 1:1.
(Добавление)
Sail пишет:

Оба варианта.
К тому-же, с точки зрения предметной области актуальна связь один (user) ко многим (резюме)... Соискатель может быть заинтересован в том, чтобы для разных видов деятельности составлять отличающиеся друг от друга резюме...

Допустим в дальнейшем будет возможность добавлять несколько резюме.Вопрос в том как правильно обращаться из родителя к потомку или из потомка к родителю.В общем я понял что оба метода равноправны.


-----
$i = 0;
$i = $i++ + ++$i; ?
 
 Top
LIME
Отправлено: 10 Сентября, 2017 - 17:33:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я к тому что проще объединить 1к1 в одну таблицу
вертикально разделять полезно только если одни поля часто переписываются а другие редко
иначе вообще нет смысла делать отдельные таблицы
 
 Top
jonston
Отправлено: 10 Сентября, 2017 - 19:13:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011  


Помог: 3 раз(а)




LIME пишет:
я к тому что проще объединить 1к1 в одну таблицу
вертикально разделять полезно только если одни поля часто переписываются а другие редко
иначе вообще нет смысла делать отдельные таблицы


Как реализовать связи тогда с резюме?


-----
$i = 0;
$i = $i++ + ++$i; ?
 
 Top
LIME
Отправлено: 11 Сентября, 2017 - 11:08:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




никак
перенеси поля резюме в юзера и все
избавишься от лишнего джоина
если озаешь ORM можешь даже сделать разные модели для одной таблицы
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB