Смекни!
smekni.com

Проектирование Базы Данных для коммерческого предприятия (стр. 12 из 14)

№ п/п тип сущности атрибуты
1. Audi Код; Наименование; Дата выпуска; Количество; Цена закупки; Цена продажи; Группа; Дата поступления.
2. Skoda Код; Наименование; Дата выпуска; Количество; Цена закупки; Цена продажи; Группа; Дата поступления.
3. Volkswagen Код; Наименование; Дата выпуска; Количество; Цена закупки; Цена продажи; Группа; Дата поступления.

Таблица 1. Сущности базы данных «Магазин автозапчастей».

На рисунке 1 представлено главное окно итоговой программы.

Рис 1. Главное диалоговое окно программы «Магазин автозапчастей».

Что бы начать работу с одной из трех таблиц (Audi, Volkswagen или Skoda), нужно выбрать соответствующее имя таблицы из выпадающего списка на панели инструментов. Верхняя часть окна отражает состояние таблицы в данный момент и данные, записанные в ее полях. Нижнее поле – это текстовое поле, где ведется лог операций, произведенных над таблицей. Этот лог никуда не записывается, он служит для того, чтобы пользователь мог удостовериться, что его действия были корректно выполнены и новые данные были применены к текущей таблице.

Для более удобного просмотра информации в таблице, записи можно упорядочить по следующим индексам: Код; Наименование; Дата выпуска; Дата поступления; Группа. Эта функция доступна через Данные -> Упорядочить.

На панели инструментов есть кнопки «Добавить», «Редактировать» и «Удалить». С помощью них пользователь может модифицировать данные в таблице об уже имеющихся записях. При нажатии на кнопки «Редактировать» и «Добавить», будет включен режим редактирования, цвет таблицы станет бирюзовым, как показано на рисунке 2. Выйти из режима редактирования можно, кликнув по кнопке «Редактирование».

Рис 2. Включен режим «Редактирование».

Если потребуется удалить существующую запись, то нужно установить табличный указатель на нужную строку и нажать на кнопку «Удалить». Всплывет сообщение для подтверждения удаления. При нажатии на «ОК» запись будет удалена.

Рис 3. Подтверждение удаления записи из таблицы.

Для отражения поступления нового товара на склад используется операция «Покупка» (Операции -> Покупка). Форма выглядит следующим образом:

Рис 4. Форма операции «Покупка».

Все поля формы обязательны для заполнения. «Цена» товара указывается в рублях. «Группа» товара – это выпадающий список. Для выбора доступны следующие группы: 01-двигатель; 02-система охлаждения; 03-система питания; 04-система зажигания; 05-трансмиссия; 06-подвеска; 07-рулевое управление; 08-тормозная система; 09-кузов; 10-электрооборудование. При нажатии кнопки «ОК» данные с формы записываются в активную таблицу.

Для того, чтобы отразить выгрузку какого-либо товара в магазин, либо добавить некоторое количество товара, который уже имеется на складе, используется операция «Выгрузить/Добавить на склад» (Операции -> Выгрузить/Добавить на склад).

Рис 5. Форма операции «Возврат/Добавить на Склад».

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

По поиску нужно задать критерий для нахождения требуемой записи в таблице;

Нажать на кнопку «Отразить»;

В поле с таблицей будут отражены код, наименование и группа того товара, запись о котором будет редактироваться;

В соответствующем поле будет отражено количество единиц на складе;

Доступно 2 вида действия: добавить некоторое количество товара на склад или выгрузить;

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

После нажатия на кнопку «ОК» таблица будет соответственно отредактирована и в поле Memo добавиться запись о проделанной операции.

Чтобы найти ту или иную запись в таблице, можно воспользоваться «Быстрым поиском» (Данные -> Быстрый поиск).

Рис 6. Форма Быстрого поиска.

Верхний выпадающий список содержит строки «Код», «Наименование» и «Группа». При вводе значения в поле рядом с выпадающим списком, табличный указатель на главной форме приложения будет перемещен на запись таблицы, которая соответствует либо максимально приближена к значению, введенному в это поле.

«Поиск по дате» осуществляет поиск записи по «Дате выпуска» и по «Дате поступления». Поле ввода для критерия поиска имеет маску. Вводить дату следует в формате дд.мм.гггг.. Табличный указатель будет перенесен на нужную запись после нажатия кнопки «Найти»

Для просмотра общей статистической информации о товарах на складе, можно вызвать окно статистики (Данные -> Статистика).

Рис 7. Статистика.

В области «Справка» можно выделить записи из таблицы, отобранные по критерию групповой принадлежности.


Заключение

В ходе данной дипломной работы была создана база данных с применением современного средства разработки приложений Borland Delphi 7.0. В ней реализованы все основные аспекты современных баз данных, в том числе язык запросов SQL.

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

В ходе работы над программой были изучены методы проектирования баз данных и работа с ними, исследована методология проектирования по предметной области «Склад», изучен один из наиболее используемых языков для создания запросов SQL, изучен язык программирования Object Pascal, реализованный в среде программирования Delphi 7.

Приложение «Магазин автозапчастей» в настоящее время используется в области малого бизнеса на предприятии ООО «________», где получило положительную оценку, как со стороны операторов, так и администратора компьютерной сети.


Список литературы

Основная литература:

Шумаков А.И. «Базы данных в среде Delphi 5», Электронная версия

Вейскас Д. «Эффективная работа с Access 2000». СПб., 2001г.

Дуванов А. А. «Конструирование баз данных». СПб, 2003г.

Антипов Д. В., Соколов А. В. «Базы данных». Москва, 2002.

Кирстен В. «СУБД Cache. Объектно-ориентированная разработка приложений», - СПб.: «Питер», 2001.

Понамарёв В. «Базы данных в DELPHI 7», СПб «Питер», 2003.

Симонович С.В. «Язык структурированных запросов SQL», СПб «Питер», 2000.

Дополнительная литература:

Лекции по дисциплине «Базы данных» Ваксер В.В.

Лекции по дисциплине «Распределенные системы обработки информации» Ваксер В.В.

Использованы материалы с сайта http://www.cit-forum.ru/

Материалы с сайта http://www.ibex.ch/

Приложения

Приложение 1.

Блок-схема программы.


Приложение 2.

Полный листинг программы «Магазин автозапчастей».

program MyEdit;

uses

Forms,

MainUnit in 'MainUnit.pas' {MainForm},

ChildUnit in 'ChildUnit.pas' {ChildForm},

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TMainForm, MainForm);

Application.Run;

end.

unit MainUnit;

interface

uses

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

Menus, StdActns, ActnList, DB, Grids, DBGrids, ExtCtrls, DBCtrls,

DBTables, ComCtrls, ToolWin, StdCtrls, Buttons, Mask;

type

TMainForm = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

WindowMenu: TMenuItem;

OpenDialog1: TOpenDialog;

ActionList1: TActionList;

Arrange1: TWindowArrange;

Cascade1: TWindowCascade;

Close1: TWindowClose;

MinimizeAll1: TWindowMinimizeAll;

TileHorizontally1: TWindowTileHorizontal;

TileVertically1: TWindowTileVertical;

N13: TMenuItem;

N16: TMenuItem;

Copy1: TEditCopy;

Cut1: TEditCut;

Paste1: TEditPaste;

StatusBar1: TStatusBar;

DataSource1: TDataSource;

ToolBar1: TToolBar;

ComboBox1: TComboBox;

Timer1: TTimer;

warehouse: TTable;

DBGrid1: TDBGrid;

N2: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N9: TMenuItem;

N11: TMenuItem;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

SpeedButton4: TSpeedButton;

SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton;

SpeedButton7: TSpeedButton;

SpeedButton8: TSpeedButton;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Memo1: TMemo;

N10: TMenuItem;

N12: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

Label1: TLabel;

Splitter1: TSplitter;

N23: TMenuItem;

N24: TMenuItem;

Query1: TQuery;

N25: TMenuItem;

procedure ComboBox1Change(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton7MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton8MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton6MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure ToolBar1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton8Click(Sender: TObject);