Автор работы: Пользователь скрыл имя, 28 Декабря 2011 в 11:16, дипломная работа
В дипломном проекте рассмотрены общие подходы к реализации распределенных систем обработки данных на базе технологии клиент-сервер, а также задача создания действующей информационной системы на примере системы автоматизации расчетов с теплоснабжающими организациями предприятия ООО Альтернатива. Актуальность построения этой системы обусловлена резким ростом количества абонентов на информационное обслуживание предприятия ООО Альтернатива
Введение 4
1 Анализ технического задания 5
1.1 Техническое задание 5
1.2 Общие выводы из технического задания 5
2 Подходы к проектированию баз данных 6
2.1 Основные понятия теории реляционных баз данных 6
2.2 Сервер базы данных 10
2.2.1 Технология и модели "клиент-сервер" 10
2.2.2 Механизмы реализации активного ядра 18
2.2.3 Хранимые процедуры 19
2.2.4 Правила (триггеры) 20
2.2.5 Механизм событий 21
2.3 Обработка распределенных данных 21
2.4 Взаимодействие с PC-ориентированными СУБД 28
2.5 Обработка транзакций 31
2.6 Средства защиты данных в СУБД 35
2.7 Применение CASE-средств для информационного моделирования в системах обработки данных. 39
3 Реализация базы данных 40
3.1 Анализ существующей системы 41
3.2 Новая схема обмена информацией 42
3.3 Выбор операционной системы 42
3.4 Выбор сервера баз данных 43
3.5 Выбор средств разработки 44
3.6 Проектирование структуры базы данных 44
4 Реализация клиентского приложения 45
4.1 Назначение и состав клиентского приложения 45
4.2 Безопасность доступа к данным 45
4.2.1 Идентификация 45
4.2.2 Авторизация 46
4.2.3 Управление доступом на основе ролей 47
4.3 Алгоритм работы приложения 48
5 Разработка таблиц 48
5.1 Структура таблицы “nodes_prolog” 49
5.2 Структура таблицы “nodes_elektro” 50
5.3 Структура таблицы “ elektro_pokaz” 50
5.4 Структура таблицы “t943_name” 51
5.5 Структура таблицы “t942_name” 52
5.6 Структура таблицы “t943_name_totals” 52
5.7 Структура таблицы “t942_name_totals” 53
6 Руководство оператора 54
6.1 Запуск приложения 54
6.2 Начало работы 55
7 Экономическая часть 60
7.1 Особенности программного продукта как товара 60
7.2 Расчет затрат на изготовление подсистемы 60
7.3 Расчет экономической эффективности 69
8 Безопасность жизнедеятельности. Природопользование и охрана окружающей среды. 71
8.1 Краткое содержание дипломного проекта 71
8.2 Безопасность проекта 72
8.2.1 Вредные и опасные производственные факторы при работе с ПЭВМ 72
8.2.2 Электро- и пожаробезопасность на рабочем месте оператора ПЭВМ 73
8.2.2.1 Электробезопасность на рабочем месте 74
8.2.2.2 Пожарная безопасность на рабочем месте 76
8.2.3 Обеспечение микроклимата на рабочем месте. Освещенность, шум, вибрация 78
8.2.4 Расчет освещенности на рабочем месте оператора 79
8.2.4.1 Вводная часть 79
8.2.4.2 Описание помещения, в котором располагается рабочее место 79
8.2.4.3 Расчет освещенности на рабочем месте 80
8.2.4.4 Особенности освещения рабочих мест с видеотерминальными устройствами 82
8.2.4.5 Заключение 82
8.3 Эргономичность проекта 83
8.4 Природопользование проекта. Работа с видеодисплейными терминалами ПЭВМ. 85
8.5 Выводы по разделу 87
9 Выводы по выполненной работе 88
10 Список использованных источников 89
CREATE OR REPLACE FUNCTION insert_node(integer, integer, integer, integer, character varying, integer, integer, integer, character varying, character varying, character varying, character varying, character varying, character varying, character varying, integer, integer, character varying, character varying, character varying, character varying, integer)
RETURNS character varying AS
$BODY$
DECLARE
parent_id_r ALIAS FOR $1;
type_r ALIAS FOR $2;
model_r ALIAS FOR $3;
device_id_r ALIAS FOR $4;
channel_r ALIAS FOR $5;
RD_r ALIAS FOR $6;
RH_r ALIAS FOR $7;
abon_id_r ALIAS FOR $8;
name_node_r ALIAS FOR $9;
addres_r ALIAS FOR $10;
telefon_r ALIAS FOR $11;
fax_r ALIAS FOR $12;
otv_lic_r ALIAS FOR $13;
ingener_r ALIAS FOR $14;
comment_r ALIAS FOR $15;
nt_r ALIAS FOR $16;
type_sv_r ALIAS FOR $17;
tel_nomer_r ALIAS FOR $18;
ipaddres_r ALIAS FOR $19;
ipport_r ALIAS FOR $20;
tepl_org_r ALIAS FOR $21;
local_number_r ALIAS FOR $22;
p_count int4;
BEGIN
INSERT INTO "nodes_prolog"(
"parent_id", "type", "model", "device_id", "channel", "RD", "RH", "abon_id"
, "name_node", "addres",
"telefon", "fax", "otv_lic", "ingener", "comment", "nt", "type_sv", "tel_nomer",
"ipaddres", "ipport", "tepl_org","local_number")
VALUES (parent_id_r, type_r, model_r, device_id_r, channel_r, RD_r, RH_r, abon_id_r,
name_node_r, addres_r,
telefon_r, fax_r, otv_lic_r, ingener_r, comment_r, nt_r, type_sv_r, tel_nomer_r,
ipaddres_r, ipport_r,tepl_org_r,local_
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION insert_node(integer,
integer, integer, integer, character varying, integer, integer, integer,
character varying, character varying, character varying, character varying,
character varying, character varying, character varying, integer, integer,
character varying, character varying, character varying, character varying,
integer) OWNER TO "operator";
-- Function: update_node(integer,
integer, character varying, character varying, integer)
-- DROP FUNCTION update_node(integer,
integer, character varying, character varying, integer);
CREATE OR REPLACE FUNCTION update_node(integer, integer, character varying, character varying, integer)
RETURNS character varying AS
$BODY$
DECLARE
id_r ALIAS FOR $1;
local_number_r ALIAS FOR $2;
name_node_r ALIAS FOR $3;
addres_node_r ALIAS FOR $4;
abon_id_r ALIAS FOR $5;
local_number_rt int4;
BEGIN
UPDATE "nodes_prolog"
SET "abon_id"=abon_id_r, "name_node"=name_node_r, "addres"=addres_node_r,
"local_number"=local_number_r
WHERE "id" = id_r;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION update_node(integer,
integer, character varying, character varying, integer) OWNER TO "operator";
-- Function: update_node_elektro(integer,
character varying, character varying, character varying, integer, integer)
-- DROP FUNCTION update_node_elektro(integer,
character varying, character varying, character varying, integer, integer);
CREATE OR REPLACE FUNCTION update_node_elektro(integer, character varying, character varying, character varying, integer, integer)
RETURNS character varying AS
$BODY$
DECLARE
id_r ALIAS FOR $1;
node_name_r ALIAS FOR $2;
address_node_r ALIAS FOR $3;
type_r ALIAS FOR $4;
device_id_r ALIAS FOR $5;
abon_id_r ALIAS FOR $6;
BEGIN
UPDATE "nodes_elektro"
SET "abon_id"=abon_id_r, "name_node"=node_name_r, "addres"=address_node_r,
"device_id"=device_id_r, "type" = type_r
WHERE "id" = id_r;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION update_node_elektro(integer, character varying, character varying, character varying, integer, integer) OWNER TO "operator";