Тема 10. Объектно-ориентированное программирование (ООП) в СУБД
Объектно-ориентированное программирование (ООП) основывается на понятии объекта, в то время как традиционное процедурное программирование основывается на процедурах. Понятие объекта, являющееся основным в ООП, позволяет очень эффективно использовать модульный принцип составления программ и сделало возможным визуальное программирование и проектирование БД и их приложений.
Основная особенность объектно-ориентированного языка программирования состоит в том, что программа организуется по объектам программирования. Объекты содержат инструкции (называемые методами) и данные (называемые свойствами), которые определяют поведение объекта. Метод – это функция или процедура, которая управляет работой объекта. Внешний вид и работа объекта определяются характеристиками, которые являются свойствами объекта. Свойства объекта могут быть изменяемыми и неизменяемыми, но их значения всегда можно прочитать.
Объект можно определить как совокупность программно связанных методов и свойств, выполняющих одну функционально связанную задачу и представляющих собой единое целое. В процессе работы программы объект выполняет свое стандартное поведение и в случае необходимости изменяет данные для отражения влияния назначенного ему действия. Объектом можно назвать любой предмет: окно, поле ввода, кнопку и т.д.
При объектно-ориентированном программировании на первый план выступают данные, несущие информацию об объектах и осуществляющие обмен информацией между объектами. В модели электронной схемы в роли управляющих данных могут быть электрические сигналы, в модели экономики – количество товаров на рынке, в модели многооконной операционной оболочки – все происходящие в системе события. В ООП управляющие данные принято называть сообщениями.
В ООП используется событийная модель управления. Событие представляет собой некоторое действие, которое активизирует стандартную реакцию объекта. Событие обрабатывается методом. В качестве события может рассматриваться нажатие кнопки мыши, выбор пункта меню, открытие таблицы и т.д. Порядок выполнения действий определяется прежде всего событиями, возникающими в системе, и реакцией на них объектов. Ниже приведена последовательность выполнения действий в системе при условии предварительно запрограммированных реакций системы.
1. В системе возникает событие (нажатие клавиши, изменение значения поля и т.д.).
2. Определяется связанный с этим событием объект (поле таблицы, кнопка, форма и т.д.).
3. Вызывается соответствующий событию метод объекта, который содержит действия по обработке возникшего события.
Помимо ключевого понятия объект в объектно-ориентированных языках программирования существует и широко применяется понятие класс. Объект можно создать программно или визуально на основе класса. Классы и объекты тесно связаны между собой, но эти понятия не тождественны. Класс содержит информацию о том, как должен выглядеть объект и определяет выполняемые им действия. Объект является экземпляром класса, который наследует характеристики класса.
Выделяют три основные характеристики объектно-ориентированного программирования: наследование, инкапсуляция, полиморфизм.
Наследование. Все объекты создаются на основе классов и наследуют свойства и методы классов. Классы могут, в свою очередь, создаваться на основе других классов. Такие классы называются подклассами. Они наследуют все свойства и методы своих родительских классов. Дополнительно можно определить для подкласса новые методы и свойства. Подклассы позволяют сократить объем программирования и максимально использовать предыдущий опыт работы. Кроме того, изменение свойств и методов родительского класса отслеживается в подклассах, созданных на основе этого класса, а также в объектах, созданных на основе подклассов. Таким образом можно без особых затрат изменить характеристики всего приложения.
Инкапсуляция. Методы и свойства, объединенные в объекте, не могут существовать вне его. При копировании объект копируется как единое целое. Принцип объединения в единое целое данных и программного кода, описывающего поведенческие свойства объекта, известен под термином инкапсуляция. При этом можно пользоваться как специальным типом данных, введенным в языки программирования для реализации технологии ООП (например, в С++, Simula, Prolog), так и обычными синтаксическими конструкциями.
Полиморфизм. При традиционном процедурном программировании имя вызываемой подпрограммы или функции однозначно определяет выполняемый код. В объектно-ориентированном программировании можно использовать одни и те же имена методов для выполнения совершенно разных действий. Например, метод open() может использоваться как для открытия формы, так и открытия базы данных. Выполняемое действие зависит от типа объекта, к которому применяется данный метод. Такой подход значительно упрощает программирование, позволяя использовать одинаковые смысловые наименования для выполнения разнообразных действий.
Классом называют шаблон, который описывает методы и свойства, используемые для определённого типа объектов. Классы имеют иерархическую структуру. На основе класса системы (базового класса) можно создать класс разработчика приложений, который, в свою очередь, может быть родительским классом для подклассов пользователя. Классы, как базовые, так и созданные, хранятся в библиотеках классов. При создании объектов можно использовать базовые классы системы, а также созданные новые специальные классы и подклассы.
Существуют разные типы классов. Большинство базовых классов являются видимыми, некоторые классы используются для объединения объектов и не отображаются в форме. Кроме того, одни классы допускают вложение других классов, другие – не допускают. Можно использовать не только базовые классы, но и создавать собственные, Ниже дается краткая характеристика основным типам классов.
Классы – элементы управления, позволяют создавать объекты, с которыми можно обращаться только как с единым целым (линия, кнопка, список, таймер и другие элементы управления).
Классы – контейнеры, позволяют создавать объекты, которые могут содержать внутри себя другие объекты, позволяя к тому же манипулировать этими внутренними объектами. Например, контейнер – таблица содержит столбцы и заголовки столбцов, контейнер – форма содержит различные элементы управления.
Различают визуальные классы – видимые на экране и составляющие основу пользовательского интерфейса (например, кнопка, таблица, форма и т.д.) и не визуальные, которые видны только в процессе проектирования (например, таймер).
Едва ли можно найти предметную область, объекты которой нельзя было бы описать в терминах иерархических структур или классификаций. Классификации удобны тем, что позволяют разнести свойства объектов по иерархическим уровням, т.е. структурировать их. При этом реализуется механизм наследования – свойства старшего класса автоматически переносятся на дочерний уровень.
В объектно-ориентированных языках программирования, где механизм наследования реализуется при помощи специальных синтаксических конструкций, дочерние классы автоматически наследуют все свойства объекта, в том числе и функции, описывающие его поведение.
СУБД состоит из отдельных объектов (компонентов), которые используются для хранения информации, ее отображения и редактирования.
В СУБД все данные хранятся в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров, хранимых процедур и т.д.
Для отображения и редактирования данных используются формы, отчеты, запросы и программы. Чтобы создавать формы, отчеты и запросы, применяются мастера и конструкторы. Формы и отчеты являются составными объектами, так как они состоят из более мелких объектов (таких, как поля, кнопl, диаграммы, рамки, OLE-компоненты и т. п.), которые называются объектами интерфейса.
Для создания объектов на основе классов применяют специальные средства визуального программирования. Визуальное программирование донесло основные положения объектно-ориентированного программирования до конечного пользователя. Вместо того, чтобы писать многие строки кодов, определяющие поведение объекта, пользуются прототипами необходимых объектов – классами. Средства визуального программирования предоставляют соответствующие классы для создаваемых объектов, которые можно настроить по своему усмотрению. Например, практически все визуально программируемые языки содержат прототипы кнопки, которая утопает и всплывает при нажатии на нее пользователем. Это дает возможность не писать многие строки кода для создания кнопки, а воспользоваться уже готовым прототипом кнопки.
Языки программирования современных СУБД являются объектно-ориентированными, визуально программируемыми языками, управляемыми по событиям, и в полной мере соответствуют требованиям, предъявляемым к средствам проектирования приложений. Можно перечислить все элементы интерфейса современных СУБД и большинство из них окажутся объектами. Специальные инструментальные средства СУБД позволяют визуально проектировать базы данных и другие компоненты приложений баз данных (конструкторы, генераторы, редакторы, мастера, построители и т.д).
Среды программирования современных СУБД предоставляют в распоряжение пользователя много самых разнообразных панелей инструментов для работы с базами данных, формами, отчетами и запросами. Эти панели инструментов содержат набор кнопок, причем этот набор зависит от назначения конкретной панели инструleogr.
Программы, написанные на языке программирования СУБД, являются объектно-ориентированными. С их помощью обрабатываются события в форме, создаются объекты, изменяются их свойства, осуществляются различные вычисления, выполняется управление базой данных.
Для удобства работы можно объединить программы в библиотеки.
Основная литература:1[157:160].
Дополнительная литература: 10[944:960].
Контрольные вопросы:
1. Какое понятие является основным в объектно-ориентированном программировании.
2. Что собой представляют метод и свойство объекта.
3. Какая модель управления используется в объектно-ориентированном программировании.
4. Что собой представляет событие.
5. Какие характеристики присущи объектно-ориентированному программированию.
6. Какое определение можно дать объекту.
7. Что означает понятие класса в объектно-ориентированном программировании.
8. Какие существуют основные типы классов.
9. В чем отличие класса- контейнера от класса-элемента управления.
Тема 11. Визуальное программирование в СУБД.
Основу визуального программирования в СУБД составляет манипулирование объектами будущего приложения БД на экране в виде, максимально приближенном к их реализации.
В современных СУБД обычно имеется широкий набор базовых классов (прототипов объектов) – контейнеров и элементов управления, с помощью которых можно определить свои объекты.
Большинство базовых классов являются видимыми (визуальными), некоторые классы используются для объединения объектов и не отображаются в форме в режиме исполнения (не визуальные).
Основные базовые классы клиентской СУБД Visual FoxPro представлены в таблице 1.
Таблица 1
Наименование | Назначение | Тип класса |
ToolBar | Панель инструментов | Контейнер, визуальный |
Form | Форма | Контейнер, визуальный |
FormSet | Группа форм | Контейнер, не визуальный |
Page | Страница формы | Контейнер, визуальный |
PageFrame | Набор страниц | Контейнер, не визуальный |
Grid | Таблица | Контейнер, визуальный |
CommandGroup | Набор кнопок управления | Контейнер, визуальный |
OptionGroup | Набор переключателей | Контейнер, визуальный |
Header | Заголовок столбца таблицы | Элемент управления, визуальный |
Command | Кнопка управления | Элемент управления, визуальный |
OptionButton | Переключатель | Элемент управления, визуальный |
CheckBox | Флажок | Элемент управления, визуальный |
Spinnner | Счетчик | Элемент управления, визуальный |
TextBox | Поле ввода | Элемент управления, визуальный |
EditBox | Область редактирования | Элемент управления, визуальный |
Label | Надпись | Элемент управления, визуальный |
ComboBoxи ListBox | Комбинированный список и Список | Элементы управления, визуальные |
Lineи Shape | Линия и Обрамление | Элементы управления, визуальные |
Image | Изображение | Элемент управления, визуальный |
Timer | Таймер | Элемент управления, не визуальный |
Для каждого объекта существует свой набор событий, используемый для управления программой. Ниже описываются основные события, используемые в событийной модели управления СУБД Visual FoxPro.
Load – событие возникает, когда форма или набор форм загружаются в память.
UnLoad – событие возникает, когда форма или набор форм выгружаются из памяти.
Init – событие возникает при инициализации объекта.
Destroy – событие возникает, когда объект уничтожается.
Activate – событие возникает при активизации объекта.
Click– событие возникает при щелчке мышью на объекте.
DblClick – событие возникает при двойном щелчке мышью на объекте.
RightClick – событие возникает при щелчке правой кнопкой мыши на объекте.
MouseDown– событие возникает при нажатии клавиши мыши, когда курсор мыши указывает на объект.
MouseUp – событие возникает при освобождении клавиши мыши, когда курсор мыши указывает на объект.
KeyPress – событие возникает для активного объекта при нажатии любой клавиши клавиатуры.
InteractiveChange – событие возникает, когда значение объекта изменяется в интерактивном режиме.
ProgrammaticChange – событие возникает, когда значение объекта изменяется в программном режиме.
GetFocus – событие возникает при любой активизации объекта.
LostFocus – событие возникает, когда объект перестаёт быть активным.
Error – событие наступает при возникновении ошибки, связанной с объектом.
Для отдельных объектов не все из перечисленных выше событий имеют место, но каждый объект обязательно имеет три события: Init (наступает при инициализации объекта), Destroy (возникает, когда объект уничтожается) и Error (наступает при возникновении ошибки, связанной с объектом).
Настройка конструируемого на основе классов объекта на конкретное применение осуществляется с помощью свойств. Свойства можно считать физическими атрибутами объекта. Каждый атрибут описывает объект и делает его уникальным.
Перечень свойств объекта, созданного на основе базового класса, определяется свойствами базового класса (принцип наследования). Свойства подобны переменным, однако, в отличие от последних, они не существуют вне объекта.
Каждый базовый класс обладает своим набором свойств, которыми обладают все классы и объекты, созданные на его основе. Но есть свойства, которыми обладают все классы:
Class– тип класса;
BaseClass – базовый класс, на основе которого создан данный класс (объект);
ClassLibrary– библиотека классов, в которой хранится данный класс;
ParentClass – определенный пользователем класс, на основе которого создан данный класс (объект).
Возможность изменения свойств объектов в Visual FoxPro является мощным инструментом управления данными в интерактивном режиме. Например, возможно:
- изменить свойство экранной формы (заголовок, размер и т.п.);
- изменить цвета полей вывода, формат отображения;
- запретить ввод в поля, переход на них или же сделать их невидимыми и многое другое.
Для того, чтобы определить какие либо из свойств объекта в интерактивном режиме проектирования, необходимо выбрать требуемый объект и нажать правую кнопку мыши, а из открывшегося меню объекта выбрать команду Свойства (Properties). В результате на экране появится окно свойств текущего объекта. Значения свойств объектов могут быть символьными, логическими и числовыми. Некоторые из них могут принимать произвольные значения (например, заголовок поля, координаты объекта поля). Другие свойства могут принимать значения из определенного списка.
Visual FoxPro позволяет изменять свойства объектов в процессе выполнения программы. Например, при переходе из режима ввода в режим редактирования можно изменить название заголовка формы ВВОД, которое является одним из свойств формы, на РЕДАКТИРОВАНИЕ.
Ниже перечислены основные свойства объектов Visual FoxPro:
Border Color – задаёт цвет рамки.
BackColor– задаёт цвет фона объекта.
ForeColor – задаёт цвет выводимых символов.
FontName, FontSize – используются для задания имени и размера шрифта символов (по умолчанию используется шрифт Arial, 10 пунктов).
Height и Width – высота и ширина объекта.
Leftи Top – расстояние объекта от левого и верхнего края объекта – контейнера.
StatusBarText – задаёт текст в строке состояний.
Name – задает программное имя объекта.
Caption – задаёт название заголовка формы, название кнопки и т.д.
Picture – используется для задания пути и имени файла с изображением.
MouseIcon – определяет имя файла для указания вида курсора мыщи (файлы с расширением ICO, ANI, CUR).
ConrtolSource – указывает источник, откуда берутся данные (поле таблицы, переменная, элемент массива и т.д.).
ReadOnly – используется для задания возможности изменения данных, имеет два значения: True – не разрешается изменять данные; False– разрешается изменять данные в источнике данных.
Visible – видимость объекта, имеет два значения: True – объект виден; False – объект не виден, но он существует.
Enable – доступность объекта, имеет два значения: True – объект доступен пользователю; False – объект не доступен пользователю;
BaseClass – имя базового класса объекта.
Parent– позволяет сослаться на контейнер, который включает данный элемент управления.
Свойство можно задать не только при проектировании приложения, но и при его работе программным путём, указав: имя_объекта.имя_свойства = значение_свойства.
Каждый объект Visual FoxPro имеет не только свойства, наследованные из класса, на основе которого создается объект, но и методы. Список методов, определенных для объекта, отражается во вкладке Methods окна свойств объекта.
Методы – это действия, которые объекты могут выполнять. Очевидно, что объект формы имеет по крайней мере два метода – открыть и закрыть. При создании формы предполагается ее когда-нибудь открыть, а открытую форму затем нужно закрыть. Следовательно, формы содержат процедуры, сообщающие Visual FoxPro, как открывать и закрывать их.
Существуют методы, имеющие общий характер для объектной модели Visual FoxPro. Например: метод Releaseпозволяет удалить объект, метод Refresh – обновить объект, метод SetFocus – активизирует указанный элемент управления, метод ResetToDefault (‘имя свойства’) –возвращает для указанного свойства значение по умолчанию.
Для каждого события определен соответствующий ему метод, который выполняется при возникновении данного события. Например, метод Clickвыполняется при нажатии кнопки мыши.
Список доступных методов обработки событий определяется базовым классом. Именно эти методы обеспечивают обработку всех действий пользователя (нажатие клавиш, управление мышью и другие действия). Visual FoxPro предоставляет возможность создания и модифицирования методов – процедур (с использованием объектно-ориентированного языка программирования и языка программирования xBase), активизируемых событиями данного объекта.
Для каждого события объекта выполняется определенное базовым классом действие. В некоторых случаях можно отключать это действие, тогда в начале метода вставляется ключевое слово NoDefault.
Основная литература: 1[171:178],7[469:486].
Дополнительная литература: 10[958:962].
Контрольные вопросы:
1. Какие существуют основные классы – контейнеры.
2. Какие существуют основные классы – элементы управления.
3. Основные события объектной модели Visual FoxPro.
4. Основные свойства объектов в Visual FoxPro.
5. Стандартные методы объектной модели Visual FoxPro.
Тема12. Инструментальные средства СУБД.
Во всех современных СУБД используется объектно-ориентированный подход, что позволяет применять технологию визуального проектирования БД и их приложений. Эта технология реализуется с помощью специальных средств: конструкторов, генераторов, редакторов, мастеров, построителей и т.д.
Конструкторы (генераторы, редакторы) используются для проектирования компонентов БД и пользовательских приложений БД. Они имеют набор специальных средств (инструменты, кнопки, функциональные окна, команды меню и т.д.), которые позволяют с учетом специфики каждого объекта максимально облегчить и сделать наглядным процесс разработки.
Во многих современных программных системах существуют процедуры, которые в русскоязычной литературе называют Мастерами, а в англоязычной – Wizards (Волшебники). Они предназначены для упрощения процесса разработки сложных объектов. Особенность Мастеров состоит в том, что они используют готовые объекты для создания стандартизованных объектов.
Мастера– это интерактивные визуальные средства проектирования, которые через заранее определенную последовательность диалоговых окон (шагов) уточняют задачу и разрабатывают требуемый компонент, используя стандартное решение задачи. Так как это стандартное решение, то при этом упускаются из виду специфические особенности создаваемого объекта или данных, но сам процесс разработки упрощается. После запуска мастера достаточно ответить на вопросы в текущем диалоговом окне, после чего перейти к следующему шагу работы мастера.
Построители– это те же мастера или конструкторы, но они обычно вызываются из основных конструкторов и помогают решать дополнительные задачи, возникающие при работе конструкторов.
В реляционных СУБД данные представляются в табличном виде. Данные можно организовывать либо в автономные таблицы, либо в таблицы базы данных (в зависимости от требований конкретной СУБД). Таблицы и базы данных – это основные объекты СУБД. В общем случае базы данных представляют собой совокупность логически связанных таблиц данных. Поэтому отношения между таблицами также хранятся в базе данных. Для ускорения поиска данных в таблице используются индексы, входящие в состав баз данных. В большинстве СУБД реализован механизм триггеров. Триггеры хранятся в базе данных и позволяют централизованно обрабатывать события, возникающие при любых изменениях в базе данных. Можно также создавать хранимые процедуры, которые являются частью базы данных и используются при описании таблиц для проверки введённых данных, определения значения по умолчанию и т.п.
Помимо таблиц для отображения и (или) редактирования данных в приложениях баз данных широко используются и другие объекты – компоненты СУБД: представления, формы, отчёты, запросы, программы. Эти объекты, в отличие от других объектов (кнопок, переключателей, списков и т.д.), являются самостоятельными компонентами СУБД наряду с таблицами данных. Их создание и использование выполняется независимо от других объектов или в зависимости только от таблиц данных. Формы, отчёты, запросы, программы могут храниться в одном файле с таблицами (например, в СУБД Access) или в отдельных файлах (например, в СУБД Visual FoxPro). Во втором случае, в зависимости от содержащегося в файле объекта, СУБД автоматически присваивает каждому файлу расширение, которое помогает в идентификации объекта.
Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных (виды, просмотры данных). Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Можно выбрать только интересующие поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения, задать новые имена полей таблицы и т.д.
Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их число непрерывно растёт. Во многих информационных системах доступ к данным (включая просмотр, добавление и редактирование) осуществляется только с помощью представлений данных. Такой подход позволяет осуществить гибкое управление доступом к информации. Редактирование данных, включённых в представление, возможно только при определённых условиях.
При выборке данных из представлений в формы, отчёты, запросы, а также в программах применяются те же правила, что и для таблиц.
В приложениях баз данных широко используются формы и отчёты. Они являются составными объектами, так как состоят из более мелких объектов (таких, как поля, кнопки, диаграммы, рамки, OLE – компоненты и прочие объекты), которые называются объектами интерфейса.
Формы – объекты, предназначенные в основном для программирования графического интерфейса пользователя, для просмотра и редактирования информации из баз данных, для отображения и ввода данных с применением различных элементов управления. Например, при разработке приложения для бухгалтерии возможно создание форм, которые на экране будут выглядеть точно так же, как стандартные бланки бухгалтерских документов.
Формы предоставляют возможность использования широкого набора объектов, настройки этих объектов посредством определения их свойств и заданием требуемого поведения объектов посредством описания их методов.Простота при определении действий объектов, как для системных событий, так и для событий, определяемых пользователем, позволяет легко, эффективно и быстро описывать интерфейс пользователя и другие процедуры управления приложением.
Отчеты –используются для форматирования, вычисления итогов и печати определенных данных из базы данных. Отчёты создаются в том случае, если информацию необходимо иметь в печатном виде. Примерами отчётов являются прайс-листы товаров, списки покупателей, различные ведомости и т.д. Как правило, отчеты можно предварительно просматривать на экране.
Запросы – являются средством выборки данных из одной или нескольких таблиц. Практически во всех реляционных СУБД для создания запроса используется специализированный язык Structured Query Language – SQL (см.3.3). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчётов и диаграмм или сохраняться в указанной таблице. Можно создать запрос не только на выборку, но и на обновление, удаление, добавление данных.
Один и тот же компонент может быть создан с использованием разных средств. Например, для создания отчётов (форм) в настольной СУБД Visual FoxPro используются мастер и конструктор отчётов (форм). С помощью мастера отчётов можно быстро создать собственный отчёт на основе имеющихся шаблонов. Применяя конструктор отчётов, можно создавать отчёты произвольной сложности, включая многоуровневую группировку данных и размещение вычисляемых полей. Чтобы создавать формы в СУБД Visual FoxPro, можно использовать не только базовые классы, но и создать собственные (например, определить класс форм, в котором задан определённый цвет фона и стандартный набор кнопок для управления данными). Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса.
Для создания компонентов системы в Visual FoxPro существует большое количество мастеров (Wizards), краткая характеристика которых приведена ниже.
Мастер баз данных (Database Wizard) – облегчает построение баз данных за счёт использования стандартных типовых баз данных.
Мастер таблиц (Table Wizard) – облегчает построение таблиц за счёт использования стандартных типовых (около 40) таблиц.
Мастер запросов (Query Wizard) – позволяет создать запрос из нескольких таблиц, указав условия для выбора данных и условия для связи между таблицами, при этом постоянные связи между таблицами БД игнорируются.
Мастер перекрёстных таблиц (Cross Table Wizard) – позволяет создать запрос в виде электронной таблицы, которую можно экспортировать в формат электронных таблиц MS Excel, Lotus 1,2,3 и работать с нею в табличном процессоре.
Мастер диаграмм(Graph Wizard) – позволяет создать по данным таблицы график (диаграмму) MS Graph и поместить этот график в специальную таблицу с именем VFPgraph в поле типа General с именем leograph. При создании графика данные одного поля таблицы используются для оси абсцисс, для оси ординат, в зависимости от типа графика, используются данные от одного до нескольких полей. Затем этот график можно использовать в отчете, в форме.
Мастер локальных представлений (Local View Wizard) и Мастер внешних представлений (Remote View Wizard) – создают, соответственно, локальные и удаленные представления (виртуальные таблицы – виды), которые сохраняются в БД. Эти представления можно просматривать, но через них нельзя изменить данные в источнике данных. Чтобы источники данных обновлялись, представления необходимо отредактировать в Конструкторе представлений.Мастер внешних представлений использует технологию ODBC (Open Database Connectivity) для создания видов из внешних данных, то есть данных не в формате DBF.
Мастер форм (Form Wizard) – создаёт форму на основе данных одной таблицы.
Мастер форм 1:М (One-to-Many Form Wizard) – позволяет создать форму с данными из двух таблиц, связанных отношением 1:М, причём данные из дочерней таблицы располагаются в виде объекта Grid (таблицы). Мастер форм для отображения данных более, чем из двух таблиц, не существует.
Мастер отчётов (Report Wizard) – создает простой отчёт с упорядоченными данными.
Мастер отчётов с группировкой данных (Group/Total Report Wizard) – позволяет дополнительно указать условия группировки данных (3 уровня) и подведение итогов по каждой группе.
Мастер отчётов 1:М (One-to-Many Report Wizard) – создает отчёт на базе двух таблиц, связанных отношением 1:М. Указываются поля из родительской таблицы, затем из дочерней, данные из которых будут печататься следом за записью родительской таблицы.
Мастер ярлыков (Label Wizard) – позволяет создать этикетку (наклейку, ярлык) на основе данных одной таблицы и правильно расположить этикетки на листе для печати.
Кроме этих, традиционных для многих СУБД, мастеров существует ряд специфических мастеров, перечисленных ниже.
Мастер почтовой рассылки(Mail Merge Wizard) – создаёт источник данных для документа почтовой рассылки текстового процессора Microsoft Word. MS Word должен быть инсталлирован на компьютере, так как после окончания работы мастера он автоматически запускается. Составляется текст документа и указывается, куда вставить выбранные поля из источника данных. Этот мастер используется также для создания текстового файла, который может быть использован в любом текстовом процессоре.
Мастер сводных таблиц(Pivot Table Wizard) – позволяет создать электронную таблицу как объект MS Excel или как объект формы Visual FoxPro. В первом случае в конце работы мастера автоматически запускается MS Excel. Во втором случае – автоматически создается форма со встроенной таблицей и открывается в Конструкторе форм.
Мастер импорта данных(Import Wizard) – из таблиц Excel, Lotus, СУБД Paradox, текстовых файлов импортирует данные в таблицу формата DBF. Можно создать новую таблицу или добавить данные в существующую таблицу.
Мастер документирования(Documenting Wizard) – подготавливает программу для распечатки.
Мастер создания дистрибутива(Setup Wizard) – обеспечивает создание дистрибутива разработанного приложения.
Мастер создания Internet страницы (WWW Search Page Wizard) – позволяет представить данные в виде статичного Web-документа (страница в формате HTML).
Мастера наращивания (Upsizing Wizard) для MS SQL Server и Oracle Server – позволяют перенести БД с локального компьютера на сервер БД.
При создании приложений БД во многих СУБД (и не только в СУБД) используется понятие проекта. Проект – средство объединения отдельных элементов приложения. Для создания проекта используются специальные средства. Мастер проектов или мастер создания приложений (Application Wizard) – обеспечивает построение проекта приложения.
Мастера обеспечивают быстрое и упрощенное создание компонентов системы в режиме диалога по стандартным шаблонам. А для создания компонентов, максимально учитывающих специфику задачи, используются конструкторы Visual FoxPro: Конструктор БД, Конструктор таблиц, Конструктор представлений, Конструктор запросов, Конструктор форм, Конструктор отчетов, Конструктор ярлыков и т.д. Компоненты Visual FoxPro, созданные с помощью мастера, можно открыть в соответствующем конструкторе и модифицировать для придания требуемой функциональности.
Конструкторы имеют свои меню с набором соответствующих команд, специфические панели инструментов, функциональные окна, кнопки и другие средства, которые позволяют создавать компоненты с заданными функциями, свойствами, методами. Некоторые компоненты Visual FoxPro (например, меню), можно создать только в конструкторе. При запуске любого конструктора в системное меню Visual FoxPro добавляется дополнительный пункт меню с командами для работы с соответствующим компонентом.
Основная литература:1[160:163,178:189], 5[4:34].
Контрольные вопросы:
1. Какие объекты относятся к основным объектам СУБД?
2. Что собой представляют объекты-формы и объекты-отчеты, для чего они используются?
3. Что собой представляют объекты-запросы и объекты-программы, для чего они используются?
4. Какие существуют специальные средства, позволяющие применять технологию визуального проектирования баз данных и их приложений?
5. Для чего используются конструкторы, мастера, построители?
Тема 13. Архитектура клиент-сервер в технологии БД.
Классификацию СБД можно проводить по многочисленным критериям, ниже приведена классификация по некоторым из них.
По числу уровней в архитектуре выделяют системы БД одноуровневые, двухуровневые, трёхуровневые и многоуровневые. Трехуровневая архитектура СБД является стандартной, но необязательной.
В зависимости от типа схемы данных реализуемой СУБД, системы БД делятся на форматированные (структурированные) и неструктурированные.
В структурированных СБД используются детерминированные схемы данных: типы объектов, их свойства, их взаимосвязи заранее определены. В свою очередь, структурированные СБД по типу используемой модели данных делятся на реляционные, сетевые, иерархические.
В неструктурированных СБД совокупность объектов, их свойств и взаимосвязей определяется в момент появления объектов в поле зрения СУБД. В неструктурированных системах условно можно выделить модели дескрипторные, дескрипторные с грамматикой, фреймовые модели, модели на семантических сетях.
По используемому языку общения различают СБД замкнутые и открытые. В открытых системах для программирования используется базовый включающий язык, дополненный операторами языка манипулирования данными. В замкнутых системах