Нахождение «расстояния» между двумя предметами с использованием таблицы отношений - PullRequest
0 голосов
/ 13 марта 2012

Я работаю над проектом, в котором программа на PHP получает сообщения, такие как изображения, текст и т. Д., И они затем сохраняются в базе данных SQL.Затем пользователи выбирают связанные элементы, отношения которых заносятся во вторую таблицу.Затем мне нужно рассчитать кратчайшее расстояние (если они вообще связаны) между любыми двумя элементами.

Мои таблицы:

Table `items`
'id' int(15); auto_increment; primary index. 
'content' longtext; not null 

Table `relationships`
'id' int(15); auto_increment; primary index
'item1' int(15) not null
'item2' int(15) not null

Где будут содержаться два столбца в таблице relationshipsидентификаторы двух предметов из таблицы items.Они не уникальны, поэтому каждый предмет может быть связан с десятью, ста или десятью тысячами других предметов.Какие типы запросов я могу использовать, чтобы попытаться найти кратчайшее расстояние в градусах отношений между двумя элементами, не используя всю память и не затрачивая на это вычисления?

Редактировать: чтобы уточнить, я хочучтобы найти «степень разделения» между элементом X и элементом Y, используя таблицу отношений.Я могу придумать справедливое решение только для непосредственных отношений (первой степени) или второй степени, но после этого требования к памяти и времени резко возрастают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...