МИНОБРНАУКИ РОССИИ
ФГОБУ ВПО «Ухтинский государственный технический университет»
Технический колледж
ОТЧЕТ
по производственной практике
Выполнил:
студент гр. АИС-09 Шубин Д. А.
Проверил:
преподаватель Мартюшев С. М.
Ухта 2012
Оглавление
Введение 3
1. Постановка задачи 4
2. Проектирование системы 5
2. Описание процесса разработки 10
4. Инструкция пользователя 20
5. Исходный код процедур и функций 25
Введение
Я проходил производственную практику в техническом колледже при Ухтинском государственном техническом университете. Моя работа заключалась в автоматизации процесса учета материальных ценностей. Для решения данной задачи необходимо было разработать информационную систему.
1. Постановка задачи
Целью работы – разработка информационной системы для автоматизации учета компьютеров, оргтехники и других материальных ценностей, использующихся в техническом колледже.
Автоматизация данного процесса сделает этот учет более эффективным, позволит укорить поиск информации об устройствах и материальных ценностях.
Разрабатываемая информационная система должна выполнять следующие функции:
- хранение, добавление, редактирование и удаление информации об устройствах и материальных ценностях;
- поиск информации об устройствах и материальных ценностях;
- формировать отчеты в виде HTML-документов.
2. Проектирование системы
В качестве средства разработки информационной системы была выбрана IDE Delphi XE компании Embarcadero.
В качестве языка программирования был выбран Delphi.
Для доступа к информации, хранящейся в базе данных, используется технология ActiveX Data Objects (ADO).
Для хранения информации используется база данных в формате Microsoft Access 2003.
Для хранения обрабатываемой информации была спроектирована и реализована база данных. Описание структуры таблиц представлены в следующих таблицах.
Структура таблицы «dep» - подразделения.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
iddep |
Счетчик |
Длинное целое |
Код подразделения, первичный ключ |
2 |
depname |
Текстовый |
255 |
Название подразделения |
Структура таблицы «ip» - IP адреса.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idip |
Счетчик |
Длинное целое |
Код IP-адреса, первичный ключ |
2 |
ipname |
Текстовый |
255 |
IP-адрес |
3 |
iddep |
Числовой |
Длинное целое |
Внешний ключ |
Структура таблицы «ipcomp» - привязка компьютеров к IP.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idip |
Числовой |
Длинное целое |
Код IP-аредса, первичный ключ |
2 |
idobj |
Числовой |
Длинное целое |
Код устройства |
Структура таблицы «mc» - материальные ценности.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idmc |
Счетчик |
Длинное целое |
Код материальной ценности, первичный ключ |
2 |
mcname |
Текстовый |
255 |
Название материальной ценности |
3 |
mcinvn |
Текстовый |
255 |
Инвентарный номер |
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
4 |
mccenaitog |
Числовой |
Двойное с плавающей точкой |
Стоимость |
5 |
mckolitog |
Числовой |
Длинное целое |
Количество |
6 |
mcyear |
Числовой |
Длинное целое |
Год |
7 |
idmol |
Числовой |
Длинное целое |
Код ответственного лица |
Структура таблицы «men» - сотрудники.
№ |
Имя поля |
Тип данных |
Размер поля |
Формат поля |
Описание |
1 |
idmen |
Счетчик |
Длинное целое |
|
Код пользователя, первичный ключ |
2 |
fiomen |
Текстовый |
255 |
|
Имя пользователя |
3 |
mol |
Логический |
|
Да/Нет |
Поле определяет, является ли пользователь ответственным лицом |
Структура таблицы «obj» - реальные объекты (устройства, вещи).
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idobj |
Счетчик |
Длинное целое |
Код устройства, первичный ключ |
2 |
objname |
Текстовый |
255 |
Название устройства |
3 |
idtip |
Числовой |
Длинное целое |
Внешний ключ |
4 |
idobjrel |
Числовой |
Длинное целое |
Поле определяет, в составе чего находится данное устройство |
5 |
nobj |
Текстовый |
255 |
Серийный номер |
Структура таблицы «objmc» - привязка объектов к материальным ценностям.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idobj |
Числовой |
Длинное целое |
Код устройства, первичный ключ |
2 |
idmc |
Числовой |
Длинное целое |
Код материальной ценности |
Структура таблицы «objplace» - местоположение объектов.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idobj |
Числовой |
Длинное целое |
Код устройства, первичный ключ |
2 |
idplace |
Числовой |
Длинное целое |
Код кабинета |
Структура таблицы «objuse» - использование объектов сотрудниками.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idmen |
Числовой |
Длинное целое |
Код пользователя, первичный ключ |
2 |
idobj |
Числовой |
Длинное целое |
Код устройства, первичный ключ |
Структура таблицы «place» - местоположения.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idplace |
Счетчик |
Длинное целое |
Код кабинета |
2 |
placename |
Текстовый |
255 |
Название кабинета |
Структура таблицы «tip» - тип устройств.
№ |
Имя поля |
Тип данных |
Размер поля |
Описание |
1 |
idtip |
Счетчик |
Длинное целое |
Код типа устройства |
2 |
tipname |
Текстовый |
255 |
Название типа устройства |
Для поддержки целостности данных была создана схема данных (см. рисунок 1).
Рисунок 1. Схема данных
Для удобства работы и наглядности представления данных были созданы запросы
Запрос «vdep»
SELECT dep.depname, dep.iddep
FROM dep
ORDER BY dep.depname;
Запрос «vip»
SELECT ip.ipname, dep.depname, ip.idip
FROM dep INNER JOIN ip ON dep.iddep = ip.iddep
ORDER BY ip.ipname;
Запрос «viponly»
SELECT ip.idip, ip.ipname
FROM ip
ORDER BY ip.ipname;
Запрос «vmcall»
SELECT [mc]![mcinvn]+'___'+[mc]![mcname] AS fullmcname, mc.idmc
FROM mc
ORDER BY [mc]![mcinvn]+'___'+[mc]![mcname];
Запрос «vMCforOBJ»
SELECT mc.idmc, obj.idobj, mc.mcname, mc.idmol
FROM obj INNER JOIN (mc INNER JOIN objmc ON mc.idmc = objmc.idmc) ON obj.idobj = objmc.idobj
ORDER BY mc.mcname;
Запрос «vmcnotobj»
SELECT mc.idmc, mc.mcinvn, mc.mcname, objmc.idmc
FROM mc LEFT JOIN objmc ON mc.idmc = objmc.idmc
WHERE (((objmc.idmc) Is Null))
ORDER BY mc.mcinvn;
Запрос «vmen»
SELECT men.fiomen, men.idmen
FROM men
ORDER BY men.fiomen;
Запрос «vmol»
SELECT men.fiomen, men.idmen, men.mol
FROM men
WHERE (((men.mol)=True))
ORDER BY men.fiomen;
Запрос «vobjmc»
SELECT mc.idmc, mc.mcinvn, mc.mcname, objmc.idobj, obj.objname
FROM obj INNER JOIN (mc INNER JOIN objmc ON mc.idmc = objmc.idmc) ON obj.idobj = objmc.idobj
ORDER BY mc.mcinvn;
Запрос «vobjroot»
SELECT [obj]![objname]+'___ '+[obj]![nobj] AS fullobjname, obj.idobj, obj.idobjrel
FROM obj
WHERE (((obj.idobjrel) Is Null))
ORDER BY [obj]![objname]+'___ '+[obj]![nobj];
Запрос «vplace»
SELECT place.placename, place.idplace
FROM place
ORDER BY place.placename;
Запрос «vreport»
SELECT mc.idmc, obj.idobj, mc.mcname, obj.objname, mc.mcinvn, mc.mccenaitog, mc.mckolitog, mc.mcyear
FROM obj INNER JOIN (mc INNER JOIN objmc ON mc.idmc = objmc.idmc) ON obj.idobj = objmc.idobj;
Запрос «vtip»
SELECT tip.tipname, tip.idtip
FROM tip
ORDER BY tip.tipname;