47477 (Контроль и учет технического состояния магистральных трубопроводов, транспортирующих огнеопасные продукты), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Контроль и учет технического состояния магистральных трубопроводов, транспортирующих огнеопасные продукты", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47477"

Текст 3 страницы из документа "47477"

Трубопровод


Участки трубопровода

Примечания


Обследования с целью продления срока службы

Ремонт на участков


Ревизия участков


Диагностика участков

Транспортируемые продукты


Отказы участков


Испытания участков

Категория трубопроводов


Тип изоляции


Тип и вид трубопроводов


Тип попутного обогрева

Предприятие


Тип ингибитора


Строительно-монтажные организации


Рис. 1. ER – диаграмма.

Переход от ER-диаграммы к схеме базы данных осуществляется по следующим правилам:

  • сущности преобразуются в таблицы,

  • связи один ко многим преобразуются во внешние ключи,

  • связи многие ко многим преобразуются в таблицы.

Полученная по этим правилам схема базы данных расположена на рисунке 2.

Рис. 2.

    1. Хранимые процедуры

Хранимая процедура для удаления записи из таблицы «Трубопроводы»:

CREATE PROCEDURE spDelPipeline(@Id uniqueidentifier) AS

DELETE FROM CommentaryPipeline

WHERE Id_Pipeline = @id

DELETE FROM InspectionPipeline

WHERE Id_Pipeline = @id

Delete from RevisionPartsPipeline where

RevisionPartsPipeline.id_RevisionPartsPipeline in

(select RevisionPartsPipeline.id_RevisionPartsPipeline from

((Pipeline inner join PartsPipeline on Pipeline.id_Pipeline = PartsPipeline.id_Pipeline) inner join

RevisionPartsPipeline on PartsPipeline.id_PartsPipeline = RevisionPartsPipeline.id_PartsPipeline)

where Pipeline.id_Pipeline=@id)

Delete from TestPartsPipeline where

TestPartsPipeline.id_TestPartsPipeline in

(select TestPartsPipeline.id_TestPartsPipeline from

((Pipeline inner join PartsPipeline on Pipeline.id_Pipeline = PartsPipeline.id_Pipeline) inner join

TestPartsPipeline on PartsPipeline.id_PartsPipeline = TestPartsPipeline.id_PartsPipeline)

where Pipeline.id_Pipeline=@id)

Delete from RefusalPartsPipeline where

RefusalPartsPipeline.id_RefusalPartsPipeline in

(select RefusalPartsPipeline.id_RefusalPartsPipeline from

((Pipeline inner join PartsPipeline on Pipeline.id_Pipeline = PartsPipeline.id_Pipeline) inner join

RefusalPartsPipeline on PartsPipeline.id_PartsPipeline = RefusalPartsPipeline.id_PartsPipeline)

where Pipeline.id_Pipeline=@id)

Delete from DiagnosticPartsPipeline where

DiagnosticPartsPipeline.id_DiagnosticPartsPipeline in

(select DiagnosticPartsPipeline.id_DiagnosticPartsPipeline from

((Pipeline inner join PartsPipeline on Pipeline.id_Pipeline = PartsPipeline.id_Pipeline) inner join

DiagnosticPartsPipeline on PartsPipeline.id_PartsPipeline = DiagnosticPartsPipeline.id_PartsPipeline)

where Pipeline.id_Pipeline=@id)

Delete from RepairPartsPipeline where

RepairPartsPipeline.id_RepairPartsPipeline in

(select RepairPartsPipeline.id_RepairPartsPipeline from

((Pipeline inner join PartsPipeline on Pipeline.id_Pipeline = PartsPipeline.id_Pipeline) inner join

RepairPartsPipeline on PartsPipeline.id_PartsPipeline = RepairPartsPipeline.id_PartsPipeline)

where Pipeline.id_Pipeline=@id)

DELETE FROM PartsPipeline

WHERE Id_Pipeline=@id

DELETE FROM Pipeline

WHERE Id_Pipeline=@Id

GO

Хранимая процедура для удаления записи из таблицы «Транспортируемые продукты» :

CREATE PROCEDURE SPDelDic_ClassTransportProductTE(@idrec uniqueidentifier) AS

DECLARE @ins_error int, @ROWCOUNT int

BEGIN TRANSACTION TranName

DELETE FROM DIC_CLASSTRANSPORTPRODUCTTE

WHERE Id_Dic_ClassTransportProductTE = @idrec

select @ROWCOUNT=@@ROWCOUNT, @ins_error=@@error

if @ins_error=0

begin

COMMIT TRANSACTION TranName

return (0)

end

else

begin

ROLLBACK TRAN TranName

return (1)

end

GO

    1. Запросы

Запрос на добавления записи в таблицу «Трубопроводы»:

SQLStr.Add('INSERT INTO dbo.PartsPipeline (Id_PartsPipeline, Id_Pipeline, '+

'NameParts, NameProjectOrganizations, DateEndConstract, DatePutting, '+ 'DateEndServiceLife, DateLeavePutting, DepartureTehPar, '+ 'Id_Dic_ClassDBAOrganizationsTE, 'Id_Dic_ClassTypeIsolationTE, '+ Id_Dic_ClassTypeHeatingTE, Id_Dic_ClassTypeInhibitorTE, '+

'IncutDate, Length, StellGrade, OuterDiameter, WorkingPressure, WorkingTemperature, '+

'NominalThickness, ActualThickness, VelocityCorrosion, '+

'MotiveLeavePutting, NumberProject) '+

'VALUES ('''+ Id_PartsPipeLine +''', '+

''''+ Id_Pipeline +''', '+

''''+ memNameParts.text +''', '+

''''+ memNameProjectOrg.text +''','+

''+ DateTimeToStrDB(deDateEndConstract.Date,' : ') +', '+

''+ DateTimeToStrDB(deDatePutting.Date,' : ') +', '+

''+ DateTimeToStrDB(deDateEndServiceLife.Date,' : ') +', '+

''+ DateTimeToStrDB(deDateLeavePutting.Date,' : ') +', '+

''''+ memDepartureTehPar.text +''', '+

Id_ClassDBAOrganizations +', '+

Id_ClassTypeIsolation +', '+

Id_ClassTypeHeating +', '+

Id_ClassTypeInhibitor +', '+

''+ DateTimeToStrDB(deIncutDate.Date,' : ') +', '+

''''+ edtLength.text +''', '+

''''+ edtStellGrade.text +''', '+

''''+ edtOuterDiameter.text +''', '+

''''+ edtWorkingPressure.text +''', '+

''''+ edtWorkingTemperature.text +''', '+

''''+ edtNominalThickness.text +''', '+

''''+ edtActualThickness.text +''', '+

''''+ edtVelocityCorrosion.text +''', '+

''''+ memMotiveLeavePutting.text +''', '+

''''+ edtNumberProject.text +''')');

Запрос на обновление записи примечания к трубопроводу в таблице «Примечания»:

MemberCommentary.Add('UPDATE dbo.CommentaryPipeline SET '+

'Commentary = '''+ Data.Commentary +''', '+

'DateCommentary = '+ ConvertFormatDate(Data.DateCommentary) +' '+

' WHERE Id_CommentaryPipeline = '''+ Data.Id_Commentary +''' ');

    1. Выбор модели базы данных

Существую три дореляционных подхода к организации баз данных:

  • системы, основанные на инвертированных списках,

  • иерархические системы,

  • сетевые системы.

Одними из современных подходов к организации баз данных являются объектно-ориентированный и реляционный.

Данные в рамках рассматриваемой предметной области сильно структурированы. В данной работе использована реляционная модель, поскольку она является наиболее эффективной для представления такого рода данных.

    1. Организация взаимодействия с пользователем

Пользовательский интерфейс должен предоставлять следующие функции:

  • поиск по типу;

  • поиск по виду;

  • поиск по наименованию трубопровода;

  • поиск по категории трубопровода;

  • поиск по транспортируемым продуктам;

  • поиск по регистрационному номеру ФСТН;

  • поиск по дате регистрации в ФСТН;

  • поиск по регистрационному номеру СТН;

  • поиск по дате регистрации в СТН;

  • поиск по месторождению;

3. ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ

    1. 3.1 Выбор средства разработки

Для реализации данного проекта был выбран язык Delphi. Будучи языком высокого уровня, он всё же предоставляет программисту полный контроль над машиной, позволяет переходить на язык более низкого уровня (ассемблер). Delphi является стандартом для приложений, где нужно быстродействие и малый размер кода при достаточно глобальных масштабах проекта.

В качестве рабочей среды разработки пользовательского приложения программы использовался Delphi 2005. Выбор именно этой среды разработки был обусловлен целым рядом факторов – эта среда позволяет быстро создавать приложения различной сложности, также она поддерживает все современные наработки как в собственно языке Pascal, так и разнообразных библиотек, необходимых для разработки.

    1. 3.2 Выбор СУБД

Для решения поставленной задачи СУБД должна отвечать следующим требованиям:

  • реляционная модель представления данных,

  • поддержка многопользовательского режима работы,

  • работа на платформе Windows 2000 и выше.

Предъявленным требованиям отвечают следующие СУБД:

  • Microsoft SQL Server 2000,

  • Oracle,

  • IBM DB-2.

СУБД DB-2 может обслуживать до 64 000, а Oracle до 10 000 одновременно работающих пользователей [8]. Использование их в рамках данного проекта является не целесообразным расходованием ресурсов.

На этапе разработки системы была построена реализация с использованием базы данных на MS Access. Тестовая эксплуатация в сети Интернет показала правильность выбранных методов решения поставленной задачи. Было выявлено, что MS Access не выдерживает необходимые нагрузки, это выражается в увеличении времени ответа системы. Система интерактивная и подобные задержки недопустимы.

Из выше перечисленного следует, что в данном проекте необходимо использовать СУБД MS SQL Server 2000.

    1. 3.3 Описание системы

Для настройки работы программы формируется файл DataBase.ini. В этом файле необходимо прописать провайдера, имя базы данных и имя сервера к которому будет происходить обращение. Также необходимо указать путь к справочникам, к которым происходит обращение при работе пользовательского приложения. Пример файла конфигурации представлен в приложении 1.

Пользовательский интерфейс

Пользовательский интерфейс системы состоит из трех панелей. В верхней части экрана расположена «Инструментальная» панель. Панель содержит кнопки для управления записями в базе данных.

На верхней панели расположена форма «Трубопроводы». Форма предназначена для отображения основных сведений о трубопроводе.

На нижней панели расположена форма «Участки трубопровода». В процессе работы с системой отображает все участки выделенного трубопровода.

В строке состояния отображается информация, когда и кем были произведены последние изменения выделенной записи.

При добавление нового трубопровода или участка трубопровода, необходимо выбрать тип добавляемой записи.

Форма добавления нового «Трубопровода».

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

Внизу находятся две кнопки управления: ОК, Отмена. При нажатии кнопки Отмена, пользователь отказывается от добавления нового трубопровода. При нажатии ОК, пользователь подтверждает добавление нового трубопровода и правильность введенных данных.

Форма редактирования «Трубопровода».

При выборе пользователем режима редактирования, поля на форме автоматически заполняются данными, которые содержаться в базе. Пользователь в этом режиме может осуществлять редактирование данных. При выборе кнопки ОК, пользователь подтверждает сохранение измененных данных. После обновления данных форма редактирования закрывается. При нажатии кнопки Отмена, пользователь завершает редактирование данных о трубопроводе без сохранения данных. При нажатии кнопки Сохранить, пользователь подтверждает сохранение данных с дальнейшим редактированием их.

Форма просмотра «Трубопровода».

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее