98739

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

Курсовая

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

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

Русский

2015-11-06

166.92 KB

4 чел.

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

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

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

Кафедра ИВС

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

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

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

Вариант №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.


 

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

29389. Принципы построения учебных книг по литературному чтению: традиционное и инновационное. Детские книги как особый учебный материал для формирования читателя 23 KB
  Эту функцию выполняет учебник. Учебник рассматривает текст как информационное поле на котором состоится встреча автора и читателя. Типы книг для начальной школы: Обязательные: учебник хрестоматия учебникхрестоматия Факультативные: справочник энциклопедия словари рабочие тетради Принципы организации учебника: тематический по темам жанровый стихи рассказы сезонный Виды вопросов и заданий в учебниках: до текста и после текста репродуктивные на выявление первичного восприятия на анализ на синтез продуктивные...
29390. Урок литературного чтения и его особенности. Моделирование урока литературного чтения в логике одной из образовательных программ (на примере одного литературного произведения) 57 KB
  Урок литературного чтения и его особенности. Моделирование урока литературного чтения в логике одной из образовательных программ на примере одного литературного произведения Современный урок литературного чтения имеет свои особенности: Каждый урок рассматривается как часть более широкой системы литературное развитие школьника Урок это этап в изучении литературного произведения Урок это художественнопедагогическое целое содержание форма уока будет определяться жанром и особенностями произведения а так же художественным миром...
29391. Конструктивное исполнение электрооборудования в НГП 30 KB
  Конструктивное исполнение электрооборудования в НГП должно соответствовать условиям его эксплуатации. исполнение характеризуется тем что электродвигатели имеют специальные приспособления крышки кожухи сетки. Водозащищенное IP55 IP56 исполнение электродвигатели недоступны проникновению внутрь струй воды любого направления.
29392. Нерегулируемый ЭП буровых насосов 27.5 KB
  Двигатели брызгозащишенные с влагостойкой изоляцией с самовентиляцией; наверху корпуса двигателя смонтирован возбудитель связанный клиноременной передачей с валом двигателя. Номинальное напряжение двигателя 6 кВ частота вращения 750 об мин. Так как условия пуска двигателя бурового насоса сравнительно легкие момент статического сопротивления на валу двигателя составляет примерно 20 от номинального момента двигателя а время разгона составляет 34 сек в схеме предусмотрен прямой пуск двигателя с наглухо подключенным возбудителем. Для...
29393. Особенности конструкции ЭД станка-качалки 21 KB
  имеют повышенный пусковой момент который обеспечивается за счет специальной конструкции обмотки ротора это может быть или глубокопазная обмотка 10:1 или двойная беличья клетка причем внутренняя клетка выполнена из меди а наружная из латуни имеющей большее удельное сопротивление чем медь. После вытеснения тока на поверхность сечение проводника по которому течет ток уменьшается при этом активное сопротивление обмотки ротора увеличивается и момент развиваемый ЭД при пуске возрастает так как он пропорционален приведенному активному...
29394. Регулируемый ЭП буровых насосов 66.5 KB
  В небольших пределах регулирование скорости электродвигателя буровых насосов можно осуществлять при применении асинхронных двигателей АД с фазным ротором при помощи включении в цепь ротора регулировочных реостатов. При снижении скорости на 2030 скольжение становится равным 0203 и потеря мощности в пусковых реостатах достигнет также 2030. Поэтому в настоящее время реостатный способ регулирования скорости АД не применяется. Схема обеспечивает изменение скорости вращения АД на 40 выше от номинальной.
29395. СИНХРОННЫЕ МАШИНЫ 37 KB
  Синхронные машины обладают свойством обратимости то есть могут работать как генератором так и двигателем.1а изображена схема синхронной машины с явно выраженными полюсами.1 Конструкция и электрическая схема синхронной машины с явно выраженными полюсами а б.
29396. Электрооборудование установок для насосной добычи нефти 237.5 KB
  Глубинный насос 1 станкакачалки подвешивается на колонне насосных труб 3рис. Плунжеру 2 насоса сообщается возвратнопоступательное движение с передачей энергии от балансира станкакачалки при помощи колонны штанг 4. Колонна штанг станкакачалки на устье скважины через шток соединена с головкой балансира 6 станкакачалки. Балансирный и кривошипный противовесы служат для уравновешивания нагрузки подвижной системы станкакачалки и двигателя при ходе колонны штанг вниз и вверх рис.
29397. Бесштанговые насосные установки с погружными центробежными насосами 36 KB
  Конструктивные особенности насосной установки с ЭЦН и электропривода. Установка с ЭЦН состоит из следующих основных элементов см. Серийно выпускаются ЭЦН около 30 типоразмеров с подачей от 40 до 500 м3 в сутки и номинальным напором от 400 до 1500 м. Погружной электродвигатель ПЭД ЭЦН представляет собой трехфазный асинхронный двигатель на 3000 об мин в герметичном исполнении с короткозамкнутым ротором помещенный в стальную трубу заполненную трансформаторным маслом и рассчитанный для работы при температуре пластовой жидкости до 90 0С.