Вход

Теория вычислительный процессов и структур

Курсовая работа* по программированию
Дата добавления: 27 июня 2000
Язык курсовой: Русский
Word, rtf, 118 кб
Курсовую можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы




Министерство народного образования и науки Республики Беларусь


Белорусская государственная политехническая академия



Факультет роботов и робототехнических систем

Кафедра ”ПОВТ и АС”







КУРСОВАЯ РАБОТА


по дисциплине: ”Теория вычислительных процессов и структур”


на тему: “Работа с базами данных”





Выполнил: ст. гр. 307217 Погосский К.В.


Принял: ст. пр. Михалевич А.П.










Минск 2000

Содержание

Стр.


1. Краткое введение в базы данных 3

2. Краткое техническое описание программы 4

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

4. Заключение

5. Литература

Приложение 1 “Текст программы”

Приложение 2 “Структура таблиц”



Краткое введение в базы данных


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

Следует отметить повышенный спрос на программное обеспечение, позволяющее создавать полноправные системы управления базами данных. Из огромного количества таких пакетов мне хотелось бы выделить продукт компании Borland International Inc. “Delphi”. Данная система программирования достаточна сильна по своей архитектуре. Помимо всего “Delphi” предоставляет нам довольно широкий набор компонентов, из которых, как из кирпичей, можно создать полноценную систему управления базой данных (СУБД).

Еще одной не мола важной особенностью “Delphi” является поддержка международного языка баз данных – SQL. Язык потерпел некоторый ряд видоизменений и в настоящее время представляет собой мощное ядро, упрощающее общение с наборами данных. SQL является языком запросов, который содержит минимальный, и вместе с тем достаточный набор операторов и представляет мощное средства навигации данными.


Краткое техническое описание программы


Представленный программный продукт написан для современных 32-разрядных операционных систем, в число которых входит Windows 95, Windows 98, Windows NT.

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

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

Программа полностью реализована с использованием запросов на языке SQL. Создание и заполнение таблиц производилось при помощи стандартных пакетов, таких как Database Desktop, SQL Explorer, PowerDesigner 6. Программа предусматривает внос информации без перечисленных пакетов а из специально оформленной формы (см. Приложение 1 модуль SecF.pas).

Таблицы прописаны при помощи BDE Administrator’а. Все необходимые таблицы объединены в алиас «MyDB», что позволяет придать системе управления большую гибкость.

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


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


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

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

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

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

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

Для внесения новой книги служит кнопка «Добавить». Простая в использовании форма представлена в виде анкеты. Причем для внесения книги в список должны быть заполнены все графы (возможно не заполнение графы «Полное описание» когда книга одноименна). Заложен минимальный набор данных с клавиатуры. Это позволяет уменьшить шанс внесения ошибочных данных, и упрощает работу для конечного пользователя.

Для внесения изменений в базу данных (временное отсутствие книги, «новая книга») необходимо иметь определенные права. Для этого программа предусматривает проверку прав, определенных паролем. При некорректном вводе пароля программа не даст внести изменения.


Заключение


Программа тестирована на персональном компьютере Pentium II 333, 64 Mb ОЗУ в операционной системе Windows 98 и показала неплохие результаты при выполнении сложных запросов. Задержка на считывание, обработку, сортировку данных не значительна.

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


Литература

1. Фаронов В.В. «Delphi 4.0 Учебный курс». Изд. «Нолидж» 1998 г.

2. Фаронов В.В. Вводный курс в базы данных. Изд. «Нолидж», 1998 г.

3. Введение в SQL.

4. Волков А. СУБД. Стандарты языка SQL. 2 номер 1997.


MainBD.DB

Number Short *

Famili Alpha[15]

Inic Alpha[2]

Janr Alpha[10]

Nalich Logical

NameBok Alpha[50]


Nalichie.DB

Number Short *

Fam Alpha[15]

Ch Date


SecondDB.DB

Numero Short *

Stron Short

Obl Logical


Spravka.DB

Number Short *

Opisanie Alpha[50]


Vedenie.DB

Numero Short

DataUser Date

NameUser Alpha[15]


* - первичный ключ таблицы
































Приложение 1























unit MainF;


interface


uses

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

StdCtrls, Mask, DBCtrls, Grids, DBGrids, Db, DBTables, ExtCtrls;


type

TForm1 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBEdit1: TDBEdit;

DataSource2: TDataSource;

Table2: TTable;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

GroupBox1: TGroupBox;

Label3: TLabel;

Button1: TButton;

Button3: TButton;

RadioGroup1: TRadioGroup;

Query1: TQuery;

Query1Number: TSmallintField;

Query1Famili: TStringField;

Query1Inic: TStringField;

Query1Janr: TStringField;

Query1Nalich: TBooleanField;

Query1NameBook: TStringField;

DataSource3: TDataSource;

Query2: TQuery;

Button5: TButton;

DBGrid2: TDBGrid;

Table2Obl: TBooleanField;

Table2Numero: TSmallintField;

Table2Stron: TSmallintField;

Query2Opisanie: TStringField;

Button4: TButton;

Button2: TButton;

Button6: TButton;

GroupBox2: TGroupBox;

Label4: TLabel;

Button7: TButton;

Label5: TLabel;

Edit2: TEdit;

Button8: TButton;

ComboBox1: TComboBox;

Button9: TButton;

DBLookupComboBox1: TEdit;

Label6: TLabel;

Button10: TButton;

ComboBox2: TComboBox;

procedure RadioGroup1Click(Sender: TObject);

procedure Query1AfterScroll(DataSet: TDataSet);

procedure Button5Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;

St : String;

Ch : Boolean;

YYY : Boolean;

Snum : String;

Recponse:String;

Const pass='Andrey';



implementation


uses SecF, NetuF, Unit5, Unit3, Avtor;


{$R *.DFM}


procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

Case RadioGroup1.ItemIndex of

0: St:='Select * from MainDB' + #13 + #10 + 'Order by Famili';

1: St:='Select * from MainDB' + #13 + #10 + 'Order by Janr';

2: St:='Select * from MainDB' + #13 + #10 + 'Order by NameBook';

end;

Button4Click(RadioGroup1);

end;



procedure TForm1.Query1AfterScroll(DataSet: TDataSet);

begin

Label3.Caption:='В наличии';

Button3.Visible:=False;

Edit1.Text:='Твердая';

Query2.Close;

Query2.Sql.Clear;

Query2.Sql.Add('Select * from Spravka' + #13 + #10 +

'Where Number=' + IntToStr(Query1Number.Value));

Query2.Open;

If not Query1Nalich.Value Then

begin

Label3.Caption:='Отсуствует';

Button3.Visible:=True;

end;

If not Table2Obl.Value Then

begin

Edit1.Text:='Мягкая';

end;


end;





procedure TForm1.Button5Click(Sender: TObject);

begin

Ch:= Not Ch;

If Ch then

begin

Button5.Caption:='<<Кратко>

Form1.Height:=436;

end;

If Not Ch Then

begin

Button5.Caption:='Детально>>';

Form1.Height:=324;

end;

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

Ch:=False;

Form1.Height:=324;

end;


procedure TForm1.Button1Click(Sender: TObject);

begin

Query1.Active:=False;

Table2.Active:=False;

Query2.Active:=False;

Recponse := InputBox('Проверка доступа','Введите пароль','');

If Recponse=Pass Then Form2.ShowModal

Else ShowMessage('Пароль введен не верно!');

Query1.Active:=True;

Table2.Active:=True;

Query2.Active:=True;

end;


procedure TForm1.Button3Click(Sender: TObject);

begin

Form4.ShowModal;

end;






procedure TForm1.Button2Click(Sender: TObject);

begin

Recponse := InputBox('Проверка доступа','Введите пароль','');

If Recponse=Pass Then Begin

YYY:=Query1Nalich.Value;

Form3.Label2.Caption:=Query1Famili.Value +' - ' + Query1NameBook.Value;

St:='';

Snum:=IntToStr(Query1Number.Value);

If not yyy then ShowMessage('Книга отдолжена')

Else

Begin

Query1.Active:=False;

Form3.ShowModal;

Query1.Active:=True;

End;

End

Else ShowMessage('Пароль введен не верно!');

End;


procedure TForm1.Button4Click(Sender: TObject);

begin

Query1.Close;

Query1.Sql.Clear;

Query1.Sql.Add(St);

Query1.Open;

end;

















procedure TForm1.Button6Click(Sender: TObject);

begin

Recponse := InputBox('Проверка доступа','Введите пароль','');

If Recponse=Pass Then begin

YYY:=Query1Nalich.Value;

Snum:=IntToStr(Query1Number.Value);

If yyy then ShowMessage('Книга в наличии!')

Else

Begin

St:='Delete from Nalichie Where number = ' + Snum;

try

Button4Click(Button6)

Except

end;

St:='Select * From MainDB';

try

Button4Click(Button6)

Except

end;

St:='UpDate MainDB Set Nalich = True' + #13 + #10 +

'Where Number = ' + Snum;;

try

Button4Click(Button6)

Except

end;

St:='Select * From MainDB';

try

Button4Click(Button6)

Except

End;

Query1.Active:=False;

Query1.Active:=True;

End;

End

Else ShowMessage('Пароль введен не верно!');

end;


procedure TForm1.Button7Click(Sender: TObject);

begin

St:='Select * from MainDB Where Famili = "' + DBLookupComboBox1.Text +'"';

Button4Click(Button7);

end;


procedure TForm1.Button8Click(Sender: TObject);

begin

St:='SELECT * FROM MainDB WHERE NameBook LIKE "%'+ Edit2.Text +'%"';

Button4Click(Button7);

end;


procedure TForm1.ComboBox1Change(Sender: TObject);

begin

Button9.Enabled:=True;

end;


procedure TForm1.Button9Click(Sender: TObject);

begin

St:='SELECT * FROM MainDB WHERE Janr = "' + ComboBox1.Text +'"';

Button4Click(Button7);

end;


procedure TForm1.Button10Click(Sender: TObject);

begin

St:='Select * from MainDB';

Button4Click(Button10);

end;


procedure TForm1.ComboBox2Change(Sender: TObject);

begin

Case ComboBox2.ItemIndex of

0: St:='Select * from MainDB Where Nalich = False';

end;

Button4Click(ComboBox2);

end;


end.



























© Рефератбанк, 2002 - 2024