Проектирование базы данных
Для реализации поставленной задачи необходимо создать таблицы: · «Трубопроводы», · «Участки трубопроводов», · «Примечание», · «Обследование с целью продления срока службы», · «Ремонт на участках», · «Ревизия участков трубопроводов», · «Диагностика участков трубопроводов», · «Испытание участков трубопроводов», · «Отказы на участках». «Трубопроводы». В этой таблице хранятся основные данные. - «Вид». Значение этого атрибута является вид трубопровода. Вид трубопровода выбирается пользователем из справочника «Виды трубопровода». - «Наименование трубопровода». Значением этого атрибута является название трубопровода, задаваемое пользователем. - «Наименование начала линии(трубы)». Значением этого атрибута является название начала линии, задаваемой пользователем. - «№ точки подключения». Значением этого атрибута является номер точки подключения, задаваемой пользователем. - «Наименование конца линии(трубы)». Значением этого атрибута является название конца линии, задаваемой пользователем. - «Количество отказов». Значением этого атрибута является числовое значение, соответствующее количеству отказов трубопровода. - «Категория трубопровода». Значением этого атрибута является категория трубопровода, выбираемая пользователем из справочника «Категория трубопровода». - «Транспортируемый продукт». Значением этого атрибута является транспортируемый продукт, выбираемый пользователем из справочника «Транспортируемые продукты». - «Регистрационный № ФСТН». Значением этого атрибута является номер регистрации в ФСТН, который выдается при регистрации объекта. - «Дата регистрации в ФСТН». Значением этого атрибута является дата регистрации в ФСТН.
- «Регистрационный № СТН(ОТН)». Значением этого атрибута является номер регистрации в СТН, который выдается при регистрации объекта. - «Дата регистрации в СТН(ОТН)». Значением этого атрибута является дата регистрации в СТН. - «Регистрационный № СПК». Значением этого атрибута является номер регистрации в СТН, который выдается при регистрации объекта - «Дата регистрации в СПК». Значением этого атрибута является дата регистрации в СПК. - «Дата снятия с регистрации в ФСТН». Значением этого атрибута является дата снятия с регистрации в ФСТН. - «Дата снятия с регистрации в СТН(ОТН)». Значением этого атрибута является дата снятия с регистрации в СТН. - «Дата снятия с регистрации в СПК». Значением этого атрибута является дата снятия регистрации в СПК. - «Организация местоположения». Значением этого атрибута является полный список организаций, которым принадлежит трубопровод. - «Месторождение». Значением этого атрибута является наименования месторождение, выбираемое пользователем из справочника «Месторождения». - «Место установки». Значением этого атрибута является наименование предприятия, где установлен трубопровод. - «Отношение к ОПО». Значением этого атрибута является наименование опасных промышленных объектов, который выбирается пользователем. - «Владелец». Значением этого атрибута является наименование владельца предприятия которому принадлежит трубопровод. - «Дополнительная информация». Значением этого атрибута является дополнительные сведения о трубопроводе, вводимые пользователем. «Участки трубопроводов». В этой таблице хранятся данные, которые содержат информацию об участках трубопроводов. - «Трубопровод». Значением этого атрибута является указатель на трубопровод к которому принадлежит примечание. - «Наименование участка». Значением этого атрибута является название участка трубопровода, задаваемое пользователем.
- «Дата врезки». Значением этого атрибута является дата, когда была осуществлена врезка трубопровода. - «Протяженность (м)». Значением этого атрибута является протяженность участка трубопровода. - «Марка стали, ГОСТ или ТУ». Значением этого атрибута является марка стали из которой сделан трубопровод. - «Наружный диаметр (мм)». Значением этого атрибута является наружный диаметр трубопровода. - «Рабочее давление, кгс/кв.см(Мпа)». Значением этого атрибута является рабочее давление трубопровода. - «Рабочая температура стенки, град. С». Значениме этого атрибута является рабочая температура стенки участка трубопровода. - «Тип изоляции». Значением этого атрибута является тип изоляции, выбираемый пользователем из справочника «Тип изоляции». - «Тип попутного обогрева». Значением этого атрибута является тип попутного обогрева, выбираемый пользователем из справочника «Тип попутного обогрева». - «Марка ингибитора». Значением этого атрибута является марка ингибитора, выбираемая пользователем из справочника «Марка ингибитора». - «Номинальная толщина (мм)». Значением этого атрибута является номинальная толщина участка трубопровода. - «Фактическая толщина стенок (мм)». Значением этого атрибута является фактическая толщина стенок, которая вычисляется при проведении экспертизы. - «Скорость коррозии, мм/год». Значением этого атрибута является скорость коррозии трубопровода. - «Номер проекта». Значением этого атрибута является номер проекта. - «Наименование проектной организации». Значением этого атрибута является наименование проектной организации, которая выбирается пользователем из справочника «Проектные организации» - «Наименование строительно-монтажной организации». Значением этого атрибута является наименование строительно-монтажной организации, которая выбирается пользователем из справочника «Строительно-монтажные организации». - «Дата окончания строительства». Значением этого атрибута является дата окончания строительства участка трубопровода. - «Дата ввода в эксплуатацию». Значением этого атрибута является дата ввода в эксплуатацию участка трубопровода.
- «Дата окончания службы». Значением этого атрибута является дата окончания срока службы участка трубопровода. - «Выявленные отклонения от технических параметров». Значением этого атрибута является выявленные отклонения от технических параметров в ходе эксплуатации. - «Дата вывода из эксплуатации». Значением этого атрибута является дата вывода участка трубопровода из эксплуатации. - «Причина вывода из эксплуатации». Значением этого атрибута является информации содержащая причины вывода участка трубопровода из эксплуатации. «Примечание». В этой таблице хранятся данные, которые могут понадобиться для правильного и быстрого анализа ситуации. - «Трубопровод». Значением этого атрибута является указатель на трубопровод к которому принадлежит примечание. - «Дата примечания». Значением данного атрибута является дата, когда примечание было добавлено. - «Примечание». Значением этого атрибута является дополнительные сведения о трубопроводе, вводимые пользователем. «Обследование с целью продления срока службы». В этой таблице хранятся данные, содержащие информацию об обследовании проводившегося с целью продления срока службы трубопровода. - «Трубопровод». Значением этого атрибута является указатель на трубопровод к которому принадлежит обследование. - «Дата обследования с целью продления службы». Значением этого атрибута является дата проведения обследование для продления срока службы трубопровода. - «Наименование организации, проводившей обследование». Значением этого атрибута является наименование организации проводившей обследование. - «Ф.И.О. эксперта». Значением этого атрибута является Ф.И.О. эксперта, который проводил обследование трубопровода. - «Выявленные отклонения от технических параметров». Значением этого атрибута является выявленные экспертом отклонения от нормы. - «Дата завершения эксплуатации». Значением этого атрибута является дата завершения эксплуатации трубопровода. - «Заключение». Значением этого атрибута является заключение составленное экспертом в результате обследования трубопровода.
- «Номер заключения». Значением этого атрибута является номер заключения. - «Регистрационный номер заключения в ФСТН». Значением этого атрибута является номер заключения в ФСТН, которое регистрируется после обследования трубопровода и составления экспертом заключения. «Ревизия участков». В этой таблице хранятся данные, содержащие всю информацию о проводившихся ревизиях на участке трубопровода. - «Участок трубопровода». Значением этого атрибута является указатель на участок трубопровода к которому относится ревизия. - «Дата обследования». Значением этого атрибута является дата проведения ревизии на участке трубопровода. - «Наименование организации, проводившей обследование». Значением этого атрибута является наименование организации проводившей ревизию участка трубопровода. - «Ф.И.О. эксперта». Значением этого атрибута является Ф.И.О. эксперта, который проводил ревизию участка трубопровода. - «Дата следующего обследования». Значением этого атрибута является дата следующего проведения ревизии. - «Периодичность». Значением этого атрибута является периодичность проведения ревизий на участке трубопровода. - «Дата заключения». Значением этого атрибута является дата заключения, когда было сделано заключение на основе ревизии. - «Номер заключения». Значением этого атрибута является номер заключения. - «Заключение». Значением этого атрибута является заключение которое было сделано экспертом в ходе проведения ревизии. «Испытания участков». В этой таблице хранятся данные, содержащие всю информацию о проводившихся испытаниях на участке трубопровода. - «Участок трубопровода». Значением этого атрибута является указатель на участок трубопровода к которому относится испытание. - «Дата обследования». Значением этого атрибута является дата проведения испытания на участке трубопровода. - «Наименование организации, проводившей обследование». Значением этого атрибута является наименование организации проводившей испытание участка трубопровода. - «Ф.И.О. эксперта». Значением этого атрибута является Ф.И.О. эксперта, который проводил испытание участка трубопровода. - «Дата следующего обследования». Значением этого атрибута является дата следующего проведения испытания. - «Периодичность». Значением этого атрибута является периодичность проведения испытаний на участке трубопровода. - «Дата заключения». Значением этого атрибута является дата заключения, когда было сделано заключение на основе испытания.
- «Номер заключения». Значением этого атрибута является номер заключения. - «Заключение». Значением этого атрибута является заключение которое было сделано экспертом в ходе проведения испытания. «Диагностика участков». В этой таблице хранятся данные, содержащие всю информацию о проводившихся диагностиках на участке трубопровода. - «Участок трубопровода». Значением этого атрибута является указатель на участок трубопровода к которому относится диагностика. - «Дата обследования». Значением этого атрибута является дата проведения диагностики на участке трубопровода. - «Наименование организации, проводившей обследование». Значением этого атрибута является наименование организации проводившей диагностику участка трубопровода. - «Ф.И.О. эксперта». Значением этого атрибута является Ф.И.О. эксперта, который проводил диагностику участка трубопровода. - «Дата следующего обследования». Значением этого атрибута является дата следующего проведения диагностики. - «Периодичность». Значением этого атрибута является периодичность проведения диагностик на участке трубопровода. - «Дата заключения». Значением этого атрибута является дата заключения, когда было сделано заключение на основе диагностики. - «Номер заключения». Значением этого атрибута является номер заключения. - «Заключение». Значением этого атрибута является заключение которое было сделано экспертом в ходе проведения диагностики. «Ремонт участков». В этой таблице хранятся данные, содержащие всю информацию о проводившихся ремонтах на участке трубопровода. - «Участок трубопровода». Значением этого атрибута является указатель на участок трубопровода к которому относится ремонт. - «Дата поломки». Значением этого атрибута является дата поломки участка трубопровода. - «Дата начала ремонта». Значением этого атрибута является дата начала ремонта участка трубопровода. - «Заключение о поломке». Значением этого атрибута является заключение о поломке участка трубопровода. - «Дата конца ремонта». Значением этого атрибута является дата окончания ремонта участка трубопровода. - «Выполненные работы». Значением этого атрибута является информация которая содержит перечень всех выполненных работ в ходе ремонта участка трубопровода. Описанные сущности представлены на ER-диаграмме на рис. 1.
Рис. 1. ER – диаграмма. Переход от ER-диаграммы к схеме базы данных осуществляется по следующим правилам: · сущности преобразуются в таблицы, · связи один ко многим преобразуются во внешние ключи, · связи многие ко многим преобразуются в таблицы. Полученная по этим правилам схема базы данных расположена на рисунке 2. Рис. 2.
Хранимые процедуры
Хранимая процедура для удаления записи из таблицы «Трубопроводы»: 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
Запросы
Запрос на добавления записи в таблицу «Трубопроводы»: 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 +''' ');
Выбор модели базы данных
Существую три дореляционных подхода к организации баз данных: · системы, основанные на инвертированных списках, · иерархические системы, · сетевые системы. Одними из современных подходов к организации баз данных являются объектно-ориентированный и реляционный. Данные в рамках рассматриваемой предметной области сильно структурированы. В данной работе использована реляционная модель, поскольку она является наиболее эффективной для представления такого рода данных.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|