|
| 1 | +-- DROP DATABASE CameraCruzamento; |
| 2 | + |
| 3 | +CREATE DATABASE IF NOT EXISTS CameraCruzamento |
| 4 | + DEFAULT CHARACTER SET utf8mb4 |
| 5 | + DEFAULT COLLATE utf8mb4_general_ci; |
| 6 | + |
| 7 | +USE CameraCruzamento; |
| 8 | + |
| 9 | +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; |
| 10 | +START TRANSACTION; |
| 11 | +SET time_zone = "+00:00"; |
| 12 | + |
| 13 | +SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT; |
| 14 | +SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS; |
| 15 | +SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION; |
| 16 | +SET NAMES utf8mb4; |
| 17 | + |
| 18 | +-- Usuários do sistema (Secretaria, Operador, etc.) |
| 19 | +CREATE TABLE Usuarios ( |
| 20 | + id INT AUTO_INCREMENT PRIMARY KEY, |
| 21 | + nome VARCHAR(100) NOT NULL, |
| 22 | + email VARCHAR(100) NOT NULL UNIQUE, |
| 23 | + senha VARCHAR(255) NOT NULL, |
| 24 | + tipo ENUM('Secretaria', 'Operador') NOT NULL, |
| 25 | + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| 26 | + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
| 27 | +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; |
| 28 | + |
| 29 | +-- Dispositivos (Câmeras) |
| 30 | +CREATE TABLE Dispositivos ( |
| 31 | + id INT AUTO_INCREMENT PRIMARY KEY, |
| 32 | + nome VARCHAR(100) NOT NULL, |
| 33 | + id_ponto VARCHAR(50) NOT NULL, |
| 34 | + localizacao VARCHAR(255) NOT NULL, -- endereço ou coordenadas |
| 35 | + status ENUM('Ativo', 'Inativo', 'Manutenção') NOT NULL DEFAULT 'Ativo', |
| 36 | + observacao VARCHAR(255), |
| 37 | + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| 38 | + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
| 39 | +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; |
| 40 | + |
| 41 | +-- Eventos detectados pelas câmeras |
| 42 | +CREATE TABLE Eventos_Cameras ( |
| 43 | + id INT AUTO_INCREMENT PRIMARY KEY, |
| 44 | + id_camera INT NOT NULL, |
| 45 | + id_ponto VARCHAR(50) NOT NULL, |
| 46 | + timestamp DATETIME NOT NULL, |
| 47 | + tipo ENUM('carro', 'caminhao', 'moto', 'onibus', 'pedestre') NOT NULL, |
| 48 | + status_camera ENUM('em funcionamento', 'pouco alterado', 'muito alterado', 'desligado') NOT NULL, |
| 49 | + observacao VARCHAR(255), |
| 50 | + FOREIGN KEY (id_camera) REFERENCES Dispositivos(id) |
| 51 | + ON DELETE CASCADE |
| 52 | + ON UPDATE CASCADE |
| 53 | +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; |
| 54 | + |
| 55 | +COMMIT; |
| 56 | + |
| 57 | +-- Exemplo de inserção de usuário |
| 58 | +INSERT INTO Usuarios (nome, email, senha, tipo) VALUES |
| 59 | +('Administrador', ' [email protected]', '$2y$10$ul4Wr3Bqq2Cz1ElJtFua2e0Ku9cGVZxcP1yW8vdCKTbdu/7pnVqcq', 'Secretaria'); |
| 60 | + |
| 61 | +-- Exemplo de inserção de dispositivos |
| 62 | +INSERT INTO Dispositivos (nome, id_ponto, localizacao, status, observacao) VALUES |
| 63 | +('Câmera Cruzamento 1', 'P1', '-23.55052,-46.633308', 'Ativo', 'Cruzamento Av. Paulista x Rua Augusta'), |
| 64 | +('Câmera Cruzamento 2', 'P2', '-23.551234,-46.634567', 'Manutenção', 'Cruzamento Av. Brasil x Rua Bela Vista'); |
| 65 | + |
| 66 | +-- Exemplo de inserção de eventos |
| 67 | +INSERT INTO Eventos_Cameras (id_camera, id_ponto, timestamp, tipo, status_camera, observacao) VALUES |
| 68 | +(1, 'P1', '2025-10-01 14:23:00', 'carro', 'em funcionamento', 'Trânsito normal'), |
| 69 | +(2, 'P2', '2025-10-01 14:25:00', 'pedestre', 'pouco alterado', 'Movimento incomum detectado'); |
0 commit comments