Мегаобучалка Главная | О нас | Обратная связь


Тема 2. Языковая среда реляционных СУБД



2015-11-11 660 Обсуждений (0)
Тема 2. Языковая среда реляционных СУБД 0.00 из 5.00 0 оценок




Реляционные СУБД (РСУБД) используют реляционную модель данных и представляют данные табличном виде. Под БД в различных РСУБД понимается табличное хранение данных, но название “база данных” может объединять не только таблицы, но и производные этих таблиц (в виде отчетов, форм, виртуальных таблиц – представлений), формы запросов, программные модули и т.д.

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

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. Языковые средства предназначены для общения пользователей с БД. Они служат для описания различных компонент, для обращения к нужным частям БД и т.д. В СУБД в соответствии с функциональными требованиями систем баз данных, операторы описания и процедурные операторы можно разделить и представить в виде таких языков, как языки описания данных и языки общения с базой данных.

Языки описания данных (ЯОД) – Data Definition Language (DDL), используются для логического описания данных и должны выполнять следующие функции: идентифицировать тип данных, присваивать уникальное имя каждому типу элемента данных, определять ключи, специфицировать порядок вхождения одних данных в другие, устанавливать отношения между данными. Среди них можно выделить языки описания схем, языки описания подсхем, языки описания структуры хранения, языки описания внешних данных.

Языки описания схем (SDL – Schema Definition Language) позволяют описывать логическую структуру данных со всеми взаимосвязями.

Языки описания подсхем устанавливают соответствия между логическим описанием данных в схеме и данными, требуемыми пользователем.

Языки описания структуры хранения данных описывают методы адресации и индексирования, способы размещения данных, способы доступа к ним, способы управления памятью и т. д.

Языки описания внешних данных используются крайне редко, существуют лишь в некоторых неалгоритмических языках высокого уровня.

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

Базовый язык – это язык программирования, использованный для создания СУБД.

Язык манипулирования данными (ЯМД) – Data Manipulation Language (DML), обеспечивает интерфейс между пользователем и СУБД. Если манипулирование данными встраивается в базовый язык, тогда базовый язык является языком программирования СУБД. В настоящее время используются так называемые автономные языки программирования, в которые встраиваются ЯМД, что облегчает процесс программирования.

Языки запросов – терминальные языки, которые обеспечивают взаимодействие с СУБД специалистов – непрограммистов (например, язык запросов SQL).

В современных СУБД это деление является чисто функциональным. Обычно при реализации операторы ЯОД и ЯМД объединяются в единую языковую среду и поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных.

Язык программирования баз данных xBase относится к языкам четвертого поколения 4GL (4 Generation Language), и используется в реляционных настольных dBase-подобных СУБД. Родоначальником семейства dBase-подобных СУБД является СУБД dBase, предложенная фирмой Ashton-Tate в начале 80‑х годов. В это семейство, кроме СУБД dBase, входят системы управления базами данных, разработанные другими фирмами. Их объединяет входной dBase-подобный язык процедурного типа с некоторыми отличиями, известный как язык программирования xBase. Далее рассматриваются основные положения и команды языка программирования xBase, так как он используется в любых реализациях dBase-подобных СУБД, в том числе и в объектно-ориентированных версиях с визуальными средствами программирования. Далее в случае наличия нескольких версий одной и той же команды, используемой в различных СУБД, описывается версия команды, реализованная в СУБД Visual FoxPro под ОС Windows. Visual FoxPro является одной из наиболее pаспpостpаненных и высокоскоростных локальных систем управления БД для персональных компьютеров и характеризуется умеренными требованиями к вычислительным ресурсам, что позволяет использовать ее на персональных компьютерах любого класса. В настоящее время существует несколько модификаций этой системы, ориентированных на работу в широком диапазоне, как операционных систем (от MS DOS до Unix), так и аппаратных платформ (от IBM PC и их аналогов до мини-ЭВМ типа VAX).

Команды манипулирования данными языка программирования xBase предназначены для работы с отношениями – таблицами данных, состоящими из полей (столбцов) и записей (строк). Таблицы хранятся в файлах данных, имена которых имеют расширение .DBF. Каждое полетаблицы имеет свое имя, тип, длину (количество символов в поле для одной записи) и точность– количество дробных знаков после запятой (для числовых полей). В различных dBase-подобных СУБД набор типов полей различается, но некоторые типы полей применяются во всех СУБД и не только dBase-подобных. К ним относятся следующие типы полей: символьный – Character (значение поля – любые символы, в том числе и буквы любого алфавита), числовой – Numeric или Float (значение поля – любые числа), дата – Date (значение поля – дата с указанием дня, месяца и года), логический – Logical (значение поля -.F.(False-ложь) или .T.(True-истина)), поле типа «примечание» - Memo.

Команды языка xBase можно использовать в двух режимах. Интерактивный режим работы – это работа в диалоговом режиме в интерактивной среде СУБД: команда – результат команды. Программный режим работы представляет собой выполнение в среде СУБД программ, написанных на языке программирования xBase. Все СУБД, использующие xBase, поддерживают встроенный язык управления данными SQL. Поэтому в программы xBase можно включать команды SQL.

В командах языка программирования xBase, так же как и в алгоритмических языках, могут использоваться прописные и строчные буквы алфавита и знак подчеркивания; десятичные цифры от 0 до 9; специальные символы, такие как +, -, *, **, ?, ! и т. д.

Предусмотрено выполнение четырех типов операций над выражениями:

· математические операции – сложение (+), вычитание (‑), умножение (*), деление (/), возведение в степень ( ** или ^ );

· логические операции - HЕ (.NOT.), И (.AND.), ИЛИ (.OR.);

· символьные опеpации - сцепление двух и более стpок символов (+), сцепление символьных строк с переносом замыкающих пробелов (‑), сравнение символьных строк ($),сравнение на полное тождество символьных строк(==);

· операции отношения – меньше ( < ), больше ( > ), pавно ( = ), не pавно (<> или !=), меньше или pавно ( <= ), больше или pавно ( >= ).

Логические операции и операции отношения дают логический результат .F. или .T. Они используются в командах языка программирования xBase для организации различных циклов, сравнений и переходов по условию. Приоритет выполнения логических операций следующий: NOT, .AND, OR.

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

Символьные константы в языке программирования xBase выделяются апострофами, кавычками или квадратными скобками. Константы типа даты заключаются в фигурные скобки, логические константы выделяются точками.

Большинство команд языка программирования xBase, обрабатывающих записи таблицы данных, в общем виде имеют следующую структуру (необязательные параметры команды выделены квадратными скобками):

ГЛАГОЛ [<диапазон>][<список_выpажений>] [FOR/WHILE<условие>],

где ГЛАГОЛ – команда; <диапазон> - область действия глагола; <cписок_выpажений> -фоpмулы, временные переменные памяти, имена полей таблицы данных, опеpатоpы, константы и т.д.; <условие> - условия команд FOR или WHILE. Допустимо сокращение составляющих команд до первых четырех символов. Квадpатные скобки отмечают необязательные паpаметpы. Символом «/» разделены взаимоисключающие параметры (см. FOR/ WHILE). FOR <условие> указывает, что действие команды распространяется внутри диапазона только на записи, удовлетворяющие заданному условию. WHILE <условие> означает выполнение команды до тех пор, пока указанное условие истинно.

Для указания диапазонадействия глагола используются следующие служебные слова: ALL (область действия – вся БД); RECORD <n> (область действия – n-я запись в файле таблицы данных); NEXT <z> (область действия – следующие z записей, начиная с текущей записи); REST (область действия – все записи, начиная с текущей записи и до конца БД).

Структура файла таблицы данных создается командой:

CREATE <имя_файла>

Введенное <имя_файла> - это имя таблицы данных (требования к именам файлов таблиц БД определяются операционной системой). Если имя таблицы данных не задано, то система выведет запрос на ввод имени создаваемой таблицы данных. Затем будет дана возможность задать параметры каждого поля таблицы данных: имя, тип, длина, количество дробных десятичных знаков и другие параметры поля.

При необходимости изменения структуры активной таблицы данных используется команда:

MODIFY STRUCTURE

При ее выполнении на экран выводится структура таблицы данных и предоставляется возможность ее изменения. Команда позволяет: добавлять новые поля, удалять поля, изменять имя поля, изменять тип поля, изменять размер поля. Чтобы вставить новое поле, курсор устанавливается на начало поля, перед которым делается вставка. При нажатии кнопки INSERT открывается новое поле, после чего производится определение его параметров. Для удаления поля курсор устанавливается на начало имени этого поля и нажимается кнопка DELETE. Запоминание новой структуры таблицы данных осуществляется при нажатии кнопки OK.

Команда ввода записей в конец таблицы БД имеет формат:

APPEND [BLANK]

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

После ввода команды APPEND на экране появятся имена полей. Информация, являющаяся значением того или иного поля, вводится напротив имени этого поля. Даты (по умолчанию) вводятся в американском формате mm/dd/yy, где mm-порядковый номер месяца; dd-порядковый номер дня в месяце; yy-две последние цифры года. Для заполнения поля типа Memo необходимо перейти из основного файла (*.DBF) в дополнительный файл (*.FPT). Для этого курсор устанавливается напротив имени поля типа Memo и одновременно нажимаются клавиши CTRL и HOME или выполняется двойной щелчок мыши. Происходит переход в дополнительный файл (*.FPT) и открывается свободное окно, где и набирается информация. Для возврата в основной файл (*.DBF) используется одновременное нажатие клавиш CTRL и W (^ W) или клавиша ESCAPE.

Можно вводить новые записи после текущей записи БД. Для этого используется команда вставки записей:

INSERT [ BEFORE ] [BLANK]

Работа с экраном при этом осуществляется аналогично работе с командой APPEND. Необязательный параметр BEFORE дает возможность вставить новую запись перед текущей записью. При использовании необязательного параметра BLANK в таблице данных автоматически добавляется одна пустая запись (после или перед текущей записью).

Для просмотра, редактирования, удаления имеющихся записей и добавления новых записей в активную таблицу данных используется команда BROWSE. Диапазоном действия команды по умолчанию является ALL (все), если отсутствуют необязательные параметры: <диапазон>, FOR <условие>. В качестве диапазона не используется параметр NEXT <z>.

Сокращенный формат команды представлен ниже:

BROWSE <диапазон> [ FIELDS <список_полей> ] [ FOR <условие>] [REST]

[FREEZE <имя_поля>] [LOCK <число_полей>] [NOAPPEND ] [NODELETE][NOEDIT|

NOMODIFY] [TITLE <текст_заголовка>]

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

Параметр FIELDS <список_полей> позволяет выводить только те поля таблицы данных, которые указаны в списке полей, и в том порядке, в котором они приведены в списке. В список можно включать поля из других связанных таблиц. Перед именем такого поля нужно ставить псевдоним соответствующей таблицы с точкой. Если предложение FIELDS опущено, будут отображены все поля таблицы в том порядке, в каком они расположены в рамках табличной структуры.

В списке полей можно указать любую комбинацию полей или вычисляемых полей.

FOR <условие> задает условие отображения в окне просмотра: отображаются только те записи, для которых значение указанного условия – «истина».

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

Параметр FREEZE <имя_поля> разрешает вносить изменения только в одно поле в окне просмотра. Это поле задается своим именем. Остальные поля только отображаются, но не могут редактироваться.

Параметр LOCK <число_полей> используется для указания количества полей в левой части экрана, которые не будут перемещаться при смещении экрана по полям БД. Эти поля останутся на экране для просмотра или редактирования.

Параметр NOAPPEND не позволяет вводить в таблицу новые записи. Параметр NOEDIT или NOMODIFY запрещает внесение изменений в записи таблицы, используется для предоставления пользователю возможности просмотра записей, предотвращая возможные повреждения БД.

Параметр NODELETE запрещает помечать записи на удаление в окне просмотра. По умолчанию, чтобы пометить запись на удаление, нужно нажать клавиши Ctrl+T, или выбрать команду Toggle Delete в меню Table в Visual FoxPro или в меню Browse в ранних версиях FoxPro или щелкнуть самый левый столбец удаляемой записи.

Параметр TITLE заменяет принимаемые по умолчанию имя или псевдоним таблицы, появляющиеся в строке заголовка окна просмотра, на <текст_заголовка>. Иначе в строке заголовка появится имя или псевдоним просматриваемой таблицы.

Команды редактирования CHANGE и EDIT имеют аналогичный формат. Отличие состоит в том, что записи представляются не в виде таблицы, а построчно – на экран поочередно выводится по одной записи. Ее представление на экране аналогично представлению записи при работе с командами APPEND и INSERT.

Удалениезаписей из активной таблицы данных обычно осуществляется в два этапа. Сначала удаляемые записи должны быть помеченыс помощью команды DELETE. Формат команды:

DELETE [<диапазон> ] [ FOR/WHILE <условие>]

Если параметр <диапазон> отсутствует, диапазоном по умолчанию является только текущаязапись. Если отсутствует параметр FOR <условие>, то все записи в пределах указанного диапазона помечаются для удаления. В противном случае помечаются для удаления записи, для которых выполняется заданное условие. Если в составе команды имеется параметр WHILE <условие>, пометка записей на удаление производится до тех пор, пока выражение <условие> истинно.

Помеченные записи физически удаляются командой PACK. Формат команды:

PACK

Команда PACK окончательно удаляет все записи в активном файле таблицы данных, помеченные для удаления командой DELETE. Пометка записей для удаления может быть отменена при помощи команды RECALL. Формат команды:

RECALL [ <диапазон> ] [ FOR/WHILE <условие>]

Параметры команды RECALL имеют аналогичное значение, что и для команды DELETE. Любая команда DELETE может быть отменена последующей командой RECALL. Команда RECALL может быть использована для отмены удаления, если по отношению к записям файла таблицы не были использованы команды PACK или ZAP.

Команда ZAP удаляет все записи из активной таблицы данных без предварительной пометки на удаление, оставляя структуру таблицу.

Формат команды:

ZAP

Команда ZAP аналогична использованию последовательно команд DELETE ALL и PACK. Записи, удаленные из активной таблицы данных командой ZAP, не могут быть восстановлены командой RECALL.

Основная литература: 1[12:13, 92:105], 4[5:14].

Дополнительная литература: 9[22:28].

Контрольные вопросы

1. Какие языковые средства можно выделить в составе СУБД.

2. Перечислите основные типы полей, применяемые в СУБД.

3. Какая команда позволяет создать или изменить структуру БД.

4. Какие команды позволяют добавлять записи в таблице данных.

5. Какие команды позволяют удалить записи в таблице данных.

 

Тема 3. Работа с файлами в СУБД.

Завершение работы с СУБД в языке программирования xBase осуществляется командой:

QUIT

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

Информацию об имеющихся файлах в системе можно получить, используя команду:

DIR [*.*]

При этом на экран монитора выводятся имена всех файлов с расширением. Если отсутствует необязательный параметр [*.*], то выводятся имена файлов, имеющих расширение .DBF. Необязательный параметр [*.*] позволяет выводить файлы, имеющие определенное расширение, если оно будет указано вместо «*» после точки (например, *.PRG; *.DBF; *.IDX и т. д.).

Аналогичную информацию можно получить, используя команды DISPLAY или LIST в определенном формате:

DISPLAY FILES [ON<дисковод/каталог>] [LIKE<шаблон>][TO PRINT]

или

LIST FILES [ON< дисковод / каталог > ] [LIKE <шаблон>][TO PRINT]

Этот формат используется для вывода списка файлов, сохраненных на диске <дисковод> или в каталоге <каталог>. Можно просмотреть все файлы или файлы, соответствующие приведенному трафарету <шаблон>. При отсутствии необязательных параметров ON <дисковод/ каталог> или LIKE <шаблон> будет выводиться список всех файлов баз данных с указанием количества записей и времени последней корректировки. Значение символов трафарета <шаблон> зависит от типа используемой операционной системы. Они различны для MS DOS, UNIX и т.д. Более подробную информацию по этому вопросу можно найти в руководстве по соответствующей операционной системе. Оператор TO PRINT используется для вывода информации о файлах на принтер.

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

USE <имя_файла_таблицы_данных>

При этом открытая ранее свободная таблица данных закрывается. При открытии таблицы, входящей в состав БД, автоматически открывается и БД, ее содержащая. Закрытие активной таблицы данных можно выполнить командой USE (без параметров).

Для перемещения в таблице данных используется так называемый внутренний указатель записи, в дальнейшем - указатель записи.

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

Для перемещения указателя записи используются следующие команды:

<n> - установить указатель записи на n-ю запись БД;

GOTO <n> - установить указатель записи на n‑ю запись БД;

GO TOP – установить указатель записи на первую запись БД;

GO BOTTOM – установить указатель записи на последнюю запись БД;

SKIP [k]/[-k] – переместить указатель записи на k (или –k) записей относительно его последней позиции.

Найти необходимые записи в активной таблице данных можно командой LOCATE:

LOCATE [<диапазон>] [ FOR/WHILE <условие>]

Эта команда выполняет поиск в указанном диапазоне первой записи, удовлетворяющей указанному условию, но найденную запись на экран не выводит. Просмотр найденной записи осуществляется другими командами (например, командой DISPLAY). Диапазоном по умолчанию является ALL (все).

Для продолжения поиска по указанному условию и в указанном диапазоне используется команда без параметров: CONTINUE.

С файлами можно выполнять различные операции: копировать, переименовывать, уничтожать и т.д.

Копировать можно как закрытый, так и открытый файл.

Команда копированияиз закрытого файла любого типа <файл1> в несуществующий файл <файл2> имеет формат:

COPY FILE < файл1 > TO < файл2>

Имена файлов должны быть указаны с расширением. При этом создается новый файл < файл2 >, являющийся копией файла < файл1>. Эта форма команды COPY не может быть использована с открытыми файлами.

Команда копирования из открытогофайла имеет формат:

COPY TO < файл > [< диапазон> ] [ FIELDS < список_полей > ]

[FOR/WHILE <условие > ] [ TYPE < тип_файла>]

В этом формате команды COPY данные копируются из активного в текущий момент файла таблицы данных в новый файл. Диапазоном действия команды по умолчанию является ALL. Если не указаны необязательные параметры FOR/WHILE <условие>, в файл копируются все записи. В противном случае копируются только записи, удовлетворяющие указанному условию.

Если не указан параметр FIELDS <список_полей>, то копируются все поля таблицы данных. Если не указано расширение имени файла, подразумевается расширение .DBF.

Можно копировать только структуру (или часть структуры) активной таблицы данных (не копируя записи). При этом создается новый файл таблицы данных с данной структурой. Команда копирования структуры таблицы в новый файл имеет формат:

COPY STRUCTURE TO <файл> [ FIELDS <поля>]

Если используется параметр FIELDS, то копируется только часть структуры, включающая поля, перечисленные в параметре FIELDS. Иначе структура копируется полностью.

В языке программирования xBase существует команда, позволяющая параметры структуры активной таблицы данных представить в виде записей в специально созданном файле формата *.DBF. Формат этой команды:

COPY TO <файл2> STRUCTURE EXTENDED

Структура файла таблицы данных, активного в текущий момент, копируется в файл <файл2> в виде записей таблицы. В дальнейшем эти записи могут быть отредактированы соответствующим образом. В этом случае файл <файл2> имеет фиксированную структуру и содержит поля FIELD_NAME (имя поля), FIELD_TYPE (тип поля), FIELD_LEN (длина поля), FIELD_DEC (точность поля). Значения записей в файле <файл2> соответствуют параметрам структуры таблицы данных.

Полученный файл может быть в дальнейшем использован для создания структуры нового файла таблицы данных. Для этого используется команда CREATE FROM. Формат команды:

CREATE < файл1 > FROM < файл2>

Эта команда создает новый файл < файл1 > со структурой, описанной в файле <файл2 > (<файл2> должен быть активным). После выполнения команды активным становится новый <файл1>, а <файл2> - закрывается.

Команда переименования закрытого файла имеет формат:

RENAME < старое_ имя_файла> TO <новое_ имя_файла>

Команда RENAME используется для переименования файла и назначения ему вместо его текущего имени нового имени. Имена файлов указываются обязательно с расширением. Могут быть приведены указатели дисководов и каталогов, если файлы расположены не в текущем каталоге. Для работы команды RENAME файл с новым именем не должен существовать, а файл со старым именем должен существовать и быть закрытым.

Закрытый файл можно уничтожить. Команда уничтоженияфайла имеет формат:

DELETE FILE <имя файла>

Удаляемый файл не может в момент выполнения команды DELETE быть активным, т.е. находиться в области USE, иначе произойдет ошибка. Имя файла должно указываться с расширением и файл должен быть закрыт.

Для удаления закрытого файла можно использовать также команду ERASE. Формат команды:

ERASE <имя_файла>

Расширение имени файла должно быть указано в составе имени файла.

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

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

SORT <диапазон> TO <файл> ON <поле1> [/A][/C][/D] [,<поле2> [/A][/C][/D]...] [FOR/WHILE <условие>] [FIELDS <список_полей>]

Сортировка идет по полю – ключу, указанному в параметре ON <поле1>. Отсортированная таблица записывается в файл с расширением .DBF. При наличии поля типа Memo при сортировке создается также файл с расширением .FPT. Сортировка может выполняться по возрастанию (/A), по убыванию (/D), с игнорированием верхнего и нижнего регистра (/C). При этом рассматриваются ASCII – коды символов поля <поле1>. Параметр /C может быть использован совместно с параметрами /A или /D. Если вводятся два параметра, используется только одна косая черта (например, /AC). При отсутствии параметров /A, /C, /D сортировка идет по возрастанию. Диапазон по умолчанию имеет значение ALL.

Параметры FOR/WHILE <условие> задают условия выбора записей из таблицы БД. Параметр FIELDS указывает поля, которые должны войти в создаваемую отсортированную таблицу данных. Имя отсортированного файла имеет расширение .DBF. Возможна сортировка по нескольким полям. В этом случае они указываются в команде через запятую:<поле1>, <поле2> и т.д.

В случае необходимости экономии памяти вместо команды SORT используется команда INDEX, создающая индексный файл. В индексном файле хранятся только указатели номеров записей (индексы) в упорядоченном виде, но записи там отсутствуют. Формат команды:

INDEX ON <поле1> [+<поле2>[+…]] TO <индексный_файл> [FOR/WHILE <условие>]

Команда INDEX используется для формирования индексного файла для активного файла таблицы БД. Индексирование(упорядочивание) записей идет по полю – ключу, указанному в параметре ON <поле1>. Индексирование проводится по возрастанию ASCII-кодов символов поля <поле1>. Создаваемый индексный файл будет иметь расширение имени .IDX. Индексирование можно проводить по нескольким полям. В этом случае они должны быть однотипны (или приведены к одному типу) и в команде их имена надо объединить знаком «+». Упорядочение будет проводиться сначала по полю <поле1>, внутри каждой группы <поля1> - по полю <поле2> и т.д.

При работе с индексным файлом он должен быть подключен к активной таблице данных, для которой создавался. При индексации создаваемый индексный файл автоматически подключается к файлу таблицы БД. Отключение индексного файла осуществляется автоматически при закрытии активного файла таблицы БД или командой SET INDEX TO (без параметров). Подключение индексного файла к активной таблице данных осуществляется командой:

SET INDEX TO <имя_индексного_файла>

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

USE <файл_таблицы_БД> INDEX <имя_индексного_файла>

Главное назначение индексирования – это ускорение доступа к данным. Поэтому аппарат индексирования широко применяется в реляционных системах, одним из недостатков которых является медленный поиск данных. В проиндексированном файле можно осуществить быстрый поиск необходимых данных по полю, по которому проводилось индексирование (по ключу). При этом индексный файл должен быть подключен и используются команды FIND или SEEK. Формат команды FIND:

FIND <символьное_выражение>/<n>

Команда FIND устанавливает указатель записей на номер первой записи в активной таблице данных с подключенным индексным файлом, для которой значение поля – ключа индексирования соответствует приведенной символьной строке <символьное_выражение> или численному значению <n>. Соответствие должно быть полным, если не была выполнена команда установки SET EXACT OFF .

Если необходимо провести поиск по содержимому переменной памяти, перед переменной памяти необходимо указать функцию макроподстановки (&).

Команда SEEK аналогична команде FIND. Однако команда SEEK не ограничена выполнением поиска символьной строки или численного значения, а может быть использована для поиска произвольных выражений. Формат команды SEEK:

SEEK <выражение>

В случае символьного выражения <выражение> ограничивается одиночными кавычками ' ', двойными кавычками “ “ или квадратными скобками [ ], числовое выражение указывается без ограничителей, выражение типа даты ограничивается фигурными скобками, логическая константа ограничивается точками.

Основная литература: 1[105:107], 4[15:19], 7[82:90].

Контрольные вопросы:

1. Перечислите команды, позволяющие выполнить операции с файлами.

2. С какой целью используются сортировка и индексирование файлов.

3. Какая команда позволяет создать файл с записями активной БД, отсортированный в алфавитном порядке по определенному полю.

4. Какой командой осуществляется создание индексного файла.

5. Назовите особенности использования индексного файла.



2015-11-11 660 Обсуждений (0)
Тема 2. Языковая среда реляционных СУБД 0.00 из 5.00 0 оценок









Обсуждение в статье: Тема 2. Языковая среда реляционных СУБД

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (660)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.015 сек.)