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» необходимо ввести имя пользователя, пароль и тип кодировки символов:

 

user_name=SYSDBA

password=masterkey

lc_ctype=WIN1251

 

Свойство 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

procedure TForm1.Button1Click(Sender: TObject);

begin

 begin

     if OpenDialog.Execute then

     begin

        //Выводим его в строку редактирования

        EdDataBaseName.Text:=OpenDialog.FileName;

        //Устанавливаем имя для компонента IBDataBase

        DataModule2.IBDataBase1.DatabaseName:=OpenDialog.FileName;

        //Устанваливаем связь с базой данных

        DataModule2.IBDataBase1.Connected:=true;

        //Активизируем запрос

        DataModule2.IBQuery1.Active:=true;

     end;

     end;

end;

 

 

Обработчик событий для компонента Button2 (Обновить):

 

Листинг 3

procedure TForm1.Button2Click(Sender: TObject);

begin

      //Завершаем транзакцию. Запрос закрывается.

     DataModule2.IBQuery1.Transaction.Commit;

     //Вновь активизируем запрос

     DataModule2.IBQuery1.Active:=true;

end;

 

После запуска приложения и выбора файла базы данных (test1.GDB) главная форма проекта имеет вид:

 

 

Выводы: В ходе выполнения лабораторной работы бали проинсталлированы СУБД InterBase и оболочка IB Expert. Была создана и зарегистрирована новая база данных в соответствии с вариантом задания (вариант #7), создана таблица и заполнена данными. Было разработано приложение средствами среды Delphi для установки соединения с указанным набором данных. Также был исследован механизм работы транзакций с помощью разработанного приложения и оболочки IB Expert.


Новая база трастовых сайтов
Новая база трастовых сайтов


База кодов для разблокировки магнитол
База кодов для разблокировки магнитол


База сайтов Обратной Связи Ru 2019
База сайтов Обратной Связи Ru 2019