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.


 

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

9015. Возникновение и развитие марксистской философии 35 KB
  Возникновение и развитие марксистской философии Марксистскую философию составляют диалектический и исторический материализм. Диалектический материализм изучает наиболее общие закономерности развития и функционирования мира в целом, отношения и взаим...
9016. Неклассическая философия рубежа XIX - XX вв. Отличие от классической философии 36 KB
  Неклассическая философия рубежа XIX - XX вв. Отличие от классической философии Иррационализм - обозначение неклассических, идеалистических течений в философии, которые, в противоположность рационализму, ограничивают или отрицают возможност...
9017. Философия жизни Ф. Ницше 46 KB
  Философия жизни Ф. Ницше В основе всего сущего знаменитым философом Фридрихом Ницше признается жизнь. Жизнь стоит над всем. Иррационализм Ницше - последовательное уничтожение разумного постижения - мир хаотичен. По Ницше, сознани...
9018. Экзистенциализм. Свобода и ответственность. Смысл человеческого бытия 45 KB
  Экзистенциализм. Свобода и ответственность. Смысл человеческого бытия Экзистенциализм - философия существования, иррационалистическая философия. Ее наиболее крупные представители - М. Хайдеггер, К. Ясперс, Г. Марсель, Ж. П. Сартр, А. Камю,...
9019. Герменевтика Ф. Шлейермахера, Х.- Г. Гадамера, В. Дильтея 35.5 KB
  Герменевтика Ф. Шлейермахера, Х.- Г. Гадамера, В. Дильтея Герменевтика - наука о понимании, изучает процессы передачи информации в познании, межсубъектные, междисциплинарные, межвременные. Герменевтика сложилась в ХХ в., ее основатель - Га...
9020. Позитивизм и этапы его развития (Б. Рассел, ранний Л. Витгенштейн) 38 KB
  Позитивизм и этапы его развития (Б. Рассел, ранний Л. Витгенштейн) Позитивизм в общем смысле - философское течение, основанное на принципе, что все подлинное, положительное (позитивное) знание может быть получено лишь как результат отдельных сп...
9021. Философия постмодернизма 35 KB
  Философия постмодернизма Постмодернизм - многозначный и динамически подвижный в зависимости от исторического, социального и национального контекста комплекс философских, научно-теоретических и эмоционально-эстетических представлений. Прежде все...
9022. Основные направления, школы и представители русской философии XIX - начала XX вв 40.5 KB
  Основные направления, школы и представители русской философии XIX - начала XX вв. П. Чаадаев первым поставил со всей остротой вопросы о роли России и русского народа в мировой истории. И его оценки были весьма неприглядны. Мы так странно движемся в...
9023. Отечественная философия XX в. (А. Лосев, Э. Ильенков, М. Мамардашвили) 36 KB
  Отечественная философия XX в. (А. Лосев, Э. Ильенков, М. Мамардашвили) Особенности русской философии состоят по крайней мере из нескольких элементов. Во-первых, это национальные идиомы, смыслы, коренящиеся в пословицах, поговорках, сказках, притчах,...