forked from SENAISP-Unid601-Projetos/ControlTech
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathControlTech.sql
More file actions
72 lines (62 loc) · 2.15 KB
/
ControlTech.sql
File metadata and controls
72 lines (62 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
create database Controltech;
use controltech;
CREATE TABLE usuarios (
id_usuario INT PRIMARY KEY AUTO_INCREMENT,
codigo_barras_usuario VARCHAR(50) UNIQUE NOT NULL,
nome VARCHAR(255) NOT NULL,
tipo ENUM('aluno', 'professor') NOT NULL
);
CREATE TABLE ferramentas (
id_ferramenta INT PRIMARY KEY AUTO_INCREMENT,
codigo_barras_ferramenta VARCHAR(50) UNIQUE NOT NULL,
nome VARCHAR(255) NOT NULL,
descricao TEXT
);
CREATE TABLE registros (
id_registro INT PRIMARY KEY AUTO_INCREMENT,
id_usuario INT NOT NULL,
id_ferramenta INT NOT NULL,
data_hora_retirada DATETIME NOT NULL,
data_hora_devolucao DATETIME,
-- Definindo as chaves estrangeiras para conectar as tabelas
FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario) ON DELETE NO ACTION,
FOREIGN KEY (id_ferramenta) REFERENCES ferramentas(id_ferramenta) ON DELETE NO ACTION
);
INSERT INTO usuarios (codigo_barras_usuario, nome, tipo) VALUES
('U001', 'Alice Silva', 'aluno'),
('U002', 'Bruno Costa', 'aluno'),
('U003', 'Carlos Lima', 'professor'),
('U004', 'Daniela Soares', 'professor');
INSERT INTO ferramentas (codigo_barras_ferramenta, nome, descricao) VALUES
('F001', 'Chave de fenda', 'Ferramenta para apertar e soltar parafusos'),
('F002', 'Martelo', 'Ferramenta para pregar pregos'),
('F003', 'Alicate', 'Ferramenta de corte e fixação'),
('F004', 'Multímetro', 'Equipamento de medição elétrica');
-- Empréstimos ainda não devolvidos
INSERT INTO registros (id_usuario, id_ferramenta, data_hora_retirada, data_hora_devolucao) VALUES
(1, 1, '2025-08-20 10:00:00', NULL), -- Alice (aluna)
(2, 2, '2025-08-20 11:00:00', NULL), -- Bruno (aluno)
(3, 3, '2025-08-21 09:30:00', NULL); -- Carlos (professor)
SELECT
u.tipo,
COUNT(r.id_registro) AS total_ferramentas_emprestadas
FROM
registros AS r
JOIN
usuarios AS u ON r.id_usuario = u.id_usuario
WHERE
r.data_hora_devolucao IS NULL
GROUP BY
u.tipo;
SELECT
u.tipo,
COUNT(r.id_registro) AS total_ferramentas_emprestadas
FROM
registros AS r
JOIN
usuarios AS u ON r.id_usuario = u.id_usuario
WHERE
r.data_hora_devolucao IS NULL
GROUP BY
u.tipo;
select * from registros;