Инструментальная Система Управления Базами Данных руководство пользователя

Вид материалаРуководство пользователя

Содержание


11. Массовая коррекция 11.1. Понятие массовой коррекции. Вызов рабочего окна «Массовая коррекция».
11.2. Описание действия (режима) массовой коррекции
Добавить значение
Заменить значение
Удалить значение целиком/Очистить поле
Массовая замена
Копирование в поле.
Подобный материал:
1   ...   26   27   28   29   30   31   32   33   ...   53

11. Массовая коррекция

11.1. Понятие массовой коррекции. Вызов рабочего окна «Массовая коррекция».


Со временем, информация, хранящаяся в Вашем банке данных, может измениться. Например, человек может поменять фамилию или адрес проживания; сам адрес может быть изменен – переименуют район или город; организация может сменить название и т.д. В таких ситуациях требуется корректировать информацию в банке. Иногда достаточно просто найти нужную запись и изменить хранящиеся в ней данные. Но может возникнуть ситуация, когда, например, из-за переименования города, потребуется провести однотипную коррекцию несколько десятков (и более) записей. Причем в каждой записи будет изменяться значение одного и того же поля (например, название города). В этом случае, коррекция «вручную», т.е. последовательный поиск каждой такой записи и ее изменение, потребует больших временных затрат.

В ИСУБД «CronosPlus», для решения подобных проблем, предусмотрен специальный режим – массовая коррекция. Этот режим доступен при работе с результатами запроса и позволяет производить изменения сразу над всеми отобранными записями корневой базы запроса. При этом могут корректироваться значения только простых полей.

Как Вы уже знаете, результаты выполнения запросов выводятся на экран в рабочем окне результатов запроса (см. Рис. 9.3), которое имеет собственную панель инструментов, предназначенную для работы с отобранными записями. Нажмите кнопку на панели инструментов. На экране появится рабочее окно «Массовая коррекция» (см. Рис. 11.1).



Рис. 11.1. Рабочее окно «Массовая коррекция».

Следует отметить, что массовая коррекция проводится только над отобранными в запросе записями. Поэтому для того, чтобы провести массовую коррекцию над всей базой данных, отберите в запросе все ее записи.

11.2. Описание действия (режима) массовой коррекции


В верхней части окна «Массовая коррекция» Вы видите два списка: «Список полей» и «Список действий». В первом из них перечислены все простые поля корневой базы запроса, с указанием названия, номера и типа (в виде иконки) каждого поля. А во втором – названия полей, значения которых будут корректироваться, с указанием действия (режима) массовой коррекции.

Каждое заданное условие коррекции (действие) занимает одну строку в «Списке действий». Если Вы хотите изменить какое-то из этих действий, выделите его в списке и нажмите кнопку «Изменить», расположенную ниже. На экране появится окно диалога «Описание действия» (см. Рис. 11.2), в котором Вы сможете внести необходимые изменения. Чтобы удалить действие, выделите его, а затем нажмите кнопку «Удалить».

Чтобы задать (описать) новое действие выделите в «Списке полей» название поля, значение которого необходимо откорректировать, и нажмите кнопку «Добавить». Вы также можете использовать клавишу или двойной щелчок левой кнопкой мыши. На экран будет выведено окно диалога «Описание действия» (см. Рис. 11.2).



Рис. 11.2. Окно диалога «Описание действия».

В этом окне необходимо описать режим массовой коррекции, т.е. задать вид действия, производимого над значением поля, и определить соответствующие параметры действия. В первую очередь, следует выбрать из списка вид действия, т.к. именно он определяет все остальные условия коррекции. Рассмотрим каждый из режимов более подробно.

Добавить значение


Если Вы выбираете вид действия «Добавить значение», то, при выполнении массовой коррекции, значения соответствующих полей (для записей, отобранных в запросе), будут дополнены. Это означает, что если корректируется кратное (множественное) поле, в него добавится еще одно, указанное Вами, новое значение. Если же корректируемое поле не множественное, новое значение будет добавлено только в том случае, когда это поле пустое, т.е. не имеет значения. В противном случае, изменения значения не произойдет.

На Рис. 11.2. в списке «Вид действия» выбрано «Добавить значение». Как Вы видите, в этом случае следует описать только один параметр – добавляемое значение, которое указывается в соответствующей строке. Если данное действие осуществляется над полем типа Словарное, справа от строки «Добавляемое значение» появится кнопка «Словарь».

Вы можете заполнить эту строку «вручную», указав код требуемого понятия, или воспользоваться словарем. Нажмите кнопку «Словарь». На экран будет выведено соответствующее окно диалога (см. Рис. 5.13), в котором Вы можете выбрать нужное понятие. О том, как работать со словарем, рассказано в разделе 5.3. (см. «Ввод значений Словарных полей (тип Словарное)»).

После нажатия кнопки «ОК», окно диалога «Описание действия» будет закрыто, а «Список действий» окна «Массовая коррекция» дополнится введенным условием.

Пример. В банке «Primer» есть база данных «Организация». Предположим, что для всех организаций, сферой деятельности которых является проведение финансовых и экспортно-импортных операций, в кратном текстовом поле «Основной вид деятельности» необходимо добавить значение «Внешнеэкономическая деятельность».

Сначала следует выполнить запрос, в результате которого будут отобраны все записи базы «Организация», в которых Словарное поле «Сфера деятельности» содержит значение «финансовые и экспортно-импортные операций»; а затем вызвать режим массовой коррекции.

В «Списке полей» нужно выбрать поле «Основной вид деятельности» нажать кнопку «Добавить». В появившемся окне диалога следует выбрать вид действия «Добавить значение», а в строке «Добавляемое значение» ввести «Внешнеэкономическая деятельность».

Заменить значение


В окне диалога «Описание действия» Вы можете заменить одно значение поля на другое. Для этого выберите в списке вид действия «Заменить значение» (см. Рис. 11.3).



Рис. 11.3. Окно диалога «Описание действия». Вид действия «Заменить значение».

Введите старое (которое должно быть изменено) и новое значения поля в соответствующих строках. Как и при добавлении значения, если поле имеет тип Словарное, строки «Старое значение» и «Новое значение» могут быть заполнены как «вручную», так и из словаря.

Как Вы видите на Рис. 11.3., в области «Значение поля» установлен флажок «Контекст». Это означает, что замена может производиться не только для всего значения поля сразу, но и для отдельных частей значения.

Пример. Возникла необходимость (для базы данных «Адрес» банка «Primer») в поле «Населенный пункт», заменить значение «Калинин» на значение «Тверь». Выполнив запрос и вызвав режим массовой коррекции, выберите в списке корректируемое поле. В появившемся окне выберите из списка коррекции «Заменить значение».

В строке «Старое значение» введите «Калинин», а в строке «Новое значение» «Тверь». В процессе массовой коррекции, система произведет замену значения «Калинин» на «Тверь» в соответствующих полях отобранных записей.

Если Вы установите флажок «Контекст», то замена будет произведена даже, когда поле содержит значение, отличающееся от заданного в строке «Старое значение», но включающее слово «Калинин». Например, значение «город Калинин» будет заменено на «город Тверь». Т.е. одна часть значения поля (не совпадающая с заданным значением) – «город», не изменится. А другая (совпадающая) – «Калинин», будет заменена на значение, заданное в строке «Новое значение» – «Тверь».

Удалить значение целиком/Очистить поле


Вы можете удалить некоторое значение в выбранном поле. Установите вид действия «Удалить значение целиком» и введите удаляемое значение в строке «Старое значение» (см. Рис. 11.4).

В этом случае, при выполнении массовой коррекции, значения соответствующего поля, совпадающие с заданным, будут удалены. Данный вид действия, как и при замене значения, допускает использование флажка «Контекст».

Вид массовой коррекции «Очистить поле» не требует задания никаких других параметров. Будет произведено удаление всех значений указанного поля.



Рис. 11.4. Окно диалога «Описание действия». Вид действия «Удалить значение».

Массовая замена


Может возникнуть ситуация, когда потребуется многократная замена нескольких значений поля на другие. Например, для нескольких городов потребуется заменить одно название на другое. Если использовать в этом случае вид действия «Заменить значение», придется провести множество однотипных действий: заменить «Калинин» на «Тверь», заменить «Ленинград» на «Санкт-Петербург», заменить «Свердловск» на «Екатеринбург» и т.д. Это может занять много времени.

В подобном случае целесообразно воспользоваться таким видом массовой коррекции как «Массовая замена» (см. Рис. 11.5). Это позволит, за одно действие изменить различные значения одного поля.



Рис. 11.5. Окно диалога «Описание действия». Вид действия «Массовая замена».

Условия массовой замены задаются в текстовом файле. В строке «Имя файла» укажите адрес на диске предварительно подготовленного файла. Этот файл должен содержать перечень подлежащих замене и новых значений корректируемого поля, через специальный разделитель значений. Разделитель значений должен быть указан в соответствующей строке окна диалога «Описание действия». Как видно на Рис. 11.5., в данном случае, в качестве разделителя используется символ «-». Различают два типа замены «Новое – старое» и «Старое – новое». В зависимости от этого, текстовый файл может иметь следующий вид:

<новое значение> – <старое значение>




<старое значение> – <новое значение>

<новое значение> – <старое значение>

или

<старое значение> – <новое значение>

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<новое значение> – <старое значение>




<старое значение> – <новое значение>

Вы сами решаете, каким образом задавать условия коррекции в файле. Однако Вам следует указать какой тип замены должен использоваться «Новое – старое» или «Старое – новое». Сделать это можно, выбрав в списке «Тип замены» соответствующее значение.

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

В окне диалога «Описание действия» Вы можете установить флажок «Удалять кратные пробелы». В этом случае, если в файле, содержащем условия коррекции, между словами используется больше одного пробела (например, «Набережные Челны»), все кратные, т.е. лишние пробелы будут удалены («Набережные Челны»). И, следовательно, новое значение поля не будет содержать кратных пробелов.

Пример. Рассмотрим ситуацию, когда для нескольких городов требуется заменить одно название на другое. Необходимо предварительно создать текстовый файл следующего вида:

Калинин – Тверь

Ленинград – Санкт-Петербург

Свердловск – Екатеринбург

................

Ульяновск – Симбирск

Затем нужно отобрать, с помощью запроса, все записи базы «Адрес» (например, банка «Primer») и вызвать режим массовой коррекции. Из списка полей следует выбрать поле «Населенный пункт». После нажатия кнопки «Добавить», на экране появится окно диалога «Описание действия». Задайте вид коррекции – «Массовая замена».

В появившейся строке «Имя файла», необходимо задать адрес предварительно подготовленного файла, который содержит условия коррекции значений. Сделать это можно с помощью кнопки «Найти», которая вызовет на экран стандартное окно «Открытие файла». Чтобы просмотреть/изменить содержимое указанного файла, вызовите встроенный в систему текстовый редактор, нажав кнопку «Изменить». В строке «Тип замены» следует выбрать значение «Старое – новое», т.к. рассматриваемый файл замены создан в виде старое значение- новое значение.

Копирование в поле.


Если Вы установите флажок «КОПИРОВАНИЕ», на экран будет выведено окно диалога «Копирование в поле» (см. Рис. 11.6). С помощью данного режима Вы можете скопировать в одно поле корневой базы запроса значения другого поля (полей) этой или другой базы данных.

Окно диалога «Копирование в поле» (см. Рис. 11.6) состоит из двух частей: дерева структуры корневой базы запроса («Дерево полей банка») и списка выбранных полей («Выбранные поля»).

В дереве структуры приведены все поля корневой базы (кроме того, в которое будут копироваться значения). Напротив каждого простого поля Вы можете установить флажок. В этом случае название соответствующего поля появится в списке выбранных полей. Используя (раскрывая) перечисленные в дереве сложные поля, Вы можете «переходить» к связанным базам данных, а затем устанавливать флажки напротив простых полей связанных баз. Таким образом, в выбранное поле могут быть скопированы значения простых полей других баз данных. Вы можете выбрать не только одно поле, значения которого будут скопированы, но и несколько.

Обе части окна «Копирование в поле» имеют свои панели инструментов. С помощью кнопок , Вы можете активизировать одну из частей окна. Кнопка предназначена для удаления поля из списка и для отключения соответствующего флажка (в соответствии с областью, в которой она используется). С помощью кнопок и или комбинации клавиш и соответственно Вы можете менять порядок следования полей в списке «Выбранные поля».



Рис. 11.6. Окно диалога «Копирование в поле».

Если поле, в которое будут копироваться значения, кратное (множественное), по умолчанию, значение каждого из выбранных полей станет новым значением кратного поля. Вы можете установить флажок «Объединять значения полей». В этом случае, значения всех выбранных полей скопируются как одно новое значение кратного поля. В строке «Разделитель» следует указать символ (символы), с помощью которых копируемые значения полей будут отделены друг от друга.

В случае, когда поле, в которое копируются значения не кратное, необходимо указать разделитель, так как копируемые значения будут в любом случае объединены в одно (с использованием указанного разделителя). По умолчанию, в качестве разделителя, используется «пробел». После того, как описаны все параметры копирования, нажмите кнопку «Выполнить», расположенную в нижней части окна диалога «Копирование в поле». Это окно будет закрыто, а «Список действий» окна «Массовая коррекция» дополнится новым действием.