Разработка открытого урока на тему Объединение таблиц. Модификация данных

Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН


УПРАВЛЕНИЕ ОБРАЗОВАНИЯ ВОСТОЧНО-КАЗАХСТАНСКОГО ОБЛАСТНОГО АКИМАТА

КГКП « БИЗНЕС-КОЛЛЕДЖ»












МЕТОДИЧЕСКАЯ РАЗРАБОТКА

ОТКРЫТОГО УРОКА

ПО ПРЕДМЕТУ: ОСНОВЫ ОБЪЕКТНО - ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ


Группа 41 ПРОГ, 4 курс

по специальности: 1304000 «Вычислительная техника и программное обеспечение / по видам/»









Рассмотрена и утверждена

на заседании кафедры

информатики и общетехнических дисциплин

Протокол №____

От____ __________201_ года

Зав. Кафедрой__________________

Кайырбекова Л.К.

Cоставлена преподавателем:


Капашевой Ш.М.










Семей - 2014 г.

Технологическая карта урока



1.Тема урока:

Объединение таблиц. Модификация данных.

2. Тип урока:

Урок закрепления и приобретения навыков

3. Вид урока:

Практическая работа

4. Учебно-воспитательные задачи:

Образовательные:

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

Развивающие:

Способствовать развитию памяти, внимания.

Воспитательные:

Воспитывать самостоятельность и активность.

5. Компетенции:

Базовые компетенции:

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

Профессиональные компетенции:

1. Пользоваться компонентами для работы с БД;

2. Пользоваться способами создания таблиц БД;

3. Применение доступа к данным БД;

Специальные компетенции:

1.Производить анализ, проектирование и программирование прикладных задач;

2. Выбор правильной технологии на всех этапах разработки программ;

3. Выбор языка программирования;

Межпредметная связь.

Основы алгоритмизации и программирования, английский язык, экономика.

6. ТСО и наглядности:

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

7. Литература.

Основная:

Дополнительная:

Электронный учебник «Введение в Delphi»

Электронный учебник «Разработка приложений БД в Delphi»



Структура урока


№ элемента


1

2

3

4

5

6

7

Время элемента


3 мин

20 мин

10 мин

45 мин

10мин

5 мин

2 мин










элемента

Ход урока

Формы

Время

1

Организационный момент

  • Приветствие студентов

  • Отметить отсутствующих

  • Подготовка студентов к уроку

Согласно рапортички старосты

3 мин

2

Повторение пройденного материала

Работа с тестами

20 мин

3

Объяснение задания и повторение.

Выступление работодателя Байуакова Ермека Кумарбековича - Директор филиала АО «НСК»

  1. Методические указания.

  2. Онлайн видео

5 мин

5 мин

4

Выполнение практического задания

Работа с программой Delphi

45 мин

5

Подведение итогов

Защита проекта

Выступление студентов, показ работы

10 мин

6

Выставление оценок

5 мин

7

Домашнее задание

Доработать БД «Страхования авто»

2 мин


























Тестовые вопросы


  1. procedure TForml. ButtonlClick(Sender: TObject); begin ListBoxl.Items.Add(Editl.Text); end; Что выполнится в обработчике событий?

  1. Удалятся выделенные строки

  2. Содержание одного списка скопируется на другой список

  3. Подсчитает количество строк списка

  4. в указанное место добавятся новые строки

  5. добавится новая строка на конец списка


  1. Свойство, включающее маркер флага в меню?

  1. Shortcut

  2. Bitmap

  3. Break

  4. Grouplndex

  5. Checked

  1. В какой вкладке находится компонент ТТаЫе?

  1. Standard

  2. Additional

  3. Win 32

  4. DataAccess



  1. Lookup

  2. Calculated

  1. Навигация по БД: переход на первую запись

  1. Table 1.Prior;

  2. TableLMoveBy(l);

  3. Table 1.First;

  4. Table 1.Next;

  5. Table 1.Last;

  1. Сделать фильтрацию поля «Fio» по фамилии «Ахметов»

  1. Тable 1 .Filter:=Fi0="'+'HBaH0B'.

  2. Table 1 .Filtered:='Fio-' Иванов';

  3. Tablel.Filter:='Fio= Иванов';

  4. Tablel.Filter:='Fi0='HBaH0B';

  5. Tablel.Filter:='Fi0="'+'HBaH0B'+"";

  1. Какой метод используется для поиска записей в БД?

  1. Loocup, SetRange

  2. Locate, ApplyRange

  3. Locate, Lookup

  4. SetRange, ApplyRange

  5. Locate, SetRange

  1. В каком свойстве надо указать имя файла компонента RvProject для открытия созданного файла отчета?

  1. StoreRAV

  2. SystemSetups

  3. Projectfile

  4. Engine

  5. LoadDesigner

  1. Язык SQL это -

  1. Язык для создания отчета

  2. Языка для исправления программы

  3. Язык для подготовки интерфейса

  4. Язык для тестирования программы

  5. Структурный язык запроса

  1. Какой тип предусматривается для сохранения строк в INTERBASE

  1. String

  2. Boolean

  3. Integer

  4. Numeric

  5. Character

  1. Особое место среди базовых классов, помимо TObject, занимают классы и...

  1. TGraphicControl и TPersistent

  2. TComponent и TObject

  3. TPersistent и TControl

  4. TWinControl и TPersistent

  5. TComponent и TControl

  1. Свойство редактирования количества столбцов компонента StringGrid

  1. ColCount

  2. RowCount

  3. FixedRows

  4. Cells

  5. FONT

  1. В какой модели БД представляется в виде таблицы?

  1. В реляционной

  2. В информационной

  3. В сетевой

  4. В локальной

  5. В иерархической

  1. Оператор создания БД

  1. DROP DATABASE

  2. DROP INDEX

  3. INSERT DATABASE

  4. CREATE INDEX

  5. CREATE DATABASE

  1. Какой тип поля описывает любую двоичную информацию?

  1. Alpha;

  2. $ (Money);

  3. Logical;

  4. Number;

  5. Binary.







Разработка открытого урока на тему Объединение таблиц. Модификация данных.





Разработка открытого урока на тему Объединение таблиц. Модификация данных.











Методические указания к практической работе №8

Тема: Объединение таблиц. Модификация данных.



ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Модификация набора данных

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

Append - добавление записи в конец набора данных;

Insert - добавление записи в текущую позицию;

Cancel - отмена действия;

Delete - удаление записи;

Edit - задание режима редактирования;

Post - внесение изменений.

Принципиальная возможность модификации данных определяется значением свойства CanModify. Если TTable находится в состоянии ReadOnly, то CanModify имеет значение false, редактирование запрещено. В противном случае CanModify возвращает true и можно редактировать или добавлять записи в таблицу.

Редактирование

Для изменения данных в таблице программным путём необходимо выполнить действия:

  • перейти в режим редактирования (метод Edit);

  • задать новые значения полей;

  • занести изменения в таблицу или отменить выполненные действия

  • (Post или Cancel).

Действия выполняются над текущей записью. Например:

Table1.Edit;

Table1.FieldByName('CustName').AsString:='Fred';

Table1.Post;

Первая строка переводит БД в режим редактирования. Следующая строка присваивает полю CustName значение Fred. Процедура Post инициирует запись данных на диск.

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

Table1.Edit;

Table1.FieldByName('CustNo').AsInteger:=1234;

Table1.Next;

Итак, действия выполняются над полями текущей записи и вызов в режиме редактирования методов First, Next, Prior, Last приводит к сохранению данных (выполнению Post). Следует иметь в виду, что автоматическое сохранение данных при смещении текущего указателя на другую запись характерно только для локальных баз данных. До тех пор, пока не был вызван напрямую или косвенно метод Post, можно отменить изменения (вернуться к состоянию, которое было при переходе в режим редактирования) процедурой

Cancel.

Добавление записи

Добавление записи предполагает выполнение действий:

  • задание режима вставки записи методом Append или Insert;

  • формирование значений полей;

  • занесение данных в таблицу или отмена добавления записи.

Если данные в таблице упорядочены по индексированному полю, то результат использования методов Append и Insert будет одинаков: добавленная запись займёт место в таблице в соответствии со значением индекса. Различие между методами Append и Insert сказывается только в таблицах, у которых нет индексов.

Table1.Insert;

Table1.FieldByName('Name').AsString:='Russia';

Table1.FieldByName('Capital').AsString:='Moscow';

Table1.Post;

При переводе таблицы в режим вставки появляется новая запись с незаполненными полями. Затем следует занести в поля значения. Если после вызова Insert (Append) возникла необходимость отказаться от вставки новой записи, то следует до вызова Post применить метод Cancel.

Помимо задания значений отдельным полям можно использовать метод SetFields. В качестве параметра этот метод использует массив констант и позволяет задать значения сразу всем полям. Например,

Table1.Append;

Table1.SetFields[9000,2118,Now,Now,47];

Table1.First;

Вместо трёх этапов добавления записи можно получить аналогичный результат применением процедур InsertRecord и AppendRecord, в которых передаются константные массивы со значениями полей новой записи (как в методе SetFields).

Удаление записей и таблиц

Удаление записей выполняется вызовом метода Delete. При этом текущая запись удаляется, и курсор перемещается к следующей записи.

Table1.Delete;

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

Очистка таблицы:

Table1.Close;

Table1.Exclusive:=true;

Table1.EmptyTable;

Table1.Exclusive:=false;

Table1.Open;

Физическое уничтожение таблицы:

Table1.Close;

Table1.DeleteTable;

Защита таблицы от изменений

Защиту данных от изменений можно осуществлять на разных уровнях.

Способ 1. Использование свойства ReadOnly визуальных компонентов.

Все компоненты для отображения данных имеют свойство ReadOnly, которое по умолчанию установлено в значение false, что позволяет изменять любые поля записей. Если сделать только читаемым какой-либо визуальный компонент, то это частично ограничит доступ к таблице. Например, если установить свойство ReadOnly компонента DBGrid в true, то пользователь не сможет изменять данные при табличном просмотре записей, однако этот запрет не распространяется на внесение изменений программным путём и на внесение изменений через другой визуальный компонент, подсоединённый к той же таблице.

Способ 2. Использование свойства ReadOnly компонента Table. По умолчанию это свойство имеет значение false, и любые изменения разрешены. Управление свойством ReadOnly компонента Table позволяет более надёжно защитить таблицу от изменений. Однако применение этого метода не всегда целесообразно, так как при переключении режима таблицу надо сначала закрыть, а после повторного открытия текущей становится первая запись, и чтобы вернуться к первоначальной позиции, приходится использовать закладку. В итоге тратятся дополнительные ресурсы и время.

Способ 3. Использование свойства AutoEdit компонента DataSource. Этот способ позволяет одновременно управлять возможностью редактирования через все визуальные компоненты, подключенные к одному источнику данных. Если свойство AutoEdit компонента DataSource имеет значение false, то при вводе данных в визуальные компоненты изменений в таблице не происходит. Однако можно выполнить редактирование программно, поэтому следует сделать недоступными все компоненты, которые могут перевести таблицу в режим редактирования. В частности, присвоить false свойству dgEditing компонента DBGrid.

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

Кнопки, использующиеся при модификации данных, в режиме просмотра должны быть недоступны. Свойство этих кнопок Enabled должно быть установлено в false в Инспекторе объектов или программно.

Перевод приложения в режим редактирования пользователь задаёт явно. Пусть для этой цели предусмотрена кнопка Изменить режим (CntrBtn).

procedure TForm1.CntrBtnClick(Sender:TObject); //Обработчик кнопки Изменить режим

begin

CanBtn.Enabled:=not DataSource1.Autoedit;

DelBtn.Enabled:=not DataSource1.Autoedit;

InsBtn.Enabled:=not DataSource1.Autoedit;

if not DataSource1.Autoedit

then begin

DataSource1.Autoedit:=true; RegLabel.Caption:='Режим редактирования'; end

else begin

if Table1.State <> dsBrowse then Table1.Post; DataSource1.Autoedit:=false; RegLabel.Caption:='Режим просмотра';

end;

end;

procedure TForm1.InsBtnClick(Sender:TObject);

begin

Table1.Insert;

end;

procedure TForm1.DelBtnClick(Sender:TObject);

begin

Table1.Delete;

end;

procedure TForm1.CanBtnClick(Sender:TObject);

begin

Table1.Cancel;

end;

ПРАКТИЧЕСКАЯ ЧАСТЬ

Организация учета страхования авто.

Создайте две таблицы в Database Desktop:

  1. Таблица авто (Марка автомобиля (поле MARKA), наименование машины (поле NAME), объем двигателя (поле V_DVIG), Объем кузова (поле V_KUZ)). Сохраните таблицу под именем Avto.db на диске С: в папке Baza.

  2. Таблица клиенты (ФИО (FIO), год рождения (GOD_ROJ), № удостоверения (N_UD), дата выдачи (DataV), категория (KATEG), марка автомобиля (MARKA), год выпуска (GOD_V), срок эксплуатации (EKSPL), техническое состояние (TEH_S), тариф страхования (TARIF), срок страхования (SROK_ST),). Сохраните таблицу под именем KLIENT.db на диске С: в папке Baza.

Между таблицами нужно установить связь «мастер-детальный», при которой таблица KLIENT.db будет главной, а таблица AVTO.db - подчиненной. Для организации связи в качестве поля связи главной таблицы выберем поле MARKA, которое необходимо сделать ключевым, т.е. чтобы значения в этом поле не повторялись. В подчиненной таблице AVTO.db полем связи будет поле MARKA. Проиндексируйте обе таблицы по полям MARKA (одинаковое поле в таблицах).

В верхней части формы установите и свяжите между собой компоненты для работы с таблицей KLIENT.db, в нижней - компоненты для работы с таблицей AVTO.db. Переименуйте поля таблиц, присвоив им русские заголовки.

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

  • MasterSource - источник данных главной таблицы (выбор главной таблицы) - Datasource1;

  • IndexName - текущий индекс подчиненной таблицы - indNomer;

  • MasterFields - поле или поля связи индекса главной таблицы. При выборе этого свойства на экране появляется окно специального Редактора полей связи (Field Link Designer). В списке Detail Fields выбирается поле подчиненной таблицы, а в списке Master Fields - поле главной таблицы. После нажатия кнопки Add выбранные поля связываются между собой, что отображается в списке Joined Fields. Заполнение свойства MasterFields происходит после закрытия окна при нажатии кнопки OK.

(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

После установки всех нужных для связывания таблиц свойств запустите программу и заполните первую запись таблицы KLIENT.db, затем перейдите к заполнению таблицы AVTO.db (несколько записей, потому что один читатель может взять несколько книг), затем снова к заполнению таблицы AVTO.db и так далее. В таблице KLIENT.db должно быть не меньше 5 записей. Следите за тем, чтобы у связанных записей совпадали марки машины.

Пример работы программы показан на рисунке.


(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

Создадим главное меню программы, как показано на рисунке:


(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

Для этого нужно к проекту добавить еще три формы. На второй форме создать главное меню программы согласно рисунка. На третью форму скопируйте компоненты для работы с таблицей KLIENT.db. В заголовке формы - Таблица «КЛИЕНТЫ». На четвертую форму скопируйте компоненты для работы с таблицей AVTO.db. В заголовке формы - Таблица «АВТОМОБИЛИ». Для каждого пункта меню напишите обработчики событий, чтобы при выборе пункта на экране появлялось окно с выбранными таблицами. Например:

procedure TForm2.N2Click(Sender: TObject);

begin

Form3.Show;

end;

Оставшиеся процедуры напишите самостоятельно.

Чтобы можно было при выборе пунктов главного меню второй формы (содержит главное меню) показывать на экране другие формы, нужно подключить модули форм ко второй форме. Это можно выполнить следующим образом. Перейти на вторую форму, выполнить команду File\Use Unit В появившемся окне выделить имена модулей остальных форм и нажать ОК. В модуле второй формы после слова implementation (раздел реализаций) автоматически пропишется следующее:

uses Unit3, Unit4, Unit1;

Работа готовой программы показана на рисунке:

(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.


Задание 2.

Создадим приложение для добавления, вставки, удаления записей таблицы KLIENT.db. В программе предусмотреть блокировку изменения записей.

Расположите на форме компоненты в соответствии с рисунком:

(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

Для блокировки редактирования НД используется компонент CheckBox1 «Редактирование НД запрещено». Если флажок компонента установлен, то в НД невозможно внести какие-либо изменения. Для компонента CheckBox1 напишите следующий обработчик события OnClick:

procedure Tform1.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then

begin

Table1.Active:=False;

Table1.ReadOnly:=True;

Table1.Active:=True;

end

else

begin

Table1.Active:=False;

Table1.ReadOnly:=False;

Table1.Active:=True;

end;

end;

При щелчке по кнопке Добавить запись в конец НД будет появляться дополнительное окно формы в модальном режиме для добавления новой записи:

(Примерная форма)

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

Для этого добавьте к проекту новую форму. Перейдите на первую форму. Выберите в главном меню Delphi пункт меню File, в этом пункте команду Use unit В появившемся окне выберите Unit2. Нажмите ОК. В окне кода программы появится следующий раздел:

implementation

uses Unit2;

Перейдите на вторую форму и выполните аналогичные действия. В окне кода программы появится аналогичный раздел:

implementation

uses Unit1;

Разместите на второй форме четыре компонента DBEdit. Этот компонент представляет собой поле, в котором возможно отображение и изменение его значений.

Расположите на второй форме две кнопки BitBtn. В процессе ввода пользователь может утвердить ввод, нажав кнопку «Ввод», или отменить его, нажав кнопку «Отмена». После закрытия модальной формы ввода проверяется, какая кнопка нажата. Если «Ввод», то сделанные изменения принимаются, в противном случае - нет.

Для окна формы напишите обработчик события OnCreate:

procedure TForm2.FormCreate(Sender: TObject);

begin

DBEdit1.DataSource:=Form1.DataSource1;

DBEdit1.DataField:='Fio';

DBEdit2.DataSource:=Form1.DataSource1;

DBEdit2.DataField:='God_roj';

DBEdit3.DataSource:=Form1.DataSource1;

DBEdit3.DataField:='Adres';

DBEdit4.DataSource:=Form1.DataSource1;

DBEdit4.DataField:='marka';

BitBtn1.ModalResult:=mrOk;

BitBtn2.ModalResult:=mrCancel;

end;

Для кнопки «Добавить запись в конец НД» напишите обработчик события OnClick:

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

if table1.ReadOnly=False then

begin

Table1.Append;

if Form2.ShowModal=mrOk then

Table1.Post

else

Table1.Cancel;

end

else

ShowMessage('Редактирование записей запрещено!');

end;

Для кнопки «Вставить запись» - следующую процедуру:

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

if table1.ReadOnly=False then

begin

Table1.Insert;

if Form2.ShowModal=mrOk then

Table1.Post

else

Table1.Cancel;

end

else

ShowMessage('Редактирование записей запрещено!');

end;

Для кнопки «Удалить запись»:

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

if table1.ReadOnly=False then

begin

if Messagedlg('Удалить запись?',

mtConfirmation,[mbYes, mbNo],0)=mrYes then

Table1.delete;

end

else

ShowMessage('Редактирование записей запрещено!');

end;

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

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

Закрепление: В виде защиты проекта.

Защита проекта: Гранчар Борис

Разработка открытого урока на тему Объединение таблиц. Модификация данных.


Защита проекта: Сидорин Михаил

Разработка открытого урока на тему Объединение таблиц. Модификация данных.

Список литературы:

  1. Электронный учебник «Введение в Delphi»

  2. Электронный учебник «Разработка приложений БД в Delphi»Разработка открытого урока на тему Объединение таблиц. Модификация данных.

© 2010-2022