Перейти на главную страницу
Целью данной курсовой является разработка базы данных и клиентского приложения, для автоматизации рабочего места менеджера сотовой связи. Необходимо разработать удобную, функциональную и простую систему, которая бы позволила вести учет моделей сотовых телефонов, а также позволяла бы выполнять поиск нужных моделей.
Запомнить все модели, а также информацию по моделям практически не возможно, поэтому возникает необходимость ведения учета моделей, что продаёт менеджер.
Обозначим основные процессы, что необходимо автоматизировать в работе менеджера сотовой связи:
Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению.
Microsoft Access является настольной СУБД реляционного типа, которая имеет все необходимые средства для выполнения основных функций БД. Достоинством Access является то, что она имеет очень простой графический интерфейс, который позволяет не только создавать собственную базу данных, но и разрабатывать простые и сложные приложения.
В отличие от других настольных СУБД, Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам, что в нашем случаи, является непременным преимуществом.
Delphi - это система визуального объектно-ориентированного программирования, в которой в качестве языка программирования используется язык Object Pascal. Язык Object Pascal - строго типизированный объектно-ориентированный язык, в основе которого лежит Turbo Pascal.
Delphi существует во множестве конфигураций, которые используются как в ведомственных, так и в производственных учреждениях. С помощью Delphi можно написать программу в рамках Windows на много быстрее и проще, чем это когда-либо было возможно.
Delphi имеет возможность использования множества баз данных. Примерами могут быть локальные базы данных - MS Access, Paradox, Dbase, сетевые серверные базы данных SQL — InterBase, SysBase.
Также Delphi имеет класс компонент, которые позволяют получить доступ к БД, именно поэтому было решено остановится на этой системе.
3. концептуальнАЯ информационнАЯ модель предметной области
В процессе создании базы данных важнейшее значение имеет процесс её проектирования. Создание концептуальной модели представляет собой процесс моделирования смыслового наполнения базы данных. Концептуальная модель состоит из трёх основных компонентов:
Рис. 3.1. Концептуальная информационная модель предметной области
Опишем структуру таблиц в таблице 4.1.
Название поля |
Тип данных |
Длина поля |
Доп. данные |
Firma | |||
ID |
счётчик |
|
Ключевое поле |
Nazvanie |
текстовый |
255 |
|
Model | |||
ID |
счётчик |
|
Ключевое поле |
Model |
текстовый |
255 |
|
IDFirma |
числовой |
|
|
IDTipYstr |
числовой |
|
|
IDTipKorpus |
числовой |
|
|
Displei |
числовой |
|
|
IDOperSystem |
числовой |
|
|
Pamyat |
числовой |
|
|
Kamera |
числовой |
|
|
Razrewenie |
текстовый |
255 |
|
OperSystem | |||
ID |
счётчик |
|
Ключевое поле |
Nazvanie |
текстовый |
255 |
|
Sklad | |||
ID |
счётчик |
|
Ключевое поле |
IDModel |
числовой |
|
|
Count |
числовой |
|
|
Zena |
числовой |
|
|
TipKorpus | |||
ID |
счётчик |
|
Ключевое поле |
Nazvanie |
текстовый |
255 |
|
TipYstr | |||
ID |
счётчик |
|
Ключевое поле |
Nazvanie |
текстовый |
255 |
|
Представим схему данных на рисунке 4.1.
Рис. 4.1. Схема данных
Рис. 5.1. Главная форма
Рис. 5.2. Форма «Модель»
Рис. 5.3. Форма «Отделы»
Рис. 5.4. Форма «Производители»
Рис. 5.5. Форма «Операционные система»
Рис. 5.6. Форма «Тип корпуса»
Рис. 5.7. Форма «Тип устройства»
Если пользователю необходимо увидеть есть ил определенный телефон на складе, то ему необходимо ввести в модель и нажать клавишу «Наличие модели на складе».
2. Чудинов И.Л. Организация баз данных: Учебное посо-бие. — Томск: ТУСУР, 2000. — 89 с.
3. Матрин Дж. Организация баз данных в вычислительных системах. — М.: Мир, 1980.
4. U. Dayal et al. Third Generation TP Monitors: A Database Challenge. — Proceeding of the 1993 ACM SIGMOD, 394.
5. J. Melton and A. Simon, Understanding the New SQL: A Complete Guide (San Francisco: Morgan Kaufmann Publishers, 1992), 39–40.
6. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год. — М.: Финансы и статистика, 1999. — 479 с.
7. Атре Ш. Структурный подход к организации баз дан-ных. — М.: Финансы и статистика, 1983.
8. E.F. Codd. «A Relational Model of Data for Large Shared Data Banks», Communications of the ACM (June 1970).
9. Кодд Э.Ф. Реляционная модель данных для больших, совместно используемых банков данных. // Системы управления базами данных. — 1995. — № 1. — С. 145–160.
10. Дейт, К. Дж. Введение в системы баз данных. — Киев, М.: Диалектика, 1998. — 784 с.
11. Мишель Пуле. Четыре грани целостности // https://www.osp.ru/ win2000/sql/2000/01/010.htm
12. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. — М.: Финансы и статистика, 1998.
unit DataModule;
SysUtils, Classes, DB, ADODB;
TDM = class(TDataModule)
ADOConnection: TADOConnection;
ADOTableFirma: TADOTable;
ADOTableFirmaID: TAutoIncField;
ADOTableFirmaNazvanie: TWideStringField;
DataSourceFirma: TDataSource;
ADOTableOperSystem: TADOTable;
DataSourceOperSystem: TDataSource;
ADOTableOperSystemID: TAutoIncField;
ADOTableOperSystemNazvanie: TWideStringField;
DataSourceTipKorpus: TDataSource;
ADOTableTipKorpus: TADOTable;
ADOTableTipKorpusID: TAutoIncField;
ADOTableTipKorpusNazvanie: TWideStringField;
ADOTableTipYstr: TADOTable;
ADOTableTipYstrID: TAutoIncField;
ADOTableTipYstrNazvanie: TWideStringField;
DataSourceTipYstr: TDataSource;
ADOTableModel: TADOTable;
ADOTableModelID: TAutoIncField;
ADOTableModelModel: TWideStringField;
ADOTableModelIDFirma: TIntegerField;
ADOTableModelIDTipYstr: TIntegerField;
ADOTableModelIDTipKorpus: TIntegerField;
ADOTableModelDisplei: TIntegerField;
ADOTableModelIDOperSystem: TIntegerField;
ADOTableModelPamyat: TIntegerField;
ADOTableModelKamera: TIntegerField;
ADOTableModelRazrewenie: TWideStringField;
DataSourceModel: TDataSource;
ADOTableModelIDFirmaN: TStringField;
ADOTableModelTipYstrN: TStringField;
ADOTableModelIDTipKorpusN: TStringField;
ADOTableModelIDOperSystemN: TStringField;
ADOTableSklad: TADOTable;
ADOTableSkladID: TAutoIncField;
ADOTableSkladIDModel: TIntegerField;
ADOTableSkladCount: TIntegerField;
ADOTableSkladZena: TFloatField;
ADOTableSkladIDModelN: TStringField;
DataSourceSklad: TDataSource;
ADOQuery: TADOQuery;
DataSource: TDataSource;
procedure DataModuleCreate(Sender: TObject);
private
public
end;
var
DM: TDM;
implementation
{$R *.dfm}
procedure TDM.DataModuleCreate(Sender: TObject);
begin
ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Baza.mdb;Persist Security Info=False';
ADOConnection.Connected := True;
ADOTableFirma.Active := True;
ADOTableOperSystem.Active := True;
ADOTableTipKorpus.Active := True;
ADOTableTipYstr.Active := True;
ADOTableOperSystem.Active := True;
ADOTableModel.Active := True;
ADOTableSklad.Active := True;
end;
end.
FirmaDlg.pas
unit FirmaDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DataModule;
type
TFormFirma = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
{ Public declarations }
end;
procedure FormFirmaOpen;
implementation
{$R *.dfm}
var
begin
FormFirma.ShowModal;
FormFirma.Free;
end;
end.
unit Main;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, DataModule;
type
TFormMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
public
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
FirmaDlg, OperSystemDlg, TipKorpusDlg, TipYstrDlg, ModelDlg, SkladDlg,
QueryDlg;
procedure TFormMain.Button1Click(Sender: TObject);
begin
DM.ADOQuery.SQL.Clear;
DM.ADOQuery.SQL.Add('SELECT M.ID, M.Model, F.Nazvanie, TY.Nazvanie, TK.Nazvanie, M.Displei, OS.Nazvanie, M.Pamyat, M.Kamera, M.Razrewenie');
DM.ADOQuery.SQL.Add('FROM Model AS M, Firma AS F, TipYstr AS TY, OperSystem AS OS, TipKorpus AS TK');
DM.ADOQuery.SQL.Add('WHERE M.IDFirma = F.ID AND M.IDTipYstr = TY.ID AND M.IDOperSystem = OS.ID AND M.IDTipKorpus = TK.ID AND M.Model = :N');
DM.ADOQuery.Parameters.ParamByName('N').Value := Edit1.Text;
DM.ADOQuery.Active := True;
FormQueryOpen(1);
end;
procedure TFormMain.Button2Click(Sender: TObject);
begin
DM.ADOQuery.SQL.Clear;
DM.ADOQuery.SQL.Add('SELECT S.ID, M.Model, S.Count, S.Zena');
DM.ADOQuery.SQL.Add('FROM Model AS M, Sklad AS S');
DM.ADOQuery.SQL.Add('WHERE M.ID = S.IDModel AND M.Model = :N');
DM.ADOQuery.Parameters.ParamByName('N').Value := Edit2.Text;
DM.ADOQuery.Active := True;
FormQueryOpen(2);
end;
procedure TFormMain.Button3Click(Sender: TObject);
begin
end;
procedure TFormMain.Button4Click(Sender: TObject);
begin
N9.Click;
begin
end;
procedure TFormMain.Button6Click(Sender: TObject);
begin
N5.Click;
begin
end;
procedure TFormMain.Button8Click(Sender: TObject);
begin
N7.Click;
begin
end;
procedure TFormMain.N4Click(Sender: TObject);
begin
FormFirmaOpen;
begin
end;
procedure TFormMain.N6Click(Sender: TObject);
begin
FormTipKorpusOpen;
begin
end;
procedure TFormMain.N8Click(Sender: TObject);
begin
FormModelOpen;
begin
end;
end.
unit ModelDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFormModel = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
{ Public declarations }
end;
procedure FormModelOpen;
implementation
{$R *.dfm}
var
begin
FormModel.ShowModal;
FormModel.Free;
end;
end.
unit OperSystemDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFormOperSystem = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
{ Public declarations }
end;
procedure FormOperSystemOpen;
implementation
{$R *.dfm}
var
begin
FormOperSystem.ShowModal;
FormOperSystem.Free;
end;
end.
unit QueryDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataModule, Grids, DBGrids;
type
TFormQuery = class(TForm)
DBGrid1: TDBGrid;
private
public
end;
procedure FormQueryOpen(key: Integer);
{$R *.dfm}
var
begin
FormQuery.Prepeare(key);
FormQuery.ShowModal;
FormQuery.Free;
end;
{ TFormQuery }
procedure TFormQuery.Prepeare(key: Integer);
begin
1: begin
DBGrid1.Columns[0].Width := 20;
DBGrid1.Columns[1].Title.Caption := 'Модель';
DBGrid1.Columns[1].Width := 100;
DBGrid1.Columns[2].Title.Caption := 'Производитель';
DBGrid1.Columns[2].Width := 100;
DBGrid1.Columns[3].Title.Caption := 'Тип устройства';
DBGrid1.Columns[3].Width := 100;
DBGrid1.Columns[4].Title.Caption := 'Тип корпуса';
DBGrid1.Columns[4].Width := 100;
DBGrid1.Columns[5].Title.Caption := 'Дисплей';
DBGrid1.Columns[5].Width := 100;
DBGrid1.Columns[6].Title.Caption := 'Операционная система';
DBGrid1.Columns[6].Width := 100;
DBGrid1.Columns[7].Title.Caption := 'Память';
DBGrid1.Columns[7].Width := 60;
DBGrid1.Columns[8].Title.Caption := 'Камера';
DBGrid1.Columns[8].Width := 60;
DBGrid1.Columns[9].Title.Caption := 'Разрешение';
DBGrid1.Columns[9].Width := 100;
end;
2: begin
DBGrid1.Columns[0].Width := 50;
DBGrid1.Columns[1].Title.Caption := 'Модель';
DBGrid1.Columns[1].Width := 200;
DBGrid1.Columns[2].Title.Caption := 'Количество';
DBGrid1.Columns[2].Width := 200;
DBGrid1.Columns[3].Title.Caption := 'Цена';
DBGrid1.Columns[3].Width := 200;
end;
end;
unit TipKorpusDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFormTipKorpus = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
{ Public declarations }
end;
procedure FormTipKorpusOpen;
implementation
{$R *.dfm}
var
begin
FormTipKorpus.ShowModal;
FormTipKorpus.Free;
end;
end.
unit TipYstrDlg;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFormTipYstr = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
private
{ Private declarations }
{ Public declarations }
end;
procedure FormTipYstrOpen;
implementation
{$R *.dfm}
var
begin
FormTipYstr.ShowModal;
FormTipYstr.Free;
end;
end.
Охватывает все виды контактов между ними. Текстологические методы предназначены для извлечения знаний из текстов
29 09 2014
6 стр.
Целью данной курсовой является разработка базы данных и клиентского приложения, для автоматизации рабочего места менеджера сотовой связи
13 10 2014
1 стр.
Герасимова Е. В., Дрождин В. В. Формализация концептуальной модели предметной области. // Проблемы информатики в образовании, управлении, экономике и технике: Сб статей Междунар на
14 12 2014
1 стр.
Технико-экономическая характеристика предметной области и предприятия
10 10 2014
1 стр.
Работа выполнена на кафедре общего и славяно-русского языкознания Кубанского государственного университета
01 10 2014
5 стр.
Утвердить описание границ муниципальных образований Ярославской области и картографические материалы, фиксирующие прохождение границ муниципальных образований Ярославской области
16 12 2014
90 стр.
За пределами поймы находятся незаливные, «материковые» озера, среди которых и самые крупные на территории области озера, например, Мирное
16 12 2014
1 стр.
Все тонкости построения информационной модели некоторой предметной области деятельности человека преследуют одну цель – получить хорошую бд. Поясним термин «хорошая бд» и сформулир
15 10 2014
1 стр.