Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопрос по проектированию базы подробней в 1 сообщении / 10 сообщений из 10, страница 1 из 1
22.04.2008, 14:33
    #35271403
ensueno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
хм даже незнаю как начать

в базе ( MS SQL 2005 ) будут данные в виде одной
таблицы (friend1 int, friend2 int, type int
type ( только 1,2,3 ) которые представляют
собой матрицу показаную ниже )

определенна какаято операция над данными
алгоритм которой предполагает
что операция должна проводиться строго последовательно
поскольку результат следующей операции зависит от
того как изменила данные предыдущая операция

тоесть эта операция должна иметь способ определить
что кто-то уже начал такую операцию
типа что то типа мютекса базе

P.S.
1) я новичек в базах просьба сильно не ругать
если что-то не так
2) данные должны быть доступны для чтения
во время того
когда действует данная операция
но в это случае не критично насколько
успела устареть информация




0 3 2 2 3 2 1 2 4 1 3 2 3 3 3 2 4 2 3 3
3 0 1 3 2 2 2 3 3 2 3 1 3 3 1 3 4 2 2 2
2 1 0 2 1 2 3 2 2 1 3 2 3 3 2 3 3 2 2 3
2 3 2 0 3 2 3 4 3 1 3 2 4 1 3 3 2 2 4 3
3 2 1 3 0 3 2 1 1 2 2 3 2 3 2 3 2 3 1 2
2 2 2 2 3 0 2 2 3 1 2 1 3 2 1 2 3 1 2 1
1 2 3 3 2 2 0 1 3 2 2 1 2 3 3 1 4 2 2 2
2 3 2 4 1 2 1 0 2 3 1 2 2 3 2 2 3 2 1 1
4 3 2 3 1 3 3 2 0 3 2 4 2 2 2 3 1 3 1 3
1 2 1 1 2 1 2 3 3 0 2 1 3 2 2 2 3 1 3 2
3 3 3 3 2 2 2 1 2 2 0 3 1 2 2 1 3 1 1 2
2 1 2 2 3 1 1 2 4 1 3 0 3 3 2 2 4 2 3 1
3 3 3 4 2 3 2 2 2 3 1 3 0 3 2 1 3 2 1 3
3 3 3 1 3 2 3 3 2 2 2 3 3 0 2 2 1 1 3 3
3 1 2 3 2 1 3 2 2 2 2 2 2 2 0 2 3 1 1 2
2 3 3 3 3 2 1 2 3 2 1 2 1 2 2 0 3 1 2 3
4 4 3 2 2 3 4 3 1 3 3 4 3 1 3 3 0 2 2 4
2 2 2 2 3 1 2 2 3 1 1 2 2 1 1 1 2 0 2 2
3 2 2 4 1 2 2 1 1 3 1 3 1 3 1 2 2 2 0 2
3 2 3 3 2 1 2 1 3 2 2 1 3 3 2 3 4 2 2 0
...
Рейтинг: 0 / 0
22.04.2008, 14:43
    #35271451
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
friend1 и friend2 это коортинаты? type вообще не понятно что... Поскольку в матрице есть 0-ли и 4-ки...

И каков вопрос автора?
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
22.04.2008, 15:26
    #35271611
ensueno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
если отбросить всё кроме type = 1 то в таблице будет храниться граф
граф друзей как на one.lv
значения 2,3 показываеют что friend1 и friend2 являються друзьями друзей или друзьями друзей друзей ( что поделаешь такая терминология )

krvsa если не понятен вопрос в такой форме, может у тебя есть решение как для 2 000 000 пользователей сайта one.lv ( которые большую часть времени сидят на нём ) у которых в среднем по 150 друзей сайт может показывать для каждого в реальном времени сколько у него друзй 1, 2, 3 порядка и по его желанию показать их всех постранично?
...
Рейтинг: 0 / 0
22.04.2008, 15:33
    #35271648
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
ensuenoв таблице будет храниться граф
Тогда причем тут нарисованая матрица?
ensuenoкак для 2 000 000 пользователей сайта one.lv ( которые большую часть времени сидят на нём ) у которых в среднем по 150 друзей сайт может показывать для каждого в реальном времени сколько у него друзй 1, 2, 3 порядка и по его желанию показать их всех постранично?
Так это и есть твой вопрос?
...
Рейтинг: 0 / 0
22.04.2008, 15:44
    #35271708
ensueno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
граф можно по разному отобразить алгоритм в том числе и матрицей
матрица которая там изображенна внизу можно получить также алгоритмом флойда ( он тут всеже не используеться но я это так )
из матрицы смежности графа это будет distance matrix

вопрос состоит в том как не допустить паралельное исполнение встроенной процедуры, чтоб случае если одна операция начата, вторая процедура моглабы это обнаружить и вернуца ничего не начав делать
...
Рейтинг: 0 / 0
22.04.2008, 15:49
    #35271738
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
Как вариант
ЛюдиКодФИО
СвязиКто С кем
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
22.04.2008, 15:51
    #35271739
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
ensuenoвопрос состоит в том как не допустить паралельное исполнение встроенной процедуры
У нас это делается блокировками... Как в других СУБД я не вкурсе...
...
Рейтинг: 0 / 0
22.04.2008, 16:26
    #35271913
ensueno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
тоесть если процедура будет осуществлять транзакцию с Isolation levels = SERIALIZABLE
то я могу считать что как будто все процедуры выполнились последовательно?
...
Рейтинг: 0 / 0
22.04.2008, 16:28
    #35271926
ensueno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
[quot krvsa]Как вариант
ЛюдиКодФИО
СвязиКто С кем

ну так и есть просто в отличии от второй таблицы используеться тип связи ( удалённость )
...
Рейтинг: 0 / 0
22.04.2008, 16:45
    #35271977
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по проектированию базы подробней в 1 сообщении
ensuenoиспользуеться тип связи ( удалённость )
Я бы и ее не использовал... Т.к. простая рекурсия сможет вывести всех "друзей моих друзей"...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопрос по проектированию базы подробней в 1 сообщении / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]