Проектирование сетевой базы данных «Учет сетевого и компьютерного оборудования»
Идея реализации данных связей заключается в следующем. В таблице «Компьютерное оборудование» есть ключевое поле (id_компьютерного оборудования), которое в данной таблице является первичным ключом. Этой записи может соответствовать много записей в таблице «Учет компьютерного оборудования», в которой есть внешний ключ (id_компьютерного оборудования), через который будет осуществляться взаимосвязь… Читать ещё >
Проектирование сетевой базы данных «Учет сетевого и компьютерного оборудования» (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«СЕВЕРО-КАВКАЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра информационных систем и технологий
Пояснительная записка к курсовой работе по дисциплине
«Программирование в компьютерных сетях»
на тему «Проектирование сетевой базы данных «Учет сетевого и компьютерного оборудования»
Автор проекта Язвинский М.А.
Руководитель проекта Крахоткина Е. В Ставрополь, 2011
- Введение
- 1. Описание предметной области
- 1.1 Общее описание предметной области
- 1.2 Описание входных документов и сообщений
- 1.3 Описание выходных документов и сообщений
- 1.4 Список ограничений
- 2 Проектирование реляционной базы данных
- 2.1Инфологическая модель базы данных
- 2.1.1 Описание сущностей
- 2.1.2 Описание связей
- 2.1.3 ER-диаграмма
- 2.2Даталогическая модель
- 2.2.1 Диаграмма связи по полям
- 3. Организация выборки информации из базы данных
- 4. Разработка представлений для отображения результатов выборки
- 5. Проектирование хранимых процедур
- 6. Разработка механизмов управления данными в базе данных при помощи триггеров
- 6.1 Триггер для добавления данных
- 6.2 Триггер для удаления данных
- 6.3 Триггер для обновления данных
- 7. Разработка технологий доступа к базе данных
- 7.1 Выбор пользователей базы данных
- 7.2 Разграничение полномочий пользователя
- 8. Проектирование клиентского приложения
- 9. Организация обмена данными между серверной частью и клиентским приложением
- 10. Экономическое обоснование результатов внедрения программного продукта
- 11. Требования к техническому обеспечению разрабатываемого программного продукта
- 12. Инструкция по эксплуатации базы данных и клиентского приложения
- Заключение
- Список использованной литературы
- Приложение
- Введение
- В настоящее время во многих организациях существует развитый парк компьютерной техники. Зачастую это немаленький, а главное постоянно растущий парк с большим числом компьютеров. Каждый компьютер имеет множество элементов (процессор, память и т. д.) и периферийных устройств. Нередко за все компьютерное хозяйство в организации отвечает один или несколько человек — системные администраторы. Помимо всего прочего, в их обязанности входит и учет компьютерного оборудования предприятия. Однако, если компьютеров много, а времени на постоянный учет оборудования в журнале (в том числе и в электронном) мало, то через некоторое время администратор сам не сможет сказать почему сетевая плата из компьютера начальника отдела маркетинга была переставлена в компьютер главного бухгалтера и по какой накладной был куплен дополнительный DVD-ROM в компьютер директора. Кроме того, бухгалтер, отвечающий за учет материалов и оборудования, очень захочет знать направление и цели перемещения всех плат и устройств, так как они все имеют разную цену и, возможно, куплены по разным документам.
- Базы данных играют важную роль в нашей жизни. Любое количество идентичных данных можно скомпоновать и представить в упорядоченном и удобном для обработки виде. Эту функцию и выполняют базы данных.
- Любой современной организации, предприятию необходима база данных, удовлетворяющая те или иные потребности по хранению, управлению и администрированию данных.
- В данном курсовом проекте рассмотрена организация, предметной областью которой является ведение учета компьютерного и сетевого оборудования.
- Для автоматизации процесса и обеспечения удобства пользователя было создано приложение, позволяющее вести полноценный учет оборудования, использующегося на предприятии: отслеживать движение оборудования по отелам предприятия (бухгалтерия, отдел кадров и т. д.), просматривать перечень оборудования и его цену, добавлять, удалять, редактировать записи.
Так же была обеспечена защита данных от несанкционированного доступа. Администратор имеет пароль доступа к данным через приложение, при необходимости может быть произведена замена пароля. При проектировании использовалась точка зрения самого разработчика. В качестве среды разработки использовались MS Microsoft SQL Server 2005 и Borland Delphi 7.
1. Описание предметной области
1.1 Общее описание предметной области В условиях современной экономики, и особенно в период экономического кризиса, все большее значение приобретает учет оборудования и инвентаря на предприятии. Эффективный контроль состояния оборудования дает информацию о степени изношенности, позволяет принять решения по замене оборудования, ремонту, либо продлению его срока службы. Очень важным является анализ и планирование проведения технического обслуживания и ремонта оборудования по его состоянию, а не по графику.
При разработке базы данных «Учет сетевого и компьютерного оборудования» было проведено обследование предметной области, в которой основными операциями являются операции по учету оборудования.
В рамках данного курсового проекта, была разработана сетевая база данных «Учет сетевого и компьютерного оборудования», в которой содержатся данные о компьютерном и сетевом оборудовании, отделах предприятия, а также ведется учет этого оборудования. Для автоматизации, функциональности и простоты управления рабочим процессом все данные отображаются на формах. Администратор предприятия имеет возможность просмотра и модификации всей информации базы данных. В спроектированной БД хранится информация об оборудовании предприятия и ведется его учет.
Администратор предприятия может добавлять, удалять, редактировать список оборудования (как сетевого, так и компьютерного), просматривать список оборудования в конкретном отделе предприятия, вести учет и организовывать передвижение оборудования на предприятии, просматривать и оценивать стоимость всего оборудования. Также администратор имеет возможность сменить пароль доступа, если это будет необходимо.
1.2 Описание входных документов и сообщений При разработке сетевой базы данных «Учет сетевого и компьютерного оборудования» было проведено обследование предметной области. В результате в базе данных используются следующие входные документы:
— Таблица «Компьютерное оборудование»;
— Таблица «Сетевое оборудование»;
— Таблица «Отделы»;
— Таблица «Учет компьютерного оборудования»;
— Таблица «Учет сетевого оборудования»;
— Таблица «Аутентификация».
1.3 Описание выходных документов и сообщений Для вывода информации на экран были разработаны специальные формы, упрощающие работу с записями таблиц базы данных.
Данная база данных предоставляет следующие возможности:
— Закрытый доступ: только для администратора предприятия;
— Просмотр интересующей информации в специальных формах.
— Изменение информации, добавление новой;
— Автоматический подсчет суммы оборудования (сетевого, компьютерного), установленного в конкретном отделе;
— Смена пароля администратора.
1.4 Список ограничений Ограничения представляют собой набор некоторых условий налагаемых на элементы базы данных (таблицы, столбцы и т. д.) или всю базу данных, гарантирующие, что информация будет подчиняться определенным правилам целостности данных.
В данном курсовом проекте было использовано ограничение ссылочной целостности, т. к. значения одних столбцов таблиц связаны со значениями других столбцов в другой таблице. В каждой из таблиц проектируемой базы данных использовались первичный и внешний ключи, содержащие уникальные значения столбцов. Благодаря обеспечению ссылочной целостности данных была исключена возможность дублирования записей в базе данных, обеспечено каскадное обновление, вставка и удаление записей БД.
2. Проектирование реляционной базы данных
2.1 Инфологическая модель базы данных На этапе инфологического проектирования информационной системы происходит накопление и обработка информации о компьютерном и сетевом оборудовании предприятия, его отделах.
Основными конструктивными элементами инфологических моделей являются сущности, атрибуты и связи между ними.
В данном курсовом проекте представлено шесть сущностей: компьютерное оборудование, сетевое оборудование, отделы, учет компьютерного оборудования, учет сетевого оборудования, аутентификация. Каждая сущность в свою очередь имеет список атрибутов, по которым будут осуществляться связи. Тип связи будет определять отношения между атрибутами сущности.
2.1.1 Описание сущностей Сущность (объектное множество, таблица) — абстракция реального или виртуального объекта, процесса, явления, о котором необходимо собирать и хранить информацию.
В ходе выполнения данной курсовой работы были спроектированы следующие таблицы:
— Сущность «Компьютерное оборудование» (название, марка, дата выпуска и т. д.);
— Сущность «Сетевое оборудование» (название, марка, дата выпуска и т. д.);
— Сущность «Отделы» (информация об отделах предприятия);
— Сущность «Учет сетевого оборудования» (информация о сетевом оборудовании на предприятии в каждом отделе);
— Сущность «Учет сетевого оборудования» (информация о компьютерном оборудовании на предприятии в каждом отделе);
— Сущность «Аутентификация» (пароль администратора предприятия) Атрибут (реквизит) — поименованная характеристика сущности, которая описывает, моделирует или идентифицирует сущность.
В результате изучения предметной области и проектирования базы данных, был составлен следующий список атрибутов:
1. Сущность «Компьютерное оборудование»:
— id компьютерного оборудования;
— Название;
— Марка;
— Стоимость;
— Дата изготовления.
2. Сущность «Сетевое оборудование»:
— id сетевого оборудования;
— Название;
— Марка;
— Ед. измерения;
— Стоимость;
— Дата (год выпуска).
3. Сущность «Отделы»:
— id отдела;
— Наименование.
4. Сущность «Учет компьютерного оборудования»:
— id отдела;
— id компьютерного оборудования;
— Количество.
5. Сущность «Учет сетевого оборудования»:
— id отдела;
— id сетевого оборудования;
— Количество.
6. Сущность «Аутентификация»
— Пароль
2.1.2 Описание связей Между сущностями спроектированной БД можно установить четыре связи типа «Один-ко-многим».
Таблица 2.1 — Классификация связей в БД «Учет сетевого и компьютерного оборудования»
№ связи | Родительская таблица | Дочерняя таблица | Тип связи | |
Компьютерное оборудование | Учет компьютерного оборудования | 1:М | ||
Сетевое оборудование | Учет сетевого оборудования | 1:М | ||
Отделы | Учет компьютерного оборудования | 1:М | ||
Отделы | Учет сетевого оборудования | 1:М | ||
Идея реализации данных связей заключается в следующем. В таблице «Компьютерное оборудование» есть ключевое поле (id_компьютерного оборудования), которое в данной таблице является первичным ключом. Этой записи может соответствовать много записей в таблице «Учет компьютерного оборудования», в которой есть внешний ключ (id_компьютерного оборудования), через который будет осуществляться взаимосвязь между таблицами. Таким образом, одно наименование оборудования может попасть в несколько видов учета, а также может содержаться в нескольких отделах предприятия. По такому же принципу основаны связи и других таблиц.
Первичными ключами в спроектированной БД будут являться:
— id компьютерного оборудования (сущность «Компьютерное оборудование»);
— id сетевого оборудования (сущность «Сетевое оборудование»);
— id отдела (сущность «Отделы»).
2.1.3 ER-диаграмма Модель «сущность — связь» (МСС) (entity-relation diagram) является неформальной моделью предметной области и используется на этапе инфологического проектирования БД. Моделируются объекты предметной области и их взаимоотношения. В данном курсовом проекте представлена модель «сущность — связь» для сетевой базы данных «Учет сетеого и компьютерного предприятия».
Рисунок 2.1 — ER-диаграмма для базы данных «Страховая компания»
2.2 Даталогическая модель Приведем таблицы спроектированной базы данных, охарактеризованные размерами полей (количество символов), типами данных и допустимостью неопределенных значений. Отметим, что первичный ключ не может принимать неопределенные значения. Внешний ключ может быть не определен.
Таблица 2.2 — состав таблицы «Компьютерное оборудование»
Наименование атрибутов | Тип полей | NULL | |
id компьютерного оборудования Название Марка Стоимость Дата изготовления | int nchar (40) nchar (50) money datetime | Нет Нет Нет Нет Нет | |
Ключи таблицы:
— id компьютерного оборудования — первичный ключ/
Таблица 2.3 — состав таблицы «Сетевое оборудование»
Наименование атрибутов | Тип полей | NULL | |
id сетевого оборудования Название Марка Ед. измерения Стоимость Дата (год выпуска) | int nchar (40) nchar (50) nchar (5) money datetime | Нет Нет Нет Нет Нет Нет | |
Ключи таблицы:
— id сетевого оборудования — первичный ключ.
Таблица 2.4 — состав таблицы «Отделы»
Наименование атрибутов | Тип полей | NULL | |
id отдела Наименование | int nchar (20) | Нет Нет | |
Ключи таблицы:
— id отдела — первичный ключ.
Таблица 2.5 — состав таблицы «Учет компьютерного оборудования»
Наименование атрибутов | Тип полей | NULL | |
id отдела id компьютерного оборудования Количество | int int int | Нет Нет Нет | |
Ключи таблицы:
— id отдела — внешний ключ;
— id компьютерного оборудования — внешний ключ.
Таблица 2.6 — состав таблицы «Учет сетевого оборудования»
Наименование атрибутов | Тип полей | NULL | |
id отдела id сетевого оборудования Количество | int int int | Нет Нет Нет | |
Ключи таблицы:
— id отдела — внешний ключ;
— id сетевого оборудования — внешний ключ.
Также в базе данных «Учет сетевого и компьютерного оборудования» имеется таблица «Аутентификация». Она имеет одно не ключевое поле «Пароль» и необходимо для возможности замены пароля администратора.
Таблица 2.7 — состав таблицы «Аутентификация»
Наименование атрибутов | Тип полей | NULL | |
Пароль | nchar (6) | Нет | |
2.2.1 Диаграмма связи по полям В процессе проектирования базы данных были выявлены следующие функциональные зависимости (связи по полям):
Таблица 2.8 — Функциональные зависимости в таблице «Отделы»
Наименование атрибутов | Функциональные зависимости | |
id отдела | ||
Наименование | ||
Таблица 2.9 — Функциональные зависимости в таблице «Компьютерное оборудование»
Наименование атрибутов | Функциональные зависимости | |
id компьютерного оборудования | ||
Название | ||
Марка | ||
Стоимость | ||
Дата изготовления | ||
Таблица 2.10 — Функциональные зависимости в таблице «Сетевое оборудование»
Наименование атрибутов | Функциональные зависимости | |
id сетевого оборудования | ||
Название | ||
Марка | ||
Ед. измерения | ||
Стоимость | ||
Дата (год выпуска) | ||
Таблица 2.11 — Функциональные зависимости в таблице «Учет компьютерного оборудования»
Наименование атрибутов | Функциональные зависимости | |
id отдела | ||
id компьютерного оборудования | ||
Количество | ||
Таблица 2.12 — Функциональные зависимости в таблице «Учет сетевого оборудования»
Наименование атрибутов | Функциональные зависимости | |
id отдела | ||
id сетевого оборудования | ||
Количество | ||
3. Организация выборки информации из базы данных приложение учет оборудование цена В рамках данного курсового проекта при помощи структурированного языка запросов SQL была организована выборка информации из разработанной ранее базы данных.
Были сформулированы запросы всех типов, реализуемых средствами выбранного программного средства.
1. Безусловная выборка значений Формулировка запроса: выбрать все поля из таблицы «Компьютерное_оборудование».
Код запроса на языке SQL: «select * from Компьютерное_оборудование».
Результат запроса представлен на рисунке 3.1.
Рисунок 3.1 — Результат выполнения запроса
2. Выборка вычисляемых значений с использованием оператора естественного соединения Формулировка запроса: выбрать все поля из таблицы «Товары.
Код запроса на языке SQL:
«select id_отдела, Учет_комп_оборудования.id_компьютерного_оборудования, Компьютерное_оборудование.Название, Учет_комп_оборудования.Количество, Количество*Стоимость as 'Сумма'
from Компьютерное_оборудование INNER JOIN Учет_комп_оборудования ON
Компьютерное_оборудование.id_компьютерного_оборудования= Учет_комп_оборудования.id_ компьютерного_оборудования.
Результат запроса представлен на рисунке 3.2.
Рисунок 3.2 — Результат выполнения запроса
3. Выборка с использованием шаблонов Формулировка запроса: выбрать поля id_товара, Наименование_товара из таблицы «Товары», где Наименование_товара начинается с буквы «П»".
Код запроса на языке SQL: «SELECT id_компьютерного_оборудования, Название FROM Компьютерное_оборудование WHERE Название LIKE 'П%' or Название LIKE 'М%'».
Результат запроса представлен на рисунке 3.3.
Рисунок 3.3 — Результат выполнения запроса
4. Выборка с упорядочением Формулировка запроса: выбрать все поля из таблицы «Сетевое оборудование» и упорядочить по возрастанию по полю «Стоимость».
Код запроса на языке SQL: «select * from Сетевое_оборудование order by Стоимость».
Результат запроса представлен на рисунке 3.4.
Рисунок 3.4 — Результат выполнения запроса
5. Запрос с объединением множеств Формулировка запроса: выбрать все поля из таблицы «Компьютерное_оборудование», где Название оборудования начинается с буквы «Ж» или цена товара менее 2550 рублей.
Код запроса на языке SQL:
«SELECT * FROM Компьютерное_оборудование WHERE Название LIKE 'Ж%' UNION SELECT * FROM Компьютерное_оборудование WHERE Стоимость <2550».
Результат выполнения запроса представлен на рисунке 3.5.
Рисунок 3.4 — Результат выполнения запроса
6. Выборка по дате Формулировка запроса: выбрать все поля из таблицы «Сетевое_оборудование», где Дата выпуска оборудования позже чем «02.06.2011».
Код запроса на языке SQL: «SELECT * FROM Сетевое_оборудование WHERE Дата_год_выпуска > '02.06.2011'».
Результат запроса представлен на рисунке 3.6.
Рисунок 3.6 — Результат выполнения запроса
7. Выборка из связанных таблиц Формулировка запроса: выбрать поля «Наименование», «Название», «Ед_измерения», «Количество» из таблиц «Отделы», «Сетевое_оборудование», «Учет_сет_оборудования соответственно и присвоить полям имена: Отдел, Сетевое оборудование, Ед. измерения, Количество».
Код запроса на языке SQL:
«Select Отделы. Наименование as 'Отдел', Сетевое_оборудование. Название as 'Сетевое оборудование', Сетевое_оборудование. Ед_измерения as 'Ед.измерения', Учет_сет_оборудования.Количество
from Отделы, Сетевое_оборудование, Учет_сет_оборудования
where Отделы. id_отдела=Учет_сет_оборудования.id_отдела
and Сетевое_оборудование.id_сетевого_оборудования=Учет_сет_оборудования.
id_ сетевого_оборудования".
Результат запроса представлен на рисунке 3.7.
Рисунок 3.7 — Результат выполнения запроса
4. Разработка представлений для отображения результатов выборки Представления — это сохраненные результаты SQL-запроса, при помощи которых можно осуществлять доступ к данным таблицы, являющейся главной при его разработке. Представления являются удобным инструментом для работы с таблицами базы данных.
В базе данных разработано два представления «Учет по компьютерному оборудованию» и «Учет по сетевому оборудованию». В данном представлении вынесены поля — id отдела, наименование отдела, названия сетевого и компьютерного оборудования (для разных представлений отдельно), их итоговая стоимость, вычисленная как произведение стоимости за единицу товара на его количество. Поля взяты из таблиц «Учет сетевого оборудования», «Учет компьютерного оборудования», «Отделы», «Сетевое оборудование» и «Компьютерное оборудование» соответственно.
Рисунок 4.1 — Результат выполнения представления «Учет по компьютерному оборудованию»
Рисунок 4.2 — Результат выполнения представления «Учет по сетевому оборудованию»
5. Проектирование хранимых процедур Хранимые процедуры — представляют собой процессы, выполняемые непосредственно на сервере баз данных.
Некоторые действия с базой данных необходимо выполнять особенно часто, например, приходится выполнять практически одинаковые или совсем одинаковы запросы, и такие действия удобно вынести в отдельные единицы, для этого хорошо подходят хранимые процедуры. р В базе данных представлена хранимая процедура «ReleaseDate». Хранимая процедура «ReleaseDate» предназначена для выборки информации о договорах, заключенных до указанной даты. Единственным параметром данной процедуры как раз и является эта дата.
Код процедуры представлен ниже:
— ================================================
— Template generated from Template Explorer using:
— Create Procedure (New Menu).SQL
-;
— Use the Specify Values for Template Parameters
— command (Ctrl-Shift-M) to fill in the parameter
— values below.
-;
— This block of comments will not be included in
— the definition of the procedure.
— ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
— =============================================
— Author:
— Create date:
— Description:
— =============================================
CREATE PROCEDURE [dbo]. ReleaseDate]
— Add the parameters for the stored procedure here
@Pdate datetime
AS
BEGIN
— SET NOCOUNT ON added to prevent extra result sets from
— interfering with SELECT statements.
SET NOCOUNT ON;
— Insert statements for procedure here
SELECT * FROM Компьютерное_оборудование WHERE Компьютерное_оборудование.Дата_изготовления < @Pdate
END
Рисунок 5.1 — Результат выполнения хранимой процедуры «ReleaseDate»
6. Разработка механизмов управления данными в базе данных при помощи триггеров Триггер — это специализированная хранимая процедура, которая может выполняться для модификации данных. Триггеры могут выполняться при добавлении данных в таблицу, модификации данных или удалении. Триггеры могут выполняться до модификации, после успешной модификации, вместо модификации.
Триггеры используются тогда, когда необходима сложная проверка.
В базе представлены три триггера «InsertOborudTrg», «UpdateOborudTrg» и «DeleteOborudTrg». Все три триггера представлены для таблицы «Сетевое оборудование». Они осуществляют проверку при добавлении, изменении и удалении данных, а именно проверку даты заключения сделки.
6.1 Триггер для добавления данных Триггеры этого типа запускаются при попытке вставки данных с помощью команды INSERT:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo]. InsertOborudTrg]
ON [dbo]. Сетевое_оборудование]
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT Дата_год_выпуска FROM Inserted) < getdate ()
rollback
END
GO
Имя триггера «InsertOborudTrg», код триггера будет выполняться перед вставкой, это указано в строке «FOR INSERT».
6.2 Триггер для удаления данных Триггеры этого типа запускаются при попытке удаления данных с помощью команды DELETE:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo]. [DeleteOborudTrg]
ON [dbo]. Сетевое_оборудование]
FOR DELETE
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT Дата_год_выпуска FROM Inserted) < getdate ()
rollback
END
GO
Имя триггера «DeleteOborudTrg «, код триггера будет выполняться перед вставкой, это указано в строке «FOR DELETE».
6.3 Триггер для обновления данных Триггеры этого типа запускаются при попытке изменения данных с помощью команды UPDATE:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo]. [UpdateOborudTrg]
ON [dbo]. Сетевое_оборудование]
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT Дата_год_выпуска FROM Inserted) < getdate ()
rollback
END
GO
Имя триггера «UpdateOborudTrg «, код триггера будет выполняться перед вставкой, это указано в строке «FOR UPDATE».
7. Разработка технологий доступа к базе данных Система безопасности MS SQL Server базируется на пользователях и учетных записях. Пользователи проходят следующие два этана проверки системой безопасности. На первом этапе пользователь идентифицируется по имени учетной записи и паролю, то есть проходит аутентификацию. Если данные введены правильно, пользователь подключается к MS SQL Server. Подключение к MS SQL Server, или регистрация, не дает автоматического доступа к базам данных. Для каждой базы данных сервера регистрационное имя (или учетная запись — login) должно отображаться в имя пользователя базы данных (user). На втором этапе, на основе прав, выданных пользователю как пользователю базы данных (user), его регистрационное имя (login) получает доступ к соответствующей базе данных.
7.1 Выбор пользователей базы данных В данном курсовом проекте была реализована задача создания новой учетной записи (Рисунок 7.1) и пользователя (Рисунок 7.2) по имени Admin, которому были предоставлены определенные права доступа и возможности модификации данных, и учетная запись.
После создания пользователя и учетной записи пользователь проходит этап аутентификации, после чего ему предоставляется доступ к базе данных «Компьютерная техника» с определенными полномочиями.
Рисунок 7.1 — Диалоговое окно «Создание новой учетной записи»
Рисунок 7.2 — Диалоговое окно «Создание нового пользователя»
7.2 Разграничение полномочий пользователя Права доступа (permission) представляют собой разрешение на получение доступа к определенному объекту базы данных, в частности, таблице, представлению и т. д. Они разрешают выполнять пользователям те или иные операции с объектами базы данных. Для каждого из объектов базы данных имеется несколько видов прав доступа. В данном случае пользователю Sotrudnik были предоставлены права обновления, вставки и удаления данных.
Рисунок 7.3 — Диалоговое окно «Разграничение полномочий пользователя»
8. Проектирование клиентского приложения В рамках данного курсового проекта, было разработано клиентское приложение, организующее обмен данными с серверной частью MS SQL Server 2005. В базе данных содержится информация товарах, клиентах, поставщиках и производителях, а также о заключенных договорах. Для автоматизации, наглядности и простоты управления рабочим процессом все данные отображаются на формах. Администратор предприятия имеет возможность просмотра всей информации, которая уже содержится в базе данных, а также возможность ее редактирования, обновления и удаления ненужных записей. Благодаря обеспеченной целостности данных вся информация сохраняется на сервере. В базе данных также хранятся таблицы, в которых содержится учетная информация по сетевому и компьютерному оборудованию.
Администратор предприятия может вести учет оборудования, просматривать суммы установленного оборудования конкретно для каждого отдела, по датам выпуска оборудования отслеживать его износ.
9. Организация обмена данными между серверной частью и клиентским приложением Одним из способов, с помощью которых различные приложения могут подключиться базам данных SQL — сервера, является интерфейс Open Database Connectivity (открытый интерфейс подключения к базам данных). ODBC обеспечивает набор функций программного интерфейса приложений (API), которые упрощают подключение к базам данных самых различных форматов.
Доступ к базам данных в этом случае осуществляется с помощью драйверов ODBC, библиотек DLL, в которых содержатся функции для обеспечения таких возможностей. Драйверы ODBC устанавливаются в системе одновременно с установкой в ней утилит SQL — сервера. Кроме этого они могут устанавливаться совместно с некоторыми приложениями и средствами разработки, например с Microsoft Office. В поставке комплекта Microsoft Office находится специальное приложение Microsoft Query, с помощью которого осуществляется формирование запросов к базам данных. Это приложение запускается из Word и Excel, после чего оно формирует запросы к базам данных для этих систем и возвращает им результаты выполнения этих запросов (рисунок 9.1).
Рисунок 9.1 — Результат выполнения запроса в Excel
10. Экономическое обоснование результатов внедрения программного продукта Любой программный продукт, в том числе и база данных, разрабатываются, а затем внедряются на предприятиях для того, чтобы ускорить выполнение несложных, но занимающих достаточно много времени операций, в том числе подготовка отчетной документации, составление табеля рабочего времени, поиск необходимой информации для передачи в другие организации.
Экономический эффект от использования программного продукта за период внедрения (T) можно рассчитать по формуле:
(10.1)
где — стоимостная оценка результатов применения разработки в период внедрения Т, руб., — затраты на разработку, в том числе приобретение среды проектирования, справочной литературы, расходных материалов (бумага, накопители на гибких магнитных дисках), оборудования (если это необходимо).
Стоимостная оценка результатов применения разработанного приложения за период внедрения можно рассчитать по формуле:
(10.2)
где Т — период внедрения;
— стоимостная оценка результатов t — расчетного периода, руб.;
— дисконтирующая функция, которая вводится с целью приведения всех затрат и результатов к одному моменту времени:
. (10.3)
В формуле (10.3) р — коэффициент дисконтирования, , — нормативный коэффициент капитальных вложений.
Стоимостная оценка результатов t — расчетного периода =200 руб.
Затраты на разработку =600 руб.
Таким образом, в результате вычислений =838,48 руб., 238,48 руб.
После замены ручной обработки информации на автоматизированную происходит снижение затрат на ее обработку, тогда полученную экономию средств от внедрения продукта можно рассчитать по формуле:
. (10.4)
Здесь — затраты на ручную обработку информации, руб,
— объем информации, обрабатываемой вручную, Мбайт, Ц — стоимость одного часа работы, руб/час, — коэффициент, учитывающий дополнительные затраты времени на логические операции при ручной обработке информации, — норма выработки, Мбайт/час. За — затраты на автоматизированную обработку информации, руб, — время автоматической обработки (час), — стоимость одного часа машинного времени, руб/час; - время работы оператора, час; - стоимость одного часа работы оператора, руб./час.
В результате вычислений получили следующие результаты:
Затраты на автоматизированную обработку информации, За = 200 руб.
Затраты на ручную обработку информации, Зр = 1250 руб.
Экономия средств от внедрения продукта, Эу= 1050 руб.
Экономический эффект от внедрения разработки в течение года использования можно определить по формуле:
(10.6)
где — калькуляция расходов на разработку программного продукта.
Получив необходимы величины из вычислений выше можем узнать величину экономического эффекта от внедрения разработки в течение года, Эг=930.
Тогда эффективность разработки может быть определена по формуле:
. (10.7)
Для разработанного проекта Эр = 0,82, использование на предприятии разработанного программного продукта считается экономически целесообразным, если значение. Вывод: база данных «Учет сетевого и компьютерного предприятия» является экономически выгодным программным продуктом.
11. Требования к техническому обеспечению разрабатываемого программного продукта Для успешной эксплуатации программного продукта необходим персональный компьютер со следующими характеристиками: процессор Intel Pentium с тактовой частотой 800 МГц и выше, оперативная память — не менее 256 Мбайт, свободное дисковое пространство — не менее 700 Мбайт, устройство для чтения компакт-дисков, монитор типа Super VGA (число цветов — 256) с диагональю не менее 15?, принтер.
Программное обеспечение: Операционная система WINDOWS 2000/XP и выше, Borland Delphi 7, MS Microsoft SQL Server 2005.
12. Инструкция по эксплуатации базы данных и клиентского приложения Работа с базой данных может быть также организована через клиентское приложение. Приложение разработано на Borland Delphi 7.
Для запуска программы необходимо в среде MS SQL Server создать базу данных с таким же именем, как у базы данных, лежащей в папке проекта. После этого в Диспетчере конфигураций SQL Server остановить работу SQL Server и Обозревателя SQL Server. Затем скопировать с заменой два файла (Компьютерное_и_сетевое_оборудование.mdf и Компьютерное_и_сетевое_ оборудование_log.ldf) из папки, в которой лежит приложение в папку находящуюся по адресу: C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData. После этого возобновить работу SQL Server и Обозревателя SQL Server. Затем открыть проект Delphi и в среде разработки поменять в свойствах соединения ADO Connection имя Server SQL.
Клиентское приложение соединяется с БД и пользователь работает с базой через приложение. Если необходимо сохранить изменения нужно это делать вручную (нажать на кнопку). Происходит соединение с БД и вносятся изменения непосредственно в БД.
Пользователем является администратор предприятия, который имеет следующие возможности:
— Добавление записей;
— Удаление записей;
— Просмотр записей;
— Сохранение записей;
— Редактирование записей.
Внутренние механизмы защиты и запросы на подтверждение критичных операций предохраняют всех пользователей от случайных ошибок в процессе работы, которые могут повлечь за собой нарушение целостности данных, и просто необдуманных действий.
В качестве входных данных выступает информация об объектах БД т. е. записи в таблицах. В каждой таблице присутствует первичный ключ, отсюда следует, что на входные данные накладывается ограничение на дублирование значений некоторых атрибутов. Данные в базу данных добавляет пользователь с помощью клавиатуры и экранных форм. В качестве выходных данных выступают экранные формы, в которых отображены записи отношений БД.
При хранении информации в СУБД одной из основных задач остается обеспечение безопасности данных.
В разработанной базе данных предусмотрена защита от несанкционированного доступа к БД. При запуске приложения появляется диалоговое окно, в которое необходимо ввести пароль для авторизации. При правильном вводе пароля («123 456») осуществляется переход на следующую форму программы, посредством которой пользователь осуществляет основные действия с данными. При вводе неверного пароля появляется сообщение «Неправильный пароль».
На рисунке 12.1 представлено окно запроса пароля. На рисунке 12.2 представлена главная форма приложения.
Рисунок 12.1 — Окно аутентификации
Рисунок 12.2 — Главная форма приложения
На главной форме расположены кнопки и меню, осуществляя переход по которым можно вести учет оборудования и просматривать списки оборудования на предприятии. После нажатия кнопки «Компьютерное оборудование"/"Сетевое оборудование» из группы «Оборудование» на главной форме приложения появляется новая форма (Рисунок 12.3, 12.4), на которой администратор предприятия может осуществлять модификацию данных об оборудовании.
Рисунок 12.3 — Форма приложения «Компьютерное оборудование»
Рисунок 12.4 — Форма приложения «Сетевое оборудование»
После нажатия кнопки «Компьютерное оборудование"/"Сетевое оборудование» из группы «Учет оборудования» на главной форме приложения появляется форма для ввода учетных данных. Ввод данных осуществляется вручную, для удобства на форме выведена справочная информация о соответствии номеров отделов и компьютерного оборудования их наименованиям и названиям (Рисунок 12.5, 12.6).
Рисунок 12.5 — Форма приложения «Учет компьютерного оборудования»
Рисунок 12.6 — Форма приложения «Учет сетевого оборудования»
Помимо кнопок на форме располагается главное меню, пунктами которого являются: учет по отделам, смена пароля и выход из приложения. После нажатия пункта меню «Учет по отделам» появляется выпадающее меню со списком отделов. По нажатию подпункта отдела предприятия появляется форма с учетной информацией по этому отделу (Рисунок 12.7, 12.8)
Рисунок 12.7 — Главная форма приложения Рисунок 12.8 — Форма приложения «Учет оборудования отдела «Директорат»
Подобная информация выводится и по другим отделам предприятия.
Если возникнет необходимость смены пароля, необходимо нажать пункт меню «Сменить пароль», после чего появится диалоговое окно изменения пароля (Рисунок 12.9). Для смены пароля необходимо ввести старый пароль (текущий) и новый шестизначный пароль. Если будет введено неверное количество символов, программа выдаст предупреждение (Рисунок 12.9).
Рисунок 12.9 — Форма приложения «Изменение пароля»
При нажатии пункта меню «Выйти из приложения» закрываются все формы кроме формы аутентификации, причем поле ввода пароля автоматически очищается и система предлагает ввести пароль заново или закрыть приложение посредством нажатия на пиктограмму в правом верхнем углу окна.
Заключение
В результате выполнения курсового проекта получены навыки работы в среде MS SQL Server 2005 (создание таблиц, хранимых процедур, триггеров, представлений), создания клиентских приложений, работающих с БД.
Решены следующие задачи: возможность просматривать, редактировать, добавлять данные, получать результаты запросов. Так же обеспечена удобная работа для администратора предприятия. Следует отметить что:
— при проектировании использовалась точка зрения самого разработчика;
— обеспечена защита данных от несанкционированного доступа;
— среда разработки — MS Microsoft SQL Server 2005 и Borland Delphi 7.
1. Карпова Т. С. Базы данных. Модели, разработка, реализация/СПб.: Питер, 2002. — 304 с.
2. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для ВУЗов /под ред. проф.А. Д. Хомоненко // СПб.:КОРОНАпринт, 2000. 416 с.
3. Корнеев В. В. и др. Базы данных. Интеллектуальная обработка информации // М.:Нолидж, 2000. 352 с.
4. Бартеньев О. В. Microsoft Visual FoxPro: Учебно-справочное пособие/ М.:Диалог МИФИ, 2005;672 с.
5. Каратыгин С. А., Тихонов А. Ф., Тихонова Л. Н. Visual FoxPro 6.0//М.: Бином, 1999;784С.
6. Ханcен Г., Ханcен Д. Базы данных. Разработка и управление/М.: Бином, 1999;704С.
7. Глушаков С. В., Ломотько Д. В. Базы данных. Учебный курс // Харьков: Фолио; Ростов н/Д: Феникс; Киев: Абрис, 2000. — 504 с.
8. Игорева, Е.Л., Основы алгоритмизации и программирования (3-е издание)./ И. И. Попов, О. Л. Игорева — М.: Инфа-М, 2006 — 432 с.
9. Гражданский кодекс РФ Части первая, вторая. М.: Норма. — 2000.
10. Закон РФ от 27 ноября 1992 г. N 4015−1 «Об организации страхового дела в Российской Федерации» // Российская газета. — 12 января 1993 г.
Приложение, А Листинг программы
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, StdCtrls;
type
TForm2 = class (TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
XPManifest1: TXPManifest;
GroupBox2: TGroupBox;
Button4: TButton;
Button5: TButton;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
procedure N1Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure N5Click (Sender: TObject);
procedure N6Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure N8Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit3, Unit1, Unit4, Unit5, Unit6, Unit7, Unit8;
{$R *.dfm}
procedure TForm2. N1Click (Sender: TObject);
begin
form3.show;
end;
procedure TForm2. N2Click (Sender: TObject);
begin
form1.Edit1.Text:='';
form1.show;
form2.Close;
end;
procedure TForm2. Button1Click (Sender: TObject);
begin
form4.show;
end;
procedure TForm2. Button2Click (Sender: TObject);
begin
form5.show;
end;
procedure TForm2. N4Click (Sender: TObject);
begin
form6.ADOQuery1.Active:=False;
form6.ADOQuery1.Close;
form6.ADOQuery1.SQL.Text:= 'Select Название, Стоимость, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=1';
form6.ADOQuery1.ExecSQL;
form6.ADOQuery1.Active:=True;
form6.ADOQuery2.Active:=False;
form6.ADOQuery2.Close;
form6.ADOQuery2.SQL.Text:= 'Select Название, Стоимость, Ед_измерения, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=1';
form6.ADOQuery2.ExecSQL;
form6.ADOQuery2.Active:=True;
form6.ADOQuery3.Active:=False;
form6.ADOQuery3.Close;
form6.ADOQuery3.SQL.Text:= 'select Sum (Сумма)from Учет_по_комп_оборудованию where id_отдела=1';
form6.ADOQuery3.ExecSQL;
form6.ADOQuery3.Active:=True;
form6.ADOQuery4.Active:=False;
form6.ADOQuery4.Close;
form6.ADOQuery4.SQL.Text:= 'select Sum (Сумма)from Учет_по_сет_оборудованию where id_отдела=1';
form6.ADOQuery4.ExecSQL;
form6.ADOQuery4.Active:=True;
form6.Caption:= 'Учет оборудования отдела «Директорат» ';
form6.show;
end;
procedure TForm2. N5Click (Sender: TObject);
begin
form6.ADOQuery1.Active:=False;
form6.ADOQuery1.Close;
form6.ADOQuery1.SQL.Text:= 'Select Название, Стоимость, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=2';
form6.ADOQuery1.ExecSQL;
form6.ADOQuery1.Active:=True;
form6.ADOQuery2.Active:=False;
form6.ADOQuery2.Close;
form6.ADOQuery2.SQL.Text:= 'Select Название, Стоимость, Ед_измерения, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=2';
form6.ADOQuery2.ExecSQL;
form6.ADOQuery2.Active:=True;
form6.ADOQuery3.Active:=False;
form6.ADOQuery3.Close;
form6.ADOQuery3.SQL.Text:= 'select Sum (Сумма)from Учет_по_комп_оборудованию where id_отдела=2';
form6.ADOQuery3.ExecSQL;
form6.ADOQuery3.Active:=True;
form6.ADOQuery4.Active:=False;
form6.ADOQuery4.Close;
form6.ADOQuery4.SQL.Text:= 'select Sum (Сумма)from Учет_по_сет_оборудованию where id_отдела=2';
form6.ADOQuery4.ExecSQL;
form6.ADOQuery4.Active:=True;
form6.Caption:= 'Учет оборудования отдела «Бухгалтерия» ';
form6.show;
end;
procedure TForm2. N6Click (Sender: TObject);
begin
form6.ADOQuery1.Active:=False;
form6.ADOQuery1.Close;
form6.ADOQuery1.SQL.Text:= 'Select Название, Стоимость, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=3';
form6.ADOQuery1.ExecSQL;
form6.ADOQuery1.Active:=True;
form6.ADOQuery2.Active:=False;
form6.ADOQuery2.Close;
form6.ADOQuery2.SQL.Text:= 'Select Название, Стоимость, Ед_измерения, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=3';
form6.ADOQuery2.ExecSQL;
form6.ADOQuery2.Active:=True;
form6.ADOQuery3.Active:=False;
form6.ADOQuery3.Close;
form6.ADOQuery3.SQL.Text:= 'select Sum (Сумма)from Учет_по_комп_оборудованию where id_отдела=3';
form6.ADOQuery3.ExecSQL;
form6.ADOQuery3.Active:=True;
form6.ADOQuery4.Active:=False;
form6.ADOQuery4.Close;
form6.ADOQuery4.SQL.Text:='select 'select Sum (Сумма)from Учет_по_сет_оборудованию where id_отдела=3';
form6.ADOQuery4.ExecSQL;
form6.ADOQuery4.Active:=True;
form6.Caption:='Учет оборудования отдела Кадров';
form6.show;
end;
procedure TForm2. N7Click (Sender: TObject);
begin
form6.ADOQuery1.Active:=False;
form6.ADOQuery1.Close;
form6.ADOQuery1.SQL.Text:= 'Select Название, Стоимость, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=4';
form6.ADOQuery1.ExecSQL;
form6.ADOQuery1.Active:=True;
form6.ADOQuery2.Active:=False;
form6.ADOQuery2.Close;
form6.ADOQuery2.SQL.Text:= 'Select Название, Стоимость, Ед_измерения, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=4';
form6.ADOQuery2.ExecSQL;
form6.ADOQuery2.Active:=True;
form6.ADOQuery3.Active:=False;
form6.ADOQuery3.Close;
form6.ADOQuery3.SQL.Text:= 'select Sum (Сумма)from Учет_по_комп_оборудованию where id_отдела=4';
form6.ADOQuery3.ExecSQL;
form6.ADOQuery3.Active:=True;
form6.ADOQuery4.Active:=False;
form6.ADOQuery4.Close;
form6.ADOQuery4.SQL.Text:= 'select Sum (Сумма)from Учет_по_сет_оборудованию where id_отдела=4';
form6.ADOQuery4.ExecSQL;
form6.ADOQuery4.Active:=True;
form6.Caption:='Учет оборудования Технического отдела';
form6.show;
end;
procedure TForm2. N8Click (Sender: TObject);
begin
form6.ADOQuery1.Active:=False;
form6.ADOQuery1.Close;
form6.ADOQuery1.SQL.Text:= 'Select Название, Стоимость, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=5';
form6.ADOQuery1.ExecSQL;
form6.ADOQuery1.Active:=True;
form6.ADOQuery2.Active:=False;
form6.ADOQuery2.Close;
form6.ADOQuery2.SQL.Text:='Select Название, Стоимость, Ед_измерения, Количество, Сумма from Учет_по_сет_оборудованию where id_отдела=5';
form6.ADOQuery2.ExecSQL;
form6.ADOQuery2.Active:=True;
form6.ADOQuery3.Active:=False;
form6.ADOQuery3.Close;
form6.ADOQuery3.SQL.Text:='select Sum (Сумма)from Учет_по_комп_оборудованию where id_отдела=5';
form6.ADOQuery3.ExecSQL;
form6.ADOQuery3.Active:=True;
form6.ADOQuery4.Active:=False;
form6.ADOQuery4.Close;
form6.ADOQuery4.SQL.Text:='select Sum (Сумма)from Учет_по_сет_оборудованию where id_отдела=5';
form6.ADOQuery4.ExecSQL;
form6.ADOQuery4.Active:=True;
form6.Caption:='Учет оборудования отдела Продаж';
form6.show;
end;
procedure TForm2. Button4Click (Sender: TObject);
begin
form7.show;
end;
procedure TForm2. Button5Click (Sender: TObject);
begin
form8.show;
end;
end.