В начало

Изучение 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.


mysql дамб таблицы БД, Украинский сонник
mysql дамб таблицы БД, Украинский сонник


RU-База (1071шт) с  ТИЦ от 30 до 24тыс, 18 июнь2015
RU-База (1071шт) с ТИЦ от 30 до 24тыс, 18 июнь2015


База фирм Екатеринбург октябрь 2008
База фирм Екатеринбург октябрь 2008