Разработка базы данных в сфере строительства
Курсовая работа, 19 Июня 2013, автор: пользователь скрыл имя
Описание работы
Предметной областью для курсовой работы является организация, занимающаяся продажей программного обеспечения в сфере строительства. Целью курсовой работы стало разработка базы данных средствами MS SQL Server 2005.
Для организации, занимающейся таким видом деятельности, крайне важно иметь строгий учет наличия конкретных экземпляров программ, так как чаще всего они берутся у разработчиков на реализацию, и неожиданная пропажа единицы товара может привести к большим непредвиденным затратам. Так же решится проблема учета клиентов, сотрудников, выписанных накладных и ведение базы всего программного обеспечения.
Содержание работы
ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 2
ПОСТРОЕНИЕ ER-ДИАГРАММЫ И ОБОСНОВАНИЕ ПРИНЯТЫХ РЕШЕНИЙ 3
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 5
Назначение и цели создания БД 5
Характеристика объектов автоматизации 5
Требования к системе 5
Процедуры БД должны обеспечивать следующие изменения объектов хранения: 7
Процедуры БД должны обеспечивать поиск следующей информации: 7
РАСПРЕДЕЛЕНИЕ РОЛЕЙ И ПРАВ. 8
ПОЛЕЗНЫЕ ЗАПРОСЫ. 10
Файлы: 1 файл
Техническое задание.doc
— 210.50 Кб (Скачать файл)Оглавление
ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Предметной областью для курсовой работы является организация, занимающаяся продажей программного обеспечения в сфере строительства. Целью курсовой работы стало разработка базы данных средствами MS SQL Server 2005.
Для организации, занимающейся
таким видом деятельности, крайне
важно иметь строгий учет наличия
конкретных экземпляров программ, так
как чаще всего они берутся
у разработчиков на реализацию, и
неожиданная пропажа единицы то
В базе данных созданы таблицы, которые позволят:
- Ведение клиентской базы (справочник реквизитов) и базы сотрудников.
- Вести базу реквизитов, клиентов, контактных лиц, сотрудников.
- Вести базу доступного программного обеспечения с описанием
- Вести базу программ, которые есть в наличии
- Вести базу накладных, по тем наименованиям, которые выбрал клиент.
ПОСТРОЕНИЕ ER-ДИАГРАММЫ И ОБОСНОВАНИЕ ПРИНЯТЫХ РЕШЕНИЙ
Для описания предметной области было составлено 12 сущностей. Сотрудник предприятия составляет договор, указывает в нем дату, номер и доп. информацию о доставке, установке и обслуживании ПО. В списке программ выбирает нужные и выписывает на них товарные накладные, которые отдаются клиенту. Экземпляры, которые есть в наличии, формируются из общего перечня доступных для продажи программ, с указанием цены за каждый конкретный экземпляр и даты его закупки. В списке доступных программ содержатся названия и описания программного обеспечения. В накладной указана стоимость конкретных экземпляров программ, которые выбрал сотрудник и дата ее составления. В сущности Конкретные экземпляры находятся те экземпляры, которые организация может в данный момент продать клиенту. В классификаторе ПО можно найти доступное программное обеспечение по разделам и с описаниями. Также по каждой программе можно получить информацию о разработчике, и его реквизиты (информация для сотрудников).
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
Назначение и цели создания БД
БД предназначена для хранения и обработки информации, относящейся к основной деятельности предприятия
Целью создания БД является:
- Упорядочивание системы учета документооборота с контрагентами (договор, накладная);
- Ускорение получения информации имеющихся в наличии программных продуктах;
- Ускорение поиска информации о контрагентах;
- Ускорение поиска информации об изменении цен на программные продукты;
БД не является программным продуктом, ориентированным на работу с конечным пользователем. БД представляет из себя хранилище данных, дополненное средствами манипулирования данными, средствами поиска и отбора информации, а так же средствами технического обслуживания хранилища данных.
Под средствами технического обслуживания подразумеваются средства оптимизации физического и логического состояния базы и ее резервное копирование.
Характеристика объектов автоматизации
Основной деятельностью предприятия является продажа и обслуживание программного обеспечения. На предприятии имеется 150 экземпляров программ. Клиентами компании являются порядка 350 юридических лиц. 12 сотрудников числятся в штате предприятия, из них 4 менеджера по продажам и 4 специалиста по сопровождению ПО.
Требования к системе
БД должна обеспечивать хранение информации o:
- Имеющихся на предприятии экземплярах ПО. Для каждого экземпляра должны быть следующие атрибуты:
- Инвентаризационный номер
- Дата поступления на склад
- Списке программного обеспечения. По каждой программе должны храниться следующие атрибуты:
- Название
- Описание
- Классификаторе программного обеспечения:
- Сфера применения
- Описание
- Разработчиках ПО:
- Название
- Клиентах компании (юр. лица). Для них должны быть указаны следующий атрибуты:
- Название
- Реквизитах клиентов и разработчиков ПО:
1. ИНН
2. Банк
3. Номер счета
- Контактных лицах:
1. Имя
2. Отчество
3. Фамилия
4. Телефон
8. Сотрудниках компании – менеджерах и специалистах по сопровождению ПО:
1. Имя
2. Отчество
3. Фамилия
4. Телефон
9. Договорах, заключенных с клиентами:
1. Дата
2. Номер
3. Доставка
4. Установка
5. Сопровождение
10. Накладных, выписываемых
на конкретные экземпляры
1. Дата
2. Сумма
11. Изменениях цен на программы:
1.Стартовое количество
2. Финальное количество
3. Стартовая дата
4. Финальная дата
5. Цена
Процедуры БД должны обеспечивать следующие изменения объектов хранения:
- Введение и изменение атрибутов контрагентов
- Введение и изменение атрибутов документов (договоров, накладных)
- Введение и изменение информации о изменении цены на программы.
- Введение и изменение данных о программах и экземплярах программ
Процедуры БД должны обеспечивать поиск следующей информации:
- Поиск клиентов по названию, части названия, ИНН и прочим реквизитам. В результатах поиска должны быть отражены все реквизиты клиента, контактные лица.
- Поиск всех программ по сфере применения. В результате поиска может быть больше одного результата.
- Поиск всех экземпляров программ по названию программы.
- Поиск всех накладных за выбранный период по номеру накладной или дате.
- Поиск всех экземпляров программ, когда-либо купленных клиентов, с указанием даты продажи, номерами договоров.
РАСПРЕДЕЛЕНИЕ РОЛЕЙ И ПРАВ.
Для упрощения управления правами доступа в БД применяется механизм ролей — наборов прав доступа к объектам базы данных, присваиваемых некоторой совокупности пользователей. Для реализации поставленной задачи было создано две серверные роли – sales_profi и support_profi, содержащие в себе права доступа для менеджеров и консультантов компании соответственно.
Sales_profi
Таблица |
Доступ |
Действие |
Таблица |
Доступ |
Действие |
classifier |
Deny |
Delete |
Developers |
Deny |
Delete |
classifier |
Deny |
Insert |
Developers |
Deny |
Insert |
classifier |
Grant |
Select |
Developers |
Grant |
Select |
classifier |
Grant |
Update |
Developers |
Grant |
Update |
Consultants |
Deny |
Delete |
exemplars |
Grant |
Delete |
Consultants |
Deny |
Insert |
exemplars |
Grant |
Insert |
Consultants |
Deny |
Update |
exemplars |
Grant |
Select |
Consultants |
Grant |
Select |
exemplars |
Grant |
Update |
contact names |
Grant |
Delete |
requisites |
Grant |
Delete |
contact names |
Grant |
Insert |
requisites |
Grant |
Insert |
contact names |
Grant |
Select |
requisites |
Grant |
Select |
contact names |
Grant |
Update |
requisites |
Grant |
Update |
contract |
Grant |
Delete |
Software |
Grant |
Delete |
contract |
Grant |
Insert |
Software |
Grant |
Insert |
contract |
Grant |
Select |
Software |
Grant |
Select |
contract |
Grant |
Update |
Software |
Grant |
Update |
contractor |
Grant |
Delete |
waybill |
Grant |
Insert |
contractor |
Grant |
Insert |
waybill |
Grant |
Select |
contractor |
Grant |
Select |
waybill |
Grant |
Update |
contractor |
Grant |
Update |
Dev-soft |
Grant |
Select |
SelectPrice |
Grant |
Execute |
support_profi
Таблица |
Доступ |
Действие |
Таблица |
Доступ |
Действие |
classifier |
Deny |
Delete |
contractor |
Grant |
Select |
classifier |
Deny |
Insert |
contractor |
Grant |
Update |
classifier |
Deny |
Update |
Developers |
Deny |
Delete |
classifier |
Grant |
Select |
Developers |
Deny |
Insert |
Class-soft |
Deny |
Delete |
Developers |
Grant |
Select |
Class-soft |
Deny |
Insert |
Developers |
Grant |
Update |
Class-soft |
Deny |
Update |
Dev-soft |
Deny |
Delete |
Class-soft |
Grant |
Select |
Dev-soft |
Deny |
Insert |
Consultants |
Deny |
Delete |
Dev-soft |
Deny |
Update |
Consultants |
Deny |
Insert |
Dev-soft |
Grant |
Select |
Consultants |
Deny |
Update |
requisites |
Deny |
Delete |
Consultants |
Grant |
Select |
requisites |
Deny |
Insert |
contact names |
Deny |
Delete |
requisites |
Grant |
Select |
contact names |
Grant |
Insert |
requisites |
Grant |
Update |
contact names |
Grant |
Select |
Software |
Deny |
Delete |
contact names |
Grant |
Update |
Software |
Grant |
Insert |
contractor |
Deny |
Delete |
Software |
Grant |
Select |
contractor |
Grant |
Insert |
Software |
Grant |
Update |
ПОЛЕЗНЫЕ ЗАПРОСЫ.
- В таблице Exemlars у каждого экземпляра программы есть уникальный номер, который может быть изначально не введен в базу (по причине того, что разработчик его не предоставил). Недобросовестные сотрудники могут забыть об этом, и не запросить его у разработчика, а потом и не внести в базу, что потом доставит немало хлопот с учетом товаров. Для этого можно найти все программы, у которых не заведен уникальный номер:
Select * from Exemlars where (Inv_number is NULL)
- В таблице Waybills, для отслеживания изменений выписанных накладных, при каждом изменении записи в таблицу записывается информация о времени и пользователе, который изменил запись.
ALTER TRIGGER [KeepTrack] ON [dbo].[waybill]
FOR INSERT, UPDATE
AS
UPDATE waybill
SET waybill.UpdatedBy = USER_NAME(),
waybill.UpdatedWhen = GETDATE()
FROM inserted, waybill
WHERE inserted.ID = waybill.ID