ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 10869
Скачиваний: 43
136
Глава 7. Системы управления базами данных
СУБД FoxPro, MS Access являются представителями класса файл-серверных
СУБД. Однако в ряде случаев с помощью, например, СУБД MS Access можно
создавать клиент-серверные приложения, используя в качестве серверов БД какие-
либо другие СУБД (Oracle, MS SQLServer и др.).
7.2.2 СУБД FoxPro
СУБД FoxPro относится к классу dBase-систем. Эволюция СУБД семейства
dBASE прослеживается от dBase к dBaseII
→ dBaseIII (русифицированная версия
РЕБУС)
→ FoxBase (КАРАТ) → FoxPro различных версий под MS DOS → СУБД
FoxPro для Windows и заканчивается Visual FoxPro.
Последняя версия оригинальной СУБД FoxPro — версия 2.6 — работала под
Mac OS, DOS, Windows и Unix. В 1992 году Fox Technologies объединилась с Mic-
rosoft, новые версии продукта обрели ряд новых функций и приставку «Visual».
В версии Visual FoxPro 3.0 список поддерживаемых платформ сократился до Mac
OS и Windows, а в более поздних версиях — уже только до Windows.
Вся информация СУБД хранится в файлах на жестком диске. Файл данных
представляет собой таблицу, каждая строка (запись) которой содержит сведения
об описываемом объекте. Все записи БД имеют идентичную, задаваемую пользо-
вателем структуру и размеры.
В FoxPro можно обрабатывать несколько типов файлов, для которых установ-
лены стандартные расширения [18]:
• DBF — файл базы данных, к ним в FoxPro относится термин База Данных;
• FPT — файл примечаний, в котором хранятся мемо-поля БД;
• IDX — индексный файл;
• CDX — мультииндексный файл;
• PRG — программный файл;
• FXP — откомпилированный командный файл prg;
• MEM — файл для сохранения временных переменных.
DBF-файлы в FoxPro являются основными носителями данных и могут со-
держать до 1 млрд записей. Размер записи — до 4000 байт. Число полей — до 255.
Одновременно может быть открыто до 25 БД. Файл БД может содержать поля
следующих типов данных: символьных, числовых, логических и типа даты. Мемо-
поля хранятся отдельно от основного файла БД в файле примечаний, связанном
с основным файлом по специальной ссылке: в каждой записи DBF-файла имеется
фиксированная ссылка на каждое имеющееся в БД мемо-поле. FPT-файлы являют-
ся подчиненными по отношению к DBF-файлам. В FoxPro имеются специальные
команды, предназначенные для работы с мемо-полями.
Один DBF-файл может иметь любое число индексов, и все они могут быть
одновременно открыты с помощью команды Set Index или Use. При вводе, удале-
нии или изменении записей все индексные файлы будут соответствующим образом
изменяться. Главным управляющим индексом, т. е. индексом, в соответствии с ко-
торым будет перемещаться указатель записи, будет первый открытый индексный
файл.
7.2 СУБД второго поколения — реляционные СУБД
137
В FoxPro допускается работа сразу с несколькими БД, и при этом возможна
установка связей между ними. Указатель записей в связанных БД будет двигать-
ся синхронно. БД, в которой указатель движется произвольно, считается старшей,
а БД, в которой указатель следует за указателем старшей базы, — младшей или под-
чиненной. Естественно, в таких базах должны существовать согласованные поля
связи. Возможно наличие связей типа 1:1 и 1:M.
Каждый DBF-файл и все соответствующие ему вспомогательные файлы откры-
ваются в своей отдельной рабочей области. Таким образом, одновременно может
существовать 25 рабочих областей.
Работа с данными в FoxPro может выполняться следующими способами:
• обработка данных через системное меню FoxPro;
• обработка данных с помощью прикладных программ, созданных програм-
мистом;
• обработка данных с помощью программ, созданных средствами генератора
приложений.
В FoxPro имеется эффективный язык программирования пользовательских при-
ложений, обладающий мощными командами обработки данных, развитыми диало-
говыми средствами, возможностью ускоренного доступа к данным и другими ха-
рактеристиками языков высокого уровня. Программный код приложения хранится
в PRG-файле.
В FoxPro существуют средства создания заготовок программ: генераторы экра-
нов, отчетов и т. д. Программы в дальнейшем можно расширять и дополнять для
выполнения поставленных перед разработчиком задач. В Visual FoxPro по срав-
нению с предыдущими версиями добавлены новые средства разработки шабло-
нов пользовательских приложений. В программах FoxPro разрешается иметь те же
типы переменных, что и поля, кроме типа МЕМО. В FoxPro также разрешается
работа с одномерными и двумерными массивами переменных.
В СУБД FoxPro используются различные типы функций: математические, стро-
ковые, для работы с датами, преобразования типов и др. В системе предусмотрена
возможность использования процедур, которые могут быть как внутренними, так
и внешними (в виде отдельных программных файлов).
Важной особенностью FoxPro явилась возможность работы с окнами. Каждое
окно является как бы автономным экраном системы, что позволяет обеспечить
«многослойный» пользовательский интерфейс. Для работы с окнами в FoxPro бы-
ли добавлены специальные оконные функции. В СУБД FoxPro помимо специаль-
ных команд для работы с данными включен ряд команд из языка ANSI SQL для
формирования запросов к БД.
Система поддерживает создание исполняемых EXE-модулей программ, созда-
ваемых с помощью Менеджера проектов. Однако для работы созданного в FoxPro
EXE-файла на компьютере, где не установлена СУБД, необходимо наличие специ-
ального пакета Distribution Kit, входящего в дистрибутив СУБД FoxPro.
Visual FoxPro (VFP) — визуальная среда разработки пользовательских прило-
жений и БД, выпускаемая корпорацией Microsoft. Последней версией является вер-
сия 9.0. В этой среде применяется язык программирования FoxPro. Среда разра-
ботки версии 7.0 может работать в операционных системах Windows 9x и ядра NT
и старше, версии 8.0 и 9.0 — только в Windows XP и старше.
138
Глава 7. Системы управления базами данных
Разработка продукта прекращена с выходом SP2 для версии 9.0, поддержка
продукта осуществляется только до 2015 года.
7.2.3 СУБД MS Access
Первая версия СУБД MS Access была разработана фирмой Microsoft в 1992 го-
ду и не получила широкого распространения из-за отсутствия стабильных встро-
енных средств разработки и ведения баз данных. Первой из версий MS Access,
получившей признание разработчиков, явилась СУБД MS Access 2.0, которая, как
и последующие версии, входит в состав соответствующих версий MS Office. СУБД
MS Access позволяет управлять всеми сведениями из одного файла базы данных
или разделять базу данных на несколько файлов, сохраняя, например, в одном фай-
ле все таблицы, а в другом — все остальные объекты БД.
В рамках файла базы данных используются следующие объекты:
• таблицы для сохранения данных;
• запросы для поиска и извлечения только требуемых данных;
• формы для просмотра, добавления и изменения данных в таблицах;
• отчеты для анализа и печати данных в определенном формате;
• макросы;
• модули, содержащие код программы на MS Visual Basic;
• страницы доступа к данным для просмотра, обновления и анализа данных
из базы данных через Интернет или интрасеть (до версии MS Access 2003
включительно).
Внешний вид окна MS Access, с созданными ранее таблицами, представлен на
рисунке 7.3.
Рис. 7.3 – Окно БД MS Access
7.2 СУБД второго поколения — реляционные СУБД
139
Ниже представлены характеристики БД в СУБД MS Access, взятые из файла
описания СУБД:
• размер файла базы данных Microsoft Access (.mdb) — 2 Гбайт за вычетом
места, необходимого системным объектам;
• число объектов в базе данных — 768;
• модули (включая формы и отчеты, свойство Наличие модуля (HasModule)
которых имеет значение True) — 1000;
• число знаков в имени объекта — 64;
• число знаков в пароле — 14;
• число знаков в имени пользователя или имени группы — 20;
• число одновременно работающих пользователей — 255.
Для простоты просмотра, ввода и изменения данных непосредственно в таб-
лице создаются формы. Формы являются типом объектов базы данных, обычно
используемым для отображения данных в базе данных. Форму можно также ис-
пользовать как кнопочную форму, открывающую другие формы или отчеты базы
данных, а также как пользовательское диалоговое окно для ввода данных и вы-
полнения действий, определяемых введенными данными. При открытии формы
Microsoft Access отбирает данные из одной или более таблиц и выводит их на
экран с использованием макета, выбранного в мастере форм или созданного поль-
зователем самостоятельно в режиме конструктора.
Большинство форм являются присоединенными к одной или нескольким таб-
лицам и запросам из базы данных. Источником записей формы являются поля
в базовых таблицах и запросах. Форма не должна включать все поля из каждой
таблицы или запроса, на основе которых она создается. Присоединенная форма
получает данные из базового источника записей. Другие выводящиеся в форме
сведения, такие как заголовок, дата и номера страниц, сохраняются в макете формы.
Формы можно также открывать в режиме сводной таблицы или в режиме диа-
граммы для анализа данных. В этих режимах пользователи могут динамически
изменять макет формы для изменения способа представления данных. Существует
возможность упорядочивать заголовки строк и столбцов, а также применять филь-
тры к полям. При каждом изменении макета сводная форма немедленно выполняет
вычисления заново в соответствии с новым расположением данных.
Отчет является эффективным средством представления данных в печатном
формате. Имея возможность управлять размером и внешним видом всех элементов
отчета, пользователь может отобразить сведения желаемым образом. Большинство
отчетов, так же как и формы, являются присоединенными к одной или нескольким
таблицам и запросам из БД.
Страницы доступа к данным представляют специальный тип веб-страниц, пред-
назначенный для просмотра и работы через Интернет или интрасеть с данными,
хранящимися в БД MS Access или в БД MS SQL Server. Страница доступа к дан-
ным может также включать данные из других источников, таких как Microsoft
Excel. Использование страниц доступа к данным для ввода данных аналогично
использованию форм: пользователь имеет возможность просматривать, вводить,
редактировать и удалять данные в базе данных. Однако страницу можно использо-
140
Глава 7. Системы управления базами данных
вать за пределами MS Access, предоставляя пользователям возможность обновлять
или просматривать данные через Интернет или интрасеть, для чего пользователям
требуется Internet Explorer или другой браузер. Со страницами доступа к данным
также можно работать в режиме страницы в MS Access. Страницы доступа к дан-
ным могут дополнять формы и отчеты, используемые в приложении базы данных.
Макрос в MS Access представляет набор макрокоманд, который создается для
автоматизации часто выполняемых задач. Группа макросов позволяет выполнить
несколько задач одновременно.
Модули представляют наборы описаний, инструкций и процедур, сохраненных
под общим именем для организации программ на языке MS Visual Basic — языке
четвертого поколения 4GL. Существуют два основных типа модулей: модули клас-
са и стандартные модули.
Модули форм и модули отчетов являются модулями класса, связанными с опре-
деленной формой или отчетом. Они часто содержат процедуры обработки собы-
тий, запускаемые в ответ на событие в форме или отчете. Процедуры обработки
событий используются для управления поведением формы или отчета и их откли-
ком на события, такие, например, как нажатие кнопки. Начиная с Access 97, мо-
дули класса могут существовать независимо от форм и отчетов. Этот тип модулей
класса отображается в окне БД. Модули класса можно использовать для создания
описания пользовательского объекта. В Access 95 модуль класса существует только
в связи с формой или отчетом.
В стандартных модулях содержатся общие процедуры, не связанные ни с каким
объектом, а также часто используемые процедуры, которые могут быть запущены
из любого окна БД. Основное различие между стандартным модулем и модулем
класса, не связанным с конкретным объектом, заключается в области определения
и времени жизни. Значение любой переменной или константы, определенной или
существующей в модуле класса, не связанном с конкретным объектом, доступно
только во время выполнения этой программы и только из этого объекта.
СУБД MS Access позволяет создавать и сохранять SQL-запросы к БД. Меж-
ду таблицами БД можно определять связи типа 1:1, 1:М, можно также связать
таблицу саму с собой. Связи «многие-ко-многим» (М:М) возможно реализовать
только через промежуточные таблицы. Для связей, в которых проверяется целост-
ность данных, разработчик имеет возможность указать, следует ли автоматически
выполнять для связанных записей операции каскадного обновления и каскадного
удаления.
В СУБД MS Access существует возможность присоединения таблиц других БД
(Oracle, MS SQL, FoxPro и др.), что позволяет в ее среде генерировать приложения
типа клиент-сервер для работы с этими таблицами, имеется возможность импорта
и экспорта таблиц в другие БД, а также возможность слияния таблиц и отчетов
с другими продуктами, входящими в состав MS Office.