MS Access

Автор работы: Пользователь скрыл имя, 18 Ноября 2011 в 12:07, курсовая работа

Описание

Для разработки курсового проекта я использовал язык программирования Delphi 7, технологии ADO, язык SQL – запросов и программа MS Access.
Основная цель контроля знаний и умений состоит в обнаружении достижений, успехов студентов; в указании путей совершенствования, углубления знаний, умений, с тем, чтобы создавались условия для последующего включения студентов в активную творческую деятельность.

Работа состоит из  1 файл

Введение.doc

— 1.31 Мб (Скачать документ)

      Пример  модификации данных: данные модифицируются при помощи пользовательского интерфейса, принадлежащего внешнему интерфейсу (это может быть HTML-страница), и возвращаются SQL-оператором обратно в базу данных. Однако соединение с базой данных не обязано быть прямым. База данных DB2 на большой (мэйнфрейм) машине IBM может соединяться с главной машиной корпорации, предоставляющей базу данных Sybase. В этом случае машина IBM может генерировать SQL-оператор модификации некоторых записей и отправить его в базу данных Sybase. Несмотря на различие двух систем и способов обработки данных в каждой, обе правильно поймут и выполнят данный оператор.

      Наконец SQL-операторы применяются для удаления данных. Они позволяют задавать очень сложные условия, определяющие какие из записей подлежат удалению, а какие должны остаться нетронутыми. Возможно также удаление части данных из записи.

      Отцом реляционных баз данных и, следовательно, SQL стал д-р Е. Ф. Кодд (Dr. E. F. Codd), известный также как Тед, который работал на IBM. После описания Коддом в 1970 г. реляционной модели баз данных IBM потратила немало времени и средств на поиски способа реализации его идей. В 1978 г. IBM выпустила на рынок продукт, носивший название System/R.

      Однако  прежде чем IBM оказалась готова к выпуску System/R, на рынке появились реляционные СУБД других компаний. Первой из этих СУБД оказалась Oracle компании Relational Software, второй - Ingres компании Relational Technology. После этого IBM в 1982 г. выпустила усовершенствованные системы SQL/DS и DB2. Oracle (теперь - от Oracle Inc.) и DB2 производятся по-прежнему (уже бог знает в каком поколении), технология же Ingres была перекуплена компанией Computer Associates.

1.5. Работа с базами  данных

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

      Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных. Различают три основных вида СУБД: промышленные универсального назначения, промышленные специального назначения и разрабатываемые для конкретного заказчика. Специализированные СУБД создаются для управления базами данных конкретного назначения - бухгалтерские, складские, банковские и т. д. Универсальные СУБД не имеют четко очерченных рамок применения, они рассчитаны «на все случаи жизни» и, как следствие, достаточно сложны и требуют от пользователя специальных знаний. Как специализированные, так и универсальные промышленные СУБД относительно дешевы, достаточно надежны (отлажены) и готовы к немедленной работе, в то время как заказные СУБД требуют существенных затрат, а их подготовка к работе и отладка занимают значительный период времени (от нескольких месяцев до нескольких лет). Однако в отличие от промышленных заказные СУБД в максимальной степени учитывают специфику работы заказчика (того или иного предприятия), их интерфейс обычно интуитивно понятен пользователям и не требует от них специальных знаний.

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

      Часть 2. Разработка проекта

2.1. Модель данных и создание базы данных

      Прежде  чем создать базу данных нам необходимо разработать логическую модель.

      

      База  данных будет содержать две таблицы:

            Vopr – в которой находятся вопросы, варианты ответов и ответ, который является верным.

            Resul – таблица, в которой хранятся данные о студенте который проходил тест и дата прохождения данного теста.

2.2. Разработка интерфейса программы

      

      Форма «Регистрация»

      На  данную форму разместим 4 label и столько же Edit. А так же один Button. Форма необходима для ввода данных о студенте, который будет проходить данный тест для последующей регистрации.

Форма «Тестирование»

      На  данной форме разместим три label, два DBEdit, четыре RadioButton и Button.

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

      На  следующей форме необходимо разместить label и button. Форма необходима для отображения оценки, на которую пройден данный тест.

Форма «Результат»

      При нажатии на кнопку «Закрыть» будет  произведена запись в базу данных.

2.3. Разработка бизнес - логики

      Для подключения базы к программе  используем ADOConnection. Выберем драйвер Microsoft.Jet.OLEDB.4.0. Данный драйвер позволяет работать с MS Access 2003, а так же поддерживает работу с более ранними версиями.

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

      procedure TForm6.Button1Click(Sender: TObject);

      begin

      Form5.Label3.Caption:=Edit1.Text+' '+Edit3.Text+' '+Edit4.Text;

      Form5.Label4.Caption:=Edit2.Text;

      Form1.Show;

      Hide;

      end;

      Появится  форма «Тестирование». Теперь студент  может пройти данный тест. В реквизите  «Номер вопроса» отражается порядковый номер вопроса, в реквизите «вопрос» - вопрос соответствующий порядковому номеру.

      В реквизите «Варианты» отражаются возможные варианты ответов на заданный вопрос. Для выбора варианта ответа нужно установить флажок на одном из представленных вариантов. Для перехода к следующему вопросу нажмем на кнопку «Далее». После чего обработается событие:

procedure TForm1.Button1Click(Sender: TObject);

var m, oc:string; o:integer; a:real;

begin

if RadioButton1.Checked = true then m:='1';

 if RadioButton2.Checked = true then m:='2';

if RadioButton3.Checked = true then m:='3';

if RadioButton4.Checked = true then m:='4';

if DataModule3.ADOTable1.Fields[6].Text = m then label9.Caption:=IntToStr(StrToInt(Label9.Caption)+1);

if DataModule3.ADOTable1.Fields[6].Text <> m then label9.Caption:=IntToStr(StrToInt(Label9.Caption)+0);

Label10.Caption:=IntToStr(StrToInt(Label10.Caption)+1);

DataModule3.DataSource1.DataSet.Next;

if DataModule3.DataSource1.DataSet.Eof then

begin

  Button1.Visible:=false;

  o:=StrToInt(Label9.Caption);

  a:=(100*o)/StrToInt(Label10.Caption);

  if a>75 then oc:='5';

  if (a<=75) and (a>50) then oc:='4';

  if (a<=50) and (a>25) then oc:='3';

  if a<=25 then oc:='2';

  Form5.Label1.Caption:='Результат - '+oc;

  Form5.Label2.Caption:=oc;

  Form5.Show;

 end;

end;

В данном коде сначала происходит условие выбора ответа:

 if RadioButton1.Checked = true then m:='1';

if RadioButton2.Checked = true then m:='2';

if RadioButton3.Checked = true then m:='3';

if RadioButton4.Checked = true then m:='4';

Далее производится подсчет является ли верным вариант ответа:

if DataModule3.ADOTable1.Fields[6].Text = m then label9.Caption:=IntToStr(StrToInt(Label9.Caption)+1);

Если  вариант ответа верный, то прибавляем единицу.

Если  в вариант ответа выбран не верно, то прибавляется 0.

if DataModule3.ADOTable1.Fields[6].Text <> m then label9.Caption:=IntToStr(StrToInt(Label9.Caption)+0);

Если  обнаружен конец базы данных:

if DataModule3.DataSource1.DataSet.Eof then

begin

То выполняет  подсчет выставляемой оценки:

  Button1.Visible:=false;

  o:=StrToInt(Label9.Caption);

  a:=(100*o)/StrToInt(Label10.Caption);

  if a>75 then oc:='5';

  if (a<=75) and (a>50) then oc:='4';

  if (a<=50) and (a>25) then oc:='3';

  if a<=25 then oc:='2';

  Form5.Label1.Caption:='Результат - '+oc;

  Form5.Label2.Caption:=oc;

  Form5.Show;

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

      Для добавления данных в базу необходимо нажать на кнопку «Закрыть». Будет обработан следующий код:

procedure TForm5.Button1Click(Sender: TObject);

var d:string;

begin

d:=DateToStr(Now());

DataModule3.ADOQuery1.Active:=false;

DataModule3.ADOQuery1.SQL.Clear;

DataModule3.ADOQuery1.SQL.Add('INSERT INTO Resul');

DataModule3.ADOQuery1.SQL.Add('VALUES ("'+Label3.Caption+'","'+Label4.Caption+'","'+Label2.Caption+'","'+d+'");');

DataModule3.ADOQuery1.ExecSQL;

Application.Terminate;

end;

где, INSERT INTO Resul – добавление новой записи, а 'VALUES ("'+Label3.Caption+'","'+Label4.Caption+'","'+Label2.Caption+'","'+d+'"); заполнение полей сведениями. DataModule3.ADOQuery1.ExecSQL; - производит дополнить данные в таблицу.

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

      begin

      Form4.Chart1.SeriesList[0].Clear;

      for i:=1 to DataModule3.ADOQuery1.RecordCount do

      begin

      DataModule3.ADOQuery1.RecNo:=i;

      Form4.Chart1.SeriesList[0].AddY(StrToFloat(DataModule3.ADOQuery1.Fields[2].Text),DataModule3.ADOQuery1.Fields[0].Text, clRed);

      end;

      Form4.Show;

      Hide;

      end 
 
 
 
 
 

Заключение

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

Информация о работе MS Access