Программа предназначена для интерактивного редактирования содержимого произвольных таблиц локальной базы данных. Обеспечиваются следующие возможности:
Программа может использоваться для изменения содержимого таблиц ЛБД и заголовков трасс, полученных в результате работы любых программ пакета. Таблицы и модификации, создаваемые программой пригодны для использования в прикладных и системных программах пакета.
Программа позволяет удалять таблицы ЛБД, модификации, а также блокировки, созданные любыми программами пакета.
Поскольку программа позволяет решать разнообразные задачи по управлению локальной базой данных, ниже приводится описание типовых операций, потребность в которых возникает в повседневной работе.
Основными объектами интерактивного взаимодействия являются главное окно редактора ЛБД и окна графического и табличного редакторов.
Главное окно служит управляющим центром. Из него доступны основные полнотабличные операции. Оно служит также для выбора рабочего проекта.
Табличный и графический редакторы могут использоваться как раздельно, так и совместно. Во втором случае их содержимое автоматически синхронизируется. Программа позволяет запустить только одно окно табличного и одно окно графического редакторов. При этом редактируется всегда одна и та же таблица ЛБД.
Внимание! Все операции редактирования текущей таблицы осуществляются в оперативной памяти. Для сохранения результатов редактирования на диске надо явно сделать соответствующие действия (смотри пп. 3.1.1.5). Автоматически сохраняются только созданные (смотри пп. 3.1.1.1) таблицы. Если содержимое открытой таблицы на диске изменилось (в результате работы другой программы), а пользователь хочет редактировать новый вариант, надо закрыть таблицу (пункт меню главного окна File -> Close dbt), потеряв сделанные изменения, а потом открыть таблицу заново.
При операциях с диском (создание, открытие, удаление, слияние, сохранение с другим именем, экспорт) важно иметь в виду, в каком проекте проводится операция. Поскольку в момент открытия (или создания), таблица ЛБД привязывается к текущему на момент операции проекту, возможно потом изменить текущий проект. При этом пользователь получает, кроме очевидных, следующие возможности:
Далее текущим называется проект, выбранный последним. Рабочим называется проект, в котором находится открытая в настоящий момент таблица ЛБД.
Все полнотабличные операции определены для проекта, поэтому перед любой из них надо определить текущий проект. Это делается выбором пункта меню главного окна File -> Project.
Осуществляется выбором пункта меню главного окна File -> Create dbt. Пользователю предлагается выбрать из списка тип создаваемой таблицы, а затем задать имя таблицы. При этом следует учитывать различия в именах таблиц данных и таблиц-списков.
Если в редакторе уже открыта какая-либо таблица, ее надо предварительно закрыть (пункт меню главного окна File -> Close dbt), сохранив, если нужно, результаты редактирования.
Таблица данных имеет имя вида VSP.wellname.sp.TABLETYPE.mod, где wellname - имя скважины, к которой имеет отношение создаваемая таблица (символьное имя из латинских букв, цифр и символов подчеркивания и минуса), sp - номер пункта взрыва, к которому имеет отношение создаваемая таблица (ненулевое положительное число не больше 9999), TABLETYPE - тип таблицы (запрещается изменять), mod - номер таблицы, используемый для того, чтобы отличать одну таблицу данного типа от другой (ненулевое положительное число не больше 9999).
Таблицы-списки имеют имя вида VSP.TABLETYPE, причем как правило TABLETYPE заканчивается на LIST (например, FBLIST). Как видно, в проекте не может быть двух разных таблиц-списков одного типа.
Осуществляется выбором пункта меню главного окна File -> Open dbt. Дальше в подменю пользователю предлагается путь выбора таблицы и режим открытия (для просмотра view only и для изменения modify). Путей выбора таблицы несколько:
Это наиболее предпочтительный способ загрузки данных, так как пользователь при выборе таблицы из списка видит дополнительную описательную информацию, характеризующую таблицу. Имя таблицы-списка обычно начинается теми же буквами, что и тип таблицы данных, а заканчивается словом LIST. Например, таблица-список годографов имеет имя VSP.FBLIST, а таблицы данных, ссылки на которые хранятся в списке - имена VSP.*.*.FBINFO.*.
Если в редакторе уже открыта какая-либо таблица, ее надо предварительно закрыть (пункт меню главного окна File -> Close dbt), сохранив предварительно, если нужно, результаты редактирования.
Осуществляется выбором пункта меню главного окна File -> Delete dbt. Дальше в подменю пользователю предлагается путь выбора объекта данных, который треьуется удалить. Доступные способы:
В первом случае пользователь сначала выбирает таблицу-список из числа доступных в проекте, а затем выбирает строку в этой таблице. Сначала удаляется выбранная строка из таблицы списка, а затем таблица, на которую эта строка указывает (значение указателя в столбце DTBSPTR).
Во втором случае пользователь просто выбирает имя таблицы, которую он хочет удалить.
Осуществляется выбором пункта меню в окне табличного редактора File -> Merge dbt. Дальше в подменю пользователю предлагается путь выбора таблицы из таблицы-списка (пункт from list) или из всех таблиц текущего проекта (пункт as file). Содержимое выбранной таблицы построчно добавляется в к конец редактируемой таблицы. При этом не учитывается какие столбцы были избраны для редактирования.
Возможны два варианта сохранения содержимого таблицы:
Если открытой таблицей ЛБД является модификация, то количество трасс и их порядок в модификации после сохранения не изменятся несмотря на проведенные пользователем изменения.
Следует отметить, что имя и рабочий проект текущей таблицы не изменится. Зато если перед копированием изменить текущий проект, то сохрание будет осуществлено в него. Так можно копировать таблицы ЛБД и модификации в другой проект.
Кроме того, если открытая таблица является заголовками модификации, то при копировании трассы в новой модификации будут идти в том порядке, в котором их упорядочил пользователь. Если пользователь удалил или создал строки в процессе редактирования, то это изменит число строк в новой модификации по сравнению с исходной. Тела трасс будут соответствовать трассам в исходной модификации, взятым по индексам INDEX (смотри описание специального поля INDEX).
После того, как таблица открыта или создана для того чтобы внести в нее изменения, необходимо выбрать столбцы для редактирования. Это сделано для локализации внимания пользователя, поскольку в прикладных таблицах может быть много столбцов и работать со всеми ними одновременно может быть неудобно.
В рабочей области главного окна программы имеются два списка, обозначенные Unselected columns и Selected columns соответственно. Сразу после открытия таблицы левый список содержит имена и типы всех столбцов открытой таблицы, а правый список пуст. С помощью расположенных между списками управляющих кнопок пользователь может перемещать столбцы из левой колонки в правую и обратно. Столбцы, оказавшиеся в правой колонке считаются избранными для редактирования. Среди них с помощью кнопки Arg-> пользователь должен выбрать столбец аргумента. Столбец аргумента помечен в правом списке символом Arg. Этот столбец считается аргументом, в то время как все остальные столбцы рассматриваются как функции этого аргумента. Например, в случае загрузки таблицы годографа первого вступления аргументом логично избрать ZOP - глубину точки приема.
Для сохранения содержимого таблицы в текстовом файле надо выбрать пункт меню окна табличного редактора File -> Export -> ASCII file. В появившемся диалоговом окне надо задать имя выходного файла (кнопка Select или текстовое поле левее нее). В зависимости от назначения целевого текстового файла можно настроить с помощью представленных в диалоговом окне средств.
Наиболее типичны два варианта настройки:
Если целевой текстовый файл предполагается использовать в MS DOS, MS Windows или MS Windows NT, можно включить опцию DOS text file convensions. В этом случае текстовый файл будет корректно восприниматься всеми программами в указанных ОС.
В том случае, если некоторые программы завершились некорректно и не освободили заблокированные для работы объекты данных, для дальнейшей работы с ними надо снять блокировки. Это можно сделать с помощью диалоговой панели, вызываемой пунктом меню File -> Delete dbt -> lock.
Блокировки могут быть эксклюзивными Exclusive (исключающими любой доступ к объекту) и разделяемыми Sharable (позволяющими иметь доступ по чтению нескольким программам).
Эксклюзивные блокировки при нормальной работе программ очень короткие - их время жизни, как правило, меньше секунды. Если такая блокировка живет дольше, скорее всего это зависшая блокировка и она будет мешать осуществлять доступ к объекту данных. Ее следует удалить вручную.
Разделяемые блокировки существуют до тех пор, пока программа осуществляет доступ к данным. Внимание! Если удалить разделяемую блокировку пока программа продолжает пользоваться объектом данных, это может привести к потере данных.
В табличном редакторе (вызывается выбором пункта меню Edit -> Table editor главного окна программы) можно редактировать произвольные столбцы таблиц ЛБД (с учетом общих ограничений, изложенных в пп. 4.2). Табличный редактор является более мощным с точки зрения допустимых операций и их общности по сравнению с графическим.
Из окна табличного редактора осуществляется экспорт данных в текстовый файл и объединение данных однотипных таблиц ЛБД.
В табличном редакторе (в отличие от графического) можно измененить количество строк в таблице и содержимое каждой ячейки.
Самой левой колонкой табличного редактора является колонка столбца-аргумента (смотри пп. 3.1.1.6), а остальные столбцы идут в порядке списка Selected columns.
Если в программе одновременно запущены текстовый и графический редакторы, в текстовом редакторе запрещаются операции, изменяющие количество строк и столбец аргумента. Кроме того, в момент запуска графического редактора таблица ЛБД сортируется по возрастанию значения в столбце аргумента.
Обведена рамкой и в ней находится текстовый курсор. Сменить ячейку можно либо указав мышью на новую и нажав 1-ю кнопку мыши, либо с помощью клавиатуры, переводя рамку с ячейки на ячейку. Перемещения рамки текущей ячейки вверх-вниз осуществляется соответствующими стрелками на клавиатуре. Перемещения вправо - клавишей Tab, влево - одновременным нажатием Shift и Tab.
Если введенное в ячейку новое значение выло введено ошибочно и пользователь не успел нажать Enter или покинуть ячейку, верниться к предыдущему значению можно нажав клавишу Esc.
Если оказалось, что значение в ячейке не помещается и видна только его часть, пользователь может расширить эту колонку. Для этого надо нажать клавишу Shift на клавиатуре и 2-ю (среднюю) кнопку мыши в то время как указатель мыши должен находиться на вертикальной линии правой границы колонки. В момент нажатия курсор мыши изменится и пользователь сможет изменить ширину колонки по своему желанию. После этого кнопку мыши можно отпустить и колонка примет желаемую ширину.
Последняя строка табличного редактора в режиме изменения количества строк (когда графический редактор не запущен) имеет специальный индекс New и используется для ввода новой строки. Как только хотя бы одна ячейка в этой строке получает корректное синтаксически значение (в числовом столбце - число, в символьном - строка, в столбце указателя на таблицу ЛБД - указываемое имя), строка добавляется в таблицу, получая очередной индекс, а пустая строка с индексом New оказывается ниже.
Для осуществления групповых операций имеется возможность выделять нужные строки таблицы. Для этого надо нажать одновременно клавишу Ctrl и 1-ю (левую) кнопку мыши. При этом указатель мыши должен быть на выделяемой строке. Повторная операция отменяет выделение.
Нажатие 3-й (правой) кнопки мыши на поле табличного редактора вызывает всплывающее меню базовых операций, озаглавленное ROWS, поскольку операции действуют для строк таблицы.
Вставка осуществляется перед строкой текущей редактируемой ячейки. Операция Insert вставляет одну строку, а Insert # - заданное количество строк. Ячейки вставленных строк заполнены умолчательными значениями. Для числовых столбцов это - ноль, для символьных - пустая строка, для указателей - пустой указатель "VSP....".
Внимание! Ячейки в столбцах таблицы, не выбранные для редактирования, тоже получают умолчательные значения.
Операция Delete используется для удаления строк из таблицы. Если в таблице имеются выделенные строки, они удаляются. Если таких строк нет, удаляется строка текущей редактируемой ячейки. Новую строку New удалить нельзя.
Операция Duplicate # используется для размножения строки текущей редактируемой ячейки указанное количество раз. В таблицу вставляется заказанное количество копий текущей строки.
Внимание! Дублируются только значения в ячейках столбцов, выбранных для редактирования! В остальных столбцах размноженных строк будут умолчательные значения.
Для удобного выделения строк имеются следующие операции:
Для выполнения групповых арифметических операций над значениями в числовых столбцах таблицы имеется специализированный калькулятор, вызываемый выбором пункта меню Tools -> Calculator в окне табличного редактора.
Калькулятор позволяет применять формулу y=x*A+B к заданным строкам таблицы. Имеются следующие возможности для выбора строк:
В зависимости от потребности формула y=x*A+B может видоизменяться. В формуле y обозначает целевой столбец таблицы, x - аргумент операции (не обязательно столбец аргумента!), A, B - константы.
Варианты формулы задаются выбором аргумента.
Значения целевого столбца y получаются путем линейного преобразования (A,B) значений исходного столбца x.
Значения целевого столбца y изменяются по линейному закону (A,B).
Значениям целевого столбца y присваивается число B.
Значения целевого столбца y генерируются по линейному закону от номера выделенной или выбранной по значению аргумента строки i по порядку сверху вниз. В режиме All rows номером является индекс строки. i отсчитывается от 1.
При использовании калькулятора имеется возможность откатки изменений, вызванных последней операцией. Данная возможность вызывается кнопкой Undo диалогового окна калькулятора.
Для удобного ввода значений в ячейки по двойному нажатию 1-й (левой) кнопки мыши вызывается диалоговое окно, позволяющее выбрать значение из списка. Данная возможность имеется для символьных столбцов и столбцов указателей.
Если требуется отсортировать строки таблицы по значениям в колонках, можно воспользоваться имеющимся средством, которое вызывается выбором пункта меню Tools -> Sort lines в окне табличного редактора. При этом на экране появляется диалоговое окно.
В диалоговом окне пользователь может задать от одного до трех правил сортировки. Для задания правила нужно выбрать столбец, по которому будет производиться сортировка и указать, как будут сортироваться значения: по возрастанию или по убыванию.
Правила сортировки упорядочены по приоритетам: наибольший вес имеет первое правило (строки таблицы сортируются по нему). Внутри групп строк с одинаковыми значениями в столбце первого приоритета производится сортировка по правилу второго приоритета. Для правила третьего приоритета способ упорядочения по аналогии с правилом второго приоритета.
Если требуется упорядочить строки только в соответствии с одним критерием, кнопки для правил второго и третьего приоритета должны быть отжаты. Этот режим используется по умолчанию.
Иногда требуется повторить некоторое значение в столбце таблицы несколько раз. В том случае, если это число, для данной цели можно воспользоваться калькулятором. Однако, в случае значений других типов целесообразно воспользоваться специальным средством, которое вызывается выбором пункта меню Tools -> Replicator в окне табличного редактора. При этом на экране появляется диалоговое окно.
В диалоговом окне пользователь должен задать столбец, в котором будет продублировано заданное значение, а также указать множество строк, в которых произойдет изменение. Доступны три способа задания множества строк:
Кроме того, можно еще более ограничить полученное множество строк указанием, как часто заданное значение дублируется в строках. Это можно сделать, введя число в поле Apply to each Nth row. Например, если требуется дублировать значение в каждую третью строку, следует указать число 3. По умолчанию стоит 1, что означает дублирование в каждую строку.
Операция дублирования может быть применена к таблице с закрытием диалогового окна (кнопка "OK") или без закрытия окна (кнопка "Apply"). В последнем случае пользователю доступна откатка операции дублирования (кнопка "Undo"). Получить краткую справку можно по нажатию кнопка "Help". Закрыть окно без изменения таблицы можно с помощью кнопки "Cancel".
Графический редактор предназначен для визуализации и визуального редактирования числовых столбцов таблицы ЛБД. Он вызывается выбором пункта меню Edit -> Graphics editor главного окна программы.
Графический редактор имеет ряд требований и ограничений, перечисленных ниже. Из-за них он не может использоваться для редактирования произвольных столбцов.
Рабочая область графического редактора представляет собой поле с шкалами на котором визуализируются кривые. Ось аргумента проходит по вертикали. Каждая кривая окрашена в свой цвет и имеет собственную шкалу. Шкала аргумента черного цвета.
В графическом редакторе введено понятие активной кривой. Эта кривая рисуется толще остальных и на ней показываются узловые точки.
Курсор мыши в рабочей области сопровождается перекрестьем, позволяющим отслеживать текущее положение курсора на шкалах аргумента и активной функции. В трех полях внизу окна графического редактора текущее положение курсора отслеживается в числах. В них выдается:
Чтобы сменить активную кривую достаточно нажать левую кнопку мыши в то время как ее курсор находится на шкале выбранной новой кривой.
Задание диапазона визуализации по аргументу (Page: top/bottom) осуществляется в диалоговом окне, вызываемом при выборе пункта меню Options -> Pane's tuner.
Задание диапазона визуализации по функции (Page: top/bottom) осуществляется в диалоговом окне, вызываемом при выборе пункта меню Options -> Curve's tuner.
Кривые (зависимости столбцов-функций от столбца аргумента) могут изображаться с линейной интерполяцией между узловыми точкими или без интерполяции - ступенчато. По умолчанию используется визуализация с интерполяцией. Изменить способ отрисовки (Linear curve или Stairs curve) можно в диалоговом окне, вызываемом при выборе пункта меню Options -> Curve's tuner.
Для изменения направления осей можно воспользоваться подменю View -> Flip, в котором предлагается:
Для того, чтобы после изменения пределов визуализации быстро вернуться к нормальному диапазону изменения аргумента или функции, можно воспользоваться подменю View -> Fit, в котором предлагается:
Для изменения шага градуировки шкалы (он же - шаг сетки) аргумента и функций надо ввести новое значение шага в поле Grid step диалогового окна Pane's tuner и Curve's tuner соответственно.
Для перехода в режим редактирования надо выбрать пункт меню View -> Edit mode и левой кнопкой мыши устанавливать новое положение узловых точек.
Для увеличения/уменьшения масштаба изображения в рабочей области графического редактора используются режимы увеличивающей и уменьшающей лупы. Эти режимы активируются пунктами меню View -> Zoom in mode и View -> Zoom out mode соответственно. В режиме лупы пользователь выбирает прямоугольную область мышью, нажав левую кнопку для фиксации одного угла и отпустив ее в другом углу выбранной области. После отпускания область визуализации изменится соответственно.
Если пользователь в момент выбора резиновым прямоугольником решил отказаться от операции, для этого ему надо нажать 3-ю (правую) кнопку мыши, а потом уже отпускать 1-ю. В этом случае изменения пределов визуализации не произойдет.
Программа предоставляет возможность загрузить для просмотра и редактирования заголовки трасс указанной модификации. Заголовки загружаются в том порядке, в котором они идут в файле трасс. Внимание! При визуализации трасс в других программах пакета самая первая трасса визуализируется внизу, а самая последняя по порядку - вверху поля трасс.
К редактированию заголовков следует относиться осторожно, так как неудачные исправления могут сильно повлиять на работу программ с этой модификацией и с данными, полученными по ней.
При изменении порядка строк в загруженной таблице заголовков (например, в результате сортировки) реально порядок трасс в этой модификации не меняется. Если поменять местами значения в ячейках столбца INDEX, то при сохранении модификации (File -> Save dbt) эти трассы поменяются не местами, а заголовками.
При копировании изменений (File -> Copy dbt to) интерпретация заголовков несколько иная. При копировании трассы записываются в том порядке и количестве, в котором идут заголовки. Тело трассы берется из исходной модификации с указанным в INDEX номером. Если трассы с таким номером в исходной модификации нет, записывается пустре (нулевое) тело трасс.
Программа позволяет редактировать таблицы ЛБД с некоторыми ограничениями на типы колонок. Допускаются следующие типы колонок:
Программа позволяет редактировать как таблицы данных, так и таблицы-списки.
Поскольку паспортные данные хранятся в таблицах ЛБД, пользователь может осуществлять их редактирование с помощью данной программы как в табличном, так и в графическом режимах. Для того, чтобы не нарушить целостность структур данных паспорта, перед редактированием следует внимательно ознакомиться с их описанием (смотри документ "Описание паспорта данных ВСП").
Программа не позволяет менять структуру таблиц (добавлять или удалять колонки, менять их типы). В то же время содержимое таблицы в процессе редактирования может произвольно изменяться. Это касается числа строк и информационного наполнения ячеек.
Следует учитывать, что при графическом редактировании строки таблицы сортируются по возрастанию значения выбранного столбца аргумента. Даже если пользователь явно не изменял значения, порядок строк может оказаться другим. Поэтому если какая-либо прикладная программа требует определенного порядка строк во входной таблице ЛБД, пользователь должен это учитывать, если он решил предварительно отредактировать эту таблицу.
Смитри пп.4.3.
Программа позволяет составлять текстовый файл, пригодный для использования за пределами пакета UNIVERS. Способ получения такого файла изложен в пп.3.1.1.7 DBEDIT
Поддерживаемые платформы:
Для работы с программой необходимо определить переменную среды VSPHOME. Местом ее определения может быть файл setup или стартовый профиль пользователя. В файле setup определение этой переменной должно выглядеть, например, так (пробелы в строке не допускаются!):
VSPHOME=/home/vspгде /home/vsp - корневой каталог пакета UNIVERS. При инсталляции пакета корневой каталог может быть задан другим путем.
Для работы программы в домашнем каталоге пользователя должны присутствовать следующие файлы: setup, .sdscolor или $VSPHOME/etc/univers.zcp.
Для корректной работы пользовательского интерфейса программы необходим файл ресурсов DBEDIT, который должен находиться в домашнем каталоге пользователя или в путях поиска в переменной окружения XFILESEARCHPATH или XAPPLRESDIR. Обычное местонахождение файла DBEDIT - каталог $VSPHOME/app-defaults. В этом случае переменная XFILESEARCHPATH должна включать в себя следующий элемент поиска:
...:$VSPHOME/app-defaults/%N:...Или переменная XAPPLRESDIR должна быть определена как
XAPPLRESDIR=$VSPHOME/app-defaults