База Данных «Интернет-магазин»

Автор работы: Пользователь скрыл имя, 05 Июня 2013 в 01:53, курсовая работа

Краткое описание

Существует огромное количество разновидностей баз данных, отличающихся по различным критериям (например, в «Энциклопедии технологий баз данных» определяются свыше 50 видов БД).
Целью моего курсового проекта является разработка базы данных “Интернет-магазин”. Программа предназначена для ведения базы данных интернет-магазина и всех поступающих в нее товаров: для удобства работы с ними, подсчета их количества, ведения учета поставщиков и установки оптимальной цены. При проектировании БД был использовал реляционный подход, потому что реляционные базы получили наибольшее распространение в мире и они считаются наиболее перспективными в научном плане, т.к. большинство СУБД работают именно с такими базами.

Содержание

Введение……………………………………………………………………………….4
1 Постановка задачи…………………………………………………………………..6
Формулировка задания……………………………………………………………6
Информационная база задачи…………………………………………………….6
2 Вычислительная система……………………………………………………………8
2.1 Инструментальные средства разработки проекта……………………………….8
2.2 Среда разработки………………………………………………………………….10
2.3 Требования к конфигурации аппаратного обеспечения……………………......11
3 Проектирование……………………………………………………………………..12
3.1 Проектирование интерфейса……………………………………………………..12
4 Описание программы……………………………………………………………….14
4.1 Структура модулей………………………………………………………………..14
4.2 Описание процедур и функций…………………………………………………..14
5 Испытание программы……………………………………………………………...16
5.1 Тестовые примеры………………………………………………………………...16
5.2 Результаты тестирования…………………………………………………………22
5.3 Ошибки при написании…………………………………………………………..22
6 Описание применения……………………………………………………………...23
Заключение……………………………………………………………………………24
Список использованной литературы………………………………………………..25
Список использованных Интернет-ресурсов……………………………………….25
Приложение А (обязательное)……………………………………………………….26
Приложение Б (обязательное)………………………………………………………..28

Вложенные файлы: 1 файл

пз2.docx

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

Также программа рассчитана на любого пользователя, нуждающегося в поиске по определенному критерию:

- изготовитель

- модель

- конструкция корпуса

- цена

- год выпуска

-количество

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

            Использование программы:

    1. Войти в режим “Администратор”
    2. Нажать кнопку “Добавить”, ввести требуемую информацию в появившееся диалоговое окно нажать кнопку “Обзор” и загрузить изображение препарата, нажать кнопку “ОК”.
    3. При исправлении информации: нажать кнопку “Изменить”, и в открывшемся диалоговом окне, поменять информацию на требуемую.
    4. При удалении информации: выделить нужный препарат в таблице и нажать кнопку “Удалить”.
    5. При поиске: рекомендуется отсортировать БД, затем в поле “Поиск” ввести требуемое название препарата.
    6. При возникновении каких-либо других вопросов по использованию программы, можно выбрать пункт - Справка, в главном меню программы.

 

 

 

 

 

 

 

 

 

 

 

Заключение

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

Для проектирования базы данных применялась  таблица Microsoft Access, которая открывалась и прикреплялась с помощью компонентов “ADO” в среде программирования  Borland Delphi.

Данная программа в последующем  времени будет модифицироваться и обновляться. После её введения в эксплуатацию появиться возможность  сделать её более развитой.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

  1.   В. В. Фаронов. Delphi. Программирование на языке высокого уровня: Учебник для вузов. Издательство: СПб, 2006.

 

    1. А. Хомоненко, В. Гофман, Е. Мещеряков, В. Никифоров. Delphi 7 « Наиболее полное руководство».

            Список использованных Интернет-ресурсов

            http://www.delphikingdom.com/

            http://www.delphisources.ru/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А

 

unit Unit1;

 

interface

 

uses

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

  Dialogs, XPMan, StdCtrls, jpeg, ExtCtrls, Buttons;

 

type

  TForm1 = class(TForm)

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    XPManifest1: TXPManifest;

    Image1: TImage;

    Label1: TLabel;

    Edit1: TEdit;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    procedure RadioButton1Click(Sender: TObject);

    procedure RadioButton2Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  pas:string;

 

implementation

 

uses Unit2;

 

{$R *.dfm}

 

 

procedure TForm1.RadioButton1Click(Sender: TObject);//если выбран гость,то поле ввода пароля скрыто

begin

edit1.Visible:=false;

end;

 

procedure TForm1.RadioButton2Click(Sender: TObject);//если выбран администратор,то поле ввода пароля становится видимым

begin

edit1.Visible:=true;

end;

 

 

 

 

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

pas:='black'; //присваиваем переменной-пароль

if (radiobutton1.Checked=true) then//если выбран гость то...

begin

form2.show;

form2.bitbtn1.Visible:=false;

form2.bitbtn2.Visible:=false;

form2.bitbtn3.Visible:=false;

form2.DBGrid1.Columns[0].Visible:=false;

form2.DBGrid1.Columns[5].Visible:=false;

form2.DBGrid1.Columns[6].Visible:=false;

form2.DBGrid1.Columns[7].Visible:=false;

form2.ComboBox1.Items.Clear;

form2.ComboBox1.Items.Add('Изготовитель');

form2.ComboBox1.Items.Add('Модель');

form2.ComboBox1.Items.Add('Конструкция корпуса');

form2.ComboBox1.Items.Add('Цена');

form2.ComboBox1.Items.Add('Год выпуска');

Form2.Label2.Caption:='Гость';

Form1.Hide;

end;

if (radiobutton2.Checked=true) then //если выбран администратор,то..

if (edit1.Text=pas) then //проверяем правильность набранного пароля

begin

form2.Show;

form2.bitbtn1.Visible:=true;

form2.bitbtn2.Visible:=true;

form2.bitbtn3.Visible:=true;

form2.DBGrid1.Columns[0].Visible:=false;

form2.DBGrid1.Columns[6].Visible:=false;

form2.DBGrid1.Columns[5].Visible:=true;

form2.DBGrid1.Columns[7].Visible:=false;

form2.ComboBox1.Items.Clear;

form2.ComboBox1.Items.Add('Изготовитель');

form2.ComboBox1.Items.Add('Модель');

form2.ComboBox1.Items.Add('Конструкция корпуса');

form2.ComboBox1.Items.Add('Цена');

form2.ComboBox1.Items.Add('Год выпуска');

form2.ComboBox1.Items.Add('Количество');

Form2.Label2.Caption:='Администратор';

Form1.Hide;

Edit1.Clear;

end else showmessage('Вы ввели неправельный пароль!!!');

end;

 

procedure TForm1.BitBtn2Click(Sender: TObject); //выходим из программы

begin

close;

end;

 

end.

 

Приложение Б

 

unit Unit2;

 

interface

 

uses

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

  Dialogs, Grids, DBGrids, DB, ADODB, jpeg, ExtCtrls,XPMan, StdCtrls,

  DBCtrls, Buttons, Menus, ComCtrls;

 

type

  TForm2 = class(TForm)

    Image1: TImage;

    Label1: TLabel;

    Label2: TLabel;

    DataSource1: TDataSource;

    DBGrid1: TDBGrid;

    DBMemo1: TDBMemo;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    DBImage1: TDBImage;

    ADOConnection1: TADOConnection;

    ADOQuery1: TADOQuery;

    ComboBox1: TComboBox;

    Edit1: TEdit;

    Button1: TButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    Button2: TButton;

    PopupMenu1: TPopupMenu;

    N2: TMenuItem;

    Button3: TButton;

    Button4: TButton;

    StatusBar1: TStatusBar;

    Timer1: TTimer;

    N3: TMenuItem;

    ADOQuery1id: TAutoIncField;

    ADOQuery1DSDesigner: TWideStringField;

    ADOQuery1DSDesigner2: TWideStringField;

    ADOQuery1DSDesigner3: TIntegerField;

    ADOQuery1_: TWideStringField;

    ADOQuery1DSDesigner4: TIntegerField;

    ADOQuery1DSDesigner5: TWideStringField;

    ADOQuery1DSDesigner6: TWideStringField;

    ADOQuery1_2: TIntegerField;

    Label3: TLabel;

    N4: TMenuItem;

    procedure Label2DblClick(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure DBGrid1TitleClick(Column: TColumn);

    procedure ComboBox1Change(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure N1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure ADOQuery1AfterScroll(DataSet: TDataSet);

    procedure Edit2KeyPress(Sender: TObject; var Key: Char);

    procedure N2Click(Sender: TObject);

    procedure help1Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

    procedure FormCreate(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 procedure dbresize1;

 procedure dbresize2;

var

  Form2: TForm2;

implementation

 

uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7;

 

{$R *.dfm}

 

 

 

procedure TForm2.Label2DblClick(Sender: TObject);//Возвращение на форму авторизации

begin

form1.show;

form2.Close;

end;

 

 

 

procedure TForm2.BitBtn1Click(Sender: TObject);//добавляем в базу данных строку

begin

form3.Caption:='Добавление';

dbgrid1.DataSource.DataSet.FindFirst;

dbgrid1.DataSource.DataSet.Insert;

Form3.ShowModal;

end;

 

procedure TForm2.BitBtn2Click(Sender: TObject);//изменяем строку в базе данных

begin

form3.Caption:='Изменение';

form3.ShowModal;

end;

 

procedure TForm2.BitBtn3Click(Sender: TObject); //переход на форму удаления строки в БД

begin

form7.show;

end;

 

procedure TForm2.DBGrid1TitleClick(Column: TColumn);//сортировка по нажатию на название столбца

begin

AdoQuery1.Sort:=Column.FieldName;

end;

 

procedure TForm2.ComboBox1Change(Sender: TObject);//проверка видимости поля поиска ввода

begin

if combobox1.ItemIndex<>-1 then

edit1.Visible:=true

else

edit1.Visible:=false;

end;

 

procedure TForm2.Button1Click(Sender: TObject);//поиск с использованием запросов

begin

adoquery1.Active:=false;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select * from БД');

case combobox1.ItemIndex of

0:Adoquery1.SQL.Add('where Изготовитель LIKE "%'+edit1.Text+'%"');//запрос по полю Изготовител

1:Adoquery1.SQL.Add('where Модель LIKE "%'+edit1.text+'%"');//запрос по полю Модель

2:Adoquery1.SQL.Add('where Конструкция_корпуса LIKE "%'+edit1.text+'%"');//запрос по полю Конструкция корпуса

3:Adoquery1.SQL.Add('where Цена <= '+edit1.Text+'');//запрос по полю Цена

4:Adoquery1.SQL.Add('where Год_выпуска= '+edit1.text+'');//запрос по полю Год выпуска

5:Adoquery1.SQL.Add('where Количество <= '+edit1.text+'');//запрос по полю Количество

end;

Adoquery1.Active:=true;

if label2.Caption='Гость' then

dbresize2;

if label2.Caption='Администратор' then

dbresize1;

end;

 

procedure TForm2.N1Click(Sender: TObject);//Очистка 2 таблицы "Каразина" (БД2)

begin

form1.Close;

form5.ADOQuery1.Edit;

form5.ADOQuery1.Close;

form5.ADOQuery1.SQL.Clear;

form5.ADOQuery1.SQL.Add('DELETE FROM БД2');

form5.ADOQuery1.ExecSQL;

close;

end;

 

procedure TForm2.Button2Click(Sender: TObject);//Возвращение прежней информации в таблицу (БД)

begin

edit1.Clear;

edit1.Visible:=false;

combobox1.Enabled:=true;

combobox1.Text:='Выберите поле';

adoquery1.Active:=false;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select * from Бд');

adoquery1.Active:=true;

if label2.Caption='Гость' then begin

dbresize2;

end else if label2.Caption='Администратор' then begin

dbresize1;

end;

end;

 

 

 

procedure TForm2.ADOQuery1AfterScroll(DataSet: TDataSet);//Добавление шаблона и отображение изображений

begin

if Form2.DataSource1.DataSet.FieldValues['Изображение']=null then

//стандартным изображением  является "шаблон.bmp"

begin

Form2.DataSource1.DataSet.FieldValues['Изображение']:='G:\Влад1\Влад\Изображение\шаблон.bmp';

end;

dbimage1.Stretch:=true;

dbimage1.Picture.LoadFromFile(Datasource1.DataSet.FieldValues['Изображение']);

end;

 

procedure dbresize1;//процедура не видимости полей

begin

form2.DBGrid1.Columns[0].Visible:=false;

form2.DBGrid1.Columns[6].Visible:=false;

form2.DBGrid1.Columns[7].Visible:=false;

end;

 

procedure dbresize2;//процедура не видимости полей

begin

form2.DBGrid1.Columns[0].Visible:=false;

form2.DBGrid1.Columns[5].Visible:=false;

form2.DBGrid1.Columns[6].Visible:=false;

form2.DBGrid1.Columns[7].Visible:=false;

end;

 

procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char);//Ограничение ввода

begin

case key of

'0'..'9',#8:

else key:=#0;

end;

end;

 

procedure TForm2.N2Click(Sender: TObject);//сохранение описания в текстовый файл

begin

dbmemo1.Lines.SaveToFile('vl.txt');

end;

 

 

procedure TForm2.help1Click(Sender: TObject);//открытие формы Справка

begin

form4.show;

end;

 

procedure TForm2.Button3Click(Sender: TObject);//присваивание информации полей таблицы "БД" в таблицу "БД2"

begin

form5.ADOQuery1.Edit;

form5.DBGrid1.DataSource.DataSet.First;

form5.DBGrid1.DataSource.DataSet.Insert;

form5.DBGrid1.DataSource.DataSet.FieldByName('Изготовитель').AsString:=form2.DBGrid1.DataSource.DataSet.FieldValues['Изготовитель'];

form5.DBGrid1.DataSource.DataSet.FieldByName('Модель').AsString:=form2.DBGrid1.DataSource.DataSet.FieldValues['Модель'];

form5.DBGrid1.DataSource.DataSet.FieldByName('Цена').AsString:=form2.DBGrid1.DataSource.DataSet.FieldValues['Цена'];

form5.DBGrid1.DataSource.DataSet.FieldByName('Конструкция_корпуса').AsString:=form2.DBGrid1.DataSource.DataSet.FieldValues['Конструкция_корпуса'];

form5.DBGrid1.DataSource.DataSet.FieldByName('Год_выпуска').AsString:=form2.DBGrid1.DataSource.DataSet.FieldValues['Год_выпуска'];

form5.DBGrid1.DataSource.DataSet.Post;

end;

 

procedure TForm2.Button4Click(Sender: TObject);//открытие формы Корзина

begin

form5.DBGrid1.Columns[0].Visible:=false;//скрытие столбца

form2.Hide;

form5.Show;

end;

 

procedure TForm2.ComboBox1KeyPress(Sender: TObject; var Key: Char);//ограничение ввдода

begin

key:=#0;

end;

 

procedure TForm2.FormCreate(Sender: TObject);//заполнение панели статуса

begin

Statusbar1.Panels[0].Text:=datetostr(now);//дата

Statusbar1.Panels[1].Text:=timetostr(now);//время

Statusbar1.Panels[2].Text:='Матюш Владислав, группа П-23';

Statusbar1.Panels[3].Text:='База данных "Интернет-магазин"';

end;

 

procedure TForm2.Timer1Timer(Sender: TObject);//отображение времени по таймеру (показывает нынешнее время)

begin

Statusbar1.Panels[1].Text:=timetostr(now);

end;

 

procedure TForm2.N3Click(Sender: TObject);//открытие формы

begin

form6.Show;

end;

 

procedure TForm2.N4Click(Sender: TObject);//открытие формы

begin

form4.Show;

end;

 

end.

 

Приложение В

 

unit Unit3;

 

interface

 

uses

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

  Dialogs, StdCtrls, Mask, DBCtrls, Buttons, XPMan, jpeg, ExtCtrls, ExtDlgs;

 

type

  TForm3 = class(TForm)

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    BitBtn1: TBitBtn;

    DBMemo1: TDBMemo;

    Image1: TImage;

    Label7: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label1: TLabel;

    OpenPictureDialog1: TOpenPictureDialog;

    Button1: TButton;

    Button2: TButton;

    procedure BitBtn1Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form3: TForm3;

 

implementation

 

 uses unit2;

 

{$R *.dfm}

 

 

 

 

procedure TForm3.BitBtn1Click(Sender: TObject);//добавление изменений в (БД)

begin

form2.DBGrid1.DataSource.DataSet.Post;

close;

end;

 

procedure TForm3.Button1Click(Sender: TObject);//Подгрузка изображений

begin

form2.ADOQuery1.Edit;

if OpenPictureDialog1.Execute then

  begin

   Form2.DataSource1.DataSet.FieldValues['Изображение']:=null;

   Form2.DataSource1.DataSet.FieldValues['Изображение']:=OpenPictureDialog1.FileName;

  end

end;

 

procedure TForm3.Button2Click(Sender: TObject);//отмена изменений (БД)

begin

form2.DataSource1.DataSet.Cancel;

close;

end;

 

end.

 

Приложение  Г

 

unit Unit4;

 

interface

 

uses

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

  Dialogs, OleCtrls, SHDocVw;

 

type

  TForm4 = class(TForm)

    WebBrowser1: TWebBrowser;

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form4: TForm4;

 

implementation

 

{$R *.dfm}

 

procedure TForm4.FormCreate(Sender: TObject);//Ссылка на файл справки

begin

webbrowser1.Navigate('G:\Влад1\Влад\бд.htm');

Информация о работе База Данных «Интернет-магазин»