субд. Курсовая_по_ВМИП[1]. Курсовая работа по дисциплине Высокоуровневые методы информатики и программирования На тему создание информационноаналитической системы управления базой данных магазина электроники и бытовой техники
Скачать 0.56 Mb.
|
Министерство Образования и Науки Российской Федерации Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования «Камская государственная инженерно-экономическая академия» (ИНЭКА) Кафедра «ММИТЭ» КУРСОВАЯ РАБОТА По дисциплине «Высокоуровневые методы информатики и программирования» На тему «создание информационно-аналитической системы управления базой данных магазина электроники и бытовой техники» Выполнил: студент гр. хххх хххх № зачетной книжки: хххх Проверил: ст. преподаватель хххх Набережные Челны 2011 год ОГЛАВЛЕНИЕ 1.1 Характеристика входной и выходной информации 5 1.2 Подготовка доступа к базе данных 5 1.3 Организация доступа к таблицам базы данных 6 2.1 Добавление данных 8 2.2 Удаление записей 14 2.3 Сортировка данных 14 procedure TForm2.RadioButton2Click(Sender: TObject); 15 begin 15 datamodule3.adoquery1.Close; 15 if CheckBox1.Checked then 15 datamodule3.adoquery1.sql[7]:='ORDER BY description DESC' else 15 datamodule3.adoquery1.sql[7]:= 'ORDER BY description ASC'; 15 datamodule3.adoquery1.Open; 15 end; 15 procedure TForm2.RadioButton3Click(Sender: TObject); 15 begin 15 datamodule3.adoquery1.Close; 15 if CheckBox1.Checked then 15 datamodule3.adoquery1.sql[7]:='ORDER BY Поставщик DESC' else 15 datamodule3.adoquery1.sql[7]:= 'ORDER BY Поставщик ASC'; 15 datamodule3.adoquery1.Open; 15 end; 15 procedure TForm2.RadioButton4Click(Sender: TObject); 15 begin 15 datamodule3.adoquery1.Close; 15 if CheckBox1.Checked then 15 datamodule3.adoquery1.sql[7]:='ORDER BY saleprice DESC' else 15 datamodule3.adoquery1.sql[7]:= 'ORDER BY saleprice ASC'; 15 datamodule3.adoquery1.Open; 15 end; 15 2.4 Диаграмма 16 2.5 Создание ведомостей или отчётов 16 3. Проектирование интерфейса 18 3.1 Заставка программы 18 3.3 Вызов отчета по курсовой работе 20 3.4 Выход 20 Список использованных источников 21 Задание на курсовую работуСоставить информационно - аналитическую систему управления базой данных магазина электроники и бытовой техники. Исходная информация содержится в девяти таблицах:
Предметная область содержит информацию о товарах (т. е. о электронике и бытовой технике), о поставщиках, сведения о цене игрушек, о продажах, о заказах, информация о скидках, о менеджерах и т.д.. 1. Проектирование данных1.1 Характеристика входной и выходной информацииВходной информацией являются 9 таблиц которые реализованы в среде Microsoft SQL Server. Так же используются таблицы образованные представлениями. Выходной информацией являются различные выборки данных из таблиц: предоставление информации о конкретном товаре, получение подробной информации о поставщиках, о сроках поставки, различные запросы. 1.2 Подготовка доступа к базе данныхИ меется заранее приготовленная на Microsoft SQL Server база данных «MEBT», которую присоединяем к серверу: 1.3 Организация доступа к таблицам базы данныхДоступ к таблицам осуществляется с помощью компонентов ADO Connection, ADO Table. Для всех таблиц и представлений вначале создается ADO Connection, в его свойстве Connection string записывается путь к базе данных. Далее для каждой таблицы создается ADO Table. На следующем этапе создаются элементы Data Source4, Data Source5 для каждой таблицы. В свойствах Data Set элементов выбираем нужный ADO Table. Для отображения данных в форме используются элементы (в свойстве Data Source выбираем Data Source4, Data Source5 соответственно). Так же, имеются элементы ADO Query, которые заменяет ADO Table, но при этом для них прописаны инструкции на языке sql, позволяющие реализовать выборку данных и прочие возможности. С помощью ADO Query возможно видоизменение вызываемого кода. 2. Проектирование алгоритмов обработки информацииДобавление и изменение данных возможно лишь после ввода пароля. Для этого на форме создается область для ввода пароля, на первой вкладке основного окна программы: procedure TForm2.BitBtn1Click(Sender: TObject); begin if labelededit1.Text='123' then begin labelededit1.Visible:=false; bitbtn1.Visible:=false; dbnavigator1.Visible:=true; n2.Visible:=true; n3.Visible:=true; n4.Visible:=true; button1.Visible:=true; button2.Visible:=true; button3.Visible:=true; dbgrid1.Options:=[dgEditing,dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit]; end else begin showmessage(Не правильный пароль!'); labelededit1.Text:=''; end; end; После введения правильного пароля отображаются кнопки перехода на страницы изменения и добавления данных, а так же появляется меню управления таблицей: Т ак же после ввода правильного пароля вышейпомянутые страницы становятся доступными из меню сверху : 2.1 Добавление данныхПри нажатии на кнопку «Добавление» в верхнем меню и на кнопку «Окно добавление» на первой вкладке программы, появляется форма «Добавление», на которой можно добавить данные нового поставщика, менеджера, добавить новый товар, а так же прикрепить товар к определенному поставщику. При добавлении нового товара выбирается уровень скидок из таблицы справа: Добавление поставщика: procedure TForm4.BitBtn1Click(Sender: TObject); if (labelededit1.Text='') or (labelededit2.Text='') or (labelededit3.Text='') then showmessage('Введены не все данные!') else begin datamodule3.ADOQuery2.Close; datamodule3.adoquery2.sql[1]:=''; datamodule3.adoquery2.sql[1]:='VALUES ('''+labelededit1.Text+''', '''+labelededit2.Text+''', '''+labelededit3.Text+''')'; datamodule3.ADOQuery2.ExecSQL; labelededit1.Text:=' '; labelededit2.Text:=' '; labelededit3.Text:=' '; end; Номер телефона вводится в формате х-ххх-ххх-хх-хх Добавление менеджера: procedure TForm4.BitBtn2Click(Sender: TObject); begin if (labelededit4.Text='') or (labelededit5.Text='') then showmessage('Введены не все данные!') else begin datamodule3.ADOQuery3.Close; datamodule3.adoquery3.sql[1]:=''; datamodule3.adoquery3.sql[1]:='VALUES ('''+labelededit4.Text+''', '''+labelededit5.Text+''')'; datamodule3.ADOQuery3.ExecSQL; labelededit4.Text:=' '; labelededit5.Text:=' '; end; end;Номер телефона вводится в формате х-ххх-ххх-хх-хх Добавление нового товара: procedure TForm4.BitBtn3Click(Sender: TObject); begin if (labelededit6.Text='') or (labelededit7.Text='') or (labelededit8.Text='') or (labelededit9.Text='') then showmessage('Введены не все данные!') else begin datamodule3.ADOQuery4.Close; datamodule3.adoquery4.sql[1]:=''; datamodule3.adoquery4.sql[1]:='VALUES ('''+labelededit6.Text+''', '''+labelededit7.Text+''', '''+labelededit8.Text+''', '''+labelededit9.Text+''')'; datamodule3.ADOQuery4.ExecSQL; labelededit6.Text:=' '; labelededit7.Text:=' '; labelededit8.Text:=' '; labelededit9.Text:=' '; end; end; Ч то бы прикрепить какой либо товар к фирме поставщика необходимо сначала кликнуть по кнопке «Выбрать товар» открывается форма с таблицей товаров. После выбора товара необходимо выполнить аналогичные действия для выбора фирмы поставщика. З атем следует установить срок поставки в днях, и остается нажать на кнопочку с галочкой. procedure TForm4.BitBtn4Click(Sender: TObject); begin if (dbtext1.caption ='') or (dbtext3.caption='') or (labelededit10.Text='') then showmessage('Введены не все данные ') else begin datamodule3.ADOQuery5.Close; datamodule3.adoquery5.sql[1]:=''; datamodule3.adoquery5.sql[1]:='VALUES ('''+dbtext3.caption+''', '''+dbtext1.caption+''', '''+labelededit10.Text+''')'; datamodule3.ADOQuery5.ExecSQL; dbtext1.caption:=''; dbtext2.caption:=''; dbtext3.caption:=''; dbtext4.caption:=''; labelededit10.Text:=''; end; end; Добавление нового заказа. Ч то бы оформить новый заказ необходимо на главной вкладке кликнуть по кнопке «Оформить заказ», после чего откроется следующее окошко: Далее следует нажать на «Выбрать поставщика». После выбора пставшика в таблице справа появляется новый, только что созданный заказ, как правило он появляется внизу списка. Выбираем его, теперь следует указать к заказу товары. Кликаем по «Выбрать товар», в открывшемся окошке выбираем товар, затем указываем заказанное количество, жмем на кнопку с галочкой. Товар добавлен, для добавления еще товаров в данный заказ выбираем заново товар, указываем количество, и опять жмем на кнопочку. Б лагодаря созданию связей между элементами Ado table при выборе товара исключаются все товары, не поставляемые данным поставщиком. procedure TForm7.BitBtn2Click(Sender: TObject); begin if labelededit1.Text='' then showmessage('Введите количество!') else begin datamodule3.ADOQuery7.Close; datamodule3.adoquery7.sql[1]:=''; datamodule3.adoquery7.sql[1]:='VALUES ('''+dbtext5.caption+''','''+dbtext4.caption+''','''+labelededit1.Text+''')'; datamodule3.ADOQuery7.ExecSQL; labelededit1.Text:=' '; showmessage('Для добавления еще одного товара в заказ, выберите другой товар и введите заново количество.'); end; end; Добавление продажи. Кликнув по кнопке «Оформить продажу» откроется окошко добавления данных о продажи. Данная процедура состоит из двух шагов. О ба шага выполняются в одном окне, путем скрывания областей. groupbox1.Visible:=false; groupbox2.Visible:=true; 2.2 Удаление записейВ контекстном меню есть кнопка «Удаление данных». В открывшемся окне доступно удаление данных из трех таблиц, из таблицы поставщики, менеджеры и товары, которые расположены на разных вкладках: 2.3 Сортировка данныхНа главной странице имеется сортировка. procedure TForm2.CheckBox1Click(Sender: TObject); begin form2.RadioButton1.Checked:=false; form2.RadioButton2.Checked:=false; form2.RadioButton3.Checked:=false; form2.RadioButton4.Checked:=false; end; procedure TForm2.RadioButton1Click(Sender: TObject); begin datamodule3.adoquery1.Close; if CheckBox1.Checked then datamodule3.adoquery1.sql[7]:='ORDER BY Наименование DESC' else datamodule3.adoquery1.sql[7]:= 'ORDER BY Наименование ASC'; datamodule3.adoquery1.Open; end; procedure TForm2.RadioButton2Click(Sender: TObject);begindatamodule3.adoquery1.Close;if CheckBox1.Checked thendatamodule3.adoquery1.sql[7]:='ORDER BY description DESC' elsedatamodule3.adoquery1.sql[7]:= 'ORDER BY description ASC';datamodule3.adoquery1.Open;end;procedure TForm2.RadioButton3Click(Sender: TObject);begindatamodule3.adoquery1.Close;if CheckBox1.Checked thendatamodule3.adoquery1.sql[7]:='ORDER BY Поставщик DESC' elsedatamodule3.adoquery1.sql[7]:= 'ORDER BY Поставщик ASC';datamodule3.adoquery1.Open;end;procedure TForm2.RadioButton4Click(Sender: TObject);begindatamodule3.adoquery1.Close;if CheckBox1.Checked thendatamodule3.adoquery1.sql[7]:='ORDER BY saleprice DESC' elsedatamodule3.adoquery1.sql[7]:= 'ORDER BY saleprice ASC';datamodule3.adoquery1.Open;end;2.4 ДиаграммаВ программе имеются две диаграммы, на вкладке «История продаж» и «История заказов». На вкладке «История заказов» диаграмма отражает цены закупаемых товаров, на вкладке «История продаж» отражает количество проданных товаров. 2.5 Создание ведомостей или отчётовНа вкладке «Товары» нажать кнопку «Распечатать прайс». Затем программа предложит пользователю посмотреть на представленный отчет либо сразу распечатать его. Посмотрим что из себя представляет структура отчета: Ранее мной были созданы невизуальные компоненты: Первый, из которых , организует связь с таблицей, а второй с фалом формирующий отчет. Данные компоненты расположены на datamodule3. Отчет будет иметь вид: 3. Проектирование интерфейса3.1 Заставка программыЗаставка открывается только при запуске программы и является декоративным элементом. Так же со страницы заставки организована установка текущей даты для календарей расположенных в окнах программы. Код страницы: var Form1: TForm1; x:real; implementation uses Unit2, Unit4; {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin if x=1 then begin Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+10; if Form1.ProgressBar1.Position=100 then begin Form1.ProgressBar1.Position:=0; x:=2; end; end; if x=2 then begin Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+30; if Form1.ProgressBar1.Position=90 then begin Form1.ProgressBar1.Position:=0; x:=3; end;end; if x=3 then begin Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+2; if Form1.ProgressBar1.Position=90 then begin Form1.ProgressBar1.Position:=0; x:=4; end;end; if x=4 then begin Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+1; if Form1.ProgressBar1.Position=90 then begin Form1.ProgressBar1.Position:=0; x:=5; end;end; if x=5 then begin Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+5; if Form1.ProgressBar1.Position=100 then timer1.Enabled:=false; Form2.show; form2.MonthCalendar1.Date:=now(); form4.MonthCalendar1.Date:=now(); form1.hide; end; end; procedure TForm1.FormActivate(Sender: TObject); begin x:=1; timer1.Interval:=10; timer1.Enabled:=true; end; end. 3.3 Вызов отчета по курсовой работеПодключаем модуль ShellApi, затем создаем в главном меню новую кнопку «Отчет» и пишем ей следующую команду: shellexecute(Handle, 'open', 'C:\MEBT\delphi\Курсовая по ВМИП.doc', nil, nil, SW_SHOWNORMAL); Данная команда открывает этот отчет о проделанной работе. 3.4 ВыходГлавным окном программы является окно заставки, после выполнения своей роли заставка скрывается по команде form1.hide, соответственно до тех пор пока данное окно скрыто, программа будет считаться запущенной. Для устранения такой неприятности пропишем для окна где осуществляются все операции, а точнее для инструкции OnClose, следующий незамысловатый код: form1.close. Теперь после закрытия form2, по нажатию крестика в верхнем правом углу программа полностью закроется. Т ак же для выхода из программы в контекстном меню есть кнопка выхода: Список использованных источниковЛекции по дисциплине «Высокоуровневые методы информатики и программирования» Исавнина А.Г. Хузятов Ш.Ш. Delphi 7. основные компоненты и элементы языка программирования. Курс лекций. – Набережные Челны: Изд-во КамПИ, 2005. Работа сСУБД Microsoft Access и SQL Server в среде Delphi: Учебное пособие для специальностей 0811665 – «Математические методы в экономике» и 08080165 – «Прикладная информатика в экономике» дневной, заочной и дистанционной форм обучения / Составитель – А.Г. Исавнин. Набережные Челны: Изд-во ИНЭКА, 2008. Исавнин А.Г., Макарова И.В., Лысанов Д.М. Язык структурированных запросов, Учебное пособие. Набережные Челны: Изд-во КамПи, 2004. Исавнин А.Г., Макарова И.В., Лысанов Д.М. Инструментальные средства визуального создания запросов: Учебное пособие. Набережные Челны: Изд-во КамПи, 2004. Учебно-методический комплекс по дисциплине: «Высокоуровневые методы информатики и программирования» для студентов заочной и дистанционной форм обучения /Составители: Исавнин А.Г., Макарова И.В., Лысанов Д.М. – Набережнве Челны: Изд-во КамПи, 2005. – 31с. Создание отчетов с помощью RAVE-компонентов Delphi: Учебное пособие для студентов специальностей 08011665 – «Математические методы в экономике» и 08080165 – «Прикладная информатика в экономике» дневной, заочной и дистанционной форм обучения/ Составители: Исавнин А.Г., Фрикк В.С., Лысанов Д.М. Набережнве Челны: Изд-во ИНЭКА, 2006. – 39с. |