|
|
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
Интересует логическая модель БД для стандартной социальной сети, где каждый пользователь имеет друзей, и общую информацию о себе. Какие должны быть таблицы и связи между ними? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:58 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternИнтересует логическая модель БД для стандартной социальной сети, где каждый пользователь имеет друзей, и общую информацию о себе. Какие должны быть таблицы и связи между ними? Таблица пользователей и таблица дружбы. Всё. В логической модели - сущность "пользователь" и связь "многие-ко-многим" на себя. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 19:35 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, | Пользователь| | ДРУГ | |____________| <------->> | ______| | id_пользов. | | id_друг| | ИМЯ | | id1 | | ФАМИЛИЯ | | id2 | _____________ ________ где, id1 и id2 это ключи таблицы "Пользователь". Верно я понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 06:24 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWestern, table1 (user_id, name, phone, ...) table2 (user_id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 11:10 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
Клава за мыслями неуспевает. В первой таблице пользователи. Во второй ид пользователя и ид друга (из той же, первой, таблицы). Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 11:14 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
тогда такой вопрос, как убрать избыточность? к примеру во второй таблице будет: 1 : 2 1 : 3 1 : 4 2 : 1 То есть записи 1:2 и 2:1 по сути являются равнозначными. Какой здесь выход? Проверять на наличие отношения перед внесением записи в таблицу друга или есть другие механизмы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 16:00 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternТо есть записи 1:2 и 2:1 по сути являются равнозначными. Нет, не являются. Если Вася Пупкин считает своим другом Дмитрия Медведева, то это ещё не значит что Медведев вообще о существовании Васи знает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 16:08 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternТо есть записи 1:2 и 2:1 по сути являются равнозначными. Если Вас это напрягает, то проще всего наложить check (id_1 < id_2). Но эту функциональность надо продумывать не просто так, а в совокупности, поскольку ей придётся обслуживать ситуации типа "Вася добавил Петю, Петя Васю не добавил", "Вася добавил Петю, Петя должен увидеть это и возможно нажать в ответ", "Вася удалил ранее сделанную дружбу с Петей, что делать с Петиной" итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 16:34 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
ну ведь в соц сетях так и есть, если у Васи есть в друзьях Медведев т ои у Медведева есть в друзьях Вася. Или я что-то путаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 16:39 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternИли я что-то путаю? Путаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 16:58 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWestern, Эт смотря в каких сетях. В правильных такого быть неможет. А в криворуких и не такое увидишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 18:41 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
Ну вот одноклассники. Не может быть такого чтобы у меня в списке был Вася, а у Васи не будет меня! Если я Васе предлагаю дружбу и Вася ее одобряет, то мы становимся друзьями, иначе быть не может. Отсюда следует вывод, что друзьями между двумя пользователями считаются те пользователи, которые имеют ссылку друг на друга в своем списке друзей. Или я вообще уже с головой не дружу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 19:35 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWestern, К чему этот спор? Нет тут никакой избыточности, самое обычное отношение многие-ко-многим. Наверняка в этой таблице появятся еще поля. Например, поле "предложение дружбы подтверждено", т.е. Вася предложил дружбу Пете, но тот еще не одобрил. Если будет неупорядоченная пара id хранится, то станет не понятно, кто кому дружить предложил. В общем, примеров много можно привести, когда порядок имеет значение, так что не стоит озадачивать себя этими мыслями :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 19:48 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWestern, Что мне сказать в ответ? Скажу правду - обидишся, соврать - сам обижусь. Эх ... Пошлюка я тебя. Иди читай мануалы. Когда достигнешь нирваны - узришь истину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 19:53 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternОтсюда следует вывод, что друзьями между двумя пользователями считаются те пользователи, которые имеют ссылку друг на друга в своем списке друзей. Ну хорошо, раз тебе не нравится эта избыточность, возьми и удали "лишние" связи. А потом напиши SQL запрос поиска всех друзей заданного пользователя. Посмотри сколько он будет выполняться. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 19:53 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternНу вот одноклассники. Не может быть такого чтобы у меня в списке был Вася, а у Васи не будет меня! Ну, допустим, не может. myWestern Если я Васе предлагаю дружбу Одним из вариантов технической реализации такого предложения является вставка связи Вы -> Вася. myWestern и Вася ее одобряет, Одним из вариантов реализации такого одобрения является вставка связи Вася -> Вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 13:27 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
myWesternНу вот одноклассники. Не может быть такого чтобы у меня в списке был Вася, а у Васи не будет меня! Если я Васе предлагаю дружбу и Вася ее одобряет, то мы становимся друзьями, иначе быть не может. Отсюда следует вывод, что друзьями между двумя пользователями считаются те пользователи, которые имеют ссылку друг на друга в своем списке друзей. Или я вообще уже с головой не дружу? Не знаю, как там в Одноклассниках, а в ЖЖ вполне может быть ситуация, что пользователь меня добавил в друзья, а я его посмотрел, и решил - такой друг мне не нужен - и не стал добавлять. Я -> друг Васи Вася - > МНЕ никто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 23:30 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiНе знаю, как там в Одноклассниках, а в ЖЖ вполне может быть ситуация, что пользователь меня добавил в друзья, а я его посмотрел, и решил - такой друг мне не нужен - и не стал добавлять. Я -> друг Васи Вася - > МНЕ никто. Потому что, это два разных принципа! В одном случае "дружба" - это обоюдное подтверждение. Иначе, до одобрения предложения - это ПРЕДЛОЖЕНИЕ дружбы. В другом случае "дружба" - это как контакт в аське - односторонняя вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 23:57 |
|
||
|
модель БД для социальной сети
|
|||
|---|---|---|---|
|
#18+
Злой БобрmyWestern, Эт смотря в каких сетях. В правильных такого быть неможет. По-моему ни один вариант нельзя назвать правильным или нет. Это разные варианты. А вот автор пусть опредлится - какой ему нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 23:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37589332&tid=1541870]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 346ms |

| 0 / 0 |
