Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет_курсов_пример.doc
Скачиваний:
11
Добавлен:
11.02.2016
Размер:
483.33 Кб
Скачать

Создание базы данных в InterBase

Создавать базу данных я буду для СУБД (Системы Управления Базами Данных) InterBase. ОкноFlameRobinвыглядит так:

Теперь нам необходимо создать локальный сервер. Для этого в основном меню нажимаем Server>Registerи в появившемся окне выбираемLocalServer. Затем ниже в областиLoginInformationв полеUserNameвводимSYSDBA, а в полеPasswordвводимMASTERKEYи нажимаемOk. Таким образом мы создаем локальный сервер СУБД.

Теперь необходимо создать базу данных. Для этого в главном меню IBConsoleвыбираемDatabase>CreateDatabase. Появляется окно создания базы данных:

В области Databasepathмы прописываем полный путь к базе данных вместе с тем именем базы, которую мы хотим создать. Например если мы хотим на дискеD, проходим на диск и прописываем в строке «D:\FBLIBRAR.FDB». В областиCharSetмы выбираем ту кодировку, которую будем использовать в нашей базе данных. В моей базе используется кодировкаWIN1251. Затем в областиSQLDialectвыбирается тот диалект языкаSQL, который будем использовать. В моей базе используется 3-ый диалект.

Теперь создаем базу данных с помощью сгенерированного нами ранее скрипта. Для этого клацаем правой кнопкой мыши на Tableи выбираем ‘Createnew…’. В открывшееся диалоговое окно вставляемSQL код отдельной таблицы:

Так мы создаем каждую таблицу и процедуру.

В итоге вот что у нас получилось:

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

А вот и сам SQLкод сгенерированный вERStudio:

/*

* PROCEDURE: AvtorInsProc

*/

SET TERM !! ;

CREATE PROCEDURE AvtorInsProc

( v_ID_Avtor INTEGER,

v_First_Name VARCHAR(20),

v_Last_Name VARCHAR(20))

AS

BEGIN

INSERT INTO Avtor(ID_Avtor,

First_Name,

Last_Name)

VALUES(:v_ID_Avtor,

:v_First_Name,

:v_Last_Name);

END;!!

SET TERM ; !!

/*

* PROCEDURE: AvtorUpdProc

*/

SET TERM !! ;

CREATE PROCEDURE AvtorUpdProc

( v_ID_Avtor INTEGER,

v_First_Name VARCHAR(20),

v_Last_Name VARCHAR(20))

AS

BEGIN

UPDATE Avtor

SET First_Name = :v_First_Name,

Last_Name = :v_Last_Name

WHERE ID_Avtor = :v_ID_Avtor;

END;!!

SET TERM ; !!

/*

* PROCEDURE: AvtorDelProc

*/

SET TERM !! ;

CREATE PROCEDURE AvtorDelProc

( v_ID_Avtor INTEGER)

AS

BEGIN

DELETE

FROM Avtor

WHERE ID_Avtor = :v_ID_Avtor;

END;!!

SET TERM ; !!

Разработка клиентского приложения

Клиентское приложение создавалось мною в среде разработки Delphi2007. Мое клиентское приложение разработано с помощью технологииInterBaseи имеет 9 форм:AOTB,Avtor,Book,BookItem,BookJanre,DataModul,Inventarization,Janre,Purchase.

В форме DataModule:

реализуется соединение клиентского приложения с моей базой данных.

За соединение с базой данных отвечает компонент IBDatabase1, предназначенный для подключения к базу данных. Транзакцией управляет компонентIBTransaction1, предназначенный для явного управления транзакцией. Кроме того формаDataModuleимеет целый ряд компонентовTIBTableиTDataSourceдля взаимодействия с таблицами в базе данных.

Текст всех модулей представлен ниже в приложении.