98739

Разработка программы в среде Borland Delphi

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-11-06

166.92 KB

1 чел.

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Приволжский государственный технологический университет

Кафедра ИВС

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

к курсовой работе по дисциплине

«База данных»

Вариант №18

Выполнил: ст. гр. ИВТ-41

Тимофеев А.И.

Проверил: Галочкин В.И.

Йошкар-Ола

2012

Аннотация

В данной курсовой работе разработана программа в среде Borland Delphi, которая организует работу с базой данных общежития, с возможностью переселения. Руководство по использованию данной программы приведено в “Руководстве пользователя”.


ТЕХНИЧЕСКОЕ ЗАДАНИЕ

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

Содержание

Аннотация - 2 -

Техническое задание - 3 -

Содержание - 4 -

Введение - 5 -

Описание базы данных - 6 -

Сведения о программной реализации - 8 -

Руководство пользователя - 9 -

Руководство программиста - 10 -

Заключение - 17 -

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


ВВЕДЕНИЕ

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

Современной формой информационных систем являются банки данных, имеющие в своем составе:

  1.  вычислительную систему;
  2.  систему управления базами данных (СУБД);
  3.  одну или несколько баз данных (БД);
  4.  набор прикладных программ (приложений БД).

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

  1.  непротиворечивой;
  2.  не избыточной;
  3.  целостной.

Одну из таких БД требуется реализовать в данном курсовом проекте. В качестве программной среды взят Delphi 7. Хотя система Delphi и не является СУБД в буквальном смысле этого слова, тем не менее, она обладает вполне развитыми возможностями СУБД. Предоставляемые Delphi средства обеспечивают создание и ведение локальных и клиент- серверных БД, а также разработку приложений для работы практически с любыми БД. Назвать систему Delphi обычной СУБД мешает, наверное, только то, что, с одной стороны, у нее нет «своего» формата таблиц (языка описания данных), поэтому она использует форматы таблиц других СУБД, например, dBase, Paradox или InterBase (это вряд ли является недостатком, поскольку названные форматы хорошо себя зарекомендовали); с другой стороны. В плане создания приложений различного назначения, в том числе приложений БД, возможности Delphi не уступают возможностям специализированных СУБД, а зачастую и превосходят их.


ОПИСАНИЕ БАЗЫ ДАННЫХ

ER-диаграмма

Описание состава и содержимого таблиц

Таблица Fakultet  (информация о факультетах ):

Таблица Obshaga (информация об общежитиях):

Таблица Profession  (информация об специальностях):

Таблица Rooms  (информация о комнатах):

Таблица Stud  (информация о студентах):


CВЕДЕНИЯ О ПРОГРАММНОЙ РЕАЛИЗАЦИИ

Данная база данных реализована в среде Embarcedero RAD Studio XE2 с использованием механизма BDE (Borland Database Engine). BDE представляет собой совокупность динамических библиотек и драйверов, обеспечивающих доступ к данным. Процессор BDE должен устанавливаться на всех компьютерах, на которых выполняются Delphi – приложения, осуществляющие работу с БД. Приложение через BDE передает запросы к базе данных, а обратно получает требуемые данные. Все таблицы БД составлены в формате  Microsoft Access. Таблицы являются достаточно развитыми и удобными для создания БД. Можно отметить следующие их достоинства:

  1.  большое количество типов полей для представления данных различных типов;
  2.  поддержка целостности данных;
  3.  организация проверки вводимых данных;


РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Минимальные системные требования:

  1.  Процессор 400 MHz
  2.  ОС Microsoft Windows 98, 2000, XP, 2003
  3.  Оперативная память: 128 Mb
  4.  VGA монитор
  5.  Устройство манипулирования

Файлы для работы:

Project2.exe – запускаемый файл программы.

В папке /Debug содержатся файлы базы данных для работы программы.


РУКОВОДСТВО ПРОГРАММИСТА

Программа разработана в среде Embarcedero RAD Studio XE2.

В состав разработанной системы входят файлы: Project2.dpr, Unit1.pasUnit14.pas

Фрагменты исходного кода

unit Unit2;

interface

uses

 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.Grids,

 Vcl.DBGrids, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.DBCtrls;

type

 TForm2 = class(TForm)

   Label1: TLabel;

   ADOConnection1: TADOConnection;

   ADOQuery1: TADOQuery;

   DataSource1: TDataSource;

   Button1: TButton;

   ADOQuery1FIO: TWideStringField;

   ADOQuery1kurs: TWideStringField;

   ADOQuery1name_fak: TWideStringField;

   ADOQuery1namber_room: TWideStringField;

   ADOQuery1name_spec: TWideStringField;

   ADOQuery1obshag_name: TWideStringField;

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Button3: TButton;

   ADOTable1: TADOTable;

   ADOQuery1id_stud: TAutoIncField;

   Button2: TButton;

   procedure FormClose(Sender: TObject; var Action: TCloseAction);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

 metka_delete: integer;

implementation

{$R *.dfm}

uses Unit1,Unit3,Unit4,Unit5,Unit6, Unit7, Unit9,Unit11,Unit13;

procedure TForm2.Button1Click(Sender: TObject);

begin

Form2.Hide;

Form3.Show;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Hide;

Form5.Show;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

if ADOQuery1.RecordCount<>0 then begin

metka_delete:=strtoint(ADOQuery1.Fields.FieldByName('id_stud').AsString);

if not ADOTable1.Locate('id_stud',metka_delete,[loCaseInsensitive]) then begin

MessageBox(Application.Handle, PChar('Выберете запись.'), PChar('Редактор студентов'), MB_ICONINFORMATION + MB_OK);

exit;

end else begin

ADOTAble1.Delete;

ADOTAble1.Close;

ADOTAble1.Open;

Form2.ADOConnection1.Connected:=False;

Form2.ADOConnection1.Connected:=True;

Form2.ADOQuery1.Active:=False;

Form2.ADOQuery1.Active:=True;

Form2.ADOTable1.Active:=False;

Form2.ADOTable1.Active:=True;

Form3.ADOQuery1.Active:=False;

Form3.ADOQuery2.Active:=False;

Form3.ADOQuery1.Active:=True;

Form3.ADOQuery2.Active:=True;

Form3.ADOTable1.Active:=False;

Form3.ADOTable1.Active:=True;

Form4.ADOQuery1.Active:=False;

Form4.ADOQuery1.Active:=True;

Form4.ADOQuery2.Active:=False;

Form4.ADOQuery2.Active:=True;

Form4.ADOQuery3.Active:=False;

Form4.ADOQuery3.Active:=True;

Form4.ADOQuery4.Active:=False;

Form4.ADOQuery4.Active:=True;

Form4.ADOQuery5.Active:=False;

Form4.ADOQuery5.Active:=True;

Form5.ADOTable1.Active:=False;

Form5.ADOTable1.Active:=True;

Form5.ADOTable2.Active:=False;

Form5.ADOTable2.Active:=True;

Form5.ADOQuery1.Active:=False;

Form5.ADOQuery1.Active:=True;

Form5.ADOQuery2.Active:=False;

Form5.ADOQuery2.Active:=True;

Form5.ADOQuery3.Active:=False;

Form5.ADOQuery3.Active:=True;

Form5.ADOQuery4.Active:=False;

Form5.ADOQuery4.Active:=True;

Form5.ADOQuery5.Active:=False;

Form5.ADOQuery5.Active:=True;

Form5.ADOQuery6.Active:=False;

Form5.ADOQuery6.Active:=True;

Form5.ADOQuery7.Active:=False;

Form5.ADOQuery7.Active:=True;

Form6.ADOQuery1.Active:=False;

Form6.ADOQuery1.Active:=True;

Form6.ADOQuery2.Active:=False;

Form6.ADOQuery2.Active:=True;

Form6.ADOQuery3.Active:=False;

Form6.ADOQuery3.Active:=True;

Form6.ADOQuery4.Active:=False;

Form6.ADOQuery4.Active:=True;

Form6.ADOQuery5.Active:=False;

Form6.ADOQuery5.Active:=True;

Form6.ADOTable1.Active:=False;

Form6.ADOTable1.Active:=True;

Form7.ADOTable1.Active:=False;

Form7.ADOTable1.Active:=True;

Form9.ADOTable1.Active:=False;

Form9.ADOTable1.Active:=True;

Form11.ADOTable1.Active:=False;

Form11.ADOTable1.Active:=True;

Form11.ADOTable2.Active:=False;

Form11.ADOTable2.Active:=True;

Form13.ADOTable1.Active:=False;

Form13.ADOTable1.Active:=True;

Form13.ADOTable2.Active:=False;

Form13.ADOTable2.Active:=True;

ADOTAble1.Active:=True;

ADOTAble1.Open;

MessageBox(Application.Handle, PChar('Запись удалена.'), PChar('Редактор студентов'), MB_ICONINFORMATION + MB_OK);

end;

end;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Form1.Show;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

ADOTAble1.Open;

end;

end.

unit Unit3;

interface

uses

 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.DBCtrls, Data.DB,

 Data.Win.ADODB;

type

 TForm3 = class(TForm)

   Edit1: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Button1: TButton;

   ADOQuery1: TADOQuery;

   DBLookupComboBox2: TDBLookupComboBox;

   DBLookupComboBox3: TDBLookupComboBox;

   DataSource1: TDataSource;

   ADOQuery2: TADOQuery;

   DataSource2: TDataSource;

   ComboBox1: TComboBox;

   ADOTable1: TADOTable;

   Button2: TButton;

   procedure FormClose(Sender: TObject; var Action: TCloseAction);

   procedure DBLookupComboBox2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

{$R *.dfm}

uses Unit2,Unit4;

procedure TForm3.Button1Click(Sender: TObject);

begin

if (Edit1.Text<>'') and (ComboBox1.Text<>'') and (DBLookUpComboBox2.KeyValue<>Null) and (DBLookUpComboBox3.KeyValue<>Null) then

begin

ADOTable1.Open;

ADOTable1.Insert;

ADOTable1.Fields.FieldByName('FIO').AsString:=Edit1.Text;

ADOTable1.Fields.FieldByName('Kurs').AsString:=ComboBox1.Text;

ADOTable1.Fields.FieldByName('id_fak').AsString:=DBLookUpComboBox2.KeyValue;

ADOTable1.Fields.FieldByName('id_spec').AsString:=DBLookUpComboBox3.KeyValue;

ADOTable1.Post;

end else MessageBox(Application.Handle, PChar('Заполните предложенные поля.'), PChar('Расселение студентов'), MB_ICONINFORMATION + MB_OK);

Form4.Show;

Form3.Hide;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

Edit1.Text:='';

ComboBox1.Text:='';

DBLookUpComboBox2.KeyValue := NULL;

DBLookUpComboBox3.KeyValue := NULL;

Form3.Hide;

Form2.Visible:=True;

end;

procedure TForm3.DBLookupComboBox2Click(Sender: TObject);

begin

ADOQuery2.Active:=False;

ADOQuery2.Parameters[0].Value:=strtoint(DBLookupComboBox2.KeyValue);

ADOQuery2.Active:=True;

end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Form2.Show;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

ADOQuery1.Active:=True;

ADOQuery2.Active:=True;

ADOTable1.Active:=True;

end;

end.


ЗАКЛЮЧЕНИЕ

В данной курсовой работе была разработана программа для работы с базой данных в соответствии с заданием.

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


СПИСОК ЛИТЕРАТУРЫ

  1.  Хомоненко А.Д. , Гофман В.Э., Работа с базами данных в DELPHI (3-е издание), Санкт - Петербург, 2005
  2.  Дарахвелидзе П. Г., Марков Е. П. Программирование в Delphi 7. – СПб.: БХВ-Петербург, 2004.


 

А также другие работы, которые могут Вас заинтересовать

963. Разработка электропитающей установки 435.5 KB
  Выбор системы электропитания станционных устройств. Структурно-функциональный состав ЭПУ поста ЭЦ. Расчет преобразователя ппв-1 (полупроводниковый преобразователь выпрямитель). Расчет мощности рельсовых цепей и преобразовательных панелей ПП25-ЭЦК. Расчет вводной панели ПВ-ЭЦК, нагрузки на внешние сети переменного тока и выбор ДГА.
964. Разработка базы данных для книжного магазина 590 KB
  В магазине хранится огромное количество книг, услугами магазина пользуются довольно много людей. Для обеспечения оперативности ведения информации о книгах и клиентах необходима автоматизированная система, основанная на современной базе данных. Использование базы данных и автоматизированной системы для работы с базой данных существенно сократит время обслуживания клиентов и время работы с библиотекой по систематизации информации о книгах, по сбору информации о должниках и многие другие задачи.
965. Знакомство с предприятиями, специализирующихся на механической обработке древесины 177.5 KB
  ОАО Лесопильно - деревообрабатывающий комбинат №3. Завод клееной древесины ООО Кардинал. Архангельский фанерный завод. Новодвинская мебельная фабрика.
966. Разработка программы для гипотетического (иллюстрированного) микропроцессора 425 KB
  Задан массив из пяти элементов - целых положительных чисел. Необходимо написать программу для гипотетического (иллюстрированного) микропроцессора. Эта программа позволит выполнять различные манипуляции с элементами массива.
967. Изучение стандартных функций MS Excel, позволяющих автоматизировать процесс решения финансовых задач 873.5 KB
  Анализ предметной области финансовых задач. Описание средств электронной таблицы MS Excel для проведения экономических расчетов. Реализация технологии решения задачи с использованием электронного табличного процессора.
968. Определение с точностью площади криволинейной трапеции 585 KB
  Для поиска константы C будем пользоваться методом золотого сечения. Для определения площади криволинейной трапеции воспользуемся методом Симпсона. Для решения поставленного уравнения используем метод половинного деления.
969. Создание объектов разработанного класса (символьная строка) 323.5 KB
  Описание диаграммы классов. Блок-схема метода ExchangeWords. Динамический массив символов и операции над ним. Цикл while и оператор if. обработка строк стандартными функциями библиотеки string.
970. Проект реконструкции автомобильной дороги федерального значения 999 KB
  Характеристика основных условий реконструкции автомобильной дороги. Климатические параметры холодного периода года. Инженерно-геологические условия. Дорожно-строительные материалы. Обустройство дороги и безопасность движения. Расчет количества рабочих дней для устройства дорожной одежды. Строительство искусственных сооружений. Расчет транспортных средств на возведение земляного полотна.
971. Культура Індії 43 KB
  Індійська культура є однією з найстаріших і найрізноманітніших культур світу. Архітектура Індії в ісламський період. Важливий етап розвитку індійської музики. В індуїзмі, танці завжди відігравали важливу роль в побуті.