БД ссылается на БД

5 сообщений в этой теме

Попробую описать ситуацию :

Есть БД, в таблице которой указываются ID объекта,

TTR1 объекта и

TTR2 объекта. Первое есесно число, второе и третье - строковая переменная.

BD 1

ID |

TTR1 |

TTR2

1 |

| B

2 | С | D

Есть БД2, в таблице которой указываються ID объетка и

TTRIBUTE. То же самое, первое число, второе - стринг.

BD 2

ID |

TTR |

1 |

|

2 | B |

Также в БД2 в ту же таблицу, нужно добавить поле содержащее ссылку на некоторое количество строк из базы 1, то есть это как то должно так выглядеть :

BD 2(NEW)

ID |

TTR | LINK |

1 |

| 2,45,96 |

2 | B | 1,23 |

В общем то сделать это могу и сейчас, просто если я это сделаю - LINK строковая, запятая будет отделять ID первой BD.

Но есть проблема. Нужно чтобы в BD1 тоже появилось поле - обратная ссылка на BD2, типа такого :

BD 1(NEW)

ID |

TTR1 |

TTR2 | LINK |

1 |

| B | 2 |

2 | С | D | 1 |

Причем, если что то либо меняется в одной из БД, то изменения должны моментально коснуться вторую БД.

Понятно, что это все можно делать кучей запросов к двум разным базам (Это все будет работать, есесно), но как то это коряво чтоле...

Мож есть какие нить идеи, как это оптимизировать?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотите убрать блок рекламы? Авторизуйтесь

Loading...

а по-понятнее? Ни чего не понял из объяснения... odnako.gif

А и В в разных таблицах идентичны или это пример структуры?

Линк в результирующей таблице ссылается на на вторую строку с В в БД2 (нов), а где линк на А ? Ни чё не понятно... Задачу внятно. И в чём проблемма, ну создал ты строку в бд2, пиши после апдейтом в бд1 в нужное поле ? Можешь в личку, если здесь неудобно...

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот так лучше пожалуй ))

58869570.png

То есть, мы можем в поле LINK красной таблицы, в первой строке изменить значение на 1, а во второй строке на 2,3 и у нас должно поменяться в синей таблице, будет соответственно в столбце LINK первая строка 1, вторая 2, третья 2.

Я говорю - это можно сделать запросами, но это просто с эстетической стороны не красиво.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я говорю - это можно сделать запросами но это просто с эстетической стороны не красиво.

blink.gif можно подумать, что значения в полях таблиц БД обновляются не SQL-запросами...

Самое простое (для меня) решение, приходящее навскидку в голову - написать обработку обновления записей в таблице при редактировании поля LINK, содержащий ID записей, хранить в переменной старое значение, обновлять значение, затем обновить по старому значению по ID LINK второй таблицы, значения, потерявшее ссылку забить пустым символом или пробелом.

Если же вопрос состоит в том, что со второй удалённой базой должно синхронизироваться, то надо подумать... и это очень будет очень непросто для абсолютно не имеющих связей по уникальным полям таблиц, особенно, если записей в таблицах очень много... ИМХО (Есть у меня одна таблица на 6 млн.строккаждый месяц. Так я вместо обновления в ней значений, предпочёл её дропать и создавать заново с новыми значениями)

Или ты именно ссылки на значения в другой таблице имел ввиду (а ля EXCEL) ????

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ненене, не ссылки, именно не имеющие связей уникальные поля.

Вот именно, вопрос в синхронизации...

Я тоже думал над таким же решением... Видимо так и придеться идти...

Просто чего то, фиг знает, чего то прям не то, ощущения какие то не очень...

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу