Автор работы: Пользователь скрыл имя, 22 Июня 2011 в 07:55, курсовая работа
Исходными данными являются:
данные о студенте (ФИО, группа);
данные о преподавателе (ФИО, должность);
данные о группах (наименование, староста, эдвайзер, год поступления);
сведения о специальностях (наименование, год введения);
данные о дисциплинах (наименования, кредиты, наличие курсовой работы).
sql.Add('and
d.disciplina_p='''+sp_disc[
sql.Add('and
p.fio='''+sp_prep[combobox5.
open;
end;
end;
В результате при установлении всех условий выборки и нажатии кнопки «Вывести» мы получим данные об успеваемости за весь семестр. Но если нам необходимо узнать данные только первой аттестационной ведомости, второй аттестационной ведомости или итоговой ведомости, мы можем выбрать с помощью одного из трех Checkbox, которые сгруппированы в GroupBox.
Т.е.
при нажатии Checkbox1 мы увидим данные
первой аттестационной ведомости
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
query2.FieldByName('lc2').
query2.FieldByName('pr2').
query2.FieldByName('srs2').
query2.FieldByName('examen').
query2.FieldByName('itog').
end;
,Checkbox2 – второй
procedure TForm2.CheckBox2Click(Sender: TObject);
begin
query2.FieldByName('lc1').
query2.FieldByName('pr1').
query2.FieldByName('srs1').
query2.FieldByName('examen').
query2.FieldByName('itog').
end;
,а Checkbox3 – итоговая ведомость
procedure TForm2.CheckBox3Click(Sender: TObject);
begin
query2.FieldByName('lc1').
query2.FieldByName('pr1').
query2.FieldByName('srs1').
query2.FieldByName('lc2').
query2.FieldByName('pr2').
query2.FieldByName('srs2').
end;
Рисунок17 - Ведомость при выполнениях условий выборки
3.3. Автоматизация работы системы Uchebnii_plan
Для автоматизации работы с таблицей Uchebnii_plan разместим на форме 3Query, 2DataSource, 1DBgrid, 2Combobox, 2Checkbox, 3Button, 4Label. Установим значения компонентов, как на рисунке 18.
Рисунок
18 - Учебный план
Соединим
Query1 и Query2, Query3 с базой данных. Установим
значение DataSource1 в DataSource=Query2, DataSource2 в DataSource=Query2.
Работа формы заключается в том, что мы
выбираем при помощи Combobox значения дисциплины,
шифра специальности и нажав кнопку «Показать»
в Edit1, Edit2 мы увидим семестр и количество
кредитов, а также просмотр всего учебного
плана. Здесь мы применяем уже не статический,
а динамический SQL, т.е. SQL-код для выборки
стоит уже не в свойствах компонента Query,
а применяется программно.
Для
заполнения Combobox необходимыми значениями
полей из разных таблиц мы объявляем в
переменные:
sp_shifr:
TstringList;//список шифров специальностей
из таблицы Specialnost
sp_disc:
TstringList;//список дисциплин из таблицы Disciplina
А
для того, чтобы в Combobox появились
значения необходимо написать обработчик
события FormCreate для Form3:
procedure TForm3.FormCreate(Sender: TObject);
begin
combobox1.Clear; combobox2.Clear;
//shifr specialnost
sp_shifr:=TstringList.Create;
query1.Close;
with query1 do
begin
close;
sql.Clear;
sql.Add('select shifr_specialnost');
sql.Add('from specialnost');
sql.Add('order by shifr_specialnost');
open;
while not eof do
begin
combobox2.Items.Add(fields[0].
sp_shifr.Add(fields[0].
next;
end;
end;
//disciplina
sp_disc:=TstringList.Create;
query1.Close;
with query1 do
begin
close;
sql.Clear;
sql.Add('select disciplina_p');
sql.Add('from disciplina');
sql.Add('order by disciplina_p');
open;
while not eof do
begin
combobox1.Items.Add(fields[0].
sp_disc.Add(fields[0].
next;
end;
end;
Далее
для того, чтобы для указанных
условий выборки в таблице
DBgrid вышли соответствующие им данные
необходимо выполнить следующий динамический
запрос, который будет выполняться при
нажатии кнопки «Вывести».
Весь
список входящий в учебный план мы
увидим нажав кнопку «Вывести все
записи». Ниже представлен код данной
процедуры:
procedure TForm3.Button2Click(Sender: TObject);
begin
with query3 do begin
query3.Close; sql.Clear;
sql.Add('select d.disciplina_p, s.shifr_specialnost, d.semestr, u.kol_vo_kreditov');
sql.Add('from uchebnii_plan u, specialnost s, disciplina d ');
sql.Add('where (u.kod_disciplina=d.kod_
sql.Add('and (u.shifr_specialnost=s.shifr_
//sql.Add('u.semestr=d.
end;
end;
Рисунок 19 - Учебный план в откомпилированном виде.
ЗАКЛЮЧЕНИЕ
Автоматизация
технологических и
Эффективность автоматизированных информационных управляющих систем в значительной мере зависит от того, насколько обеспечивается скорость доступа к данным, их полнота, достоверность, непротиворечивость. И практически везде информационная система представляет собой интегрированную систему, ядро которой представляет база данных. Основным направлением в разработке автоматизированных информационных систем в настоящее время является ориентация на использование СУБД, базирующихся на SQL– серверах [7].
Данная самостоятельная работа посвящена проектированию системы учета и анализа успеваемости студентов кафедры «Компьютерные системы». Целью проектирования является повышение эффективности работы кафедры «Компьютерные системы», снижение трудоемкости процессов обработки информации.
На сегодняшний день снижение времени принятия управленческих решений является актуальным для руководителей организаций, так как это позволит наиболее эффективно работать организации.
Для физической
реализации базы данных в качестве
целевой СУБД использована Delphi7.
Данная система позволяет хранить и обрабатывать
информацию о студентах кафедры, группах,
специальностях, дисциплинах и преподавателях,
а также позволяет создавать рабочий учебный
план и производить учет успеваемости
студентов по результатам аттестаций
и экзамена. В качестве сервера для администрирования
базы данных был выбран Interbase, т.к. InterBase
представляет собой полнофункциональный
SQL- сервер. Языком администрирования InterBase
является интерактивный SQL, который используется
в специальных утилитах (типа WISQL или DBD),
позволяющих в интерактивном режиме вводить
запросы с использованием команд SQL, посылать
их для выполнения на сервер и получать
результаты в предназначенном для этого
окне. Встроенный SQL используется в прикладных
программах, позволяя им посылать запросы
к серверу и обрабатывать полученные результаты,
в том числе комбинируя set-ориентированный
и record-ориентированный подходы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЯ
ТЕМЫ САМОСТОЯТЕЛЬНЫХ РАБОТ
по дисциплине Проектирование баз данных
для студентов специальностей Информатика, ИС, ВТиПО