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

Автор работы: Пользователь скрыл имя, 11 Декабря 2012 в 22:17, курсовая работа

Описание работы

Система автоматизации деятельности частной строительной фирмы “Ручей” предназначена для унификации и систематизации данных о клиентах , персонале и фирмы, проведенных работах, планирования работы, прием заказов, анализа и мониторинга деятельности строительной фирмы её руководством.
В последнее время в крупных фирмах внедрены или внедряются новые информационные технологии, позволяющие переходить от документов и карточек в бумажном виде к документации в электронном виде, использовать компьютеры в информационном обеспечении, что позволяет значительно сократить время поиска необходимой информации или регистрации клиентов, а также позволяет повысить качество обслуживания заказчиков, что немаловажно в условиях высочайшей конкуренции на рынке услуг.

Файлы: 1 файл

Пояснительная записка.doc

— 733.00 Кб (Скачать файл)

Представление (View) для конечных пользователей выглядит как таблица, но при этом само не содержит данных, а лишь представляет данные, расположенные в таблице. Физически представление реализовано в виде SQL-запроса, на основе которого производится выборка данных из одной или нескольких таблиц или представлений.

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

Для приложения были разработаны  следующие представления:

Инфо_бригады - вывод ограниченной информации о бригадах, номер заказа у которых не пуст. Данные берутся из таблицы Бригады;

Инфо_поставщик - вывод информации о поставщиках, которые поставляют материал, стоимость которого меньше 150000 и количество материала больше 30. Даные берутся из таблиц поставщики и материалы, сопоставляя даные двух таблиц, выводим результат на экран;

Инфо_материалы - вывод информации о кматериалах, количество которых 10 либо 20. Данные берутся из таблицы материалы;

Информация_Сотрудники - информация о сотрудниках фамилия, которых заканчивается на «ов».Данные берутся из таблицы Сотрудники;

Информация_Количество_материалов – вывод информации о материалах количество, которых находится в диапазоне от 30до 50 . Данные берутся из таблицы иатериалы , BETWEEN- диапазон для проверки;

Количество_клиентов – вывод количества клиентов, сделавших заказ. Данные берутся из таблицы клиенты;

Максимальная_услуга_по_стоимости – вывод стоимости услуги, у которой стоимость максимальная. Данные берутся из таблицы услуги;

минимальное_количество_в_бригаде – вывод информации о бригаде с минимальным количеством человек. Данные берутся из таблицы Бригады;

Инфо_оклад_сотрудников - вывод информации о сотрудниках, оклад которых больше чем 1600000 или равен 1200000. Данные берутся из таблицы Сотрудники;

Стоимость_всех_материалов – вывод общей стоимости всех материалов. Данные берутся из таблицы материалы;

услуга_со_стоимостью_ниже_средней – вывод информации об услуге, стоимость которой ниже чем средняя стоимость вснх товаров;

Заказы_которые_зданы – вывод информациии о заказах, дата здачи у которых меньше текущей. Данные берутся из таблицы заказы;

Объекты_которые_будут_зданы_через_30_дней – вывод информации о заказах которые планируется сдать в течении 30 следующих дней. Данные берутся из таблицы заказы;

Клиенты_с_заказом_больше_60_дней – вывод информации о клиенте, у которого прошло более 60 дней после даты заказа. Данные берутся из таблицы клиенты;

Информация_о_клиентах – вывод информации о клиенте. Данные берутся из таблицы клиенты;

          услуга_со_стоимостью_ниже_3500000 - вывод информации о услуге стоимость, которой ниже 3500000.Данные берутся из таблицы услуги.

Сотрудники_первой_бригады– вывод информации о сотрудниках,  которые работают в первой бригаде. Данные берутся из таблицы Сотрудники;

Сотрудники_инженер_проектировщики – вывод информации о сотрудниках должность, у которых инженер-проектировщик. Данные берутся из таблицы Сотрудники;

Поставщик_103 – вывод информации о поставщике, у которого ИД равен 103. Данные берутся из таблицы поставщики;

          Поставщики_поставляющие_материал_с_кодом_116 - вывод информации о поставщике и материале, у которого код равен 116.Данные берутся из таблиц поставщики и материалы.

 

Хранимые процедуры  имеют много общего с обычными процедурами. Использование хранимых процедур позволяет значительно повысить скорость разработки приложений.

Для приложения были разработаны  следующие хранимые процедуры:

- для вставки новых  данных:

 

VstavkaKlienti - Вставка в таблицу Клиенты

VstavkaMaterial - Вставка в таблицу Материалы

VstavkaPostavchik - Вставка в таблицу Поставщики

VstavkaSotr - Вставка в таблицу Сотруники

VstavkaUslugi - Вставка в таблицу Услуги

 

-для удаления данных:

DeleteKlient - Удаление Клиентов из таблицы Клиенты по номеру клиента

DeleteMaterial - Удаление Материалов из таблицы Материалы по номеру

DeletePost - Удаление Поставщика из таблицы Поставщики по его номеру

DeleteSotr - Удаление Сотрудника из таблицы сотрудники по его номеру табельному номеру

DeleteUslugi - Удаление услуги по ее номеру

 

-на выборку данных:

VivodKlient - Выводит по номеру клиента информацию о клиенте из таблицы Клиенты

VivodPost - Выводит по номеру поставщика информацию о поставщике из таблицы Поставщики

VivodMater - Выводит по номеру материала информацию о материале из таблицы Материалы

VivodSakaz - Выводит по дате заказа информацию о заказе из таблицы Заказы, Услуги_заказы, Услуги

VivodSotr - Выводит по табельному номеру сотрудника информацию о сотруднике из таблицы Бригады, Сотрудники

 

-на обновления данных:

UpdateBrig - Обновление таблицы Бригады по номеру бригады меняем количество человек

UpdateKlient - Обновление таблицы Клиенты по номеру клиента меняем отсветственное лицо

UpdateSakaz - Обновление таблицы Заказаы по номеру заказа меняем дату заказа

UpdateSotr - Обновление таблицы Сотрудники по ид_номеру меняем оклад

UpdateUslug - Обновление таблицы Услуги по табельный номер сотрудника меняем оклад

 

          

 

 

 

 

 

 

 

2.3. Верификация  спроектированной логической модели  представлена 

в таблице 1

Arrow Name

Entity Name

Attribute Name

Информация  о  сотрудниках

Сотрудники

 
   

Табельный_номер

   

ФИО

   

Номер_паспорта

   

Адрес

   

Оклад

   

Должность

   

Стаж

   

Номер_бригады

   

Номер_соц_страховки

Информация  о  поставщиках

поставщики

 
   

ИД_поставщика

   

Название_организации

   

Адрес_организации

   

Телефон_организации

   

EMAIL

Информация  об объектах

заказы

 
   

Номер_заказа

   

Адрес_объекта

   

Дата_здачи

Информация  о материалах

материалы

 
   

Код_материала

   

Стоимость_материалов

   

Наименование_материалов

   

Количество_материала

 

поставщики

 
   

ИД_поставщика

   

Название_организации

   

Адрес_организации

   

Телефон_организации

   

EMAIL

Информация  о заказах

клиенты

 
   

Номер_клиента

   

Дата_заказа

   

Ответственное_лицо

 

услуги

 
   

Номер_услуги

   

Услуга

   

Стоимость_услуги

Информация  о дате заказа

клиенты

 
   

Номер_клиента

   

Дата_заказа

   

Ответственное_лицо

Информация  о стаже рабочего

Сотрудники

 
   

Табельный_номер

   

ФИО

   

Стаж

   

Номер_бригады

Информация  о соц страховки сотрудника

Сотрудники

 
   

Табельный_номер

   

ФИО

   

Номер_соц_страховки

   

Номер_бригады

Вывод информации о специальности

Сотрудники

 
   

Табельный_номер

   

ФИО

   

Должность

   

Номер_бригады

Информация о количестве поставленного материала

материалы

 
   

Код_материала

   

Стоимость_материалов

   

Наименование_материалов

   

Количество_материала

 

поставщики

 
   

ИД_поставщика

   

Название_организации

   

EMAIL

Информация  о стоимости материала

материалы

 
   

Код_материала

   

Стоимость_материалов

   

Наименование_материалов

   

Количество_материала


      

   

 

3.Реализация  системы

3.1 T-SQL-определения регламентированных запросов

/*1.Вывод ограниченной  информации о бригадах с не с нулевым номером заказа.*/

Create view Инфо_бригады /*Указываем имя представления*/

As

Select /*Указываем, какие поля будут выведены*/

Бригады.Номер_бригады,

Бригады.ФИО_бригадира,Бригады.Количество_в_бригаде

from Бригады /*Из какой таблицы*/

where Бригады.Номер_заказа is not Null /*Выбор бригады не с пустым номером заказа*/

       

         /*2.Вывод информации о материале, стоимость которого менее 150000 и количеством более 30 */

Create view Инфо_поставщик  /*Указываем имя представления*/

As

Select   /*Указываем, какие поля будут выведены*/

поставщики.Название_организации,поставщики.Адрес_организации,поставщики.Телефон_организации,

поставщики.EMAIL,материалы.Код_материала,материалы.Наименование_материала,

материалы.Стоимость_материалов,материалы.Количество_материала

from поставщики_материалы

Inner Join поставщики  on поставщики_материалы.ИД_поставщика=поставщики.ИД_поставщика

Inner Join материалы  on поставщики_материалы.Код_материала=материалы.Код_материала   /*Из каких таблиц и как таблицы связаны между собой*/

where (материалы.Стоимость_материалов<150000) and (материалы.Количество_материала>30) /*Выбор материала стоимостью менее 150000 и количеством более 30*/

 

/*3. Вывод информации о материале количество, которого 10 либо 20*/

Create view Инфо_материалы /*Указываем имя представления*/

As

Select  /*Указываем, какие поля будут выведены*/

материалы.Код_материала,материалы.Наименование_материала,

материалы.Стоимость_материалов,материалы.Количество_материала

from материалы  /*Из какой таблицы*/

where материалы.Количество_материала  in (10,20) /*выбор материала количество которого 10 либо 20 */

 

/*4. Вывод информации о сотрудниках, с фамилией заканчивающейся на «ов»*/

CREATE VIEW Информация_Сотрудники  /*Указываем имя представления*/

AS

SELECT             /*Указываем, какие поля будут выведены*/        

Сотрудники.Табельный_номер, Сотрудники.ФИО, Сотрудники.Должность, Сотрудники.Номер_паспорта, Сотрудники.Оклад, Сотрудники.Адрес,

 Сотрудники.Стаж,Сотрудники.Номер_бригады,Сотрудники.Номер_соц_страховки

FROM Сотрудники                 /*Из какой таблицы*/                      

WHERE Сотрудники.ФИО LIKE '%ов%'/*Выберает сотрудников с фамилией заканчивающейся на «ов»*/

 

/*5 Вывод информации о материале, количество, которого находится в диапазоне от 30 до 50.*/

CREATE VIEW Информация_Количество_материалов   /*Указываем имя представления*/

AS

SELECT                      /*Указываем, какие поля будут выведены*/        

материалы.Код_материала,материалы.Наименование_материала,

материалы.Стоимость_материалов,материалы.Количество_материала

from материалы                  /*Из какой таблицы*/                                

WHERE материалы.Количество_материала BETWEEN 30 AND 50 /*Выбор материала количество которого находится в диапазоне от 30 до 50*/

 

/*6. Вывод количества клиентов.*/

Create view Количество_клиентов  /*Указываем имя представления*/

As

Select   /*Указываем, какие поля будут выведены*/                                   

количество_клиентов=count(клиенты.Номер_клиента) /*Подсчет количества*/

from клиенты  /*Из какой таблицы*/     

 

/*7. Вывод стоимости услуги с максимальной стоимостью.*/

Create view Максимальная_услуга_по_стоимости   /*Указываем имя представления*/

as

Select    /*Указываем, какие поля будут выведены*/                                   

Максимальная_стоимость=max(услуги.Стоимость_услуги) /*Поиск максимальной стоимости услуги*/

 

from услуги /*Из какой таблицы*/     

 

/*8. Вывод информации о бригаде с минимальным количеством сотрудников*/

CREATE VIEW минимальное_количество_в_бригаде  /*Указываем имя представления*/

AS

SELECT   /*Указываем, какие поля будут выведены*/

Бригады.Номер_бригады,

Бригады.ФИО_бригадира,Бригады.Количество_в_бригаде

from Бригады   /*Из какой таблицы*/     

WHERE Бригады.Количество_в_бригаде= (select Min(Количество_в_бригаде) from Бригады)/*Выбор бригады, в которой минимальное количество сотрудников*/

 

 

/*9. Вывод информации о сотрудникес окладом большем чем 1600000 или равным 1200000*/

CREATE VIEW Инфо_оклад_сотрудников  /*Указываем имя представления*/

AS

SELECT  /*Указываем, какие поля будут выведены*/

Сотрудники.Табельный_номер,Сотрудники.ФИО,Сотрудники.Номер_бригады,Сотрудники.Должность,Сотрудники.Оклад

FROM Сотрудники   /*Из какой таблицы*/     

WHERE Сотрудники.Оклад > 1600000 or Сотрудники.Оклад =1200000 /*Выбор сотрудника , с окладом более 1600000 или равным 1200000*/

 

/*10.Вывод информации о стоимости всех материалов.*/

Create view Стоимость_всех_материалов    /*Указываем имя представления*/

As

Select   /*Указываем, какие поля будут выведены*/

Общая_стоимость_материалов=sum(материалы.Количество_материала*материалы.Стоимость_материалов)   /*Высчитываем общую стоимость материалов*/     

from материалы    /*Из какой таблицы*/     

 

/*11. Вывод информации о услугах стоимость, которых меньше либо равно средней.*/

Create view услуга_со_стоимостью_ниже_средней   /*Указываем имя представления*/

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