Создание базы данных в InterBase
Создавать базу данных я буду для СУБД (Системы Управления Базами Данных) InterBase. Окно FlameRobin выглядит так:
Теперь нам необходимо создать локальный сервер. Для этого в основном меню нажимаем Server > Register и в появившемся окне выбираем Local Server. Затем ниже в области Login Information в поле User Name вводим SYSDBA, а в поле Password вводим MASTERKEY и нажимаем Ok. Таким образом мы создаем локальный сервер СУБД.
Теперь необходимо создать базу данных. Для этого в главном меню IBConsole выбираем Database > Create Database. Появляется окно создания базы данных:
В области Database path мы прописываем полный путь к базе данных вместе с тем именем базы, которую мы хотим создать. Например если мы хотим на диске D, проходим на диск и прописываем в строке «D:\FBLIBRAR.FDB». В области CharSet мы выбираем ту кодировку, которую будем использовать в нашей базе данных. В моей базе используется кодировка WIN1251. Затем в области SQL Dialect выбирается тот диалект языка SQL, который будем использовать. В моей базе используется 3-ый диалект.
Теперь создаем базу данных с помощью сгенерированного нами ранее скрипта. Для этого клацаем правой кнопкой мыши на Table и выбираем ‘Create new…’. В открывшееся диалоговое окно вставляем SQL код отдельной таблицы:
Так мы создаем каждую таблицу и процедуру.
В итоге вот что у нас получилось:
Хранимые процедуры (англ. stored procedures) позволяют реализовать значительную часть логики приложения на уровне базы данных и таким образом повысить производительность всего приложения . Хранимая процедура (ХП) – это часть метаданных базы данных, представляющая собой откомпелированную во внутреннее представление InterBase подпрограмму, написанную на специальном языке, компилятор которого встроен в ядро сервера InterBase. ХП можно вызвать из клиенских приложений, из триггеров и других хранимых процедур. ХП выполняется внутри серверного процесса и может манипулировать данными в базе данных, а также возвращать ее клиенту (приложению) результаты своего приложения.
А вот и сам SQL код сгенерированный в ER Studio:
/*
* 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 ; !!