Разработка базы данных для хранения информации данных характеристик товара
Создание баз данных с использованием Database Desktop. Проведение автоматизации рабочего места кассира. Описание входной и выходной информации. Выбор среды реализации, состава и параметров технических средств. Проектирование интерфейса программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 22.01.2015 |
Размер файла | 1021,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Анализ предметной области
2. Описание входной и выходной информации
2.1 Входная информация
2.2 Выходная информация
3. Обоснование выбора среды реализации
3.1 Выбор среды реализации
3.2 Выбор состава и параметров технических средств
4. Построение реляционной базы данных
4.1 Разработка логической и физической модели базы данных
5. Проектирование и реализация интерфейса программы
Заключение
Список использованных источников
Приложение
Введение
В курсовой работе будет разработана программа, которая автоматизирует работу кассира, позволяет автоматически генерировать отчеты в разрезе материально-ответственных лиц, также будут получены навыки по созданию баз данных с использованием Database Desktop.
Разработка программы будет вестись Delphi 7- это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi.
1. Анализ предметной области
Касса - это подразделение организации, выполняющее кассовые операции с наличными деньгами и денежными ценностями. Для обеспечения надежной сохранности наличных денежных средств и ценностей помещение кассы должно отвечать требованиям по технической укрепленности и оборудованию сигнализацией помещений.
Кассовые операции -- операции с физическими и юридическими лицами по приёму и выдаче наличных денежных средств (банкноты и монеты), осуществляемые предприятиями, организациями, банками. Представляют собой совокупность материально-технических процедур, заключающихся в приёме (инкассация), хранении и выдаче наличных денег. Кассовые операции регулируются нормами финансового права.
2. Описание входной и выходной информации
2.1 Входная информация
Входная информация - это информация, поступающая извне и используемая для её решения.
В качестве входной информации используются 2 базы данных, которые мы создали на Database Deckopt:
- Kassir.db
-Tovar.db
В базе данных Kassir.db входными информациями служат:
-Код кассира
- ФИО
- Адрес
- Оклад
В базе данных Tovar.db входными информациями служат:
- Код товара
- Товар
- Характеристика
2.2 Выходная информация
Выходная информация - это информация, полученная на основе входной информации. Выходной информацией является база данных GurOper1.db.
В нем мы заносим те данные, которые мы используем для подготовки отчета. В результате БД выглядит следующим образом:
Таблица 1
№ |
Ostatok na nachala |
Kod kassira |
Debet |
DebetS |
Kredit |
KreditS |
DataOper |
Kolic |
Ostatok na conec |
Summa |
Operac |
|
3. Обоснование выбора среды реализации
3.1 Выбор среды реализации
Delphi 7 -- это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi. Delphi 7 представляет собой полное решение для разработки приложений от проектирования до развертывания по архитектуре, управляемой моделью (MDA), которое позволяет интегрировать моделирование, разработку и развертывание приложений и систем электронного бизнеса для платформы Windows. Delphi 7 содержит развитые библиотеки и инструменты для создания приложений электронного бизнеса и веб-сервисов, полностью интегрирует соответствующие технологии и качественно повышает производительность разработчиков, предоставляя все необходимое для исследования вопросов перехода на Microsoft .NET. Визуальная среда web-разработки Delphi 7 позволяет визуально строить web-приложения и кардинально уменьшает обычные временные затраты, связанные с созданием серверной составляющей приложений, включая управление сессиями в многопользовательском режиме доступа. Включённая в состав Delphi 7 технология проектирования и моделирования приложений UML позволяет эффективно проектировать свои приложения при помощи средств визуального моделирования и реорганизации кода (refactoring). Возможности Delphi 7 по интеграции, реинжинирингу и мгновенной визуализации позволяют создавать высококачественные проекты и тексты программ, применяя готовые шаблоны проектирования и создавая более крупные модели.
Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links).
3.2 Выбор состава и параметров технических средств
Для решения задачи необходим состав следующих технических средств:
- Процессор Pentium с частотой 1.8 ГГц и выше;
- Минимальный объем оперативной памяти - 256 Мбайт. Рекомендуемый - 1 Гбайт и выше;
- Жесткий диск с объемом свободного пространства не менее 10 Гбайт при минимальной конфигурации и до 20 Гбайт при полной установке;
- Операционная система Microsoft Windows XP SP2 (или выше);
- Разрешение 1024x768 или 1280х1024;
- Устройство для чтения компакт-дисков.
4. Построение реляционной базы данных
4.1 Разработка логической и физической модели базы данных
Построение логической модели осуществим с помощью программного средства ERWin 4.0.
Программа ERWin- средство концептуального моделирования БД.
Выберем тип модели Logical/Physical, и на логическом уровне определим:
- сущности,
- связи между ними,
Результат построения Логической модели представлен на рис.1, а Физическая модель изображена на рис.2.
Рис.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с.
2. Петров В.Н. Информационные системы. - СПб.: Питер, 2008.
3. Фаронов В.В. Программирование баз данных в Delphi 7: Учебный курс. - СПб.: Питер, 2004 - 464 с.
4. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2005. - 304с.
5. Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 2006. - 374с.
6. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2009, 304 с.
Приложение
Листинг кода главной формы проекта:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,ComObj, ComCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label6: TLabel;
Label7: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DateTimePicker1: TDateTimePicker;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
Button2: TButton;
procedure DBGrid1CellClick(Column: TColumn);
procedure BitBtn1Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a0:string;
flag :boolean;
n1 : integer;
implementation
uses LAV,Modul1;
{$R *.dfm}
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Edit1.Text:=Ligidov.Tovar.FieldByName('Cena').AsString;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
a0:string;
a1:string;
a2:string;
// stoim, naz,nar:string;
begin
Ligidov.GurOper1.Insert;
Ligidov.GurOper1.FieldByName('Debet').AsString:= Edit3.Text;
Ligidov.GurOper1.FieldByName('Kredit').AsString:= Edit4.Text;
Ligidov.GurOper1.FieldByName('DatOper').AsString:=DateToStr(DateTimePicker1.Date);
Ligidov.GurOper1.FieldByName('KodKassira').AsString:=Ligidov.Kassir.FieldByName('KodKassira').AsString;
Ligidov.GurOper1.FieldByName('Kolic').AsString:=Edit2.Text;
a0:=CalKuljator(Edit1.Text,Edit2.Text,'*',2);
a0:=ZnakZamena(a0,'.',',');
Ligidov.GurOper1.FieldByName('summa').AsString:=a0;
edit5.Text:=a0;
if radiobutton1.Checked then
begin
Edit7.Text:=a0;
Edit8.Text:=inttostr(0);
a1:='продажа ';
a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
if radiobutton2.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='возврат ';
a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
if radiobutton3.Checked then
begin
a2:=edit6.text;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
if radiobutton4.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='Оклад';
a2:=a1+Ligidov.Kassir.FieldByName('FIO').AsString;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
if radiobutton5.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='наличка в Банк';
a2:=a1;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
if radiobutton6.Checked then
begin
Edit7.Text:=a0;
Edit8.Text:=inttostr(0);
a1:='погасили долг';
a2:=a1;
Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;
end;
Ligidov.GurOper1.FieldByName('DebetS').AsString:= Edit7.Text;
Ligidov.GurOper1.FieldByName('KreditS').AsString:= Edit8.Text;
Ligidov.GurOper1.Post;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
edit6.Text:='';
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
dat0,dat1,dat2,G0,s0,k0, kodW,KodPr,a0,a01,a1,a2 :string;
Gir0,Gir1,SGir1,sum0,kol0,Sum1,kol1,Ssum1,Skol1:real;
code, n2,i1,i,s1,s2,s3:integer;
XLApp,Sheet,Colum:Variant;
skold1,skolk1,skold2, skolk2, skold3,skolk3, kold1,kolk1,kold2, kolk2, kold3,kolk3,
d1,sd1,k1,sk1,sk2,d2,k2,sd2,d3,sd3,k3,sk3:real;
begin
With Ligidov do begin
//KodPr1:=Kassir.fieldbyname('KodKassira').AsString;
dat0:='01.01.2000';
a0:=DateToStr(DateTimePicker1.Date);
dat1:=a0;
//a01:=DateToStr(DateTimePicker2.Date);
//dat2:=a01;
XLApp:=CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Оборотка';
Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Columns;
N2:=1;
Colum.Columns[1].ColumnWidth:=5;
Colum.Columns[2].ColumnWidth:=30;
Colum.Columns[3].ColumnWidth:=10;
Colum.Columns[4].ColumnWidth:=15;
Colum.Columns[5].ColumnWidth:=10;
Colum.Columns[6].ColumnWidth:=15;
Colum.Columns[7].ColumnWidth:=10;
Colum.Columns[8].ColumnWidth:=10;
Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=12;
Sheet:=XLApp.Workbooks[1].WorkSheets['Оборотка'];
//n2:=0;
Sheet.Cells[n2,1]:='Журнал операций за '+a0 +'+'+Kassir.fieldbyname('FIO').AsString;
iNC(n2);
Sheet.Cells[n2,2]:='Остаток на начала '+a0 ;
Ligidov.SetBase4('GurOper1.DB','DatOper','Debet','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d1);
Ligidov.SetBase4('GurOper1.DB','DatOper','Kredit','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d2);
d3:=d1-d2;
Str(d3:13:2,a1);
a1:=Trim(a1);
Sheet.Cells[n2,5]:=a1;
iNC(n2);
//Sheet.Cells[n2,0]:='?? ';
Sheet.Cells[n2,1]:='№№ ';
Sheet.Cells[n2,2]:='Наименование операции';
Sheet.Cells[n2,3]:='Дебет';
Sheet.Cells[n2,4]:=' суммаДебет';
Sheet.Cells[n2,5]:='Кредит';
Sheet.Cells[n2,6]:='суммаКредит';
Sheet.Cells[n2,7]:='Сумма ';
iNC(n2);
s1:=0; s2:=0;s3:=0;
With Ligidov do begin
SetBase4('GurOper1.DB','DatOper','','','','','Summa',a0,a0,'','','',kold1,d1);
Query1.First;
Repeat
//a1:=Query1.fieldbyname('KodTovara').AsString;
//KodPr:=Query1.fieldbyname('KodKassira').AsString;
Sheet.Cells[n2,2]:=Query1.fieldbyname('Operac').AsString;
Sheet.Cells[n2,3]:=Query1.fieldbyname('Debet').AsString;
Sheet.Cells[n2,4]:=Query1.fieldbyname('DebetS').AsString;
Sheet.Cells[n2,5]:=Query1.fieldbyname('Kredit').AsString;
Sheet.Cells[n2,6]:=Query1.fieldbyname('KreditS').AsString;
Sheet.Cells[n2,7]:=Query1.fieldbyname('Summa').AsString;
Sheet.Cells[n2,1]:=IntToStr(n2-2);
s2:=s2+Query1.fieldbyname('DebetS').AsInteger;
s3:=s3+Query1.fieldbyname('KreditS').AsInteger;
s1:=s2-s3;
Query1.Next;
iNC(n2);
until Query1.Eof;
Sheet.Cells[n2,2]:='Итого';
Sheet.Cells[n2,4]:=IntToStr(s2);
Sheet.Cells[n2,6]:=IntToStr(s3);
Sheet.Cells[n2,7]:=IntToStr(s1);
Sheet.Cells[n2+3,7]:='Подпись кассира ___________________________';
Sheet.Cells[n2+5,7]:='Подпись бугалтера _________________________';
end;
Листинг кода формы Data Module проекта:
unit LAV;
interface
uses
SysUtils, Classes, DBTables, DB;
type
TLigidov = class(TDataModule)
DataSource1: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
Tovar: TTable;
Kassir: TTable;
GurOper1: TTable;
Query1: TQuery;
Procedure SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);
Procedure SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Ligidov: TLigidov;
TekDir:string;
implementation
{$R *.dfm}
Procedure TLigidov.SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);
Var
TekDir,s,s1,s0,a1,a0:string;
i1:integer;
Koli1, summ1:real;
begin
SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet);
//SetBase3(Fils,Datp,KodWrkPl,ScetPl,DaTT1,DaTT2,KodWrk,Korenscet);
Koli1:=0; summ1:=0;
Query1.First;
For i1:=1 to Query1.RecordCount do begin
//Koli1:=Koli1+Query1.FieldByName(Kolp).AsFloat;
summ1:=summ1+Query1.FieldByName(Sump).AsFloat;
Query1.Next;
end;//i
Kol1:=Koli1;
Sum1:=summ1;
end;
Procedure TLigidov.SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);
Var
TekDir,s,s1,s0,a1,a0:string;
begin
//TekDir:='C:\Scet60';
DataSource4.DataSet:=Query1;
//Dbgrid1.DataSource:=FDataSource4;
Query1.DatabaseName:=TekDir;
Query1.Close;
Query1.sql.Clear;
Query1.sql.Add('SELECT * FROM '+Fils);
a1:='WHERE ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';
Query1.sql.Add(a1);
//if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+' LIKE "%" ||'+'"'+szet+'" || "%")');
if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+'="'+szet+'")');
if length(ScetPl)>0 then Query1.sql.Add('and ('+ScetPl+' LIKE "%" ||'+'"'+Korenscet+'" || "%")');
if length(KodWrkPl)>0 then Query1.sql.Add('and ('+KodWrkPl+'="'+KodWrk+'")');
{
a1:='and ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';
Form11.Query1.sql.Add(a1);
}
Query1.sql.SaveToFile('sql11.txt');
Query1.open;
end;
Размещено на Allbest.ru
Подобные документы
Организация документооборота корпоративного отдела. Описание состава задач, подлежащих автоматизации, входной и выходной информации. Разработка состава и структуры базы данных, описание пользовательского интерфейса. Экономический эффект автоматизации.
дипломная работа [2,9 M], добавлен 05.12.2011Разработка инфологической модели базы данных "Рабочее место кассира", требования к ее функциональным характеристикам. Создание программы в Delphi. Описание компонентов для реализации графического интерфейса и интерфейса ввода справочника кассиров.
курсовая работа [2,2 M], добавлен 17.04.2014Обследование предметной области. Проектирование реляционной базы данных: описание входной и выходной информации, перечень сущностей и атрибутов, создание модели, выбор ключей. Разработка и обоснование представлений для отображения результатов выборки.
курсовая работа [539,0 K], добавлен 12.12.2011Разработка программы для автоматизации расчетов на телефонной станции. Описание входной и выходной информации, комплекс технических средств. Интерфейс конечного пользователя. Проектирование программных модулей представления входных и выходных данных.
курсовая работа [460,1 K], добавлен 26.06.2015Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.
курсовая работа [975,2 K], добавлен 30.01.2014Возможности извлечения информации из баз данных. Программы для создания и обработки базы данных и создания пользовательского интерфейса. Обоснование выбора программных средств для реализации. Создание базы данных, интерфейса и базы данных к интерфейсу.
курсовая работа [2,9 M], добавлен 24.03.2023Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.
реферат [513,1 K], добавлен 22.10.2012Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.
курсовая работа [2,4 M], добавлен 05.07.2015Выбор программных и аппаратных средств для создания базы данных. Описание структуры программы. Описание разработки приложения. Подключение к базе данных, выполняемое с помощью компонента ADOConnectio. Создание средств защиты информации в программе.
курсовая работа [2,1 M], добавлен 16.02.2015Назначение программы учета вычислительной техники и оргтехники организации. Характеристика входной и выходной информации. Требования к базам данных и приложению. Проектирование отношений сущность-связь. Описание операторов создания базы данных.
курсовая работа [1,7 M], добавлен 16.06.2022