Проектирование информационных систем

Автор работы: Пользователь скрыл имя, 20 Октября 2009 в 15:59, Не определен

Описание работы

Загайнов И.А. Проектирование информационных систем: Конспект мультимедиа лекций для студентов специальностей 050704 – Вычислительная техника и программное обеспечение, 050703 – Информационные системы.

Файлы: 1 файл

kml_pis_2008.doc

— 2.82 Мб (Скачать файл)

Создания модуля данных.

Работы с компонентами доступа к БД.

Использования компонентов наборов данных.

Видимости данных приложений Console и Expert.

Управления  транзакцией и видимостью данных.

 

10 ТЕХНОЛОГИИ ДОСТУПА К БД

 

      10.1 Технологии доступа. 

Технология работы с базами данных SQL – сервера «InterBase Express».

Основные компоненты и их использование.

Настройка соединения с БД.

Обновление наборов  данных, формируемых при помощи SQL – операторов.

Технология Borland Database Engine (BDE).

Утилита «BDE Administrator».

Установка псевдонима БД.

Основные компоненты для работы с БД.

Тестирование функций компонентов модуля данных. 
 

      10.2 Определение.

Технология  доступа в многопользовательской  системе реализуемой в системе  с клиент – серверной архитектурой, определяет взаимодействие клиентского  приложения с серверной БД, включая:

  • авторизацию пользователя (защита данных);
  • управление видимостью данных;
  • сетевое взаимодействие.
 

      10.3 Реализация в Delphi

.

Технологии  доступа к БД, поддерживаемые стандартным набором библиотек среды разработки Delphi:  

Технология БД     Компонент соединения

The Borland Database Engine (BDE).   TDatabase

ActiveX Data Objects (ADO).    TADOConnection

dbExpress.       TSQLConnection

InterBase Express.      TIBDatabase

 

      10.4 Архитектура

.

Архитектура технологии доступа – иерархический  набор драйверов и специализированных библиотек для работы с удаленными БД:

 

 
 

      10.5 IBExpress

.

Библиотека  компонентов реализующих технологию IBExpress расположена на вкладке палитры VCL «InterBase», и содержит наборы компонент для:

  • соединения с БД(IBDatabase, IBTransaction);
  • доступа к данным(IBTable, IBQuery, IBStoredProc, IBUpdateSQL, IBDataSet, IBSQL, IBClientDataSet);
  • администрирования БД(IBDatabaseInfo, IBSQLMonitor, IBEvents, IBExtract).
 

      10.6 Модуль данных

.

Не визуальный компонент реализуется как окно - контейнер для помещения в него компонент для работы с БД (TDataBase, TTable, TQuery, TStoredProc).  А также, если необходимо, обработчиков событий этих компонентов и объектов полей соответствующих НД.

 

 

      10.7 IBDataBase

.

Настройка основных свойств компонента IBDataBase подразумевает определение следующих параметров:

DataBaseName - для определения каталога и имени серверной базы данных;

 

Default Transaction – связный компонент транзакции, обязательно;

 

Params - определение параметров авторизации, задаваемых в редакторе компонента;

 

LoginPrompt - определяет режим авторизации, при значении true запрос диалога на ввод имени пользователя и пароля обязателен;

 

SQLDialect – определяет диалект, используемый при создании БД;

 

Connected – логическое свойство, показывающее активность соединения.

 

      10.8 Редактор компонента

.

Задание имени  пользователя (SYSDBA) и пароля (masterkey) выполняется в редакторе объекта, как показано рисунке:

 

 

      Свойство  AllowStreamedConnected (значение по умолчанию - true), определяет, что соединение автоматически будет устанавливаться, не зависимо от свойства Connected, при выполнении любого запроса к данным или БД.

      Свойство  IdleTimer определяет интервал ожидания  перед автоматическим завершением соединения.

 

      10.9 Наборы данных

.

Компоненты  распространенных технологий:

 
BDE InterBaseExpress dbExpress ADO
TBDEDataSet

TDBDataSet

TTable

TQuery

TStoredProc

TIBCustomDataSet

TIBDataSet

TIBTable

TIBQuery

TIBStoredProc

TCustomSQLDataSet

TSQLDataSet

TSQLTable

TSQLQuery

TSQLStoredProc

TCustomADODataSet

TADODataSet

TADOTable

TADOQuery

TADOStoredProc

 

Все технологии используют однотипные наборы компонентов.

 

      10.10 IBTable

.

Компонент IBTable является наиболее простым способом обращения к конкретной таблице базы данных.

      Основные  свойства:

DatabaseName - имя БД, содержащую искомую таблицу;

TableName - имя таблицы, на стадии проектирования выбирается из выпадающего списка;

Active - указывает, открыта (true) или нет (false) данная таблица;

ReadOnly - если это свойство равно true, таблица открыта в режиме "только для чтения";

Fields - массив объектов TField;

Eof, Bof - эти свойства принимают значение true, когда указатель текущей записи расположен на последней или соответственно первой записи таблицы;

RecordCount - возвращает общее число записей набора данных.

 

      10.11 Вопрос

.

Какая функция используется в приложении клиента для получения списка имен полей таблицы серверной БД? 

1. Table1.Fields().

2. Table1.Fields[2].AsString.

3. Table1.Fields[*].AsString.

4. Table1.Fields[*].Value.

5. Нет  правильного ответа.

 

      10.12 Состояния НД

.

В каждый момент времени набор данных находится  в определенном состоянии:

 

 

      10.13 Методы управления НД

.

Методы  компонента реализуют набор основных функций по управлению:

  • состоянием компонента;
  • навигацией данных;
  • работе с данными.

Open и Close устанавливающие значения свойства Active равными True и False соответственно.

Append, Insert – переводят НД в режим добавления записи, или на место курсора или в конец набора.

Edit – переводит в режим редактирования.

Delete – удаление текущей записи.

Post, Cancel – закрытие НД с сохранением и без сохранения изменений.

Refresh - позволяет заново считать набор данных из БД или из файла.

 

      10.14 Навигация по набору

.

Реализация  принципа навигации по НД осуществляется чаще всего с помощью методов  и свойств компонента TDataSet:

First – первая запись таблицы (DataModule1.Table1.First);

Last – последняя запись таблицы (DataModule1.Table1. Last);

Next – следующая запись таблицы (DataModule1.Table1.Next);

Prior – предыдущая запись таблицы (DataModule1.Table1.Prior);

RecNo – переход к записи по указанному номеру:

DataModule1.Table1.RecNo:=StrToInt(Edit1.Text).

 

      10.15 Пример использования

.

Например, код обработки всех записей таблицы  может выглядеть так:

    Table1.First;  
    while not Table1.Eof do

    begin 
                  //выполняем действие над записью.  
    Table1.Next;  
    end;

 

      10.16 События НД

.

По паре методов-обработчиков (до и после события) предусмотрено для следующих событий в наборе данных:

  • открытие и закрытие набора данных;
  • переход в режим редактирования;
  • переход в режим вставки новой записи;
  • сохранение сделанных изменений;
  • отмена сделанных изменений;
  • перемещение по записям набора данных;
  • обновление набора данных.
 

      10.17 Поля наборов

.

Поля  наборов данных реализованы специальным  классом TField.

Доступ  из программы к индивидуальным полям  записи осуществляется при помощи одного из следующих свойств или методов, каждый из которых принадлежат TDataSet:

 

            property Fields[Index: Integer];

     

            function FieldByName(const FieldName: string): TField;

 

Свойство FieldCount возвращает число полей в текущей структуре записи

 

             property FieldCount;

 

      10.18 Пример

.

Заполнение  списка ListBox значениями поля:

 

    procedure TForm1.ValuesClick(Sender: TObject);

    var

    i: Integer;

    begin

    ListBox2.Clear;

    for i := 0 to Table1.FieldCount - 1 do

    ListBox.Items.Add(Table1.Fields[i].AsString);

    end;

 

счетчик изменяется от нуля до FieldCount - 1.

 

      10.19 TQuery

.

Основное  назначение это выполнение практически  любого SQL – оператора:

 

    1. Выполнять операторы языка SQL для управления метаданными:

    CREATE …

    ALTER …

    DROP …

    2. Выполнять операторы управления данными:

    INSERT …

    UPDATE …

    DELETE …

   3. Выполнять оператор SELECT … для формирования локального набора данных, включая вызов хранимых процедур.

 

      10.20 Вопрос.

Один  компонент запроса используется для формирования нескольких наборов  данных, при помощи выполнения оператора SELECT с различными значениями параметра. Возможно ли, выполнять следующий запрос и одновременно редактировать ранее сформированный набор данных?

 

      10.21 Кэширование данных

.

Кэширование данных производится при помощи объекта:

 

    IBClientDataSet1.SaveToFile('C:PISCDsetCDS1.tss',dfBinary);

 

      10.22 Содержание отчета

.

Название проекта, с перечислением реализуемых  функций для каждого типа пользователей;

Описание состава  проекта, основные модули и их назначение;

Изображение окна модуля данных проекта с наборами сформированных компонентов;

Настройка соединения с БД (пути, параметры), авторизация;

Описание основных компонентов их назначение и необходимые  значения свойств (код используемых операторов);

Описание параметров управления транзакциями, результаты тестирования различных режимов видимости данных.

Информация о работе Проектирование информационных систем