logo

2.2.5. Выбор данных из таблиц

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

Поиск данных в таблицах выполняется программой «XSEL.EXE» из состава ИКС. Эта программа предназначена также для выполнения операций проекции и соединения таблиц. Командная строка запуска программы имеет следующий вид:

XSEL [<ключи>] <файл условия отбора> <входной файл> <выходной файл>

Ключи:

-dis - только различные записи;

-l[:<файл листинга>] – запрашивается файл листинга;

-p:<файл параметров>[:<имя таблицы>];

-s:<список таблиц>;

Формирование таблицы результатов по установленным правилам отбора из НСИ осуществляется следующим образом (рис.2.3.).

Рис. 2.3. Схема работы с таблицами данных

Файл, содержащий логическое выражение условия отбора определяет какие значения из таблицы НСИ, должны быть включены в выходную таблицу. Значения из текущей строки таблицы исходных данных и таблицы НСИ составляют набор атрибутов, которые участвуют в записи логического выражения. Если в ходе проверки установлено, что логическое выражение – истина, то из данного набора значений атрибутов формируется строка таблицы результатов. Все таблицы, участвующие в отборе, должны быть определены в списках таблиц и отношений.

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

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

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

Табл. 2.2. Операции, используемые в выражениях

Арифметические операции:

Операции сравнения:

Логические операции:

- - унарный минус;

+ - сложение;

- - вычитание;

* - умножение;

/ - деление;

** - возведение в степень

== - равно;

!= - не равно;

> - больше;

>= - больше или равно;

< - меньше;

<= - меньше или равно;

&& - логическое “и” (конъюнкция);

|| - логическое “или” (дизъюнкция);

! - отрицание.