База данных приёмной комиссии

РЕСПУБЛИКА БЕЛАРУСЬ

КОМИТЕТ ПО ОБРАЗОВАНИЮ МИНГОРИСПОЛКОМА

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

МИНСКИЙ ГОСУДАРСТВЕННЫЙ ПРОФЕССИОНАЛЬНО-ТЕХНИЧЕСКИЙ КОЛЛЕДЖ ЭЛЕКТРОНИКИ

	

	Специальность	

	гр.	

Допущен к защите 

зам.директора по УПР

_________А.И. Пугач

		"______"__________200_г

		

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Разработка базы данных "Приёмная комиссия"

КП79ТП.015207.081 ПЗ





	Автор проекта 	(Мальцев Д.И.)

	Руководитель проекта	(Шавейко А.А.	) 















Минск 2006


РЕСПУБЛИКА БЕЛАРУСЬ

КОМИТЕТ ПО ОБРАЗОВАНИЮ МИНГОРИСПОЛКОМА

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

МИНСКИЙ ГОСУДАРСТВЕННЫЙ ПРОФЕССИОНАЛЬНО-ТЕХНИЧЕСКИЙ КОЛЛЕДЖ ЭЛЕКТРОНИКИ



	Специальность	

	гр.	

УТВЕРЖДАЮ 

зам. директора по УПР

ЗАДАНИЕ

на курсовое проектирование

	Учащемуся	______________________________________________

Тема курсового проекта ________________________________________

_____________________________________________________________

_____________________________________________________________

Срок сдачи студентом законченной работы________________________

		Исходные данные ____________________________________________

		_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

		_____________________________________________________________

_____________________________________________________________

		_____________________________________________________________

_____________________________________________________________

		_____________________________________________________________

Состав курсового проекта:

а) расчетно-пояснительная записка (перечень подлежащих разработке

	вопросов со специальной частью)______________________________

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

	_____________________________________________________________

Календарный график работы ____________________________________

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

	Председатель комиссии	Руководитель курсового проекта

	Дата выдачи задания__________________________________________

	Задание принял к исполнению, дата______________________________

Подпись учащегося___________________________________________




СОДЕРЖАНИЕ

	

	ВВЕДЕНИЕ	

	1. АНАЛИЗ ЗАДАЧИ	

	1.1 Описание предметной области	

	1.2 Модель данных (реляционная)	

	1.4 Среда разработки	

	1.5 Требования к программе	

		2. ПРОЕКТИРОВАНИЕ ЗАДАЧИ	

	2.1 Организация данных	

	2.2 Функции системы	

	2.3 Алгоритм работы	

	2.4 Выходные документы	

	2.5 Тесты на использование	

		3. ПРИМЕНЕНИЕ	

		3.1 Назначение программы

		3.2	 Инструкции пользователю	

		3.3	Инсталляция	

	ЗАКЛЮЧЕНИЕ	

	ПРИЛОЖЕНИЕ 1	

	ПРИЛОЖЕНИЕ 2	

	Список использованных источников	




ВВЕДЕНИЕ



В наше время в любой сфере деятельности применяются информационные технологии. Передо мною была поставлена задача, создать базу данных приёмной комиссии.

Среда программирования - Borland Delphi 7. Это универсальный язык общего назначения, который применяется во многих областях программирования. В Delphi успешно проектируются многие приложения. Реализация Delphi осуществлена для машин в диапазоне от самых простых персональных компьютеров до самых мощных суперкомпьютеров и для всех операционных систем.




1 АНАЛИЗ ЗАДАЧИ



1.1 Описание предметной области



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

- все абитуриенты;

- абитуриенты, не сдавшие документы;

- абитуриенты со средним балом больше восьми;

- информация о экзаменах;

- информация о специальностях;

- абитуриенты, посещающие курсы;

- иногородние абитуриенты;

- поступившие;

В программе все отчёты должны быть построены на основе запросов, написанных в режиме SQL. 

Программа должна иметь возможность легко, для пользователя-непрофессионала, изменять, добавлять и удалять данные.



1.2 Модель данных (реляционная)



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

В конце 60-х годов появились работы, в которых обсуждались возможности применения различных табличных даталогических моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Наиболее значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда (Codd E.F., A Relational Model of Data for Large Shared Data Banks. CACM 13: 6, June 1970), где, вероятно, впервые был применен термин "реляционная модель данных".

Будучи математиком по образованию Э. Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение – relation (англ.).

Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой – как три различных значения.

Доменом называется множество атомарных значений одного и того же типа. Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два атрибута (например, для организации транзитного рейса можно дать запрос "Выдать рейсы, в которых время вылета из Москвы в Сочи больше времени прибытия из Архангельска в Москву"). Если же значения двух атрибутов берутся из различных доменов, то их сравнение, вероятно, лишено смысла: стоит ли сравнивать номер рейса со стоимостью билета?

Степень отношения – это число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, а степени n – n-арным.

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

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

Отношение – Таблица (иногда Файл),

Кортеж – Строка (иногда Запись),

Атрибут – Столбец, Поле.

При этом принимается, что "запись" означает "экземпляр записи", а "поле" означает "имя и тип поля".



1.4 Среда разработки



Курсовой проект был выполнен на языке программирования Borland Delphi 7.0. Таблицы разрабатывались в приложении Database Desktop. Для более понятного и удобного интерфейса использовались такие компоненты как DBGrid, DBNavigator, Splitter. Запросы создавались с помощью компонента Query. А отчёты на основе запросов с помощью компонентов RvQueryConnection и RvProject в приложении Rave Designer.



1.5 Требования к программе



Программа совместима со всеми операционными системами Windows. Для работы данной программы необходим ПК, имеющий следующие системные требования:

- Операционная Windows любой версии;

- Процессор 200 MHz и выше;

- Емкость ОЗУ не ниже 32 Мб;

- Дисковод 3,5” или CD-ROM;

- 16 Мбайт свободного места на жестком диске;




ПРОЕКТИРОВАНИЕ ЗАДАЧИ



2.1 Организация данных



В курсовом проекте используется база данных состоящая из четырёх таблиц. Структуры таблиц приведены в таблицах 1.1, 1.2, 1.3, 1.4

- Abitur (Данные о абитуриентах);

- Spec (Данные о специальностях);

- Ekzam (Данные о экзаменах);

- Kurs (Данные о абитуриентах, посещающих курсы);



Таблица 1.1 – Структура таблицы Abitur.

Имя поля

Тип данных

Описание

Num

Avtoincrement

Счётчик

Fam

Alpha

Текст

Otch

Alpha

Текст

Mesto uch

Alpha

Текст

Adress

Alpha

Текст

Tel

Alpha

Текст

City

Alpha

Текст

Ekz1

Alpha

Текст

Ekz2

Alpha

Текст

Ekz3

Alpha

Текст

Spec

Alpha

Текст

Postup

Logical

Логический

Att

Logical

Логический

Med

Logical

Логический

Spravka

Logical

Логический

Foto

Logical

Логический

RusYaz

Short

Короткое числовое

RusLit

Short

Короткое числовое

BelYaz

Short

Короткое числовое

BelLit

Short

Короткое числовое

Matem

Short

Короткое числовое

Inform

Short

Короткое числовое

CHOG

Short

Короткое числовое

InYaz

Short

Короткое числовое

Geogr

Short

Короткое числовое

Him

Short

Короткое числовое

Fizkult

Short

Короткое числовое

IstBel

Short

Короткое числовое

VsemirIst

Short

Короткое числовое



Таблица 1.2 – Структура таблицы Spec.

Имя поля

Тип данных

Описание

Predmet

Alpha

Текст

Data

Data

Дата

Time

Time

Время

Auditor

Alpha

Текст

Komis

Alpha

Текст



Таблица 1.3 – Структура таблицы Ekzam.

Имя поля

Тип данных

Описание

Nazvanie

Alpha

Текст

Bal

Short

Короткое числовое

Kolvo

Short

Короткое числовое



Таблица 1.4 – Структура таблицы Kurs.

Имя поля

Тип данных

Описание

KFam

Alpha

Текст

KName

Alpha

Текст

KOtch

Alpha

Текст

KSpec

Alpha

Текст

Pred1

Alpha

Текст

Pred1

Alpha

Текст

Pred1

Alpha

Текст



Связи таблиц показаны на рисунке 2.1.




Рис. 2.1 Связи таблиц.



Поле Nazvanie в таблице Abitur ключевое. В нём хранятся данные о названиях специальностей. В поле Spec в таблице Abitur хранятся данные о специальности, на которую поступает конкретный абитуриент.



2.2 Функции системы



В данной базе данных на основе запросов составлены все отчёты. Запросы написаны в режиме SQL. 

Отчёт для вывода всех абитуриентов составлен на следующем запросе:



select *

from abitur.db



Отчёт для вывода абитуриентов не сдавших документы составлен на следующем запросе:



select *

from abitur.db

WHERE (att=false) or (med=false) or (spravka=false) or (foto=false)


Отчёт для вывода абитуриентов со с/б больше 8 составлен на следующем запросе:



select *

from abitur.db

where ([RusYaz]+[RusLit]+[BelYaz]+[BelLit]+[Matem]+[Inform]+ [CHOG]+[InYaz]+[Geogr]+[Him]+[Fizkult]+[IstBel]+[Vsemirst])/13)>8



Отчёт для вывода информации о экзаменах составлен на следующем запросе:



select *

from ekzam.db



Отчёт для вывода информации о специальностях составлен на следующем запросе:



select *

from spec.db



Отчёт для вывода абитуриентов посещающих курсы составлен на следующем запросе:



select *

from kurs.db



Отчёт для вывода иногородних абитуриентов составлен на следующем запросе:



select *

from abitur.db

where City Not Like "Минск"



Отчёт для вывода поступивших абитуриентов составлен на следующем запросе:



select *

from abitur.db

where postup=true

order by spec



2.3 Алгоритм работы





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

данных







Формирование БД



Дополнение данными





Вывод данных 



Ввод данных из таблиц




































2.4 Выходные документы



Выходными документами в данной программе являются отчёты, построенные на основе запросов. Предусмотренные в программе отчёты приведены в приложении 2.



2.5 Тесты на использование



Тесты на использование программы показали, что для корректной работы программы необходимо вводить данные согласно ниже приведённым инструкциям.

При использовании программы в поля с числовыми значениями (оценки абитуриентов) необходимо вводить только цифры, другая информация не вводится. В поля с логическими данными (отметка о поступлении и поданные документы) нужно вводить только слова “True” или “False”, при вводе другой информации программа выдаёт сообщение об ошибке и её необходимо перезапустить.




ПРИМЕНЕНИЕ



Назначение программы

	

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

	Также назначением программы является вывод следующих отчётов:

- все абитуриенты;

- абитуриенты, не сдавшие документы;

- абитуриенты со средним балом больше восьми;

- информация о экзаменах;

- информация о специальностях;

- абитуриенты, посещающие курсы;

- иногородние абитуриенты;

- поступившие;



Инструкции пользователю

	

	Для запуска программы необходимо запустить файл Abitur.exe, который находится в каталоге программы. При запуске программы появится окно, приведённое на рисунке 3.1.

	


	Рис. 3.1 Окно программы при запуске

	

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

	При нажатии на кнопку отчёты появляется окно программы «Отчёты» (Рис 3.2), предназначенное для вывода отчётов.

	


	Рис 3.2 Окно программы «Отчёты»

	

	В окне программы «Отчёты» нужно выбрать нужный отчёт, нажать кнопку вывод, и в появившимся окне нажать кнопку OK.

	Для выхода из программы можно нажать кнопку Close или меню файл -> выход или закрыть как стандартное окно Windows.

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

	Для вывода справки в программе нажмите F1.

	В программе вместо логических «Да» и «Нет» используются “True” и “False” соответственно.

	

Инсталляция



	Для установки программы на компьютер, необходимо скопировать всё содержимое каталога с программой.

	

	
ЗАКЛЮЧЕНИЕ



В ходе выполнения работы были закреплены знания по созданию и проектированию баз данных в среде Borland Delphi 7, а также приобретены практические навыки в создании программных приложений на данном языке программирования.

Результатом проделанной работы является база данных «Приёмная комиссия», выполняющая все необходимые задачи данного курсового проекта.

	

	
ПРИЛОЖЕНИЕ 1

	

	Листинг программы

	

	Файл fmAbiturU:

	unit fmAbiturU;

	interface

	uses

	Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

	Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, Menus;

	type

	TfmAbitur = class(TForm)

	Panel1: TPanel;

	Panel2: TPanel;

	Splitter1: TSplitter;

	Panel3: TPanel;

	DBGrid1: TDBGrid;

	DBGrid2: TDBGrid;

	DBNavigator1: TDBNavigator;

	BitBtn1: TBitBtn;

	Button1: TButton;

	MainMenu1: TMainMenu;

	N1: TMenuItem;

	N2: TMenuItem;

	N3: TMenuItem;

	N4: TMenuItem;

	N5: TMenuItem;

	procedure Button1Click(Sender: TObject);

	procedure N2Click(Sender: TObject);

	procedure N4Click(Sender: TObject);

	procedure N5Click(Sender: TObject);

	private

	{ Private declarations }

	public

	{ Public declarations }

	end;

	var

	fmAbitur: TfmAbitur;

	implementation

	uses dmAbiturU, Unit1, Unit2, Unit3;

	{$R *.dfm}

	procedure TfmAbitur.Button1Click(Sender: TObject);

	begin

	Otch.Visible:=true;

	Otch.Enabled:=true;

	end;

	procedure TfmAbitur.N2Click(Sender: TObject);

	begin

	fmAbitur.Close;

	end;

	procedure TfmAbitur.N4Click(Sender: TObject);

	begin

	Form2.Visible:=true;

	Form2.Enabled:=true;

	end;

	procedure TfmAbitur.N5Click(Sender: TObject);

	begin

	Form3.Visible:=true;

	Form3.Enabled:=true;

	end;

	end.

	

	Файл dmAbiturU: 

	unit dmAbiturU;

	interface

	uses

	SysUtils, Classes, DB, DBTables;

	type

	TDM = class(TDataModule)

	Database1: TDatabase;

	Spec: TTable;

	DataSource1: TDataSource;

	Abitur: TTable;

	DataSource2: TDataSource;

	private

	{ Private declarations }

	public

	{ Public declarations }

	end;

	var

	DM: TDM;

	implementation

	uses fmAbiturU;

	{$R *.dfm}

	end.

	

	Файл Unit1: 

	unit Unit1;

	interface

	uses

	Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

	Dialogs, StdCtrls, RpCon, RpConDS, RpConBDE, RpDefine, RpRave, DB,

	DBTables, Buttons;

	type

	TOtch = class(TForm)

	Query1: TQuery;

	RvProject1: TRvProject;

	RvQueryConnection1: TRvQueryConnection;

	Button1: TButton;

	Button2: TButton;

	Label1: TLabel;

	Label2: TLabel;

	Query2: TQuery;

	RvProject2: TRvProject;

	RvQueryConnection2: TRvQueryConnection;

	Button3: TButton;

	Label3: TLabel;

	Button4: TButton;

	Query3: TQuery;

	RvProject3: TRvProject;

	RvQueryConnection3: TRvQueryConnection;

	Label4: TLabel;

	Button5: TButton;

	Query4: TQuery;

	RvProject4: TRvProject;

	RvQueryConnection4: TRvQueryConnection;

	Label5: TLabel;

	Button6: TButton;

	Query5: TQuery;

	RvProject5: TRvProject;

	RvQueryConnection5: TRvQueryConnection;

	Label6: TLabel;

	Label7: TLabel;

	Button7: TButton;

	Query6: TQuery;

	RvProject6: TRvProject;

	RvQueryConnection6: TRvQueryConnection;

	Label8: TLabel;

	Button8: TButton;

	Query7: TQuery;

	RvProject7: TRvProject;

	RvQueryConnection7: TRvQueryConnection;

	Label9: TLabel;

	Button9: TButton;

	Query8: TQuery;

	RvProject8: TRvProject;

	RvQueryConnection8: TRvQueryConnection;

	procedure Button1Click(Sender: TObject);

	procedure Button2Click(Sender: TObject);

	procedure FormClose(Sender: TObject);

	procedure Button3Click(Sender: TObject);

	procedure Button4Click(Sender: TObject);

	procedure Button5Click(Sender: TObject);

	procedure Button6Click(Sender: TObject);

	procedure Button7Click(Sender: TObject);

	procedure Button8Click(Sender: TObject);

	procedure Button9Click(Sender: TObject);

	private

	{ Private declarations }

	public

	{ Public declarations }

	end;

	var

	Otch: TOtch;

	implementation

	uses fmAbiturU;

	{$R *.dfm}

	procedure TOtch.Button1Click(Sender: TObject);

	begin

	RvProject1.Execute;

	end;

	procedure TOtch.Button2Click(Sender: TObject);

	begin

	Otch.close;

	end;

	procedure TOtch.FormClose(Sender: TObject);

	begin

	fmAbitur.enabled:=true;

	end;

	procedure TOtch.Button3Click(Sender: TObject);

	begin

	RvProject2.Execute;

	end;

	procedure TOtch.Button4Click(Sender: TObject);

	begin

	RvProject3.Execute;

	end;

	procedure TOtch.Button5Click(Sender: TObject);

	begin

	RvProject4.Execute;

	end;

	procedure TOtch.Button6Click(Sender: TObject);

	begin

	RvProject5.Execute;

	end;

	procedure TOtch.Button7Click(Sender: TObject);

	begin

	RvProject6.Execute;

	end;

	procedure TOtch.Button8Click(Sender: TObject);

	begin

	RvProject7.Execute;

	end;

	procedure TOtch.Button9Click(Sender: TObject);

	begin

	RvProject8.Execute;

	end; 

	end. 

	

	Файл Unit2: 

	unit Unit2;

	interface

	uses

	Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

	Dialogs, StdCtrls, Buttons;

	type

	TForm2 = class(TForm)

	Label1: TLabel;

	Label2: TLabel;

	Label3: TLabel;

	Label4: TLabel;

	BitBtn1: TBitBtn;

	Label5: TLabel;

	Label6: TLabel;

	private

	{ Private declarations }

	public

	{ Public declarations }

	end;

	var

	Form2: TForm2;

	implementation

	{$R *.dfm}

	end.

	

	Файл Unit3:

	unit Unit3;

	interface

	uses

	Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

	Dialogs, StdCtrls, Buttons;

	type

	TForm3 = class(TForm)

	Label1: TLabel;

	Label2: TLabel;

	Label3: TLabel;

	Label4: TLabel;

	BitBtn1: TBitBtn;

	private

	{ Private declarations }

	public

	{ Public declarations }

	end;

	var

	Form3: TForm3;

	implementation

	{$R *.dfm}

	end.

	

	
Список использованных источников

	

1. Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2004. – 288 с.: ил.

2. Шкрыль А.А. Разработка клиент-серверных приложений в Delphi. – СПб.: БХВ-Петербург, 2006.

3. www.delphikingdom.com