LINUX.ORG.RU

Как на MySQL сделать небольшую модель соцсети?

 


1

1

Здравствуйте. Вопрос, как реализовать хранение id друзей для каждого id? Например есть у меня 7000 юзверей, для их id я создаю таблицу, с primary key от id, или хеша какого-нибудь уникального от того же id. А как правильно хранить друзей каждого id?


В другой таблице.

anonymous
()

Храни в отдельной таблице ManyToMany отношение.

orm-i-auga ★★★★★
()

Поставить mysql workbench с офф сайта?

artb1sh
()

Ну можно завести поле friends и ложить туда строку из склеенных через пробелы идентификаторов. Или заделать файл friends/id.txt и ложить в него массив друзей, или создать табличку friends и делать там записи с ключем id_holder_friend_of_friend_id и проверять существование идентификатора. если есть - значит друзья. идей много придумать можно, что, ни одной не получилось? все из-за mysql? можно написать скрипт который сгенерит в таблице пользователей поля с именем-идентификатором и расставлять в них 1 если пересечение полей друзья

id | name | id_1 | id_2 | id_3 1 | foo | - | - | 1

- users with id1 and id3 are friends!

emptykiev
()

Да можно создать массив friends в глобальной перменной и загружать-созранять при запуске программы!

emptykiev
()
Ответ на: комментарий от Eof

1. Открываешь любой сайт любого универа, который готовит кодеров (или ищешь говногруппу со студентотой из этого универа курса эдак второго или третьего).

2. Ищешь среди списка разных метод ту, что про MySQL (или просишь скинуть парнягу из соцсети, если совсем лень искать самому).

3. Делаешь по пунктам все задания.

4. Поздравляю, за 6 часов осилена реляционная СУБД и базовые скиллы по нормализации БД.

P.S. Вообще есть разные сайты с онлайн викторинами где просят написать выборку по условиям или построить таблицу, но я не могу порекомендовать ни одного вменяемого ресурса.

ThisNameWasFree
()
Последнее исправление: ThisNameWasFree (всего исправлений: 5)
Ответ на: комментарий от emptykiev

Охренительный совет про айдишники через пробелы. Почему бы тогда не склеить вообще всю информацию с сайта через пробел? Создаём таблицу на один столбец и одной записью в 64ГБ и вперёд! Юзверей, их друганов, порнушку с собственного винта.

А, да, про скрипт генерации всех-всех вариантов (array permutation) - это, мля, вообще шедевр. Факториальный рост вычислений? Не, не слышал. Похоже при склейке порнухи через пробел мозги свернулись в трубочку и оценить размер получающихся данных уже трудновато.

ThisNameWasFree
()
Последнее исправление: ThisNameWasFree (всего исправлений: 3)

Например, в Django ORM m2m связь таблицы с самой собой сделана через промежуточную вида id | from_object | to_object , куда при добавлении связи добавляются по две записи. В итоге записей больше и для корректности они должны оставаться парными, но зато JOIN'ы делаются тривиально и в обе стороны.

gasinvein ★★★
()
Последнее исправление: gasinvein (всего исправлений: 1)
Ответ на: комментарий от ThisNameWasFree

Надо же как бомбанло, а ведь просто забыл чувство юмора включить, дурашка.

emptykiev
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.