INTERBASE
Изучение
IB Expert (Лабораторная работа)
Цель работы: Ознакомиться с процессом инсталляции СУБД
InterBase и оболочки IB Expert. Научится устанавливать соединение с сервером из
программных систем, создавать базу данных и произвести элементарные действия с ней
как c удаленного, так и локального компьютера. Выполнение
задания Утилита IBExpert
предназначена для администрации баз данных в СУБД Interbase и FireBird.
Создание нового набора данных осуществляется с помощью пункта меню База данных
- Создать базу. Раздел «Сервер»
(удаленный/локальный) предназначен для выбора места создания файла базы данных.
Выберем тип «локальный» для создания базы данных на локальной машине. В
разделах «Имя сервера» и «протокол» вводится имя машины, на которой расположен
сервер баз данных Interbase (для локальной базы
данных эти поля не нужны). Поле ввода «Файл БД» предназначено для указания пути
к создаваемому файлу базы данных. «Имя пользователя» - строка ввода имени
администратора баз данных (имя пользователя - SYSDBA, пароль – masterkey).
Диалект 1 - "родной" формат IB 5. Поле ввода «Кодировка»
предназначена для выбора набора символов национального алфавита для текстовых
полей базы данных. Русские символы Windows содержатся в кодировке Win1251. Определившись со
структурой таблицы БД, создаем ее из меню База данных – Новая таблица. Имя
таблицы – STUDENT (вводится в верхней строке окна таблицы),
состоит из 3 полей (Преподаватель, курс, предмет).
Для каждого поля необходимо указать его имя и тип (по необходимости длину). Большинство
баз данных поддерживают следующие типы полей: 1)
CHAR.
Синтаксис: CHAR(n). Размер: n символов. Диапазон/Точность: от 1 до 32767
байтов. Размер символа кодировки определяет максимальное число символов,
которые разместятся в 32K. Описание: Фиксированной длины CHAR или строка
текста. 2)
DATE.
Синтаксис: DATE. Размер: 64 бита. Диапазон/Точность: от 1 янв 100 до 11 янв
5941. Описание: Так же включает информацию о времени. 3)
DECIMAL. Синтаксис: DECIMAL
(precision, scale). Размер: Переменный.
Диапазон/Точность: precision = от 1 до 15. Определяет, что сохраняется, по
крайней мере precision цифр числа. scale = от 1 до 15. Определяет число знаков
после запятой. Должно быть меньше или равно precision. Описание: Для примера,
DECIMAL(10,3) сохраняет числа точно в следующем формате: ppppppp.sss 4)
DOUBLE PRECISION. Синтаксис: DOUBLE PRECISION. Размер: 64 бита. Диапазон/Точность: от 1.7E-308 до 1.7E308.
Описание: Для научных вычислений: 15 цифр точности. Текущий размер типа DOUBLE
зависит от платформы. Большинство платформ поддерживает размер в 64 бита. 5)
FLOAT.
Синтаксис: FLOAT. Размер: 32 бита. Диапазон/Точность: от 3.4E-38 до 3.4E38.
Описание: Одиночная точность: 7 цифр точности. 6)
-
INTEGER. Синтаксис: INTEGER. Размер: 32 бита. Диапазон/Точность: от -2 147 483
648 до 2 147 483 648. Описание: Длинное целое со знаком (long, longword). 7)
NUMERIC. Синтаксис: NUMERIC (precision, scale). Диапазон/Точность: precision = от 1 до 15.
Определяет, что сохраняется, по крайней мере precision цифр числа. scale = от 1
до 15. Определяет число знаков после запятой. Должно быть меньше или равно
precision. Описание: Для примера, NUMERIC(10,3) сохраняет числа точно в
следующем формате: ppppppp.sss 8)
SMALLINT.
Синтаксис: SMALLINT. Размер: 16 бит. Диапазон/Точность: от -32768 до 32767.
Описание: Короткое целое со знаком. (shot, word). 9)
VARCHAR
Синтаксис: VARCHAR(n). Размер: n символов. Диапазон/Точность: от 1 до 32767
байтов. Размер символа кодировки определяет максимальное число символов,
которые разместятся в 32K. Описание: переменной длины CHAR или строка текста. 10) BLOB. Синтаксис: BLOB.
Размер: Переменный. Диапазон/Точность: Нет. Описание: Большой двоичный объект.
Сохраняет данные большого объема, такие как графика, текст и цифровой звук. После завершения ввода
полей необходимо нажать кнопку «Компиляция» (Ctrl+F9)
с изображением молнии на панели инструментов окна. Ввод данных выполняется
на вкладке «Данные» окна «Таблица». Разработка приложения
для работы с базой данных Клиентская часть систем баз данных часто оформляется в виде прикладных
программ (приложений). Для создания приложений баз данных в среде Delphi имеется набор
компонентов на вкладках Data Access, Data Controls и Interbase. Добавим в проект специальную невизуальную форму DataModule (File/New/DataModule), в которой будем
размещать компоненты для доступа к данным. Поместим в нее компоненты IBTable, IBTransaction, IBQuery со вкладки Interbase и компонент IBSource со вкладки Data Access. Компонент IBDataBase1 предназначен для связи с базой данных. На странице свойств диспетчера
объектов необходимо определить имя набора данных (DataBaseName), параметры доступа (Params) и компонент для
работы с транзакциями по умолчанию (DefaultTransaction). В разделе «Params» необходимо ввести
имя пользователя, пароль и тип кодировки символов:
Свойство LoginPrompt следует установить в false, в том случае если нет необходимости запрашивать
имя пользователя и пароль при каждом подключении к базе данных. В противном случае
следует установить это свойство в значение true. Компонент IBTransaction предназначен для управления транзакциями приложения с базой данных.
Транзакция - набор логически связанных операций, работающих с данными базы
данных, и либо переводящий базу данных из одного целостного состояния в другое,
либо нет (т.е. оставляющий БД в целостном состоянии, существовавшем до начала
транзакции). Транзакции обладают следующими свойствами: упорядочиваемостью,
неделимостью, постоянством. Упорядочиваемость гарантирует, что если две или
более транзакции выполняются в одно и то же время, то конечный результат
выглядит так, как если бы все транзакции выполнялись последовательно в
некотором (в зависимости от системы) порядке. Неделимость означает, что когда
транзакция находится в процессе выполнения, то никакой другой процесс не видит
ее промежуточные результаты. Постоянство означает, что после фиксации
транзакции никакой сбой не может отменить результатов ее выполнения. Базовыми
примитивами при работе с транзакциями являются: Start Transaction – начать транзакцию; Commit – завершить
транзакцию и принять сделанные изменения; RollBack - завершить
транзакцию и отменить сделанные изменения. В компоненте IBTransaction необходимо
установить свойство DefaultDatabase, указав в нем имя компонента IBDatabase. Компонент IBQuery предназначен для передачи запросов от клиентского приложения серверу баз
данных. На странице свойств необходимо указать компонент управления
транзакциями IBTransaction и заполнить редактор предложений SQL. Компонент DataSource выполняет связь источника данных (TIBQuery, TIBTable и др.) и интерфейсных
компонентов формы для отображения данных. На странице свойств следует указать
компонент источник данных DataSet (в нашем случае IBQuery). В клиентской части окна
расположим компонент DBGrid со вкладки DataControls для отображения результатов
запроса IBQuery. В качестве источника данных укажем компонент DataSource. Свойства основных
компонентов на форме Form1: Обработчик
событий для компонента Button1 (…): Листинг 2
Обработчик
событий для компонента Button2 (Обновить): Листинг 3
После запуска приложения и выбора файла базы
данных (test1.GDB) главная форма проекта имеет вид: Выводы: В ходе выполнения лабораторной работы бали проинсталлированы
СУБД InterBase и оболочка IB Expert. Была создана и зарегистрирована новая база
данных в соответствии с вариантом задания (вариант #7), создана таблица и
заполнена данными. Было разработано приложение средствами среды Delphi
для установки соединения с указанным набором данных. Также был исследован
механизм работы транзакций с помощью разработанного приложения и оболочки IB
Expert. |
| ||||