Разработка базы данных "Сессия"
Курсовая работа, 19 Декабря 2012, автор: пользователь скрыл имя
Краткое описание
Целью данной работы является разработка приложения для работы с базой данных по учёту за успеваемостью студентов, поступивших в ВУЗ, необходимо создать наиболее удобный интерфейс для пользователя при работе с разрабатываемой базой данных. Для выполнения цели курсовой работы необходимо обозначить следующие задачи. Они включают в себя:
- ознакомление с программами, предназначенными для создания баз данных и форматом баз данных dBase;
- работу с особым набором компонентов предназначенных для создания и редактирования базы данных;
- ознакомление с подобными базами данных используемых в магазинах одежды;
- ознакомление с принципами действия в магазине;
- разработку программного кода для выполнения определенных действий с базой данных таких как: добавление, удаление, поиск, сортировка, фильтрация данных.
Оглавление
Глава 1. Теоретическое исследование предметной области…………………...4
1.1. Анализ аналогичных информационных систем ……………………...4
1.2. Характеристика организационной структуры предметной области…………………………………………………………………………….6
1.3. Назначение и цели создания системы…………………………………7
Глава 2. Описание информационной системы………………………………….8
2.1. Схема функциональной структуры системы с кратким описанием…………………………………………………………………………8
2.2. Описание информационных функций и комплекса решаемых задач……………………………………………………………………………….9
2.3. Разработка решений по специальному математическому обеспечению ИС…………………………………………………………………………………14
Заключение………………………………………………………………….18
Библиографический список………………………………………………...19
ПРИЛОЖЕНИЯ
Приложение 1. «Руководство оператора»……………………………………20
Приложение 2. «Листинг исходного кода ИС»………………………………25
Файлы: 1 файл
Разработка базы данных «Сессия.doc
— 940.50 Кб (Скачать)
Рис 2.7 Структура поля таблицы Prepodavateli
Рис 2.8 Структура поля таблицы Disziplina
Рис 2.9 Структура поля таблицы Groops
Таблица 1.
Используемые типы данных.
Тype |
Тип |
Описание |
A |
Alpha |
Текстовое поле указанной длины |
$ |
Money |
Денежное поле |
I |
Long Integer |
Целые числа в диапазоне от -2147483648 до + 2147483648 |
D |
Data |
Дата в диапазоне от 01.01.0000 до 31.12.9999 |
S |
Short |
Целые числа в диапазоне от -32768 до +32767 |
T |
Time |
Время с точностью до миллисекунд |
+ |
Avtoincrement |
Автоинкрементное поле |
2.3 Разработка приложения
Создадим
псевдоним для нашей базы
Запустите Delphi и начните новый проект. Зрительно разделим форму на 2 части, в поместим 3 панели TРanel. На эти панели поместите 2 сетки DBGrid и а на 3-ю поместим кнопку навигатора БД TDBNavigator (вкладка Data Controls). На 2-ю панель помимо DBGrid поместим Image (вкладка Additional) .
В программе нам понадобится 6 компонентов TDataSourse, и 6 компонента TTable. Разместим их в отдельном модуле данных, чтобы эти компоненты не загромождали основное окно. Выберите команду File > New > Other и на вкладке New дважды щёлкните на значке Data Module. Назовём модуль DM. Затем свяжите созданный модуль с проектом.
Чтобы данные из таблиц отображались в сетках DBGrid, их нужно связать с помощью специального компонента TDataSource .Для этого в свойствах DataSource таблиц выбираем компоненты DataSource, рассположенные на модуле данных, соответственно Dm.DataSource1 и Dm.DataSourse2. Далее в свойствах DataSet компонентов DataSourse выбираем компоненты TTable. Теперь свойствам Active в каждом компоненте TTable присваивается значение true.
Наборы данных Sessia и ZdachaSessii связаны отношением один ко многим: единственной записи в первой таблице соответствует несколько записей во второй. Чтобы программа согласованно отображала данные, её нужно предварительно подготовить к этому. Перейдите на вкладку Diagram в окне кода модуля данных и с помощью мыши перетащите компоненты Sessia и ZdachaSessii из окна дерева объектов на вкладку Diagram. Перетаскивание реализуется классическим способом Drag&Drop. Для установления связи между таблицами щёлкните на кнопке Master Detail панели инструментов, подведите указатель мыши в виде перечёркнутого круга к нижней кромке верхней таблицы (в этот момент указатель превратится в крестик), нажмите левую кнопку мыши и, удерживая её нажатой, прочертите линию к верхней кромке нижней таблицы, после чего отпустите кнопку. На экране появится окно конструктора связей. Чтобы установить связь, нужно указать связанные поля этих 2-х таблиц. Выбрав связываемые поля (Nomer и Nomer) щёлкните на кнопке Add. Щелчком ОК закройте окно конструктора связей. После выполнения этих действий между таблицами Sessia и ZdachaSessii устанавливается связь по полю ZSessia, о чём свидетельствует вид окна Data Diagram на рис. 2.10.
Рис. 2.10 Связь между таблицами
Создадим 4 новые формы, на каждой
из которых разместим панель TP
Рис. 2.11. Изображение пунктов меню.
Создаем отчет. Для этого нам потребуются компоненты QRLable, QRDBText, QRBand с вкладки QReport
Рис. 2.13 Результат оформления отчета
ЗАКЛЮЧЕНИЕ.
В данной курсовой работе представлен процесс разработки информационной системы сдача сессии.
Создавая модель информационной системы сдача сессии, я произвел:
- изучил возможности Delphi;
- провел исследование процесса создания базы данных;
- сделал вывод о проделанной работе и проанализировала структуру исследуемого объекта;
- определил объект и предмет исследования;
- подробно ознакомился с предметной областью системы;
- учет работы преподавателей;
- учет сдачи сессии;
- Ввод и хранение данных о студентах и их оценках;
- создание итогового отчета (ведомости);
Возможны следующие пути будущих исследований:
- более детальное изучение предметной области (в частности, дальнейшая декомпозиция диаграмм);
- реализация новых функций в информационной системе;
- применение файл-серверных или клиент-серверных технологий;
- переработка информационной системы для использования в предприятиях сложной структуры.
Созданная система является открытой и может быть модифицирована лицами, владеющими навыками программирования (создания баз данных) в среде Delphi .
Таким образом, все цели и задачи, поставленные в данной курсовой работе, выполнены полностью, а полученные результаты могут быть использованы в реальности.
Библиографический список
- В.В. Фаронов, Учебный курс, Программирование баз данных в Delphi 7,Москва, Санкт-Петербург, 2003.-461 с.
- В.Э.Гофман, А.Д. Хоменко. Работа с базами данных в Delphi / -CПб.: БХВ – Санкт-Петербург,2000.-672с.
- Г. Гарсиа-Молина. Системы баз данных. Полный курс. / Г. Гарсиа-Молина, Д. Ульман, Д. Уидом. – М.: Вильямс, 2003. – 1088 с.
- Г.Н. Калянов CASE. Структурный системный анализ (автоматизация и применение). М.: Лори, 1996. – 242 с.
- Е.В. Мещереков, А.Д. Хоменко, Публикация баз данных в Интернете.-СПб.:БХВ-Петербург, 2001.-560 с.
- Информатика. Учебное пособие /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ, 1998 часть 2. – 382с.
- Карпова Т.С. "Базы данных: модели, разработка" - СПб.: Питер, 2001, 304 с.
ПРИЛОЖЕНИЕ 1.
Руководство оператора.
При запуске программы Sessia на экране появляется главная форма, содержащая кнопки для перехода к таблицам «Сессия» и «Здача сессии» (рис.1).
Рис.1 Главная форма fmSessia
При нажатии пункта в меню «Личные данные студента» появится форма с данными о студентах (рис.2).
Рис.2 Личные данные студентов
При
нажатии кнопки добавить
Рис.3 Добавление студента. Рис.4 Изменение данных о студенте
При
нажатии пункта в меню «
Рис.5 Преподавательский состав
При
нажатии кнопки добавить
Рис.6 Добавление преподавателя
При
нажатии пункта в меню «
Рис.8 Дисциплины
При
нажатии кнопки добавить
Рис.9 Добавление
предмета
При нажатии пункта в меню «группы» появится форма с данными о группах (рис.11).
Рис.11 Группы
При нажатии кнопки добавить появится форма (рис.12) для добавления информации. А при нажатии кнопки изменить появится форма (рис.13) для изменения данных о группах.
Рис.12 Добавление группы Рис.13 Замена Группы
Для удаления какой-либо строки из выше перечисленных таблиц нужно нажать кнопку «Удалить» и в появившемся окне выбрать нужный вариант.
Рис.14 Удалить
Приложение 2
Листинг исходного кода ИС
unit fmSessiaU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls, Menus;
type
TfmSessia = class(TForm)
Panel1: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
Panel2: TPanel;
DBGrid2: TDBGrid;
Image1: TImage;
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmSessia: TfmSessia;
implementation
uses dmSessiaU, fmStudentU, fmDisziplinyU, fmPrepodU, fmGroopU, fmLookUpU,
fmPrintU;
{$R *.dfm}
procedure TfmSessia.N6Click(Sender: TObject);
begin
fmSessia.Close;
end;
procedure TfmSessia.N4Click(Sender: TObject);
begin
fmStudent.Visible:=true;
end;
procedure TfmSessia.N3Click(Sender: TObject);
begin
fmDisziplina.Visible:=true;
end;
procedure TfmSessia.N2Click(Sender: TObject);
begin
fmPrepod.Visible:=true;
end;
procedure TfmSessia.N7Click(Sender: TObject);
begin
fmGroop.Visible:=true;
end;
procedure TfmSessia.FormActivate(Sender: TObject);
var k1,k2:integer;
begin
while not DM.SESSIA.Eof do
begin
k1:=0;k2:=0;
while not DM.ZDACHASESSII.Eof do
begin
k1:=k1+1;
if (DM.ZDACHASESSIIZOcenka.Value > 2) then k2:= k2+1;
DM.ZDACHASESSII.Next;
end;
DM.SESSIA.Edit;
DM.SESSIA['SKolCHel']:=k1;
DM.SESSIA['SKolSdav']:=k2;
DM.SESSIA.Post;
DM.SESSIA.Next;
end;
end;
procedure TfmSessia.N8Click(Sender: TObject);
begin
fmPrint:= TfmPrint.Create(Self);
fmPrint.QuickRep1.Preview;
fmPrint.Free;
end;
end.
unit fmStudentU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls;
type
TfmStudent = class(TForm)
Panel2: TPanel;
DBGrid1: TDBGrid;