Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4972
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

/ I. Borland С++ Builder

433

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

38.Какие компоненты используются при подготовке отчета?

39.Осуществляется связывание отчета с набором данных?

40.Какие полосы могут входить в состав отчета?

41.Какие события генерируются при печати отчета?

42.Укажите действия, выполняемые при создании простого отчета.

43.Изобразите схему, поясняющую состав простого отчета и его взаимосвязи с набором данных.

Литература

1.Программирование на С++: Учебное пособие/В. П. Аверкин, А. И. Бобровский,

В.В. Веснич, В. Ф. Радушинский, А. Д. Хомоненоко; Под ред. проф. А. Д. Хомоненко. - СПб.: КОРОНА принт, 2003.

2.Архангельский А. Я. Программирование в С++ Builder 6. — М.: ЗАО «Издательство БИНОМ», 2002.

3.Хомоненко А. Д., Ададуров С. Е. Работа с базами данных в С++ Builder. - СПб.: БХВ-Петербург, 2006.

434

Часть 3. Современные СУБД и их применение

12. СУБД Visual FoxPro 8.0

Visual FoxPro 8.0 представляет собой СУБД реляционного типа с развитыми средствами создания БД, организации запросов к ним, построения приложений с использованием визуального, объектно-ориентированного программирования. СУБД Visual FoxPro 8.0 может работать в среде Windows 98/М Е/ ХР/2000.

12.1.Общая характеристика

ВVisual FoxPro реализованы все атрибуты реляционной СУБД. Так, в пей введено понятие базы данных как совокупности связанных таблиц, информация о которых хранится в словаре данных. В БД определяются условия ее целостности с помощью первичных и внешних ключей таблиц. Все события (изменения), происходящие в БД, могут обнаруживаться и централизованно обрабатываться в связи с появлением в Visual FoxPro таких средств, как триггеры и встроенные процедуры.

Visual FoxPro совместима с более ранними версиями FoxPro. Поэтому приложения, разработанные в более ранних версиях FoxPro, могут быть адаптированы с ее помощью в среду Windows. Visual FoxPro обладает высокой скоростью в обслуживании БД.

Используя стандарт ODBC и SQL-запросы для выборки данных Visual FoxPro позволяет работать с БД СУБД Access, Paradox, dBase и т. д., с серверами БД — Microsoft SQL Server, Oracle и др.

Приложение Visual FoxPro может одновременно работать как с собственными, так и сетевыми таблицами, расположенными на других компьютерах локальной сети.

Поддерживаются такие механизмы работы с Windows приложениями как:

Dynamic Data Exchage (DDE) — динамический обмен данными,

Object Linking and Embedding(OLE) — встраивание и связывание объектов.

При работе Visual FoxPro 8.0 к аппаратным ресурсам предъявляются следующие требования:

• IBM-совместимый компьютер с процессором Pentium 133 и выше;

мышь;

основная память объемом 64 Мбайта, рекомендуется объем 128 Мбайта или выше;

12. СУБД Visual FoxPro 8.0

4 3 5

165 Мбайтов дискового пространства;

монитор VGA или с более высоким разрешением.

С помощью Visual FoxPro можно создавать сетевые приложения, функционирующие в сетях под управлением Microsoft Windows 9х/2000, Microsoft LAN Manager и др.

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

Некоторые количественные характеристики базы данных Visual FoxPro: максимальное количество записей — 1 ООО ООО ООО; максимальный размер таблицы — 2GB; максимальное количество символов в записи — 65 500; максимальное количество полей в записи — 255; максимальное количество одновременно открытых таблиц — 2551.

12.2. Новые возможности Visual FoxPro 8.0

В Viual FoxPro 8.0 по сравнению с предыдущей версией продукта появились новые возможности, перечисленные ниже.

Усовершенствован интерфейс интегрированной среды разработки и отладки приложений.

Введены новые команды, базовые классы и функции.

Появились новые возможности по работе с документами XML и Webслужбами.

Усовершенствована совместимость продукта с системой Microsoft Visual Studio .NET и сервером баз данных Microsoft Server 2000.

Введен Task Pane Manager (Менеджер панели задач), который позволяет улучшить разработку приложений, упростить запуск Мастеров создания приложений, запуск примеров, открытие приложений, баз данных и справочной системы и т. п.

Расширены возможности Конструктора таблиц.

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

Добавлен новый класс C u r s o r A d a p t e r , с помощью которого реализуют-

 

ся функции универсального доступа к данным.

В редакторе кода появились новые возможности расширенного поиска

 

информации, автоматического форматирования текста и цветной печа-

 

ти исходного кода приложения.

436

Часть 3. Современные СУБД и их применение

12.3. Элементы проекта

При создании проектов, баз данных, таблиц, запросов, форм, отчетов, приложений и других элементов в среде Visual FoxPro для каждого из названных элементов формируется отдельный файл. При этом имя файла любого элемента пользователь может задать любое, расширение имени файла формируется автоматически и помогает в идентификации этих элементов (объектов). Перечень элементов проектов Visual FoxPro и соответствующих им расширений имен файлов приведен в табл. 12.1. Файлы элементов, созданных на базе других (родительских) элементов, имеют общие с ними имена. К примеру, Мето-поле и поле типа General создаются на базе таблицы БД, поэтому имена их файлов совпадают с именами соответствующих таблиц, а расширения указывают на назначение этих файлов.

Таблица 12.1

Элементы проектов Visual FoxPro и расширения имен файлов

Компоненты

Приложение

Проект

База данных

Таблица Visual FoxPro

Одиночный индексный файл Составной индексный файл Мето-поле и поле типа General Форма

Запрос

Отчет

Этикетка

Расширения имен, примечания

АРР, сгенерированная программа ЕХЕ, выполнимая программа

PJX

PJT, Мето-поле

DBC

DCT,

Мето-поле DCX, индекс

DBF,

FPT, Мето-поле IDX

CDX

FRT

SCX,

SCT, Мето-поле

QPR, сгенерированная исходная программа QPX, программа после компиляции

FRX,

FRT, Мето-поле

LBX,

LBT, Мето-поле

12. СУБД Visual FoxPro 8.0

437

 

Таблица 12.1 (продолжение)

Компоненты

Расширения имен, примечания

Меню

MNX, описание облика меню

 

MNT, Мето-поле

 

MPR, сгенерированная исходная программа

 

МРХ, программа после компиляции

Библиотеки

VCX, класса

 

VCT, Мето-поле библиотеки класса

 

DLL, динамических связей Windows

 

FLL, динамических связей Visual FoxPro

Программа

PRG, исходный текст

 

FXP, после компиляции

Ошибки компиляции

ERR

Файл формата

FMT

Описание окружения

VUE

Рисунок

BMP

Звуковая запись

WAV

Текст ТХТ

 

Экран (предыдущие версии FoxPro)

SPR, сгенерированная исходная программа

 

SPX, программа после компиляции

Раскроем кратко назначение указанных элементов Visual FoxPro. Проект является основным средством объединения отдельных элементов

Visual FoxPro и управления ими. С помощью проекта Visual FoxPro осуществляет поиск и собирает вместе файлы проекта, отслеживает текущие версии элементов, перекомпилирует программы, обновляет экранные формы, меню и т. д. Из проекта осуществляется генерация приложения (АРР-файл) или исполняемого приложения (ЕХЕ-файл). Вся информация о проекте хранится в специальной таблице — файле с расширением PJX и соответствующем Мешо-файле с расширением PJT.

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

Словарь БД хранит описание структуры БД и представляет собой совокупность системных таблиц.

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

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

438 Часть 3. Современные СУБД и их применение

см DBC. Для поддержки предыдущих версий FoxPro возможно создание отдельных таблиц, не объединенных в БД. Каждая отдельная или входящая в БД таблица размещается в файле с расширение DBF.

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

Мето-поля содержат текстовую информацию, поля типа General служат для организации обмена данными с другими приложениями Windows.

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

Запросы являются средством извлечения информации из БД, которая может содержаться в нескольких ее таблицах. При этом можно использовать Конструктор запросов или создавать запрос вручную с использованием SQLкоманд Visual FoxPro. Конструктор запросов позволяет создавать запросы по образцу. При этом обеспечивается возможность на основе визуальной информации о таблицах извлечь нужные данные и представить их в удобном виде (в виде таблиц, графиков или диаграмм). К программированию запросов с помощью SQL-команд прибегают в случаях, когда возможностей Конструктора запросов недостаточно.

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

Этикетки представляют собой почтовые адреса рассылки, печатаемые на конвертах. По сути этикетки являются мини-отчетами, печатаемыми на конвертах с выбором информации из соответствующей таблицы. Каждая запись таблицы содержит адрес одной из фирм-клиентов. Для создания этикеток может использоваться Мастер этикеток.

Меню является основной частью приложения (если таковое создается), управляющей работой приложения и его компонентов.

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

На этапе конструирования меню создается таблица, хранящаяся в файле с расширением MNX. Этой таблицей можно манипулировать как и любой таблицей Visual FoxPro, а отличное расширение сделано для идентификации ее содержимого. Этот файл обычно добавляется в проект.

На втором этапе из названной таблицы генерируется обычный для Visual FoxPro код. Файл с этим кодом имеет то же имя, что и файл MNX (если пользователь не укажет другое), но расширение MPR.

12. СУБД Visual FoxPro 8.0

439

На третьем этапе после компиляции из MPR-файла программа меню помещается в файле с расширением МРХ.

Библиотеки классов предназначены для хранения классов, созданных в Visual FoxPro. Классы служат для описания объектов, используемых в объек- тно-ориентированном программировании (ООП). Библиотеки классов наиболее часто применяются для создания экранных форм.

Программы, написанные на языке Visual FoxPro, реализуют различные функции в приложении. Файлы с программами являются текстовыми, формируются с помощью встроенного редактора и имеют расширение PRG.

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

Рисунки и звукозаписи соответственно хранятся в файлах с расширениями BMP и WAF или в полях типа General таблиц. Этой информацией Visual FoxProприложение может обмениваться с другими Windows-приложениями.

1 2 . 4 . И н т е р ф е й с Visual F o x P r o

Работа по созданию баз данных и приложений выполняется в главном окне Visual FoxPro (рис. 12.1). Состав элементов в главном окне может настраиваться пользователем в процессе работы.

Microsoft Visual FoxPio

File Edit View Jools Program Project Window Help

Строка меню

Project Manager • Vfpslovar

 

 

Панель инструментов

д ,

Г Ш ~ } \

Documents I

Classes 1 Code

 

Standard

 

 

 

 

 

 

 

Окно менеджера

ЙЩ] Databases

 

 

 

 

в о M i l

 

 

 

 

проектов

 

|;} Ц |

Tables

 

 

Add...

Окно команд

 

 

 

 

B

l

0 tslovar

 

Modify

 

 

 

 

;

Ш

rushnslovo

 

CREATE

PROJECT

 

 

;

Ш

vfpslovo

 

Close

 

 

;

"Gil

vfpslovo

 

MODIFY

PROJECT с

 

 

;

CD wizard_1

 

Remove..

 

 

 

I-} dty

Local Views

 

 

 

 

 

 

 

 

 

В

 

viewslovar

 

Build...

 

 

 

 

 

Ш

rushnslovo

zl

 

 

 

 

 

 

J J

 

Description:

 

 

 

 

 

 

 

Path:

c:\vfp5\slovar1.dbc

 

 

 

 

 

 

 

 

 

 

NUM

Рис. 12.1. Главное окно Visual FoxPro

440

Часть 3. Современные СУБД и их применение

Обязательным элементом главного Visual FoxPro является строка меню. С ее помощью можно задавать команды настройки состава окна, вызывать средства автоматизации (Мастера, Конструкторы и Построители).

Вглавном окне Visual FoxPro обычно отображается панель инструментов Standard (стандартная). С помощью кнопок этой панели удобно задавать наиболее часто используемые команды по работе с файлами элементов Visual FoxPro: New (Создать), Open (Открыть), Save (Сохранить), Print One Copy (Печатать один экземпляр); команды работы с выделенным фрагментом с помощью буфера обмена: Cut (Вырезать), Сору (Копировать), Paste (Вставить) и ряд других.

Вглавном окне Visual FoxPro (рис. 12.1) можно установить отображение следующих панелей инструментов: Color Palette (Цветовая палитра), Database Designer (Конструктор баз данных), Form Controls (Элементы управления форм), Form Designer (Конструктор форм), Layout (Размещение

элементов управления в отчете или форме), Print Preview (Предварительный просмотр), Query Designer (Конструктор запросов), Report Controls (элементы управления отчетов), Report Designer (Конструктор отчетов) View Designer (Конструктор просмотров). Изменение состава панелей инструментов выполняется с помощью команды View | Toolbars....

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

Окно команд (при условии его отображения в главном окне Visual FoxPro) служит для ввода команд SQL. Кроме того, в случае выполнения каких-либо действий над базой данных в окне команд отображаются соответствующие им команды SQL. Для задания отображения окна команд служит команда

Window | Command Window (окно | командное окно). Отмену отображения окна команд можно выполнить щелчком мыши по кнопке в правом верхнем углу окна.

Окно Project Manager (Менеджер проектов) отображается при создании нового или при открытии существующего проекта. Создание базы данных, запросов, отчетов и ряда других элементов может выполняться и без создания проекта. Однако использование проекта создает определенные удобства в работе с различными элементами Visual FoxPro, входящими в состав одного проекта.

1 2 . 5 . С р е д с т в а а в т о м а т и з а ц и и р а з р а б о т к и

Для автоматизации разработки баз данных и приложений в среде Visual FoxPro имеются следующие средства визуального программирования: Мастера (Wizards), Конструкторы (Designers) и Построители (Builders).

12. СУБД Visual FoxPro 8.0

441

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

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

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

Мастера удобно использовать при необходимости создать в кратчайший срок несложное приложение. Если возможностей Мастеров окажется недостаточно, целесообразно прибегнуть к помощи Конструкторов и Построителей. При создании крупных проектов могут потребоваться объектно-ориен- тированные средства Visual FoxPro создания пользовательских классов, упрощающие создание пользовательских интерфейсов программ проекта.

1 2 . 6 . С о з д а н и е б а з д а н н ы х

Прежде чем рассматривать процедуры создания БД и таблиц познакомимся с типами данных, используемых в них.

Перечень типов данных и краткая их характеристика приведены в таблице 12.2.

 

 

Типы данных Visual FoxPro

Таблица 12.2

 

 

 

Обоз-

 

 

Объем

Описание

наче-

Тип

Диапазон

памяти,

ние

 

 

байт

 

АArray

В

D o u b l e

о т + / - 4 . 9 4 0 6 5 6 4 8 5 4 1 2 4 7 E - 3 2 4

8

д о + / - 1 . 7 9 7 6 9 3 1 3 4 8 6 2 3 2 E + 3 0 8 .

 

 

 

С

C h a r a c t e r Л ю б ы е с и м в о л ы

1 - 2 5 4

D

D a t e

о т 0 1 / 0 1 / 1 0 0 д о 1 2 / 3 1 / 9 9 9 9

8

F

Float

о т - 0 . 9 9 9 9 9 9 9 9 9 9 * 1 0 + 1 9 д о

8

0 . 9 9 9 9 9 9 9 9 9 9 * 1 0 + 2 0 .

 

 

 

G

G e n e r a l

О п р е д е л я е т с я д о с т у п н о й

4

п а м я т ь ю

(в D B F )

 

 

М а с с и в д а н н ы х н е к о т о р о г о т и п а

Ч и с л о с п л а в а ю щ е й т о ч к о й д в о й н о й т о ч н о с т и

Т е к с т о в а я ( с и м в о л ь н а я ) с т р о к а

Д а т а

Т а к о е ж е как N u m e r i c

С с ы л к а н а O L E о б ъ е к т

4 42

 

Часть 3. Современные СУБД и их применение

 

 

 

Таблица 12.2 (продолжение)

Обоз-

 

 

Объем

 

наче-

Тип

Диапазон

памяти,

Описание

ние

 

 

байт

 

1

Integer

- 2 1 4 7 4 8 3 6 4 7 д о 2 1 4 7 4 8 3 6 4 6

4

Ч и с л о ц е л о е

 

L

Logical

 

1

Л о г и ч е с к о е з н а ч е н и е

М

M e m o

О п р е д е л я е т с я д о с т у п н о й

4

С с ы л к а на п р и м е ч а н и е

п а м я т ь ю

(в D B F )

 

 

 

 

 

 

 

 

Ч и с л о с ф и к с и р о в а н н о й

 

 

от - 0 . 9 9 9 9 9 9 9 9 9 9 * 1 0 + 1 9

8

т о ч к о й ц е л о е и л и

N

N u m e r i c

д р о б н о е ; д о п у с к а е т о т 1

д о 0 . 9 9 9 9 9 9 9 9 9 9 * 1 0 + 2 0 .

 

 

 

д о 2 0 с и м в о л о в в

 

 

 

 

 

 

 

 

т а б л и ц е

 

 

от 0 1 / 0 1 / 1 0 0 д о 1 2 / 3 1 / 9 9 9 9 и

 

Д а т а и в р е м я

Т

D a t e T i m e

от 0 0 : 0 0 : 0 0 у т р а д о 2 3 : 5 9 : 5 9

8

 

 

 

в е ч е р а

 

 

У

C u r r e n c y

о т - 2 2 3 3 7 2 0 3 6 8 5 4 7 7 . 5 8 0 7

8

Д е н е ж н о е з н а ч е н и е

д о 9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 . 5 8 0 7 .

 

 

 

 

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

Данные каждого типа могут храниться в полях таблиц этого же типа. Заметим, что Visual FoxPro не имеет команд определения типов переменных. Определение типов выполняется при присваивании переменным первоначальных значений. Рассмотрим подробнее перечисленные типы данных.

Character

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

"строка" 'строка' [строка] Возможно сравнение символьных строк в соответствии с алфавитным по-

рядком, например:

" "< "а"=.Т. "арба"<"арбуз"=.Т.

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