|
|
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
хм даже незнаю как начать в базе ( 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 14:33 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 14:43 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
если отбросить всё кроме type = 1 то в таблице будет храниться граф граф друзей как на one.lv значения 2,3 показываеют что friend1 и friend2 являються друзьями друзей или друзьями друзей друзей ( что поделаешь такая терминология ) krvsa если не понятен вопрос в такой форме, может у тебя есть решение как для 2 000 000 пользователей сайта one.lv ( которые большую часть времени сидят на нём ) у которых в среднем по 150 друзей сайт может показывать для каждого в реальном времени сколько у него друзй 1, 2, 3 порядка и по его желанию показать их всех постранично? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:26 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
ensuenoв таблице будет храниться граф Тогда причем тут нарисованая матрица? ensuenoкак для 2 000 000 пользователей сайта one.lv ( которые большую часть времени сидят на нём ) у которых в среднем по 150 друзей сайт может показывать для каждого в реальном времени сколько у него друзй 1, 2, 3 порядка и по его желанию показать их всех постранично? Так это и есть твой вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:33 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
граф можно по разному отобразить алгоритм в том числе и матрицей матрица которая там изображенна внизу можно получить также алгоритмом флойда ( он тут всеже не используеться но я это так ) из матрицы смежности графа это будет distance matrix вопрос состоит в том как не допустить паралельное исполнение встроенной процедуры, чтоб случае если одна операция начата, вторая процедура моглабы это обнаружить и вернуца ничего не начав делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:44 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
Как вариант ЛюдиКодФИО СвязиКто С кем ---------- 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:49 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
ensuenoвопрос состоит в том как не допустить паралельное исполнение встроенной процедуры У нас это делается блокировками... Как в других СУБД я не вкурсе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:51 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
тоесть если процедура будет осуществлять транзакцию с Isolation levels = SERIALIZABLE то я могу считать что как будто все процедуры выполнились последовательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 16:26 |
|
||
|
вопрос по проектированию базы подробней в 1 сообщении
|
|||
|---|---|---|---|
|
#18+
[quot krvsa]Как вариант ЛюдиКодФИО СвязиКто С кем ну так и есть просто в отличии от второй таблицы используеться тип связи ( удалённость ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 16:28 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35271708&tid=1543906]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 409ms |

| 0 / 0 |
