Разработка многопользовательской информационной системы "Поставка цветов"
Проектирование и создание базы данных с использованием Access и SQL Server. Реализация информационной системы компании по цветочному оформлению, торговле цветами и цветочной рассадой. Управление авторизацией, ролями и разрешениями средствами Transact SQL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.06.2011 |
Размер файла | 689,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Код программы:
Private Sub Кнопка34_Click() 'Ok (для нового ПОСТАВЩИКА)
Dim Kod_Pos As Long
Dim Nazv_pos As String
Dim Adres_pos As String
Dim Phone_pos As String
Dim UNN_pos As String
Поле18.SetFocus
If Поле18.Text = "" Then
MsgBox " Не введено наименование поставщика! Повторите ввод!"
Exit Sub
Поле18.SetFocus
Else
Nazv_pos = Поле18.Text
End If
Поле21.Enabled = True
Поле21.SetFocus
If IsNumeric(Поле21.Text) = False Or Поле21.Text = "" Then
MsgBox " Ошибка ввода! Код должен быть числовым знанчением или не введены данные !"
Exit Sub
Поле21.SetFocus
Else
Kod_Pos = CInt(Поле21.Text)
End If
Поле24.SetFocus
If Поле24.Text = "" Then
MsgBox " Не введен адрес поставщика! Повторите ввод!"
Exit Sub
Поле24.SetFocus
Else
Adres_pos = Поле24.Text
End If
Поле27.SetFocus
If Поле27.Text = "" Then
MsgBox " Не введен контактный телефон поставщика! Повторите ввод!"
Exit Sub
Поле27.SetFocus
Else
Phone_pos = Поле27.Text
End If
Поле31.SetFocus
If Поле31.Text = "" Then
MsgBox " Не введен УНН поставщика! Повторите ввод!"
Exit Sub
Поле31.SetFocus
Else
UNN_pos = Поле31.Text
End If
'--- Добавление записи о цветке через хранимую процедуру NewPostavschik
Set dbs = CurrentDb ' текущая база
strSQL = "Execute NewPostavschik " & CStr(Kod_Pos) & "," & Nazv_pos & "," & Adres_pos & ", " & Phone_pos & "," & UNN_pos 'текст запроса
dbs.QueryDefs.Delete ("temp1") 'удаление существующего запроса
Set qdf = dbs.CreateQueryDef("temp1")
qdf.Connect = "ODBC; DSN=istok; DATABASE=Flower_bd; Trusted_Connection=Yes"
qdf.SQL = strSQL
qdf.ReturnsRecords = False
DoCmd.OpenQuery "temp1" ', acPreview
Set dbs = Nothing
'-------------------------
Поле18.SetFocus
Поле18.Value = ""
Поле21.SetFocus
Поле21.Text = ""
Поле24.SetFocus
Поле24.Text = ""
Поле27.SetFocus
Поле27.Text = ""
Поле31.SetFocus
Поле31.Text = ""
Кнопка56.Visible = False '...
Кнопка67.Visible = False
End Sub
Аналогично вызываются поля ввода данных для оформления заявки к договору на поставку.
При нажатии кнопки «Ок» с использованием хнанимой процедуы данные о договоре и заявках к договору отправляются в соответствующие таблицы SQL-сервера. Код процедуры:
Private Sub Кнопка46_Click() ' ОК для заявки на поставку
On Error GoTo Err_Кнопка46_Click
ПолеСоСписком52.SetFocus
If ПолеСоСписком52.Value = "" Then
MsgBox "ПЕРЕД оформлением заявки необходимо ЗАКЛЮЧИТЬ ДОГОВОР или выбрать номер договора из списка!!!"
Exit Sub
End If
Надпись40.Caption = "Оформление заявки к ДОГОВОРУ, по окончании ввода нажмите ОК"
Надпись40.Visible = True
Поле18.Visible = True
Поле21.Visible = False
Поле24.Visible = True
Поле27.Visible = True
Поле31.Visible = True
Поле44.Visible = True
Кнопка34.Visible = False ' новый поставщик
Кнопка10.Visible = False ' новый цветок
Кнопка35.Visible = False ' новый договор
Кнопка46.Visible = True
Кнопка67.Visible = True
Надпись17.Caption = "Номер заявки на поставку"
Надпись17.Visible = True
Надпись20.Caption = "Номер договора на поставку"
Надпись20.Visible = True
Надпись23.Caption = "Наименование цветка"
Надпись23.Visible = True
Надпись30.Caption = "Количество"
Надпись30.Visible = True
Надпись33.Caption = "Цена единицы"
Надпись33.Visible = True
Надпись43.Caption = "Единица измерения"
Надпись43.Visible = True
ПолеСоСписком52.SetFocus
ПолеСоСписком52.Visible = True ' номер договора
ПолеСоСписком52.SetFocus ' номер договора на поставку
` проверка корректности ввода данных
If ПолеСоСписком52.Value = "" Then
MsgBox "ПЕРЕД оформлением заявки необходимо ЗАКЛЮЧИТЬ ДОГОВОР или выбрать номер договора из списка!!!"
Exit Sub
ПолеСоСписком52.SetFocus
Else
nom_d = CStr(ПолеСоСписком52.Value)
End If
Поле24.SetFocus ' наименование цветка
If Поле24.Value = "" Then
MsgBox "Необходимо ввести или выбрать наименование цветка!!!"
Exit Sub
Поле24.SetFocus
Else
name_fl = CStr(Поле24.Value)
End If
Поле27.SetFocus ' количество
If IsNumeric(Поле27.Text) = False Or Поле27.Text = "" Then
MsgBox " Ошибка ввода! Количество должено быть числовым значением или не введены данные !"
Exit Sub
Поле27.SetFocus
Else
Kol = CInt(Поле27.Text)
End If
Поле31.SetFocus ' цена за единицу
If IsNumeric(Поле31.Text) = False Or Поле31.Text = "" Then
MsgBox " Ошибка ввода! Введите цену !"
Exit Sub
Поле31.SetFocus
Else
zena = CInt(Поле31.Text)
End If
Поле18.SetFocus ' количество
If IsNumeric(Поле18.Text) = False Or Поле18.Text = "" Then
MsgBox " Ошибка ввода! Номер заявки должен быть числовым значением или не введены данные !"
Exit Sub
Поле18.SetFocus
Else
nom_z = CInt(Поле18.Text)
End If
Поле44.SetFocus ' единица измерения
If Поле44.Text = "" Then
MsgBox " Ошибка ввода! Введите единицу измерения !"
Exit Sub
Поле44.SetFocus
Else
ed = CStr(Поле44.Text)
End If
kod_fl = Form_Цветы_поставщиков.Код_цветка.Value
zaya_post = CStr(nom_z) & "," & CStr(kod_fl) & "," & CStr(Kol) & "," & CStr(zena) & "," & CStr(ed) & "," & CStr(nom_d)
'--- Добавление записи о заявке а поставку через хранимую процедуру NewZayavka_v_dog_postavki
Set dbs = CurrentDb ' текущая база
strSQL = "Execute NewZayavka_v_dog_postavki " & zaya_post 'текст запроса
MsgBox "Execute NewZayavka_v_dog_postavki " & zaya_post
dbs.QueryDefs.Delete ("temp1") 'удаление существующего запроса
Set qdf = dbs.CreateQueryDef("temp1")
qdf.Connect = "ODBC; DSN=istok; DATABASE=Flower_bd; Trusted_Connection=Yes"
qdf.SQL = strSQL
qdf.ReturnsRecords = False
DoCmd.OpenQuery "temp1" ', acPreview
Set dbs = Nothing
'-------------------------
Поле18.SetFocus
Поле18.Value = ""
Поле27.SetFocus
Поле27.Text = ""
ПолеСоСписком52.SetFocus
ПолеСоСписком52.Value = ""
Поле44.SetFocus
Поле44.Value = ""
Поле31.SetFocus
Поле31.Value = ""
Поле24.SetFocus
Поле24.Value = ""
Exit_Кнопка46_Click:
Exit Sub
Err_Кнопка46_Click:
MsgBox Err.Description
Resume Exit_Кнопка46_Click
End Sub
Private Sub Кнопка54_Click() ' переход на главную форму
Form_Главная.Visible = True
Form_Поставки.Visible = False
End Sub
Private Sub Кнопка56_Click() ' кнопка ... выбор поставщика
Form_Поставки.Visible = False
Form_Поставщики.Visible = True
End Sub
Private Sub Кнопка61_Click()
On Error GoTo Err_Кнопка61_Click
Dim stDocName As String
stDocName = ChrW(1062) & ChrW(1074) & ChrW(1077) & ChrW(1090) & ChrW(1099) & ChrW(95) & ChrW(1087) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1074) & ChrW(1097) & ChrW(1080) & ChrW(1082) & ChrW(1086) & ChrW(1074)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка61_Click:
Exit Sub
Err_Кнопка61_Click:
MsgBox Err.Description
Resume Exit_Кнопка61_Click
End Sub
При выборе и нажатии кнопки «Отдел реализации» открывается форма «Реализация», содержащая кнопки для ввода нового заказчика, оформления нового договора на реализацию. Также с этой формы можно просмотреть отчеты по заказчикам, их договорах, вывести список всех заказчиков, просмотреть прайс-лист заказчика, заказанные цветы. Имеется кнопка возврата на предыдущую форму.
Код обработки процедуры нажатия кнопки «Ввести нового заказчика»:
Private Sub Кнопка0_Click() ' новый заказчик
Form_Новый_заказчик.Visible = True
Form_Главная.Visible = False
Form_Поставки.Visible = False
Form_Реализация.Visible = False
End Sub
В результате выполнения этого кода на экране отображается форма ввода нового заказчика. На данной форме имеется возможность просмотреть всех заказчиков, осуществить поиск, добавление и удаление нажав кнопку «Список заказчиков».
Код обработки процедуры нажатия кнопки «Выход из программы», в результате выполнения этого кода программа прекращает работу:
Private Sub Кнопка18_close_Click() ' выход из программы
On Error GoTo Err_Кнопка18_close_Click
DoCmd.Close
Exit_Кнопка18_close_Click:
Exit Sub
Err_Кнопка18_close_Click:
MsgBox Err.Description
Resume Exit_Кнопка18_close_Click
End Sub
Код обработки процедуры нажатия кнопки «Оформить новый договор на реализацию», в результате выполнения этого кода на экране отобажается новая форма:
Private Sub Кнопка2_Click() ` кнопка вызова формы «Договор на реализацию»
Form_Новый_заказчик.Visible = False
Form_Главная.Visible = False
Form_Поставки.Visible = False
Form_Реализация.Visible = False
Form_Договор_на_реализацию.Visible = True
End Sub
Private Sub Кнопка54_Click() ' переход на главную форму
Form_Главная.Visible = True
Form_Поставки.Visible = False
Form_Реализация.Visible = False
End Sub
При щелчке по надписи «Список всех заказчиков» выполняется процедура обработчика события и результате на экране отображается отчет со списком всех заказчиков. Код приведен ниже:
Private Sub Надпись8_Click() ' список всех заказчиков SpicokZakazchikov
On Error GoTo Err_Label_Надпись8_Click
Dim dbs As Database, qdf As QueryDef, strSQL As String
Set dbs = CurrentDb 'возвращает текущую базу данных
strSQL = "EXECUTE SpicokZakazchikov "
dbs.QueryDefs.Delete ("tmp_Список_заказчиков")
Set qdf = dbs.CreateQueryDef("tmp_Список_заказчиков")
qdf.Connect = "ODBC; DSN=istok; DATABASE=Flower_bd; Trusted_Connection=Yes"
qdf.SQL = strSQL
qdf.ReturnsRecords = True
'DoCmd.OpenQuery "tmp__Список_заказчиков"
DoCmd.OpenReport "tmp_Список_заказчиков", acPreview
Set dbs = Nothing 'обнуляет значение текущей базы данных.
Exit_Label_Надпись8_Click: 'обработка ошибок
Exit Sub
Err_Label_Надпись8_Click:
MsgBox Err.Description
Resume Exit_Label_Надпись8_Click
End Sub
Отчеты можно просмотреть нажав соответствующею кнопку рядом с надписть, код процедуры обработки события нажатия кнопки:
Private Sub Кнопка16_Click()
On Error GoTo Err_Кнопка16_Click
Dim stDocName As String
stDocName = ChrW(1055) & ChrW(1088) & ChrW(1072) & ChrW(1081) & ChrW(1089) & ChrW(95) & ChrW(1083) & ChrW(1080) & ChrW(1089) & ChrW(1090) & ChrW(95) & ChrW(1079) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(1072)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка16_Click:
Exit Sub
Err_Кнопка16_Click:
MsgBox Err.Description
Resume Exit_Кнопка16_Click
End Sub
Private Sub Кнопка18_Click()
On Error GoTo Err_Кнопка18_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(1080) & ChrW(95) & ChrW(1076) & ChrW(1086) & ChrW(1075) & ChrW(1086) & ChrW(1074) & ChrW(1086) & ChrW(1088) & ChrW(1072) & ChrW(95) & ChrW(1079) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(95) & ChrW(1094) & ChrW(1074) & ChrW(1077) & ChrW(1090) & ChrW(1099) & ChrW(95) & ChrW(1082) & ChrW(1086) & ChrW(1083) & ChrW(1080) & ChrW(1095) & ChrW(1077) & ChrW(1089) & ChrW(1090) & ChrW(1074) & ChrW(1086)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка18_Click:
Exit Sub
Err_Кнопка18_Click:
MsgBox Err.Description
Resume Exit_Кнопка18_Click
End Sub
4. Проектирование системы безопасности. Управление авторизацией, управление ролями, управление разрешениями средствами Transact SQL
Система безопасности базы данных контролирует выполняемые действия и определяет информацию, доступную для просмотра и модификации. Надежная система безопасности гарантирует защиту данных независимо от того, как пользователи получают доступ к базе данных.
Чтобы пользовательское учетное имя получило доступ к БД, одного ввода имени пользователя и пароля недостаточно. Должно быть разрешение на исполнение SQL-выражений или на работу с объектами.
Назначение разрешений каждому пользователю в отдельности занимает много времени при сопровождении БД со средним и большим числом пользователей. Для облегчения операций по назначению разрешений пользователям SQL Server 2000 поддерживает роли SQL Server.
Роли создаются и сопровождаются в рамках SQL Server. Существует два типа ролей: стандартные и прикладные. Стандартным ролям (standard roles) назначаются привилегии, которые могут наследоваться пользователями, получающими членство в роли. Стандартные роли могут содержать все типы учетных имен: учетные записи пользователей и групп Windows, идентификаторы SQL Server и другие стандартные роли.
Для упрощения администрирования БД и самого сервера в SQL Server предусмотрен ряд стандартных предопределенных ролей. В основном их можно разделить на две категории: фиксированные роли на уровне сервера, или серверные роли (fixed server role), и фиксированные роли на уровне БД (fixed database role). Членство в фиксированных ролях на уровне сервера дает возможность администрирования сервера. Члены фиксированных ролей на уровне БД могут администрировать некоторые БД.
Прикладные роли разработаны для управления привилегиями пользователей, обращающихся к БД через некоторое приложение.
5. Результат тестирования информационной системы
Для полноценной работы системы необходимо 256 Мбайт оперативной памяти, Windows NT/2000/XP и выше, Access2000 и выше.
Результатом тестирования в данном случае может послужить создание отчета, содержащего информацию о поставщиках, заказчиках, договорах и входящих в договор цветах.
После тестирования получили результаты:
- Информационная система поддерживает многопользовательский режим.
- Тестирование запросов прошло успешно.
В данном курсовом проекте разработана база данных с клиентскими приложениями, которая хранится на SQL сервере. Для пользователя составлены запросы формы и отчеты. Формы составлены на основе запросов и таблиц, и используются для занесения, редактирования и модификации информации в базе данных.
Отчеты составлены на основе запросов и используются для получения информации и оформления соответствующих документов.
Заключение
Прогресс, достигнутый за последние несколько лет во всех аспектах вычислительной техники, включая теорию, технологию и приложения, привели к значительному расширению области применения компьютеров и росту числа их пользователей. Существенной частью современного общества являются разнообразные системы доступа и хранения информации, которые являются неотъемлемой составляющей современного научно-технического прогресса. Существует много веских причин перевода существующей информации на компьютерную основу, т.к. более быстрая обработка данных и централизация их хранения с использованием клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощает доступ и ведение.
Современные СУБД - многопользовательские системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей.
Во время выполнения курсовой работы было разработано многопользовательская информационная система «Поставка цветов».
При создании ИС использовались СУБД Microsoft ACCESS 2000, средство моделирования баз данных All Fusion Data Modeler 4.1, средство моделирования бизнес-процессов All Fusion Process Modeler 4.1, сервер баз данных Microsoft SQL server 2000, язык баз данных T-SQL.
Функциональная модель ИС описывает клиентское приложение. При разработке программного обеспечения использовались представления, хранимые процедуры с параметрами, триггеры.
Все пункты курсового задания были выполнены, разработанная система выполняет поставленную задачу.
Размещено на Allbest.ru
Подобные документы
Порядок проектирования и реализации на основе клиент-серверных технологий базы данных вузовской библиотеки. Построение функциональной и логической моделей. Анализ и оценка системы управления авторизацией и ролями, управление средствами Transact SQL.
курсовая работа [1,4 M], добавлен 19.09.2012Анализ предметной области разрабатываемой информационной системы "Библиотека". Проектирование базы данных в среде MS Access. Физическая реализация данной информационной системы средствами Delphi 7 и MS Access 2003. Области применения технологии BDE.
курсовая работа [2,4 M], добавлен 12.01.2016Определение типов данных в программе MS Access. Основные понятия теории информационных систем. Разработка и создание базы данных, содержащей информацию о закупках и поставках продукции на предприятии. Изучение производственной деятельности компании.
курсовая работа [2,5 M], добавлен 18.11.2017Разработка структуры информационной системы с использованием СУБД MS Access. Моделирование бизнес-процессов с помощью IDEF0-диаграмм. Проектирование приложения в среде Delphi. Физическая реализация структуры базы данных. Создание интерфейса системы.
отчет по практике [3,4 M], добавлен 07.01.2015Проектирование модели данных и ее реализация средствами СУБД Microsoft Access. Разработка приложения "Комиссионное вознаграждение". Выполение интерфейса информационной базы средствами системы управления данными. Создание запросов и отчетных форм.
курсовая работа [5,8 M], добавлен 25.09.2013Создание информационной системы, содержащей сведения о продаже авиабилетов, работающей в локальной сети организации и имеющей клиентский веб-интерфейс. Моделирование бизнес процессов на языке UML. Проектирование структуры базы данных в MS Access.
курсовая работа [2,8 M], добавлен 20.07.2011Анализ проектирования автоматизированной информационной системы компьютерного магазина "Джей". Разработка базы данных на языке Transact-SQL в системе управления базами данных Microsoft SQL Server 2000. Расчет себестоимости и цены программного продукта.
курсовая работа [2,3 M], добавлен 16.08.2012Классификация информационных систем. Использование баз данных в информационных системах. Проектирование и реализация информационной системы средствами MS Access. Анализ входной информации предметной области и выделение основных информационных объектов.
курсовая работа [2,5 M], добавлен 09.08.2012Создание базы данных для информационной системы "Грузоперевозки". Анализ предметной области, разработка концептуальной и логической модели базы данных, с использованием средства MS Micrоsоft SQL Server 2005, реализация физического проектирования базы.
курсовая работа [1,3 M], добавлен 01.07.2011Информационные задачи и круг пользователей системы. Выработка требований и ограничений. Разработка проекта базы данных. Программная реализация проекта базы данных. Разработка хранимых процедур для поддержки сложных ограничений целостности в базе данных.
курсовая работа [706,2 K], добавлен 17.06.2012