Безопасность базы данных

Автор работы: Пользователь скрыл имя, 08 Июля 2015 в 21:52, курсовая работа

Описание работы

Целью данной курсовой работы является создание программы ведения базы данных личной библиотеки.
Исходя из поставленной цели можно сформулировать следующие задачи:
- изучение области применения;
- проектирование базы данных;
- разработка рабочего проекта.

Содержание работы

Введение…………………………………………………………………………….3
1 Разработка эскизного и технического проектов………………………………5
2 Разработка рабочего проекта…………………………………………………...13
Заключение………………………………………………………………………..26
Глоссарий………………………………………………………………………….27
Список использованных источников…………………………………………….30
Список сокращений…

Файлы: 1 файл

шаблон.doc

— 729.50 Кб (Скачать файл)

Delphi7 содержит несколько важнейших  технологий:

  • объектно-ориентированную модель компонентов;
  • высокопроизводительный компилятор в машинный код;
  • визуальное построение приложений из программных прототипов.

Система управления базами данных (СУБД). СУБД MMicrosoft Access (в составе MMicrosoft Office 2003) является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов.

Базы данных – это совокупность сведений (о реальных объектах, процессах, явлениях), относящихся к определенной теме или задаче, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом, так и любой ее части.

Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа. Каждая строка таблицы включает данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов - атрибуты. Строки таблицы называются записями; все записи имеют одинаковую структуру - они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и имеет строго определенный тип данных (например, текстовый, числовой, дата и время). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов.

Основные функции СУБД – это определение данных (описание структуры баз данных), обработка данных и управление данными. Для выполнения простейших операций с данными (добавление и удаление из таблицы одной или нескольких записей; обновление значений некоторых полей в одной или нескольких записях; поиск одной или нескольких записей по заданному условию) используются запросы, результатом которых является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном языке структурированных запросов SQL (Structured Query Language).

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

Технология проектирования. В настоящее время широкое распространение получила RAD-методология – методология быстрой разработки приложений. Данная методология охватывает все этапы жизненного цикла современных информационных систем.

RAD-модель обладает следующими  достоинствами:

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

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

 

2 Разработка рабочего проекта

Разработка программы

Для разработки программы используется среда визуального программирования 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.4.0;Data Source=Личная  библиотека.mdb;Persist Security Info=False

TableName= Книги

6 – компонент  ADOTable2

Свойства:

ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Личная  библиотека.mdb;Persist Security Info=False

MasterSourse = DataSource1

TableName= хранение_книг

7– компонент  DataSource1

Свойства:

DataSet = ADOTable1

9– компонент  DataSource2

Свойства:

DataSet = ADOQuery1

10– компонент  DataSource3

Свойства:

DataSet = ADOTable2

11– компонент  ADOQuery1

Свойства:

ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Личная  библиотека.mdb;Persist Security Info=False

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('Код').AsString:=Edit8.Text;

form1.ADOTable1.FieldByName('Название_книги').AsString:=Edit1.Text;

form1.ADOTable1.FieldByName('Автор').AsString:=Edit2.Text;

form1.ADOTable1.FieldByName('Издательство').AsString:=Edit3.Text;

form1.ADOTable1.FieldByName('Год_издания').AsString:=Edit4.Text;

form1.ADOTable1.FieldByName('Количество_страниц').AsString:=Edit5.Text;

form1.ADOTable1.FieldByName('Жанр_книги').AsString:=Edit6.Text;

form1.ADOTable1.Post;

form1.ADOTable2.Insert;

form1.ADOTable2.FieldByName('Код').AsString:=Edit8.Text;

form1.ADOTable2.FieldByName('Место_хранение').AsString:=Edit7.Text;

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.Application'); //создаем ole-объект

except

Exit;

end;

doc.documents.add();

Doc.Selection.InsertAfter('Список книг в личной библиотеке') ;

Doc.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;

Doc.Selection.Font.Bold:=1;

Doc.Selection.Font.Size:=14;

Doc.Selection.Collapse(wdCollapseEnd);

Doc.Selection.TypeParagraph;

Doc.Selection.TypeParagraph;

i:=form1.ADOTable1.RecordCount+1;

doc.Selection.Tables.Add(doc.Selection.Range,i,7, EmptyParam, EmptyParam);

doc.Selection.Tables.Item(1).Borders.InsideLineStyle:= wdLineStyleSingle;

doc.Selection.Tables.Item(1).Borders.OutsideLineStyle:= wdLineStyleSingle;

doc.Selection.Tables.Item(1).Cell(1,1).Select;

doc.Selection.InsertAfter('Код');

doc.Selection.Tables.Item(1).Cell(1,2).Select;

doc.Selection.InsertAfter('Название книги');

doc.Selection.Tables.Item(1).Cell(1,3).Select;

doc.Selection.InsertAfter('Автор');

doc.Selection.Tables.Item(1).Cell(1,4).Select;

doc.Selection.InsertAfter('Издательство');

doc.Selection.Tables.Item(1).Cell(1,5).Select;

doc.Selection.InsertAfter('Год издания');

doc.Selection.Tables.Item(1).Cell(1,6).Select;

doc.Selection.InsertAfter('Количество страниц');

doc.Selection.Tables.Item(1).Cell(1,7).Select;

doc.Selection.InsertAfter('Жанр книги');

form1.ADOTable1.First;

//----------цикл для перебора всех  данных

for i:=2 to form1.ADOTable1.RecordCount+1 do

begin

doc.Selection.Tables.Item(1).Cell(i,1).Select;

doc.selection.font.bold:=wdToggle;

doc.Selection.InsertAfter(form1.ADOTable1.Fields[0].AsString);

doc.Selection.Tables.Item(1).Cell(i,2).Select;

doc.selection.font.bold:=wdToggle;

doc.Selection.InsertAfter(form1.ADOTable1.Fields[1].AsString);

doc.Selection.Tables.Item(1).Cell(i,3).Select;

doc.selection.font.bold:=wdToggle;

doc.Selection.InsertAfter(form1.ADOTable1.Fields[2].AsString);

doc.Selection.Tables.Item(1).Cell(i,4).Select;

doc.selection.font.bold:=wdToggle;

doc.Selection.InsertAfter(form1.ADOTable1.Fields[3].AsString);

doc.Selection.Tables.Item(1).Cell(i,5).Select;

doc.selection.font.bold:=wdToggle;

doc.Selection.InsertAfter(form1.ADOTable1.Fields[4].AsString);

doc.Selection.Tables.Item(1).Cell(i,6).Select;

doc.selection.font.bold:=wdToggle;

Информация о работе Безопасность базы данных