КГКП «Семипалатинский финансово-экономический колледж
имени Рымбека Байсеитова»
МАТЕРИАЛ ОТКРЫТОГО УРОКА
Дисциплина: «Алгоритмизация и программирование»
Тема урока: «Компоненты разработки прложений БД в BDE»
Группа: 2 основной ВТ-2
г.Семей
ПОУРОЧНЫЙ ПЛАН
Адресная категория |
1.1. Наименование специальности и квалификации | 1304000 – «Вычислительная техника и программное обеспечение (по видам)» 130404 3 – «Техник-программист» |
1.2. Курс, группа | 2 осн. Курс ВТ-2 |
1.3. Наименование учебного модуля/дисциплины, изучаемого раздела | Алгоритмизация и программирование |
1.4. Тема занятия | Компоненты разработки прложений БД в BDE. |
1.5. Организационная форма занятия | групповая |
1.6. Знания и умения студентов, необходимые для выполнения деятельности по модулю/теме | - знать компоненты разработки прложений БД в BDE; - знать визуальные компоненты работы с данными. |
1.7. Возможности учебного занятия интеграция профессиональных умений и умений трудоустройства | - навыки общения; - умение воспринимать информацию; - умение применять информацию на практике. |
2. Цель занятия |
2.1. Способствовать развитию следующих умений трудоустройства и поиска работы, которым обучатся студенты на данном занятии | - умение слушать; - умение общаться с партнерами; - прислушиваться к мнению других. |
2.2. Обучение профессиональным умениям, которыми овладеют обучающиеся в процессе учебного занятия | - умение правильно организовать рабочее место; - умение работать с литературой; - умение работать в коллективе; - мыслить логически. |
3. Описание результата занятия |
3.1. К концу занятия обучающиеся должны: знать и уметь | - знать компоненты разработки прложений БД в BDE; - знать визуальные компоненты работы с данными. |
3.2. Критерии качества | - знание компонентов разработки прложений БД в BDE; - знание визуальных компонентов работы с данными. |
4. Фаза планирования |
4.1. Учебно-методическое оснащение, справочная литература | С.Бобровский «Delphi 7» |
4.2. Техническое оснащение, материалы | ПК, Delphi |
4.3. Описание последовательности действий студентов | - освоить компоненты разработки прложений БД в BDE; - освоить визуальные компоненты работы с данными. |
4.4. Роль преподавателя | - сообщение основных понятий по теме; - пояснение терминов и порядка их применения. |
5. Реализация плана |
5.1. Описание плана занятий, содержание действий преподавателя и студентов (таблица) | Таблица «Содержание и организация взаимодействия преподавателя и студентов» |
6. Оценка |
6.1. Оценка качества выполненных заданий | Определение степени усвоения новых понятий и терминов. |
Преподаватель ______________ Ихсанова А.С.
подпись Ф.И.О.
Содержание и организация взаимодействия преподавателя и студентов
№ | Основные этапы занятия | Виды и последовательность действий | Деятельность студентов | Совместная деятельность преподавателя и студентов | Деятельность преподавателя |
| | | индивидуальная | групповая | межгрупповая | консультация | инструктирование | контроль |
1. | Этап ориентирования и планирования | Тема и цель урока | | Х | | Х | Х | | |
2. | Этап выполнения работы | Подготовка рабочего места | | Х | | | Х | | |
Подготовка материалов | | Х | | | Х | | |
Технологический процесс: конспектирование, работа с конспектом, работа на интерактивной доске | Х Х | | | | Х Х | | Х Х |
3. | Этап оценки и анализа конечных и промежуточных результатов | Оценка работы по критериям качества: Определить термин | Х | | | | Х | | |
Тема урока: Компоненты разработки прложений БД в BDE.
Компоненты для создание приложений БД в BDE.
Система Delphi содержит богатую библиотеку компонентов, значительно упрощающих разработку приложений для баз данных. Компоненты освобождают программиста от работы на нижнем уровне, позволяют быстро создавать надёжные приложения.
Сначала, поговорим о вкладках, на которых они располагаются:
BDE – содержит компоненты для создания приложений, использующих BDE;
Data Access – это вкладка, содержащая не визуальные компоненты, предназначенные для организации доступа к данным;
Data Controls – на ней располагаются визуальные компоненты для отображения данных.
Следует также знать, что компоненты для работы с базами данных можно разделить на три группы:
множества данных (data sets);
визуальные компоненты баз данных (dataaware controls)
источники данных (data sources).
Множества данных – это не визуальные компоненты, которые взаимодействуют с BDE и обеспечивают доступ к данным в таблицах. Наиболее важные из них – компоненты Table и Query.
Визуальные компоненты баз данных – это управляющие элементы пользовательского интерфейса для просмотра и редактирования данных. Многие из них дублируют обычные управляющие компоненты: DBGrid, DBEdit, DBCheckBox, DBRadioGroup, DBImage и др.
Источники данных – это не визуальные компоненты, исполняющие роль трубопроводов между множествами данных и визуальными компонентами баз данных. Используя введённые понятия, можно уточнить структуру приложения, осуществляющего доступ к данным через BDE (DataSource) (рис. 1).

Рис. 1. Структура приложения БД, использующего технологию BDE.
Компонент Table
Компонент Table (табл. 1) обеспечивает доступ к таблицам базы данных, создавая набор данных, структура полей которого повторяет таблицу БД. Набором данных называют записи одной или нескольких таблиц, переданные в приложение в результате активизации компонента доступа к данным.
Таблица 1. Важнейшие свойства компонента Table
Свойство | Описание |
Active | Если равно true, то таблица открыта, если false — то закрыта. |
CachedUpdates | Если равно true, то операция по модификации сразу не выполняются, а кэшируются (накапливаются). Для физического выполнения скопировавшихся операция вызывается метод ApplyUpdates. |
DataBaseName | Задаёт базу данных, которой принадлежит таблица. Содержит псевдоним или путь к файлам, составляющим базу данных. |
Exclusive | Если равно true, то всем остальным пользователям таблицы будет отказано в доступе. |
Filter | Булевское выражение, задающее фильтр для записей. |
Filtered | Включает (true) или выключает (false) фильтрацию записей. |
FilterOptions | Параметры, определяющие режимы фильтрации. |
IndexFieldNames | Имена индексированных полей. |
IndexFiles | Список индексных файлов, используемых при работе с таблицами в формате dBase. |
IndexName | Вторичный индекс таблицы. Свойства IndexName и IndexFieldNames являются взаимоисключающими. |
MasterFields | Содержит имена полей, по которым данная подчинённая таблица связывается с главной таблицей. |
MasterSource | Указывает источник данных (DataSource) главной таблицы, если данная таблица является подчинённой. |
ReadOnly | Запрещает/разрешает (true/false) модификацию данных в таблице. |
TableName | Имя таблицы БД. |
TableType | Физический тип таблицы. Это свойство игнорируется при работе с серверной базой данных. |
С помощью компонента Table можно организовать доступ к любой записи таблицы или их подмножеству. Компонент Table содержит все необходимые свойства, события и методы для создания, удаления, модификации, сортировки, фильтрации и поиска записей в таблице.
Компонент DataSource
Компонент DataSource (табл. 2) обеспечивает взаимодействие набора данных с компонентами для отображения данных. С каждым компонентом доступа к данным должен быть связан как минимум один компонент DataSource. С одним компонентом DataSource может быть связано несколько визуальных компонентов.
Таблица 2. Важнейшие свойства компонента DataSource
Свойство | Описание |
AutoEdit | Определяет, переходит ли связанная с источником данных таблица БД в режим редактирования записи, если пользователь начинает печатать символы в одном из управляющих элементов, связанных с источником данных. Если true, то переходит. |
DataSet | Указывает компонент (Table или Query), поставляющий данные из таблицы. |
Enabled | Определяет, обновляется ли содержимое управляющих элементов, связанных с источником данных, при изменении текущей записи в таблице. Позволяет включить (true) или исключить (false) все подсоединённые визуальные компоненты. |
Компонент DBGrid
Визуальный компонент DBGrid (табл. 3) предназначен для организации табличного просмотра и редактирования данных. Внешний вид данных, отображаемый DBGrid, по умолчанию соответствует структуре набора данных. Компонент DBGrid часто называют сеткой.
Для перемещения по записям используются полосы прокрутки и клавиши управления курсором. Для изменения данных достаточно установить курсор в нужную ячейку и ввести другое значение. Новая пустая строка создаётся в позиции указателя нажатием на клавишу Insert. Чтобы изменения, сделанные при редактировании и добавлении записи, были внесены в таблицу, необходимо на жать на клавишу Enter или перейти на другую строку. До того как данные были переданы в таблицу, можно клавишей Esc отменить изменения. Для удаления записи используется комбинация клавиш Ctrl+Delete.
Таблица 3. Важнейшие свойства компонента DBGrid
Свойство | Описание |
Align | Определяет способ выравнивания внутри владельца. |
Columns | Содержит список объектов, описывающих колонки в таблице. |
DataSource | Указывает источник (компонент DataSoyrce), из которого извлекаются отображаемые данные. |
DefaultDrawing | DefaultDrawing Если равно true, то ячейки таблицы отображаются в обычном стиле. Если значение равно false, то в обработчике события OnDrawColumnCell можно определить свой способ рисования ячеек. |
FixedColor | Задаёт цвет фиксированных строк и колонок таблицы. |
Options | Определяет режимы работы компонента. |
TitleFont | Определяет шрифт, используемый при отображении названий колонок. |
Компоненты доступа и представления данных
До настоящего момента мы говорили лишь о том, как получить некий абстрактный доступ к данным из приложения, опуская самую главную, с точки зрения конечного потребителя приложения БД, возможность - собственно представление данных в приложении. Для этих целей в VCL предусмотрено 2 группы компонентов - Data Access и Data Controls.
Доступ к данным
Для доступа к данным, представленным при помощи различных компонент - будь то BDE-ориентированные источники (например, Table), или ADO, IB Express, или dbExpress, используется один и тот же набор компонентов, расположенных на закладке Data Access:
DataSource - источник данных;
ClientDataSet - клиентский набор данных;
DataSetProvider - провайдер набора данных;
XMLTransform - преобразователь данных, представленных в виде XML в обычный пакет данных и обратно;
XMLTransformProvider - провайдер данных для XML-документов, осуществляющий так же их обновление;
XMLTransformClient - адаптер между XML-документом и провайдером.
Из этого списка нам интересно только первые 3 компонента, а именно DataSource, ClientDataSet и DataSetProvider. Используя набор из этих компонент, можно обеспечить доступ к данным. Причем в случае, когда речь идет о BDE и таблицах Paradox, как правило, достаточно использовать лишь один из перечисленных компонентов - DataSource. Этот компонент имеет всего 4 собственных свойства - AutoEdit, DataSet, Enabled и State. Свойство Enabled похоже на свойство Active таблицы или Connected у базы данных, т.е. делает активным или неактивным соединение. А свойство AutoEdit, будучи включенным, обеспечивает возможность правки записей без написания какого-либо дополнительного кода. Свойство State информирует о том, в каком состоянии в текущий момент находится источник данных. Ну а самое важное свойство этого компонента - это, конечно же, DataSet, которое и определяет источник данных - таблицу, запрос и т.д.
Оставшиеся ClientDataSet и DataSetProvider могут понадобиться в том случае, если требуется обеспечить кэширование записей, например, для того, чтобы представить в виде таблицы источник данных типа dbExpress.
Рассмотрим пример, когда нам требуется обеспечить доступ к данным простой таблицы Paradox. Для этого нам на форме приложения понадобятся следующие компоненты: Database и Table из BDE, а так же DataSource из Data Access.
ПРИМЕЧАНИЕ
Хотя для таблицы (компонента Table) можно указать один из определенных в BDE псевдонимов без помощи компонента Database, по сложившейся традиции, а так же в целях удобства управления приложением, все-таки предпочтительнее использовать связку из Database и Table.
Теперь для свойства AliasName компонента Database выберем название имеющегося у нас псевдонима БД (DATA1), а в качестве значения свойства DatabaseName так же напишем DATA1. Таким образом, компонент Database будет видеть "настоящий" псевдоним DATA1, а все остальные компоненты приложения - псевдоним DATA1, определенный посредством компонента Database.
Если такое положение вещей вас смущает, то в качестве значения DatabaseName можно указать любое произвольное значение, например, MyDatabase - в таком случае у других компонентов, имеющих свойство DatabaseName среди возможных значений этого свойства, будет значиться и MyDatabase.
Тем не менее, мы остановимся на начальном варианте, и перейдем к компоненту Table, для которого нам так же придется установить значения для 2 свойств - DatabaseName и TableName. Для первого укажем DATA1, для второго - customer. Чтобы убедиться, что все сделано правильно, попробуем активировать связь с БД, для чего установим в истину свойство Active. Если все было сделано верно (включая создание псевдонима DATA1 и таблицы customer, о чем речь шла в предыдущей главе), то не только свойство Active таблицы изменится на истину, но и свойство Connected компонента Database так же изменится на истину.
Последнее, что осталось сделать - это поместить на форму компонент DataSource и установить значение его свойства DataSet в Table1. Таким образом, мы получим действующую связку из 3 компонентов, обеспечивающих все этапы взаимодействия с БД - от организации локального псевдонима и управления им (Database), до выбора конкретной таблицы с возможностью управления ее параметрами (Table) и предоставления ее данных любым другим компонентам (DataSource).
Здесь следует отдельно выделить свойство Options, позволяющее настроить целый ряд различных параметров. Оно имеет следующие флаги:
dgEditing - Делает возможной правку данных прямо в таблице. Этот флаг игнорируется, если включен флаг dgRowSelect;
dgAlwaysShowEditor - Таблица будет постоянно находиться в режиме редактирования. В противном случае пользователь должен будет нажимать F2, Enter, или щелкать мышкой по полю, чтобы ввести новое значение;
dgTitles - Делает видимыми заголовки столбцов;
dgIndicator - Добавляет колонку, в которой будет отображаться индикатор выбранной записи;
dgColumnResize - Делает возможным изменение размеров столбцов пользователем;
dgColLines - Столбцы будут отделены разделительными линиями;
dgRowLines - Записи будут отделены разделительными линиями;
dgTabs - Делает возможной навигацию по ячейкам при помощи клавиш Tab и Shift+Tab;
dgRowSelect - Записи будут выделяться целиком. При этом правка данных в таблице становится невозможной (т.е. флаги dgEditing и dgAlwaysShowEditor будут проигнорированы);
dgAlwaysShowSelection - Выбранная ячейка будет выделена цветом даже если фокус вводе не находится на таблице;
dgConfirmDelete - Будет выдаваться предупреждение, если пользователь захочет удалить запись в таблице (при помощи Ctrl+Delete);
dgCancelOnExit - Предотвращает запись пустых записей;
dgMultiSelect - Делает возможным выбирать несколько записей одновременно (с использованием клавиши Ctrl).
Например, если таблица должна будет использоваться лишь для навигации по БД и просмотра значений, то будет рациональным установить флаг dgRowSelect. С одной стороны, это автоматически отключит возможность правки и ввода данных непосредственно в самой таблице пользователем, а с другой - будет визуально выделять текущую запись, при этом достаточно наглядно показывая пользователю, что правка невозможна.
В типичном случае все производимые при разработке приложения настройки компонента DBGrid сводятся к тому, что, поместив его на форму, указывают связанный источник данных, после чего при помощи редактора определяют состав и вид столбцов данных. В случае при необходимости так же выставляют нужные значения для флагов в свойстве Options.
Проверка домашнего задания:
1. True or false?
1. A database consists of one or more tables, where each table contains a series of columns into which records (also called “rows”) are stored.
2. The current field is a few fields in the record
3. The current record is a single record in a multi-record set that is the focus of attention.
4. As far as Delphi controls are concerned, only one field in a single record is “current,” meaning that editing tasks affect only the data in that field.
5. A database in Paradox on a remote server generally consists of a single file that contains all tables, indices, and other database structures.
6. Delphi includes many components for accessing databases and representing the information they contain. They are grouped according to the data access mechanism such as The BDE page, The ADO page, The dbExpress page, The System page, The Data Access page.
7. The BDE page of the Component palette contains components that use the Borland Database Engine (BDE).
8. Of all the data access mechanisms, the ADO supports the broadest range of functions and comes with the most supporting utilities.
9. ADO is a Microsoft Standard.
10. Remote database servers reside on your local drive or on a local area network.
Figure 1 Structure of a table

3. Match the word with the definition.
1. The BDE page
2. The ADO page
3. The dbExpress page
4. The InterBase page
5. The Data Access page
contains components that can be used with any data access mechanism.
contains components that access InterBase databases directly, without going through a separate engine layer.
contains components that use the Borland Database Engine (BDE).
contains components that use ActiveX Data Objects (ADO) to access database information through OLEDB.
contains components that use dbExpress to access database information.
4. Сomplete the sentences
1. Applications that use local databases are called ___________________________________
2. Applications that use remote database servers are called ____________________________
3. _______________________________ reside on your local drive or on a local area network.
4. ________________________________ reside on a separate machine.
5. Examples of SQL servers include ______________________________________________
6. Examples of local databases include ____________________________________________
Закрепление полученных знаний:
Это вкладка, содержащая не визуальные компоненты, предназначенные для организации доступа к данным?
На ней располагаются визуальные компоненты для отображения данных?
Содержит компоненты для создания приложений, использующих BDE?
Компоненты для работы с базами данных можно разделить на какие группы?
Множества данных – это не визуальные компоненты, которые взаимодействуют с BDE и обеспечивают доступ к данным в таблицах. Наиболее важные из них какие компоненты?
Визуальные компоненты баз данных – это управляющие элементы пользовательского интерфейса для просмотра и редактирования данных. Многие из них дублируют какие управляющие компоненты?
Какой компонент обеспечивает доступ к таблицам базы данных, создавая набор данных, структура полей которого повторяет таблицу БД?
Какой компонент обеспечивает взаимодействие набора данных с компонентами для отображения данных.
Какой компонент предназначен для организации табличного просмотра и редактирования данных?
Компоненты доступа и представления данных?
2. Заполняем таблицу.
Таблица 1. Важнейшие свойства компонента Table
Свойство | Описание |
| Если равно true, то таблица открыта, если false — то закрыта. |
| Если равно true, то операция по модификации сразу не выполняются, а кэшируются (накапливаются). Для физического выполнения скопировавшихся операция вызывается метод ApplyUpdates. |
| Задаёт базу данных, которой принадлежит таблица. Содержит псевдоним или путь к файлам, составляющим базу данных. |
| Если равно true, то всем остальным пользователям таблицы будет отказано в доступе. |
| Булевское выражение, задающее фильтр для записей. |
| Включает (true) или выключает (false) фильтрацию записей. |
| Параметры, определяющие режимы фильтрации. |
| Имена индексированных полей. |
| Список индексных файлов, используемых при работе с таблицами в формате dBase. |
| Вторичный индекс таблицы. Свойства IndexName и IndexFieldNames являются взаимоисключающими. |
| Содержит имена полей, по которым данная подчинённая таблица связывается с главной таблицей. |
| Указывает источник данных (DataSource) главной таблицы, если данная таблица является подчинённой. |
| Запрещает/разрешает (true/false) модификацию данных в таблице. |
| Имя таблицы БД. |
| Физический тип таблицы. Это свойство игнорируется при работе с серверной базой данных. |
Таблица 2. Важнейшие свойства компонента DataSource
Свойство | Описание |
AutoEdit | |
DataSet | |
Enabled | |
Таблица 3. Важнейшие свойства компонента DBGrid
Свойство | Описание |
Align | |
Columns | |
DataSource | |
DefaultDrawing | |
FixedColor | |
Options | |
TitleFont | |