Разработка базы данных для хранения информации данных характеристик товара

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    645,18 Кб
  • Опубликовано:
    2015-05-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка базы данных для хранения информации данных характеристик товара

Содержание

Введение

. Анализ предметной области

. Описание входной и выходной информации

.1 Входная информация

.2 Выходная информация

. Обоснование выбора среды реализации

.1 Выбор среды реализации

.2 Выбор состава и параметров технических средств

. Построение реляционной базы данных

4.1 Разработка логической и физической модели базы данных

. Проектирование и реализация интерфейса программы

Заключение

Список использованных источников

Приложение

Введение

 

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

Разработка программы будет вестись Delphi 7- это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi.

1. Анализ предметной области

Касса - это подразделение организации, выполняющее кассовые операции с наличными деньгами и денежными ценностями. Для обеспечения надежной сохранности наличных денежных средств и ценностей помещение кассы должно отвечать требованиям по технической укрепленности и оборудованию сигнализацией помещений <#"787632.files/image001.gif">

Рис.1. Логическая модель

В построенной модели используется следующий вид связи - не идентифицирующая связь, типа «один ко многим». Значит, что один экземпляр одной сущности связан с множеством экземпляров другой сущности.

Рис. 2. Физическая модель

5. Проектирование и реализация интерфейса программы

Представленный курсовой проект содержит следующий перечень форм:

- Form1;

Data Module;

Data Module- это средство для эффективной работы с базами данных.На форме Data Module установлены компоненты для работы с базами данных.В данном случаи это компоненты:

Table(контейнеры для размещения БД)

DataSource(связующие компоненты)

В результате мы получаем следующий вид для формы Data Module:

Рис. 3. Форма Data Module

На Form 1 будут находиться основные элементы, а Data Module предназначен для эффективной работы с БД.

На Form1 представлены следующие компоненты:

DBGrid (специальная таблица для базы данных)

Button (командная кнопка для реализации в программе команд)

Edit (основной компонент для ввода)

BitBtn (пиктографическая кнопка представляющая собой один из вариантов стандартной кнопки Button.

DBNavigator (для навигации в таблице DBGrid)

Label (надпись)

RadioButton ("радиокнопка" служит для "переключения каналов")

Date Time Picker(поле ввода даты и времени)

В результате мы получаем следующий вид для формы Form1:

Рис. 4. Форма Form1

После запуска программы мы из базы данных Kassir.db выбираем кассира, выбираем из БД Tovar любой товар, при этом цена автоматически заполняет компонент Edit:

Далее в ручную заполняем Дебет, Кол-во, Кредит, устанавливаем дату, из групп операций выбираем операцию, которую нужно провести и нажимаем на кнопку ОК.

Рис. 5. Выбор товара из БД Tovar на форме Form1

Рис. 6. Заполнение оставшихся компонентов на форме Form1

Кнопка ОК предназначена для добавление операций в журнал операций, которая представляет собой базу данных GurOper1.db, а также получение результата для выполненного процесса.

В результате мы имеем следующий вид:

Рис. 7. Выполнение процесса при нажатии кнопки ОК на форме Form1

Кнопка Отчет кассира предназначен для вывода в excel формат отчет кассира. Этот отчет строится на основе выборке из журнала операции GurOper1. Для вывода мы указываем дату операции и выбираем из базы данных Kassir.db кассира, и если такие есть в журнале операций GurOper1.db, то они выводятся в excel формате.

 

Рис. 8. Отчет кассира

Кнопка Close предназначена для выхода из программы.

Заключение

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

Разработана база данных для хранения информации данных характеристик товара.

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

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

интерфейс программа database desktop

Список использованных источников

1.      Фленов М.Е. Библия Delphi: 2004. - 668с.

.        Петров В.Н. Информационные системы. - СПб.: Питер, 2008.

.        Фаронов В.В. Программирование баз данных в Delphi 7: Учебный курс. - СПб.: Питер, 2004 - 464 с.

.        Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 2006. - 374с.

.        Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2009, 304 с.

Приложение

Листинг кода главной формы проекта:

unit Unit1;

interface

uses

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

Dialogs, Buttons, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,ComObj, ComCtrls;

type= class(TForm): TDBGrid;: TDBNavigator;: TDBGrid;: TDBNavigator;: TDBGrid;: TDBNavigator;: TGroupBox;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TGroupBox;: TRadioButton;: TRadioButton;: TRadioButton;: TEdit;: TEdit;: TEdit;: TLabel;: TLabel;: TBitBtn;: TBitBtn;: TDateTimePicker;: TRadioButton;: TRadioButton;: TRadioButton;: TButton;DBGrid1CellClick(Column: TColumn);BitBtn1Click(Sender: TObject);RadioButton3Click(Sender: TObject);Button2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;:string;:boolean;: integer;LAV,Modul1;

{$R *.dfm}TForm1.DBGrid1CellClick(Column: TColumn);.Text:=Ligidov.Tovar.FieldByName('Cena').AsString;;TForm1.BitBtn1Click(Sender: TObject);:string;:string;:string;

// stoim, naz,nar:string;.GurOper1.Insert;.GurOper1.FieldByName('Debet').AsString:= Edit3.Text;.GurOper1.FieldByName('Kredit').AsString:= Edit4.Text;.GurOper1.FieldByName('DatOper').AsString:=DateToStr(DateTimePicker1.Date);.GurOper1.FieldByName('KodKassira').AsString:=Ligidov.Kassir.FieldByName('KodKassira').AsString;.GurOper1.FieldByName('Kolic').AsString:=Edit2.Text;:=CalKuljator(Edit1.Text,Edit2.Text,'*',2);:=ZnakZamena(a0,'.',',');.GurOper1.FieldByName('summa').AsString:=a0;.Text:=a0;radiobutton1.Checked then.Text:=a0;.Text:=inttostr(0);:='продажа ';:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;.GurOper1.FieldByName('Operac').AsString:=a2;;radiobutton2.Checked then.Text:=inttostr(0);.Text:=a0;:='возврат ';:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;.GurOper1.FieldByName('Operac').AsString:=a2;;radiobutton3.Checked then:=edit6.text;.GurOper1.FieldByName('Operac').AsString:=a2;;radiobutton4.Checked then.Text:=inttostr(0);.Text:=a0;:='Оклад';:=a1+Ligidov.Kassir.FieldByName('FIO').AsString;.GurOper1.FieldByName('Operac').AsString:=a2;;radiobutton5.Checked then.Text:=inttostr(0);.Text:=a0;

a1:='наличка в Банк';:=a1;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;;radiobutton6.Checked then.Text:=a0;.Text:=inttostr(0);:='погасили долг';:=a1;.GurOper1.FieldByName('Operac').AsString:=a2;;.GurOper1.FieldByName('DebetS').AsString:= Edit7.Text;.GurOper1.FieldByName('KreditS').AsString:= Edit8.Text;.GurOper1.Post;;TForm1.RadioButton3Click(Sender: TObject);.Text:='';;TForm1.Button2Click(Sender: TObject);,dat1,dat2,G0,s0,k0, kodW,KodPr,a0,a01,a1,a2 :string;,Gir1,SGir1,sum0,kol0,Sum1,kol1,Ssum1,Skol1:real;, n2,i1,i,s1,s2,s3:integer;,Sheet,Colum:Variant;,skolk1,skold2, skolk2, skold3,skolk3, kold1,kolk1,kold2, kolk2, kold3,kolk3,,sd1,k1,sk1,sk2,d2,k2,sd2,d3,sd3,k3,sk3:real;Ligidov do begin

//KodPr1:=Kassir.fieldbyname('KodKassira').AsString;:='01.01.2000';:=DateToStr(DateTimePicker1.Date);:=a0;

//a01:=DateToStr(DateTimePicker2.Date);

//dat2:=a01;:=CreateOleObject('Excel.Application');.Visible:=true;.Workbooks.Add(-4167);.Workbooks[1].WorkSheets[1].Name:='Оборотка';:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Columns;:=1;.Columns[1].ColumnWidth:=5;.Columns[2].ColumnWidth:=30;.Columns[3].ColumnWidth:=10;.Columns[4].ColumnWidth:=15;.Columns[5].ColumnWidth:=10;.Columns[6].ColumnWidth:=15;.Columns[7].ColumnWidth:=10;.Columns[8].ColumnWidth:=10;:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Rows;.Rows[2].Font.Bold:=true;.Rows[1].Font.Bold:=true;.Rows[1].Font.Color:=clBlue;.Rows[1].Font.Size:=12;:=XLApp.Workbooks[1].WorkSheets['Оборотка'];

//n2:=0;.Cells[n2,1]:='Журнал операций за '+a0 +'+'+Kassir.fieldbyname('FIO').AsString;

iNC(n2);.Cells[n2,2]:='Остаток на начала '+a0 ;

Ligidov.SetBase4('GurOper1.DB','DatOper','Debet','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d1);.SetBase4('GurOper1.DB','DatOper','Kredit','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d2);:=d1-d2;(d3:13:2,a1);:=Trim(a1);.Cells[n2,5]:=a1;(n2);

//Sheet.Cells[n2,0]:='?? ';.Cells[n2,1]:='№№ ';

Sheet.Cells[n2,2]:='Наименование операции';.Cells[n2,3]:='Дебет';.Cells[n2,4]:=' суммаДебет';.Cells[n2,5]:='Кредит';.Cells[n2,6]:='суммаКредит';

Sheet.Cells[n2,7]:='Сумма ';

iNC(n2);:=0; s2:=0;s3:=0;Ligidov do begin('GurOper1.DB','DatOper','','','','','Summa',a0,a0,'','','',kold1,d1);.First;

//a1:=Query1.fieldbyname('KodTovara').AsString;

//KodPr:=Query1.fieldbyname('KodKassira').AsString;.Cells[n2,2]:=Query1.fieldbyname('Operac').AsString;.Cells[n2,3]:=Query1.fieldbyname('Debet').AsString;.Cells[n2,4]:=Query1.fieldbyname('DebetS').AsString;.Cells[n2,5]:=Query1.fieldbyname('Kredit').AsString;.Cells[n2,6]:=Query1.fieldbyname('KreditS').AsString;.Cells[n2,7]:=Query1.fieldbyname('Summa').AsString;.Cells[n2,1]:=IntToStr(n2-2);:=s2+Query1.fieldbyname('DebetS').AsInteger;:=s3+Query1.fieldbyname('KreditS').AsInteger;:=s2-s3;.Next;(n2);Query1.Eof;.Cells[n2,2]:='Итого';.Cells[n2,4]:=IntToStr(s2);.Cells[n2,6]:=IntToStr(s3);.Cells[n2,7]:=IntToStr(s1);

Sheet.Cells[n2+3,7]:='Подпись кассира ___________________________';.Cells[n2+5,7]:='Подпись бугалтера _________________________';

end;

Листинг кода формы Data Module проекта:

unit LAV;, Classes, DBTables, DB;= class(TDataModule): TDataSource;: TDataSource;: TDataSource;: TDataSource;: TTable;: TTable;: TTable;: TQuery;SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);

{ Private declarations }

{ Public declarations };: TLigidov;:string;

{$R *.dfm}TLigidov.SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);,s,s1,s0,a1,a0:string;:integer;, summ1:real;(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet);

//SetBase3(Fils,Datp,KodWrkPl,ScetPl,DaTT1,DaTT2,KodWrk,Korenscet);:=0; summ1:=0;.First;i1:=1 to Query1.RecordCount do begin

//Koli1:=Koli1+Query1.FieldByName(Kolp).AsFloat;:=summ1+Query1.FieldByName(Sump).AsFloat;.Next;;//i:=Koli1;:=summ1;;TLigidov.SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);,s,s1,s0,a1,a0:string;

//TekDir:='C:\Scet60';.DataSet:=Query1;

//Dbgrid1.DataSource:=FDataSource4;.DatabaseName:=TekDir;.Close;.sql.Clear;.sql.Add('SELECT * FROM '+Fils);:='WHERE ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';.sql.Add(a1);

//if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+' LIKE "%" ||'+'"'+szet+'" || "%")');length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+'="'+szet+'")');length(ScetPl)>0 then Query1.sql.Add('and ('+ScetPl+' LIKE "%" ||'+'"'+Korenscet+'" || "%")');length(KodWrkPl)>0 then Query1.sql.Add('and ('+KodWrkPl+'="'+KodWrk+'")');

{:='and ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';.Query1.sql.Add(a1);

}.sql.SaveToFile('sql11.txt');.open;;

Похожие работы на - Разработка базы данных для хранения информации данных характеристик товара

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!