А если создавать отдельную таблиц со списками, где одно поле будет совпадать с id клиента, это будет нормально?
Тем более, что кроме состава семьи придётся указывать ещё некоторую инфу такого же рода...
Спустя 26 минут, 55 секунд (22.05.2010 - 07:24) Michael написал(а):
Если ты хочешь держать информацию о каждом члене семьи в отдельной ячейке, то конечно - новая таблица и связь по id.
Спустя 30 минут, 47 секунд (22.05.2010 - 07:55) andrey написал(а):
Спасибо, просто думал, вдруг есть какой-нибудь способ без создания отдельных таблиц.
Спустя 4 часа, 2 минуты, 20 секунд (22.05.2010 - 11:57) FatCat написал(а):
Цитата (andrey @ 22.05.2010 - 07:57) |
А где лучше всего хранить состав его семьи? |
Недавно решал похожую проблему; сделал в одной таблице.
Добавилось 2 поля: parrent_id (INT) и children_ids (TEXT), по дефолту parrent_id ноль, children_ids пустой.
Если Вася глава семьи, при его вводе в таблицу эти поля заполняются по дефолту.
Когда мы вводим в таблицу его жену Машу, Маше в поле parrent_id пишем айдишник Васи; а Васе в поле children_ids пишем айдишник Маши; если у Васи много родственников, то их айдишники через запятую, чтобы можно было сразу подставлять значение этого поля в запрос поиска родственников.
Спустя 37 минут, 37 секунд (22.05.2010 - 12:35) waldicom написал(а):
Цитата (FatCat @ 22.05.2010 - 10:57) | ||
Недавно решал похожую проблему; сделал в одной таблице. Добавилось 2 поля: parrent_id (INT) и children_ids (TEXT), по дефолту parrent_id ноль, children_ids пустой. Если Вася глава семьи, при его вводе в таблицу эти поля заполняются по дефолту. Когда мы вводим в таблицу его жену Машу, Маше в поле parrent_id пишем айдишник Васи; а Васе в поле children_ids пишем айдишник Маши; если у Васи много родственников, то их айдишники через запятую, чтобы можно было сразу подставлять значение этого поля в запрос поиска родственников. |
Нормальное решение... Сам правда не очень люблю, когда пишут значения через запятую, поэтому можно подумать над таким вариантом.
Таблицы: user, relation, user_relation
User и relation связаны через таблицу user_relation
В User хранятся все пользователи, в relation - все родственные связи (отец, мать, дочь, сестра, свояк, черезпятоеколенотроюродныеплемянник и т.д.).
Ну а в user_relation уже айдишники из user и relation
Спустя 1 час, 57 минут, 32 секунды (22.05.2010 - 14:33) andrey написал(а):
Цитата (FatCat @ 22.05.2010 - 08:57) | ||
Недавно решал похожую проблему; сделал в одной таблице. Добавилось 2 поля: parrent_id (INT) и children_ids (TEXT), по дефолту parrent_id ноль, children_ids пустой. Если Вася глава семьи, при его вводе в таблицу эти поля заполняются по дефолту. Когда мы вводим в таблицу его жену Машу, Маше в поле parrent_id пишем айдишник Васи; а Васе в поле children_ids пишем айдишник Маши; если у Васи много родственников, то их айдишники через запятую, чтобы можно было сразу подставлять значение этого поля в запрос поиска родственников. |
Ну так то да, но самих родственников в таблицу пользователей мне заносить нет необходимости. Мне важно только их ФИО, а про пользователей-то я записываю куда больше полей. Вобщем, сделаю отдельную табличку, не буду изголяться))
А вот ещё такой вопрос (сразу говорю - нубский, аж стыдно): добавляю я в базу нового юзера, id по автоинкрименту. А как мне в таблицу с родственниками добавить записи, чтоб в одном из их полей записать этот самый id? Использовать mysql_insert_id(), чтобы вернуть его значение? Или правильнее как-то не так?
Спустя 4 минуты, 59 секунд (22.05.2010 - 14:38) Michael написал(а):
Цитата |
Использовать mysql_insert_id(), чтобы вернуть его значение? |
да.
Спустя 4 минуты, 41 секунда (22.05.2010 - 14:42) andrey написал(а):
Классно. Только вот вопрос я неспроста задал, читал тут кое-где, что с этой функцией проблемы бывают. Вот, например тут.
У меня, слава Богу, такого никогда не было, но всё же...
У меня, слава Богу, такого никогда не было, но всё же...
Спустя 1 час, 56 минут, 21 секунда (22.05.2010 - 16:39) FatCat написал(а):
Цитата (waldicom @ 22.05.2010 - 13:35) |
Таблицы: user, relation, user_relation |
Я вязал не людей, а семантику: слова и словосочетания.
В таблице слова и устойчивые словосочетания; "родство" - степень вхождения.
Например, слово "кит" входит и в "москит", и в "китай"; в свою очередь эти слова тоже могут входить в другие.
Мне нужно на выходе иметь дерево с корнем в виде короткого слова, с неограниченным числом возможных ветвлений, и "листьями" в виде длинных словосочетаний.
Джойнятся 2 вспомогательных таблицы. Одна - "ручная" семантика, соотносящая "бруснику" "ягодам"; вторая - лексическая группа, к которой принадлежат деревья слов...
http://milk-elephant.ru/semantika/index.ph...ule&module=sema - вот что из этого получилось.
Спустя 41 минута, 40 секунд (22.05.2010 - 17:20) Basili4 написал(а):
FatCat Проверил фразу Курить траву вредно, а не курить скучно. Вернул одно из слово сочитаний "курить мыло"