Пакет IBExpert и разработка базы данных FireBird в нем

Автор: Пользователь скрыл имя, 13 Мая 2012 в 20:26, курсовая работа

Краткое описание

В наше время, информация принимает роль важного «компонента» в деятельности человека. С ростом технических и программных возможностей, пользователю необходимо заботиться о правильной организации данных. С этим можно легко справиться, если применять на рабочем месте специализированные программы (как правило, применяется комплекс программ), позволяющие удобно, а главное безопасно и быстро вести организацию и ведение базы данных.
На данный момент, из специализированных программ, можно выделить - Firebird. В этой работе я подробно рассмотрю, принципы работы данной системы в пакете IBExpert, функциональные возможности, настройку, а также многое другое.

Оглавление

Вступление _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3
O сервере для СУБД Firebird_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _3-7
O пакете IBExpert_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _7-8
Разработка базы данных FireBird в IBExpert_ _ _ _ _ _ _ _ _8-18
Работа с базами данных Firebird на сервере через IBExpert_18-19
Заключение_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20
Иностранный источник_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21-22
Перевод иностранного источника_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _23-24
Приложение 1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _24-29
Список использованной литературы_ _ _ _ _ _ _ _ _ _ _ _ _ _ _30

Файлы: 1 файл

Пакет IBExpert и разработка базы данных FireBird в нем.doc

— 3.42 Мб (Скачать)
  1. Заключение
 

В данной работе мы рассмотрели созданме базы данных.

IBExpert - Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, а так же множество других возможностей.

IBExpert это профессиональная интегрированная среда разработки (IDE) для разработки и администрирования InterBase и Firebird баз данных.

Базу данных можно создавать на локальном  компьютере или на любом компьютере в сети. Как первичный, так и вторичные файлы могут располагаться на дисках и в папках с закрытым доступом для других компьютеров локальной сети. Все файлы базы данных должны располагаться на одном компьютере. Допустимо их размещение на разных дисках одного компьютера.  Если встроенный сервер используется, то лучше скачать еще и обычный, чтобы программы проще было тестировать. В Embedded версии к одной и той же базе нельзя подключаться из разных процессов, т.е. в IBExpert отслеживать работу программы с БД не получится.

Уже давно не секрет, что работа с большими объемами данных стала обыденностью для большинства  людей. И понятное дело, что эти  данные необходимо где-то хранить, как-то извлекать из хранилища, фильтровать, как-то анализировать и т.д.  
Так вот весь необходимый инструментарий для работы с большими объемами данных имеют, так называемые, Сервера Управления БазамиДанных ( или кратко СУБД )

В этой работе мы разобрали работу с Базами Данных от простого к сложному (на примере абсолютно бесплатной СУБД Firebird 2.5) 
 
 

  1. Иностранный источник

Programming the Firebird server

Many developers shy away from coding directly on the database server. IDEs (Integrated Development Environments) such as Delphi or C++Builder may be easier to write and quicker and easier to debug. However, developing an efficient application with an intelligent database that offers the highest possible performance can only be achieved by a combination of the two, along with intelligent programming.

Reasons for server-side programming include:

Speed of execution: server-side programmíng does exactly what it says, the work is done on the server, and the results are sent out to the client (whether over a short internet line or worldwide). Client-side programming fetches all data and tables it might need, and then sorts and analyzes them on the client PC. So if you've got to perform computations on a large database or table, you've got to suck all the data back to the workstation to actually do the work. This can lead to time-consuming queries, traffic congestion and long wait times for the user.

It is possible to achieve up to 50,000 operations per second within a stored procedure. A Delphi or PHP application is considered efficient when it achieves just 3,000 operations a second. If you're skeptical, try migrating some of your code from your front-end to the server and test and compare the performance!

Consistency: database operations performed on the server are either completed successfully or rolled back (i.e. not executed at all). They are never partially completed. Another advantage of server-side programming is when you have different front-ends, e.g. Delphi and PHP, doing similar things, programming both to call a single procedure to perform a task is not just easier than programming the whole thing twice, it also ensures consistency. Both applications call the same procedure and are therefore guaranteed to provide the same result. Any alterations that may need to be made in the future only need to be made once, directly in the procedure.

Modularity: stored procedures can be written for singular tasks such as order taking, order processing and dispatch. They can then call each other. Modularity is clear/easy to comprehend, which also makes future adjustments easier. And in the example above (Delphi and PHP applications share the same database) modularity is achieved, as any alterations that may need to be made in the future only need to be made once, directly in the procedure.

Even though PSQL (Procedure SQL) is initially not so easy to write as IDEs, because the programming language is not as rich and not as user-friendly, if you want to develop efficient high-performance database applications, it is vital you take the time and effort to get to grips with this.

www.ibexpert.net 
 
 
 
 
 
 
 
 

  1. Перевод иностранного источника

Программирование  сервера Firebird

Многие разработчики уклоняются от кодирования непосредственно  на сервере базы данных. IDE (интегрированные среды разработки) , на таких как Delphi или C + + Builder можно легче писать, быстрее и проще отладить. Тем не менее, развитие эффективного применения в интеллектуальных базах данных, что обеспечивает максимально возможную производительность, может быть достигнута только путем комбинации двух способов, наряду с интеллектуальным программированием.

Причины для  программирования на стороне сервера  включают в себя:

Скорость исполнения: Серверное программирование это именно то, что он говорит, работа выполняется на сервере, а результаты будут отправлены клиенту (будь то короткая линия Интернет или по всему миру). Программирования на стороне клиента получает все данные и таблицы это может понадобиться, а затем сортирует и анализирует их на клиентский компьютер. Так что если у вас есть для выполнения вычислений на больших баз данных или таблицу, вы должны сосать все данные на рабочей станции, на самом деле делать свою работу. Это может привести к трудоемким запросам, пробки и долго время ожидания для пользователя.

Это можно достичь до 50000 операций в секунду в хранимые процедуры . Delphi или PHP заявка считается эффективной, когда она достигает всего 3000 операций в секунду. Если вы скептически, попробуйте перенос некоторых кода с переднего конца на сервер и тест и сравнить производительность!

Консистенция: база данных операций, выполняемых на сервере, либо успешно завершена или откат (т.е. не выполняется вообще). Они никогда не частично. Еще одно преимущество программирования на стороне сервера, когда у вас есть несколько пользовательских интерфейсов, например, Delphi и PHP, делает подобные вещи, как программирование, чтобы вызвать одну процедуру, чтобы выполнить задачу не только проще, чем программирование все это в два раза, он также обеспечивает последовательности. Оба приложения вызывают ту же процедуру, и, таким образом, гарантированно обеспечить тот же результат. Любые изменения, которые могут должны быть сделаны в будущем нужно только сделать один раз, непосредственно в порядке.

Модульность: хранимые процедуры могут быть написаны для особых задач, таких как порядок принятия, обработки заказов и отправки. Они могут звонить друг другу. Модульность ясно / легко понять, что также делает корректировок в будущем легче. И в приведенном выше примере (Delphi и PHP приложений одни и те же базы данных) модульности достигается, так как любые изменения, которые могут должны быть сделаны в будущем нужно только сделать один раз, непосредственно в порядке.

Хотя PSQL (Процедура SQL) изначально не так легко написать, как IDE, так как язык программирования не так богат, а не как удобно, если вы хотите, чтобы разработать эффективные высокопроизводительные приложения баз данных, важно взять времени и сил, чтобы справиться с этим.

www.ibexpert.net 
 
 
 
 
 
 
 

Приложение 1 

unit Unit1; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, IniFiles, DB, IBDatabase, IBCustomDataSet, IBQuery, Grids, DBGrids,

  StdCtrls, IBUpdateSQL; 

type

  TForm1 = class(TForm)

    IBDatabase1: TIBDatabase;

    IBTransaction1: TIBTransaction;

    IBQuery1: TIBQuery;

    DBGrid1: TDBGrid;

    DataSource1: TDataSource;

    Button1: TButton;

    IBTransaction2: TIBTransaction;

    IBQuery2: TIBQuery;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    procedure FormCreate(Sender: TObject);

    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

  private

    FNew: Boolean;

    procedure EnabledEdit(const AValue: Boolean);

  public

    { Public declarations }

  end;

Приложение 1 

var

  Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

begin

  FNew := true;

  Edit1.Text := '';

  Edit2.Text := '';

  Edit3.Text := '';

  Edit4.Text := '';

  EnabledEdit(true);

  Edit1.SetFocus;

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

  try

    with IBQuery2 do

    begin

      if FNew then

        SQL.Text :=

          'execute procedure proc_tel_num(-1, ''' + Edit1.Text + ''',''' +

          Edit2.Text + ''', ''' + Edit3.Text + ''',' + Edit4.Text + ')'

      else

        SQL.Text := 'execute procedure proc_tel_num(' + IBQuery1.FieldByName

          ('ID').AsString + ', ''' + Edit1.Text + ''',''' + Edit2.Text +

          ''', ''' + Edit3.Text + ''',' + Edit4.Text + ')';

      Transaction.StartTransaction;

      ExecSQL;

      Transaction.Commit;

      Transaction.Active := false;

    end;

    IBQuery1.Close;

    IBQuery1.Open;

  except

    on E: Exception do

    begin

      if IBQuery2.Active then

        IBQuery2.Transaction.Rollback;

      Приложение 1 

Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);

    end;

  end;

  EnabledEdit(false);

end; 

procedure TForm1.Button3Click(Sender: TObject);

begin

  EnabledEdit(false);

end; 

procedure TForm1.Button4Click(Sender: TObject);

begin

  FNew := false;

  with IBQuery1 do

  begin

    Edit1.Text := FieldByName('surname').AsString;

    Edit2.Text := FieldByName('fname').AsString;

    Edit3.Text := FieldByName('patronymic').AsString;

    Edit4.Text := FieldByName('tel_num').AsString;

  end;

  EnabledEdit(true);

  Edit1.SetFocus;

end; 

procedure TForm1.Button5Click(Sender: TObject);

begin

  if Application.MessageBox('Продолжить удаление?', 'Удаление',

    MB_ICONQUESTION + MB_YESNO) = IDNO then

    Exit;

  try

    with IBQuery2 do

    begin

      SQL.Text := 'delete from list_phones where id = ' + IBQuery1.FieldByName

        ('ID').AsString;

      Transaction.StartTransaction;

      ExecSQL;

      Transaction.Commit;

      Transaction.Active := false;

    end;

    IBQuery1.Close;

    IBQuery1.Open;

  except

 Приложение 1 

  on E: Exception do

    begin

      if IBQuery2.Active then

        IBQuery2.Transaction.Rollback;

      Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);

    end;

  end;

end; 

procedure TForm1.EnabledEdit(const AValue: Boolean);

begin

  Edit1.Enabled := AValue;

Информация о работе Пакет IBExpert и разработка базы данных FireBird в нем