Курсовая работа: Разработка физической модели базы данных "Учёт характеристик сигналов телемеханики"
Далее рассмотрим, как формируется единственный выходной документ бизнес-процесса «Учёт сигналов телемеханики»: Данные по характеристикам сигналов ПЛК (Приложение 4). В этом участвуют 5 хранимых процедур и вызываются в следующей последовательности:
Пользователь выбирает название РНУ, затем номер ПЛК, ему принадлежащего и в конечном итоге процедуры FetchtTITRSignalsOnPLC и FetchtTUTSSignalsOnPLC возвращают данные по характеристикам затребованных сигналов. В выходной форме сигналы делятся на 4 группы по типу, каждая группа располагается на отдельном листе. Эти хранимые процедуры обеспечивают выборку каждой группы сигналов по отдельности. Таким образом, клиентскому приложению нет необходимости разделять сигналы самостоятельно. Кроме того на каждом листе сигналы сортируются по полю «Адрес МЭК» в возрастающем порядке. Такая форма наиболее удобна для телемехаников.
Почему физическая модель БД включает 4 на первый взгляд по сути одинаковые хранимые процедуры: FetchtTITRSignalsOnPLC, FetchtTUTSSignalsOnPLC, GetTITRSignalsOnPLC, GetTUTSSignalsOnPLC? Отличие первых двух от других заключается в том, что они не предусматривают возможности выборки сигналов только какого-либо одного типа, а особенности организации представления данных в клиентском приложении этого требуют, поэтому были написаны ещё две функции. Вот код одной из них:
CREATE PROC FetchtTITRSignalsOnPLC
@NameRNU VARCHAR(50),
@NumberPLC INT,
@isTISignal BIT
AS
DECLARE @ID_PLC INT
exec @ID_PLC = FindPLC @NameRNU, @NumberPLC, 1
IF @ID_PLC = 0 RETURN
SELECT NameSignal [Наименование сигнала], NameDataType
[Тип данных], MEKAdress [Адрес МЭК], MaxEnginGrade
[Max инж. ранг], MinEnginGrade [Min инж. ранг],
MaxPhysicGrade [Max физ. ранг], MinPhysicGrade
[Min физ. ранг], Comment [Примечания]
FROM (SELECT *
FROM TITRSignals s
WHERE s.ID_PLC = @ID_PLC AND
isDeleted != 1 AND isTISignal = @isTISignal) s
INNER JOIN DataTypes d
ON s.ID_DataType = d.ID_DataType
ORDER BY MEKAdress ASC
Помимо ввода данных по заявке и генерации выходной формы физическая модель БД также обеспечивает доступ к данным о последней заявке, по которой в характеристики определённого сигнала вносились изменения. Реализуется это с помощью следующей хранимой процедуры:
ALTER PROCEDURE [dbo].[GetRequestOnSignalFields]
@NameRNU VARCHAR(50),
@NumberPLC INT,
@MEKAdress SMALLINT,