[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Список в одну ячейку?
andrey
Ребят, проблема такая: имеется база данных клиентов. Для данных, типа ФИО и.т.п. создал таблицу с соответствующими полями. А где лучше всего хранить состав его семьи? У каждого он ведь будет разной длины. Это наверное нереально, заносить весь список в одну ячейку?
А если создавать отдельную таблиц со списками, где одно поле будет совпадать с 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)
Цитата (andrey @ 22.05.2010 - 07: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)
Цитата (andrey @ 22.05.2010 - 07: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 - вот что из этого получилось. rolleyes.gif

Спустя 41 минута, 40 секунд (22.05.2010 - 17:20) Basili4 написал(а):
FatCat Проверил фразу Курить траву вредно, а не курить скучно. Вернул одно из слово сочитаний "курить мыло" smile.gif
Быстрый ответ:

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