Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основная часть. СУБД состоит из совокупности экранных и отчетных форм и процедур обработки данных вводимых в БД и выводимых из БД






 

СУБД состоит из совокупности экранных и отчетных форм и процедур обработки данных вводимых в БД и выводимых из БД. При программировании СБД в среде Windows СУБД называют приложением.

Чтобы определить перечень экранных форм рассмотрим порядок работы пользователя, т.е. задаем поведение пользователя нашей системы.

Пусть порядок работы пользователя задается следующей схемой.

Схема работы пользователя.

Интерфейс пользователя происходит через главное меню. Поэтому система должна имеет главное меню.

Для ввода информации в базу необходима отдельная экранная форма. Базу следует просматривать на отдельной экранной форме.

Кроме того, пользователю необходимо получить данные из базы в печатной форме, причем различные данные в различных формах. Все эти выходные данные называются отчетами или отчетными формами. Поэтому пользователю необходимо получать отчетные формы.

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

Порядок работы пользователя на основе предусмотренных форм происходит следующим образом.

При запуске системы на экране должно отображается главное меню системы. В меню отражен перечень команд-действий, которые может выполнить система. Если пользователь планирует ввод данных о поступивших материалах, то он из меню вызывает форму для ввода информации.

Для того чтобы просмотреть базу он может из меню вызвать форму просмотра базы. Для вывода данных в отчет для пользователя можно предусмотреть различные варианты. Пользователь из главного меню может вызвать форму просмотра базы и оттуда он может выбирать данные и форму отчета. Далее сгенерированный вариант отчета выдается на печатное устройство. Для того чтобы достичь гибкости можно предусмотреть варианты формирование отчета в режиме (с формы) ввода информации и в режиме (с формы) просмотра базы.

Таким образом, из описанной выше схемы работы системы “пользователь – система” видно, что для работы системы необходимо следующие формы:

· Форма для меню;

· Форма для ввода данных в базу;

· Форма для просмотра БД;

· Форма для отчета №1;

· Форма для отчета №2;

· Форма для отчета №3.

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

 

4.2. Проект и план создания компонентов СУБД

 

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

Следует отметить, что основой для проектирования СУБД является форма. Являясь основой и носителем всех остальных компонентов, форма служит фундаментом для процессов обработки данных. Теоретической основой такой схемы является объектно-ориентированная технология проектирования и программирования.

Однако на теоретических вопросах объектно-ориентированной технологии проектирования и программирования не будем специально останавливаться.

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

Будем считать, что для работы пользователя достаточно трех отчетных форм. Поэтому для каждой экранной и отчетной формы должна быть выделена отдельная форма.

В Delphi информационная связь форм СУБД с БД осуществляется через определенные невизуальные компоненты. Поэтому для обеспечения связи экранных форм с БД в проекте используется специальный невизуальный компонент (контейнер) TDataModule, который также должен создаваться отдельно.

Таким образом, исходя из описанных эвристических предпосылок, установим перечень необходимых для нашей задачи форм:

· Форма для меню;

· Форма для ввода данных в базу;

· Форма для просмотра БД;

· Форма для отчета №1.

· Форма для отчета №2.

· Форма для отчета №3.

· Компонента TDataModule

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

1) Компонента TDataModule

2) Форма для меню;

3) Форма для просмотра БД;

4) Форма для ввода данных в базу;

5) Форма для отчета №1.

6) Форма для отчета №2.

7) Форма для отчета №3.

 

 

Формы, необходимые для создания СУБД можно задать двумя способами:

1. Если заранее известно их количество, то на экране монитора и соответственно в хранилище (repository) проекта IDE Delphi заранее можно вывести нужное количество визуальных и невизуальных форм, т.е. в проект можно добавить столько форм, сколько требуется. С помощью команды File | New Form добавляются визуальные формы, а командой File | New Data Module - невизуальная. Отметим, что для нашей системы требуется всего шесть визуальных форм и одна компонента TDataModule.

2. Если заранее количество нужных форм для проекта не известно, то на экране монитора и соответственно в хранилище (repository) проекта IDE Delphi добавляется та форма, которая нужна для проекта на текущем этапе создания СУБД. Установление форм на экране осуществляется через команды File | New Form или File | New Data Module. Другими словами каждая форма в проект добавляется по мере необходимости.

В данном случае добавление новых форм в хранилище проекта происходить с помощью команды добавления (File | Add to Project).

Таким образом, исходя из проекта, представим план работы по созданию СУБД для поставленной выше задачи автоматизации из экранных и отчетных форм и процедур обработки данных.

Сначала будем считать, что на экране выведено столько форм, сколько требуется для создания всех форм СУБД. Если форм не хватает, то доводим их до необходимого количества. Это делается путем повторение действия (File | New Form) столько раз, сколько требуется количеств форм и один контейнер командой File | New Data Module.

Теперь определим последовательность проектирования (конструирования) форм. Последовательность создание форм в общем случае произвольный, но мы все таки выбираем вышеизложенную последовательность.

Данная последовательность оформления и создания форм упрощает процесс создания СУБД.

Создание СУБД начнем с построения контейнера TDataModule для связи с БД. Проектирование форм СУБД начнем с экранной формы, на которой будет отображено содержимое БД.

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

Кроме того, требуется установление связи между компонентами различных форм. В одной из экранных форм следует предусмотреть команду завершения работы системы.

После определения набора компонентов и их размещения на форме, устанавливается их доступ к БД и создается процедура обработки данных для каждого компонента формы.

Из вышеприведенного определения видно, что СУБД также как БД состоит из множества компонентов. Все эти компоненты СУБД требуют формирования и программирования. Поэтому их также как и БД следует хранить в определенном месте. Поэтому для этой цели создадим в каталоге C: \PRIMER подкаталог АРР. В нем мы будем хранить разработанные приложения.

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

 

 

Создание контейнера TDataModule

 

Связь экранной формы с БД обеспечивается специальными компонентами, которые называются невизуальными компонентами. Эти элементы видны только в режиме конструирования, а в режиме работы системы на экране невидимы.

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

Для всех экранных и отчетных форм необходим доступ (связь) к БД. Причем когда СУБД имеет несколько экранных форм их доступ к БД можно осуществить двумя способами.

1. Доступ каждой формы (и ее компонентов) к БД можно осуществить автономно, независимо от остальных форм.

2. Второй способ предполагает не повторять для каждой формы организацию доступа к БД, а для всех экранных и отчетных форм организовать единый доступ через специальный компонент типа TDataModule. Компонент типа TDataModule представляет собой контейнер, в который можно помещать невизуальные компоненты TTable, TQuery, DataSource, которые необходимы для доступа к БД и т.д. Тогда все те формы, для которых потребуется доступ к БД, доступ получат через компонент TdataModule. Поэтому при создании СУБД для каждой экранной формы необходимо установить связь с компонентой типа TdataModule.

Таким образом, для работы СУБД необходимо создать компонент типа TDataModule.

Создание экземпляра TDataModule в среде Delphi осуществляется через пункт меню File | New Data Module.

Компонент TDataModule служит контейнером компонентов для работы с базами данных. В палитре компонентов Delphi на странице Data Access выберем мышью невизуальный компонент ТТаblе (рис. 20), щелкнем на нем мышью и затем щелкнем мышью в контейнере. После этого, изображение компоненты останется в контейнере.

 

 

Рис.20. Палитра компонентов Delphi

 

Невизуальным компонент TTable (как и другие компоненты, например, TQuery, TDataSource) называется потому, что он применяется для хранения и доступа к данным, а не для их визуализации - для этой цели применяются визуальные компоненты (TDBGrid, TEdit и другие).

После того, как мы разместили компонент TTable, установим его свойства. Для этой цели воспользуемся инспектором объектов (Object Inspector), который обычно помещается слева от формы. Если он не видим, его можно вызвать, нажав кнопку F11. Инспектор объектов позволяет устанавливать свойства того компонента, который выделен при помощи мыши. Выделим мышью компонент TTable.

Установим значение свойства DatabaseName (псевдоним БД) в PRIMER при помощи выпадающего списка или введя его вручную. Установим значение свойства TableName (имя таблицы БД) в Materialy.DB при помощи выпадающего списка. После этого установим значение свойства Active в True. После этого произойдет реальное связывание компонента TTable (он по умолчанию имеет имя Table1) с реально существующей таблицей Materialy.DB.

Компонент TTable и компонент TQuery (его мы рассмотрим позже) служат для хранения наборов данных. Понятие набора данных несколько шире, чем понятие таблицы БД, поскольку набор данных может содержать:

· подмножество записей или полей таблицы БД (компоненты TTable, TQuery);

· записи, сформированные из нескольких таблиц БД (компонент TQuery).

Расположим в контейнере DataModule компонент TDataSource. Он служит в качестве связующего звена между невизуальными компонентами (в данном случае Table1) и визуальными компонентами, которые мы добавим в форму №3 позднее. Поэтому компоненты TDataSource часто называют источниками данных. Установим свойство DataSet (имя набора данных) компонента TDataSource в значение Table1 путем выбора из выпадающего списка.

TDataModule нужно сохранить под каким-либо именем (по умолчанию Unit5.pas). Имя модуля Unit, в котором описан TDataModule, добавляется в текст модулей unit всех иных форм приложения, которые будут использовать БД и TDataSource, расположенные в этом TDataModule. Это производится в главном меню среды Delphi, в элементе меню File | Use Unit.

В дальнейшем визуальные компоненты, работающие с данными набора данных (НД), должны в своем свойстве DataSource содержать имя соответствующего компонента TDataSource из TDataModule. При этом имя является составным: сначала идет имя компонента TDataModule и затем через точку – имя компонента TDataSource, например DataModule5.DataSource1.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.