Escolar Documentos
Profissional Documentos
Cultura Documentos
Suponha que você foi contratado como engenheiro para desenvolver um sistema de
monitoramento de níveis de água em tanques de resfriamento de caldeiras. Seu
objetivo é projetar um diagrama de entidade e relacionamento (DER) para o sistema.
Atributos:
Atributos:
Atributos:
Entidade: Alerta
Atributos:
Atributos:
Comandos DDL:
Capacidade INTEGER,
Localizacao VARCHAR(255)
);
Valor INTEGER,
Data_e_hora DATETIME,
Tanque_ID INTEGER,
);
Valor INTEGER,
Tanque_ID INTEGER,
);
Tipo VARCHAR(255),
Data_e_hora DATETIME,
Nivel_de_agua_ID INTEGER,
);
Tanque_ID INTEGER,
Data_inicial DATETIME,
Data_final DATETIME,
);
Comandos DML:
INSERT INTO Tanque_de_resfriamento (ID, Capacidade, Localizacao) VALUES (1, 1000, 'Setor
A');
INSERT INTO Nivel_de_agua (ID, Valor, Data_e_hora, Tanque_ID) VALUES (1, 800, '2023-05-05
10:30:00', 1);
Views
FROM NivelDeAgua
Essa View combina informações da tabela Nível de água com informações da tabela Alerta. Ela
seleciona o ID, o valor e a data/hora de cada leitura de nível de água, o tipo e a data/hora de
cada alerta gerado quando o nível de água está abaixo do limite mínimo. A View usa as tabelas
Tanque de resfriamento e Limite mínimo de nível de água para determinar o limite mínimo
para cada tanque e filtrar apenas os alertas relevantes. O resultado final é uma tabela virtual
que fornece uma visão geral dos níveis de água e alertas de todos os tanques de resfriamento.
FROM NivelDeAgua
Essa View mostra o histórico de níveis de água de um tanque específico. Ela seleciona o ID e a
localização do tanque, além do valor e da data/hora de cada leitura de nível de água para o
tanque selecionado. A View usa as tabelas Nível de água e Tanque de resfriamento e é filtrada
pelo ID do tanque especificado na cláusula WHERE. O resultado final é uma tabela virtual que
fornece uma visão detalhada do histórico de níveis de água para um tanque específico.
Procedure
@id_tanque INT,
@valor_nivel FLOAT,
@data_hora DATETIME
AS
BEGIN
END
END
@id_tanque INT,
@data_inicial DATETIME,
@data_final DATETIME
AS
BEGIN
FROM nivel_agua
END
Functions
BEGIN
LIMIT 1;
RETURN lastLevel;
END
BEGIN
SET report = CONCAT('Relatório de tendências de níveis de água para o tanque ', tankId, '
entre ', startDate, ' e ', endDate, ':');
INTO report
WHERE `ID do tanque` = tankId AND `Data e hora` BETWEEN startDate AND endDate
RETURN report;
END
Trigger
BEGIN
END;