· 3 months ago · Jul 09, 2025, 07:10 PM
1-- Criar o banco de dados
2DROP DATABASE IF EXISTS bd_avaliacao;
3CREATE DATABASE bd_avaliacao;
4
5-- Usar o banco de dados criado
6USE bd_avaliacao;
7
8-- Tabela de usuários
9CREATE TABLE usuario (
10 id_usuario INT AUTO_INCREMENT PRIMARY KEY,
11 nome VARCHAR(100) NOT NULL,
12 usuario VARCHAR(100) NOT NULL UNIQUE,
13 senha VARCHAR(255) NOT NULL,
14 tipo_usuario ENUM('funcionario', 'diretor', 'admin') NOT NULL
15);
16
17-- INSERT INTO usuario (nome, usuario, senha, tipo_usuario)
18-- VALUES
19-- ('Administrador do Sistema', 'admin', '1234', 'admin'),
20-- ('Funcionário João', 'funcionario', '1234', 'funcionario'),
21-- ('Diretora Maria', 'diretor', '1234', 'diretor');
22
23-- Tabela de avaliações
24CREATE TABLE avaliacao (
25 id_avaliacao INT AUTO_INCREMENT PRIMARY KEY,
26 id_funcionario INT NOT NULL,
27 id_diretor INT NOT NULL,
28 json_avaliacao JSON NOT NULL,
29 FOREIGN KEY (id_funcionario) REFERENCES usuario(id_usuario),
30 FOREIGN KEY (id_diretor) REFERENCES usuario(id_usuario)
31);
32
33select * from avaliacao;
34
35-- ALTER TABLE avaliacao CHANGE id_director id_diretor INT NOT NULL;
36
37
38-- Tabela de critérios de avaliação
39CREATE TABLE criterio_avaliacao (
40 id_criterio INT AUTO_INCREMENT PRIMARY KEY,
41 criterio VARCHAR(255) NOT NULL
42);
43
44INSERT INTO criterio_avaliacao (criterio) VALUES
45('Assiduidade'),
46('Pontualidade'),
47('Qualidade do Trabalho'),
48('Comunicação'),
49('Trabalho em Equipe');
50
51
52-- Tabela de feedbacks
53CREATE TABLE mensagem (
54 id_feedback INT AUTO_INCREMENT PRIMARY KEY,
55 id_funcionario INT NOT NULL,
56 id_diretor INT NOT NULL,
57 sent_by ENUM('funcionario', 'diretor'),
58 msg_read boolean default false,
59 mensagem VARCHAR(255) NOT NULL,
60 FOREIGN KEY (id_funcionario) REFERENCES usuario(id_usuario),
61 FOREIGN KEY (id_diretor) REFERENCES usuario(id_usuario),
62 data_envio DATETIME DEFAULT CURRENT_TIMESTAMP
63);
64
65-- select * from usuario;
66-- SELECT * FROM usuario WHERE tipo_usuario = 'funcionario';
67-- select * from avaliacao;
68-- select * from mensagem;
69
70select * from usuario;
71SELECT * FROM usuario WHERE tipo_usuario = 'funcionario';
72select * from avaliacao;
73select * from mensagem;