Домашняя страничка Стефурак П.Б. Программа сравнения структур баз данных.
 
     Домашняя Промзона Спальный район  

Промзона \ Программа сравнения структур баз данных.
Демо для теста.

  В качестве демо, попросили меня, написать программу сравнения структур баз данных FireBird.
  Требования к программе звучали как-то так:
  Необходимо разработать приложение командной строки на Delphi/Lazarus, которое принимает в качестве параметров командной строки:
  1. Базу шаблон;
  2. Базу для сверки;
  3. имя пользователя;
  4. пароль.
  Данная программа производит сверку структур баз данных, размещенных на сервере Interbase/Firebird/Yaffil, а именно сверяет состав таблиц, состав полей таблиц и типы полей таблиц.
  Программа осуществляет вывод на консоль результата сверки в следующем виде:
  • если база шаблон содержит это поле или таблицу, а сравниваемая нет, то это поле/таблица выводится со знаком плюс;
  • если база шаблон таблицу или поле не содержит, а сравниваемая содержит, то выводить со знаком минус в начале строки.
      В программе реализовать загрузку информации шаблонной и сравниваемой базы в объект хранилище. Данный объект содержит список объектов описывающих таблицы. Объект таблица так же содержит список объектов описывающих поля. Объект база реализует метод сравнения. Метод доступа к базе значения не имеет.
      На выполнение данного задания отводится три-четыре рабочих дня.

     
    Release.

      Собственно, текст написанной программы: Исходные тексты программы сравнения структур баз данных (код снабжен комментариями).
      Доступ к БД я реализовал через ADO компоненты, что позволило цепляется к чему только можно - был бы провайдер. В качестве ADO провайдера при режиме Firebird используется IBProvider - OLE DB Firebird драйвер и Interbase провайдер.
      В архиве - исходные тексты программы, MASTER и SLAVE - тестовые БД FireBird, fb_test.bat - пример использования в режиме FireBird, cs_test.bat - пример использования в режиме Connection String (формат Microsoft Data Link, udl).
      Текст снабжен комментариями, прекрасно компилируется как в Delphi XE, так и в Delphi 5.
     

      Если у вас будут мысли в чем можно улучшить эту программу - буду благодарен, если вы напишете мне о них на eмаil.

      Исходные тексты программы сравнения структур баз данных (код снабжен комментариями).    IBProvider - OLE DB Firebird драйвер и Interbase провайдер.
     
     
  •