- •1.2. Установка рабочей директории
- •1.3. Создание таблиц базы данных
- •1.4. Установление связей между таблицами (определение ссылочной целостности)
- •1.6. Запуск сервера Firebird
- •1.7. Создание базы данных Firebird
- •1.8. Подключение базы данных Firebird
- •1.9. Создание и редактирование таблиц Firebird
- •1.10. Связи между таблицами Firebird
- •1.11. Перенос базы данных на другой компьютер
- •2.1. Создание формы для работы с одной таблицей
- •2.2. Ввод данных в таблицу с помощью созданной формы
- •2.3. Создание формы для работы с двумя таблицами
- •2.4. Редактирование формы
- •2.5. Ввод данных через отдельные компоненты
- •2.6. Редактирование данных через компоненты
- •3. Реализация сортировки, вычислений и фильтрациИ данных
- •3.1. Реализация сортировки
- •3.1. Вид формы для сортировки
- •1 Вариант – с использованием имени индекса:
- •2 Вариант - с использованием имени поля, по которому создан индекс:
- •3.2. Реализация вычислений
- •3.3. Реализация фильтрации записей
- •4.3. Создание запроса с групповыми вычислениями
- •4.4. Создание параметрического запроса
- •4.5. Параметрический запрос для поиска поля, выбранного из списка
- •5.1. Создание отчета в Delphi
- •5.2. Создание отчета на основе одной таблицы
- •5.3. Создание отчета с группировкой записей по определенному полю
- •Список книг
- •5.4. Создание отчета на основе параметрического запроса
- •Разработка автоматизированной системы продажи железнодорожных билетов
- •Справка о проданных билетах
- •Справка об остановках маршрута
- •Справка о продаже билетов
- •Справка о расписании групп
- •Списки групп
- •Тренеры
- •Списки больных, стоящих на учете
- •Список сотрудников
- •Список больных
- •Разработка приложения «Больница»
- •Медицинский персонал
- •Процедуры
- •Список больных
- •Разработка автоматизированной системы продажи авиационных билетов
- •Продажа билета
- •Список самолетов
- •Список автомобилей
- •Список водителей
- •Транзисторы
- •Справка о продаже транзисторов
- •Заказы на ремонт
- •Выпрямительные диоды
- •Закупка приборов
- •Список устройств
- •Расходная ведомость
- •Библиографический список
- •Оглавление
ВВЕДЕНИЕ
Разработка приложений для работы с базой данных является одним из направлений профессиональной деятельности специалиста в области вычислительной техники.
Создание приложений по обработке данных из некоторой предметной области в среде программирования Delphi требует освоения следующих технологий:
создание и редактирование структуры таблиц средствами выбранной СУБД и обеспечение доступа к таблицам из приложения, созданного в Delphi;
разработка форм для ввода и редактирования данных, дизайн форм, создание элементов формы, упрощающих ввод информации (поля со списком, переключатели и т.д.);
разработка запросов на выборку данных, с вычисляемыми полями и вычислениями по группе записей, параметрических запросов и запросов на выполнение действий;
создание отчетов на основе одной или нескольких таблиц;
реализация сортировки и фильтрации данных;
обработка данных, хранимых в таблицах базы данных, реализация вычислений;
разработка системы меню.
В первой главе учебного пособия изложена технология создания таблиц средствами некоторых СУБД и реализация доступа к базе данных и ее таблицам из приложения на Delphi.
Вторая глава пособия посвящена разработке и дизайну простых и составных форм.
Реализация вычислений, технологии выполнения сортировки и фильтрация данных изложены в третьей главе.
В четвертой главе рассматриваются особенности создания запросов и визуализации результатов их работы.
Генерация отчетов на основе одной или нескольких таблиц рассмотрены в пятой главе.
В шестой главе приведены варианты практических заданий.
Пособие соответствует типовой программе по дисциплине "Базы данных" и предназначено для студентов очной и сокращенной очной форм обучения.
Материалы пособия могут быть также использованы при подготовке курсовых и дипломных работ.
1. СОЗДАНИЕ БАЗЫ ДАННЫХ, ТАБЛИЦ
И УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
Существуют различные варианты создания базы данных (БД) и реализации доступа к ней через приложение, созданное в Delphi.
База данных может быть создана средствами СУБД, ориентированной на работу с локальной базой данных. Это, например, СУБД Paradox 7 или Access. База данных может быть организована как сетевая и создаваться средствами серверов баз данных, к числу которых можно отнести, например, MS SQL Server, InterBase, Firebird и т.д.
Доступ к базе данных может быть реализован различными способами:
через механизм BDE;
с помощью технологии ADO;
с использованием специальных компонентов вкладки InterBase, используемой для работы с сетевыми базами данных, имеющими тип InterBase.
-
1.1. Реализация доступа к базе данных через механизм BDE
При работе с таблицами локальных БД (в число которых входят таблицы СУБД Paradox и dBase) сама база данных размещается в каталоге на диске и хранится в виде набора файлов. Для хранения одной таблицы создается отдельный файл. Такие же отдельные файлы создаются для хранения индексов таблицы и мемо-полей.
Предположим, что на диске (С: или Х:) в папке с фамилией разработчика (на английском языке) будет создана папка Tables, где будут размещаться таблицы базы данных.
Обращение к БД из утилит и программы осуществляется по псевдониму базы данных. Псевдоним должен быть зарегистрирован в файле конфигурации конкретного компьютера при помощи утилиты BDE Administrator. Необходимо присвоить какой-то псевдоним (например, Base) создаваемой БД. Для этого поступают следующим образом.
1. Запустить утилиту BDE Administrator (Пуск, Программы, Borland Delphi 7, BDE Administrator).
2. Выбрать в главном меню окна утилиты пункты Object, New (или выбрать вкладку Databases, вызвать на дереве Database контекстное меню, выбрать пункт New, щелкнуть по кнопке ОК).
3. В появившемся окне оставить тип создаваемой БД без изменений (STANDARD) и щелкнуть по кнопке ОК.
4. В левом поле окна администратора заменить имя Standard1 на имя псевдонима (например, Base), в строке PATH щелкнуть по кнопке … и выбрать созданную ранее папку (например, TABLES).
5. Для запоминания псевдонима в левом окне администратора БД на имени псевдонима щелчком правой кнопки мыши вызвать контекстное меню и выбрать пункт Apply (применить), в появившемся диалоговом окне щелкнуть по кнопке ОК (рис.1.1).
6. Закрыть окно утилиты BDE Administrator: создание псевдонима завершено и к нему можно обращаться из других утилит и приложений. Однако каталог, на который ссылается псевдоним БД, еще пуст. В дальнейшем в этом каталоге необходимо создать таблицы БД.
Рис. 1.1. Окно BDE Администратора
1.2. Установка рабочей директории
Для установки рабочей директории необходимо запустить утилиту Database Desktop (DBD) (Пуск, Программы, Borland Delphi 7, Database Desktop). Затем выбирают пункты меню File, Working Directory, с помощью кнопки BROWSE выбирают каталог для размещения файлов базы данных (например, созданную папку TABLES) и в выпадающем списке Aliases выбирают имя псевдонима. После этого щелкают по кнопке ОК.
1.3. Создание таблиц базы данных
Создание таблицы. Таблицы Paradox 7 создаются с помощью утилиты Database Desktop. Для создания таблицы запускают утилиту Database Desktop, выбирают пункты меню File, New, Table. В появившемся окне Create Table оставляют без изменений тип создаваемой таблицы (Paradox 7) и нажимают кнопку ОК. После этого появится окно определения структуры таблицы БД (рис. 1.2).
Рис. 1.2. Структура таблицы Knigi
Каждая строка таблицы описывает одно поле. Назначения столбцов:
Field Name – имя поля (английские буквы без пробела);
Type – тип поля (например, А – символьное длиной до 255 символов, N – число с плавающей точкой до 15 значащих цифр, S – денежный формат, I – целочисленные значения, D – дата, + - автоинкрементное поле и т.д.);
Size – размер поля (для строковых полей);
Key – содержит звездочку «*», если поле входит в состав первичного ключа (выставляется клавишей пробел).
Типы полей. В таблицах Paradox могут использоваться типы данных, представленные в таблице.
Таблица
Типы данных
Type |
Size |
Тип |
Описание |
A |
1-255 |
Alpha |
Текстовое поле указанной длины |
Продолжение таблицы
Type |
Size |
Тип |
Описание |
N |
|
Number |
Числа с плавающей запятой в диапазоне от –10 307 до +10 307 с 15 значащими десятичными разрядами |
$ |
|
Money |
Денежное поле. Содержит вещественные числа с фиксированной запятой, 6 знаками целой части и 2 знаками дробной части числа |
S |
|
Short |
Целые числа в диапазоне от –32768 до +32767 |
I |
|
Long Integer |
Целые числа в диапазоне от –2 147 483 648 до +2 147 483 647 |
# |
0-32 |
BCD |
Двоично-десятичные вещественные числа. Size – количество разрядов после запятой |
D |
|
Date |
Дата в диапазоне от 1.01.0000 до 31.12.9999 |
T |
|
Time |
Время с точностью до миллисекунды |
@ |
|
Timestamp |
Дата и время |
M |
1-240 |
Memo |
Memo-поле для размещения произвольных текстовых строк неограниченной длины. |
F |
0-240 |
Formatted Memo |
Memo-поле для размещения форматированного текста в формате RTF |
G |
0-240 |
Graphic |
Графическое изображение в формате TIF |
Окончание таблицы
O |
0-240 |
OLE |
Объект OLE |
L |
|
Logical |
Логическое поле. Содержит значение True или False |
B |
0-240 |
Binary |
Набор байтов произвольной длины |
+ |
|
Autoincrement |
Автоинкрементное поле |
Y |
1-255 |
Bytes |
Набор из Size байтов |
Контроль за содержимым полей. По умолчанию сразу после открытия окна редактирования структуры таблицы в списке Table properties выбран пункт Validity Checks, что позволяет контролировать содержимое полей.
С помощью флажка Required Field можно задать обязательность для заполнения текущего поля.
С помощью полей Minimum Value и Maximum Value можно задать минимальное и максимальное значения для числовых полей.
В строке Default Value можно указать значение поля по умолчанию. При вводе новой записи это значение появится в поле.
Выбор языкового драйвера таблицы. Для отображения русского текста без искажения при вводе информации в символьные поля необходимо установить драйвер для русского языка. Это осуществляют следующим образом.
1. В диалоговом окне описания таблицы в списке Table properties необходимо выбрать Table Language.
2. Щелкнуть по кнопке Modify.
3. В появившемся окне в списке Language выбрать Pdox ANSI Cyrillic.
Процедуру установки нужного языкового драйвера следует проводить до создания индексов по символьным полям и установки связей между таблицами.
Парольная защита. Любая таблица Paradox может быть полностью или частично защищена от несанкционированного доступа. Для этого в списке Table properties выбирают пункт Password Security, щелкают по кнопке Define. В открывшемся диалоговом окне задают пароль, который может содержать от 1 до 15 любых символов, в том числе и пробелы. Пароль чувствителен к регистру букв. С помощью кнопки Auxiliary Password вызывают дополнительное окно, в котором можно уточнить, какие поля и как защищаются.
Сохранение таблицы. Для запоминания таблицы в окне описания таблицы щелкают по кнопке Save As. В появившемся окне задают имя таблицы и выбирают созданную вами папку для размещения таблиц.