Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Система ИРБИС в целом :  ИРБИС Irbis
 
Объединение нескольких баз данных
Пользователь: [GS]Aero (IP-адрес скрыт)
Дата: 04, April, 2006 18:31

Всем привет, у меня такая ситуация:
Я подрабатываю в библиотеке, объясняю библиотекарям, как работать в Ирбис, сам студент 4-го курса, программист.
Когда появился Ирбис, в библиотеке сети еще не было, и база велась на нескольких компах. Сейчас сеть провели, наконец-то, и наступил момент нормально вести БД, но для этого надо объединить все базы данных в общую, которая будет лежать на серваке, как и полагается. Я начал писать прогу для объединения в общую БД, объединить данные из таблиц в которых нет ссылок на другие таблицы элементарно, а вот с таблица, в которых существуют ссылки на другие таблицы и т.д. - сложно, я не знаю их структур.
У кого-нибудь есть инфа по самой СУДБ и самое важное по структуре БД, используемой Ирбис, желательно куски (вряд ли дадите все, если, конечно, будете давать) из спецификации требований (техническое задание) и проектной документации к Ирбис. В основном мне нужна инфа по таблицам БД IBIS и CMPL.
Спасибо.

Re: Объединение нескольких баз данных
Пользователь: Карауш (IP-адрес скрыт)
Дата: 04, April, 2006 19:42

В иерархических СУБД все не так просто, как в реляционных.
Структура IBIS соответствует в большинстве - UNIMARC. Найти информацию по полям и подполям IBIS и CMPL можно в приложении 1 Системы ИРБИС.

Хотя я не понял, что Вы желаете сделать, поскольку если все записи со ссылками на другие записи "добавить" в одну БД, то там как раз все и получится нормально, т.к. перекрестные ссылки будут в рамках одной базы.
Если же Вы желаете "слить" записи, т.е. получить одну запись из нескольких разных записей (убрать дублеты), то это задача нетривиальная и нужно смотреть дополнительно, что же Вы желаете все-таки сделать.

Re: Объединение нескольких баз данных
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 04, April, 2006 19:42

Для начала рекомендую эту ссылку
[irbis.gpntb.ru]

Если воспользоваться поиском по форуму, тоже полезного найти можно. Вот сначала прочитайте, а затем задавайте более обдуманные вопросы :).

Re: Объединение нескольких баз данных
Пользователь: [GS]Aero (IP-адрес скрыт)
Дата: 05, April, 2006 09:05

Ответ г-ну Караушу:
В библиотеке на нескольких компах не зависимо друго от друга велись БД, теперь у нас появилась сеть, т.к. база данных должна быть одна, возникла необходимость объеденить все БД, которые велись на этих компах, в одну БД.
Пример (упрощенный, но понятный для понимания моей проблемы): у нас есть 3 компа, на компе №1 хранитсь N записей в БД, на компе №2 хранится M записей, отличных от записей на компе №1; надо объеденить записи из БД на компах №1,2 на комп №3, где количество записей будет N+M, и все будут уникальные, т.к. на компах №1,2 хранились разные записи, т.е. на компе №1 были методички по физике, а на компе методички по химии, тогда на компе №3 будут методички и по физике, и по химии.
Так вот, чтобы объеденить БД, мне нужна структура самой БД и структура каждой таблицы; т. к. мне нужно объеденить только БД IBIS и CMPL, соответственно мне нужна структура таблиц этих БД.
Смотрел приложение, не совсем то, что мне нужно. Мне нужна структура таблиц, где указано название поля,его тип и размер, а также схема связи таблиц в БД, на которой будет виден тип связи, идентификатор, и соответственно опять же структура таблиц. И еще, так как Ирбис написан на Дельфи, мне нужна стурктура записей, посредством которых, как я думаю, происходитс чтение из файла. Все это мне надо, чтобы правильно читать файлы БД.

Ответ г-ну Паневу Максиму:
Вы не так поняли меня, см выше.

Re: Объединение нескольких баз данных
Пользователь: Куделя (IP-адрес скрыт)
Дата: 05, April, 2006 10:18

Зачем же так сложно? Если массивы записей у вас не пересекающиеся, то не проще ли выгрузить БД с комп. 1 и 2 в файлы ISO без использования ТВП и загрузить их в БД на комп №3.

Re: Объединение нескольких баз данных
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, April, 2006 10:53

2[GS]Aero.
Я как раз правильно вас понял, поскольку
"Мне нужна структура таблиц, где указано название поля,его тип и размер, а также схема связи таблиц в БД, на которой будет виден тип связи, идентификатор, и соответственно опять же структура таблиц"
Полный бред. К базам ISIS эти термины не имеют никакого отношения. ISIS НЕ РЕЛЯЦИОНЕН.
Если вам лень читать и разбираться, так и скажите. И пока вы будите настаивать на своих "связях" (REFERENCES) и "таблицах" (TABLE) конструктивного диалога не получится!!!

Re: Объединение нескольких баз данных
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 05, April, 2006 13:33

Некоторые сведения о физической структуре базы, а так же интерфейсы функций для доступа к ней можно найти в описании библиотеки ISIS32.DLL
[library.tomsk.ru]
Но, как справедливо заметил Максим, понятийный аппарат, применяемый для описания реляционных баз данных, здесь совершенно непригоден, поскольку никаких реляционных связей в базах ISIS нет.
Реляционность «эмулируется» некоторыми функциям ИРБИС скрипта, но эти функции используются разработчиками крайне неохотно. Например, когда с библиографическим описанием требуется связать информацию из базы VUZ(Учебные данные), то они просто копируется в него в неизменном виде. Никакие реляционные связи при этом не используются.
Что касается объединения CMPL и IBIS, то лучше всего воспользоваться для этого функцией Комплектатора «Перенос в ЭК». Записи перенесутся из CMPL в IBIS и их структура будет незначительно изменена.
Очень советую посмотреть результат экспорта любой базы в текстовый формат, а так же прочитать первые главы описания библиотеки ISIS32.DLL. Мне кажется, что в вашем случае вполне можно обойтись без написания «проги». ;)

Re: Объединение нескольких баз данных
Пользователь: [GS]Aero (IP-адрес скрыт)
Дата: 06, April, 2006 16:03

Спасибо г-ну Куделя, все понял!

Re: Объединение нескольких баз данных
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, April, 2006 19:31

Максиму Викторовичу, конечно, спасибо, только не хотелось бы, чтобы вы считали Ирбис реляционным.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.