Разработка базы данных на языке SQL

 

Содержание


Введение

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

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

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

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

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

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

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

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

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

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

Заключение

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

Приложение


Введение


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

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


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


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


Входная информация - это информация, поступающая извне и используемая для её решения.

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

Kassir.db

Tovar.db

В базе данных Kassir.db входными информациями служат:

Код кассира

ФИО

Адрес

Оклад

В базе данных Tovar.db входными информациями служат:

Код товара

Товар

Характеристика


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


Выходная информация - это информация, полученная на основе входной информации. Выходной информацией является база данных GurOper1.db.

В нем мы заносим те данные, которые мы используем для подготовки отчета. В результате БД выглядит следующим образом:

Таблица 1

№Ostatok na nachalaKod kassiraDebetDebetSKreditKreditSDataOperKolicOstatok na conecSummaOperac

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


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

7 - это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi. Delphi 7 представляет собой полное решение для разработки приложений от проектирования до развертывания по архитектуре, управляемой моделью (MDA), которое позволяет интегрировать моделирование, разработку и развертывание приложений и систем электронного бизнеса для платформы Windows. Delphi 7 содержит развитые библиотеки и инструменты для создания приложений электронного бизнеса и веб-сервисов, полностью интегрирует соответствующие технологии и качественно повышает производительность разработчиков, предоставляя все необходимое для исследования вопросов перехода на Microsoft .NET. Визуальная среда web-разработки Delphi 7 позволяет визуально строить web-приложения и кардинально уменьшает обычные временные затраты, связанные с созданием серверной составляющей приложений, включая управление сессиями в многопользовательском режиме доступа. Включённая в состав Delphi 7 технология проектирования и моделирования приложений UML позволяет эффективно проектировать свои приложения при помощи средств визуального моделирования и реорганизации кода (refactoring). Возможности Delphi 7 по интеграции, реинжинирингу и мгновенной визуализации позволяют создавать высококачественные проекты и тексты программ, применяя готовые шаблоны проектирования и создавая более крупные модели.Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links).


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


Для решения задачи необходим состав следующих технических средств:

-Процессор Pentium с частотой 1.8 ГГц и выше;

-Минимальный объем оперативной памяти - 256 Мбайт. Рекомендуемый - 1 Гбайт и выше;

-Жесткий диск с объемом свободного пространства не менее 10 Гбайт при минимальной конфигурации и до 20 Гбайт при полной установке;

-Операционная система Microsoft Windows XP SP2 (или выше);

-Разрешение 1024x768 или 1280х1024;

-Устройство для чтения компакт-дисков.


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с.

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

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

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

.Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 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;;


Содержание Введение . Анализ предметной области . Описание входной и выходной информации .1 Входная информация .2 Выходная информация .

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ