Автор работы: Пользователь скрыл имя, 08 Июля 2015 в 21:52, курсовая работа
Целью данной курсовой работы является создание программы ведения базы данных личной библиотеки.
Исходя из поставленной цели можно сформулировать следующие задачи:
- изучение области применения;
- проектирование базы данных;
- разработка рабочего проекта.
Введение…………………………………………………………………………….3
1 Разработка эскизного и технического проектов………………………………5
2 Разработка рабочего проекта…………………………………………………...13
Заключение………………………………………………………………………..26
Глоссарий………………………………………………………………………….27
Список использованных источников…………………………………………….30
Список сокращений…
Delphi7 содержит несколько важнейших технологий:
Система управления базами данных (СУБД). СУБД MMicrosoft Access (в составе MMicrosoft Office 2003) является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов.
Базы данных – это совокупность сведений (о реальных объектах, процессах, явлениях), относящихся к определенной теме или задаче, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом, так и любой ее части.
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа. Каждая строка таблицы включает данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов - атрибуты. Строки таблицы называются записями; все записи имеют одинаковую структуру - они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и имеет строго определенный тип данных (например, текстовый, числовой, дата и время). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов.
Основные функции СУБД – это определение данных (описание структуры баз данных), обработка данных и управление данными. Для выполнения простейших операций с данными (добавление и удаление из таблицы одной или нескольких записей; обновление значений некоторых полей в одной или нескольких записях; поиск одной или нескольких записей по заданному условию) используются запросы, результатом которых является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном языке структурированных запросов SQL (Structured Query Language).
Одной из основных функций СУБД является управление данными. Под управлением данными обычно понимают защиту данных от несанкционированного доступа, поддержку многопользовательского режима работы с данными и обеспечение целостности и согласованности данных.
Технология проектирования. В настоящее время широкое распространение получила RAD-методология – методология быстрой разработки приложений. Данная методология охватывает все этапы жизненного цикла современных информационных систем.
RAD-модель обладает
RAD-технология позволяет при разработке и создании информационной системы применять спиральную модель жизненного цикла информационной системы, т.е. использовать прототипы. Возможность согласования прототипов системы с непосредственным будущим пользователем системы позволяет не терять общей картины проектируемой системы, контролировать требования заказчика и оперативно вносить необходимые корректировки функциональных возможностей системы. Визуальные инструменты RAD позволяют создавать современные пользовательские интерфейсы с минимальным написанием кодов программ.
Разработка программы
Для разработки программы используется среда визуального программирования Delphi. Проект программы содержит следующие окна:
1. Form1 – База данных «Личная библиотека»
2. Form2 – добавление новой книги в базу
3. Form3 – изменение информации о книгах
4. Form4 – поиск по жанру книги
5. Form5 – поиск по автору книги
6. Form6 – список книг
7. Form7 – изменить место хранения книги
8. Form8 – удаление книги
9. Form9 – местоположение книг
10. Form10 – заставка
Окно Form1 База данных «Личная библиотека» (рисунок 2.1).
Рисунок 3- Главное окно программы – Form1
Компонент Form1
Свойства:
Сaption – База данных «Личная библиотека»;
События: FormCreate закрыть форму Заставки ;
. 1 – компонент TМainMenu
Свойства:
Items: Операции с книгами (N5): добавление (N6), редактирование(N7), удаление(N8);
Поиск (N1): по автору (N2), по жанру (N3);
Печать (N4): список книг (N9), местоположение книг (N10);
Справка (Dsjl1); Выход (N11).
События:
N2Click – поиск информации в базе по автору книг.
N3Click – поиск информации в базе по жанру книг.
N6Click – перейти к работе со второй формой.
N7Click – перейти к работе с третьей формой.
N8Click – перейти к работе с восьмой формой.
N9Click – перейти к работе с шестой формой.
N10Click – перейти к работе с девятой формой.
Dsjl1Click – перейти к работе со справкой.
N11Click – закончить работу с программой.
2 – компонент TLabel1- TLabel8 – названия полей
3 – компонент ТDBEdit1 – ТDBEdit8 – вывод содержимого полей из базы данных.
Свойства:
DataSource =DataSource1
4 – компонент DBNavigator1
DataSource =DataSource1
VisibleButton=[nbPrior,nbNext]
5 – компонент ADOTable1
Свойства:
ConnectionString = Provider=Microsoft.Jet.OLEDB.
TableName= Книги
6 – компонент ADOTable2
Свойства:
ConnectionString = Provider=Microsoft.Jet.OLEDB.
MasterSourse = DataSource1
TableName= хранение_книг
7– компонент DataSource1
Свойства:
DataSet = ADOTable1
9– компонент DataSource2
Свойства:
DataSet = ADOQuery1
10– компонент DataSource3
Свойства:
DataSet = ADOTable2
11– компонент ADOQuery1
Свойства:
ConnectionString = Provider=Microsoft.Jet.OLEDB.
SQL = SELECT Книги.Код, Книги.Название_книги, Книги.Автор, Книги.Издательство, Книги.Год_издания, Книги.Количество_страниц, Книги.Жанр_книги, хранение_книг.Место_хранение
FROM Книги INNER JOIN хранение_книг ON Книги.Код = хранение_книг.Код;
Программа
procedure TForm1.N2Click(Sender: TObject);
// процедура поиска по автору в базе данных
var
st: string;
begin
st := InputBox('Поиск','Введите автора','');
if st <> '' then
// пользователь ввел критерий запроса
begin
// фильтр
ADOTable1.Filtered := False;
ADOTable1.Filter :='Автор Like ''%' + st + '%''';
ADOTable1.Filtered := True;
form5.show;
end;
if ADOTable1.RecordCount = 0 then
begin form5.Hide;
// В базе данных нет записей,
// удовлетворяющих критерию запроса.
ADOTable1.Filtered := False;
ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
end;
end;
procedure TForm1.N3Click(Sender: TObject);
// процедура поиска по жанру в базе данных
var
st: string;
begin
st := InputBox('Поиск','Введите жанр книги','');
if st <> '' then
// пользователь ввел критерий запроса
begin
// фильтр
ADOTable1.Filtered := False;
ADOTable1.Filter :='Жанр_книги Like ''%' + st + '%''';
ADOTable1.Filtered := True; form4.show;
end;
if ADOTable1.RecordCount = 0 then
begin form4.Hide;
// В базе данных нет записей,
// удовлетворяющих критерию запроса.
ADOTable1.Filtered := False;
ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
end;
end;
// процедура вызова справки
procedure TForm1.Dsjl1Click(Sender: TObject);
begin
ShellExecute(Handle, nil,'Help/Help.exe', nil, nil, SW_SHOW);
end;
end.
Процедура TForm1.N2Click – поиск книг по автору в базе данных «Личная библиотека».
Схема алгоритма поиска книг по автору в базе данных представлена в Приложении В на рисунке 2.2.
procedure TForm2.Button1Click(Sender: TObject);
// процедура добавления книги в базу данных
begin
form1.ADOTable1.Insert;
form1.ADOTable1.FieldByName('К
form1.ADOTable1.FieldByName('Н
form1.ADOTable1.FieldByName('А
form1.ADOTable1.FieldByName('И
form1.ADOTable1.FieldByName('Г
form1.ADOTable1.FieldByName('К
form1.ADOTable1.FieldByName('Ж
form1.ADOTable1.Post;
form1.ADOTable2.Insert;
form1.ADOTable2.FieldByName('К
form1.ADOTable2.FieldByName('М
form1.ADOTable2.Post;
form2.Hide;
end.
Схема алгоритма добавления данных в базу представлена в Приложении В на рисунке 2.3.
procedure TForm3.Button1Click(Sender: TObject);
// процедура изменения данных о книгах
begin
form1.ADOTable1.Post;
form7.show;
end.
procedure TForm6.Button1Click(Sender: TObject);
// вывод списка книг на печать
var Doc:Variant;
i,i0:Integer;
j:integer;
summa:Currency;
WordApp:OleVariant;
begin
try
Doc:=CreateOleObject('Word.
except
Exit;
end;
doc.documents.add();
Doc.Selection.InsertAfter('Спи
Doc.Selection.ParagraphFormat.
Doc.Selection.Font.Bold:=1;
Doc.Selection.Font.Size:=14;
Doc.Selection.Collapse(
Doc.Selection.TypeParagraph;
Doc.Selection.TypeParagraph;
i:=form1.ADOTable1.
doc.Selection.Tables.Add(doc.
doc.Selection.Tables.Item(1).
doc.Selection.Tables.Item(1).
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Код
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Наз
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Авт
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Изд
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Год издания');
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('Кол
doc.Selection.Tables.Item(1).
doc.Selection.InsertAfter('
form1.ADOTable1.First;
//----------цикл для перебора
for i:=2 to form1.ADOTable1.RecordCount+1 do
begin
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=
doc.Selection.InsertAfter(form
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=
doc.Selection.InsertAfter(
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=
doc.Selection.InsertAfter(
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=
doc.Selection.InsertAfter(
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=
doc.Selection.InsertAfter(
doc.Selection.Tables.Item(1).
doc.selection.font.bold:=