-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 11-Fev-2026 às 22:03
-- Versão do servidor: 10.4.32-MariaDB
-- versão do PHP: 8.0.30

START TRANSACTION;



--
-- Banco de dados: `merciaria_system`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `assinaturas`
--

CREATE TABLE `assinaturas` (
  `id` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `plano` varchar(100) DEFAULT 'Mensal',
  `valor` decimal(10,2) NOT NULL,
  `inicio` date NOT NULL,
  `fim` date NOT NULL,
  `status` enum('ativa','expirada','pendente','cancelada') DEFAULT 'ativa'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `assinaturas`
--

INSERT INTO `assinaturas` (`id`, `empresa_id`, `plano`, `valor`, `inicio`, `fim`, `status`) VALUES
(9, 7127, 'Mensal', 0.00, '2026-02-11', '2026-03-13', 'ativa'),
(10, 2462, 'Mensal', 0.00, '2026-02-11', '2026-03-13', 'ativa');

-- --------------------------------------------------------

--
-- Estrutura da tabela `categorias`
--

CREATE TABLE `categorias` (
  `id` int(11) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `nome` varchar(100) NOT NULL,
  `criado_em` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `categorias`
--

INSERT INTO `categorias` (`id`, `empresa_id`, `nome`, `criado_em`) VALUES
(4321, 7127, 'Bebidas alcoólicas', '2026-02-11 16:12:02'),
(9288, 7127, 'Bebidas alcoólicas', '2026-02-11 10:40:31'),
(9289, 7127, 'Bebidas não alcoólicas', '2026-02-11 10:40:31'),
(9290, 7127, 'Petiscos', '2026-02-11 10:40:31'),
(9291, 7127, 'Tabaco', '2026-02-11 10:40:31'),
(9292, 2462, 'Bebidas alcoólicas', '2026-02-11 10:50:03'),
(9293, 2462, 'Bebidas não alcoólicas', '2026-02-11 10:50:03'),
(9294, 2462, 'Petiscos', '2026-02-11 10:50:03'),
(9295, 2462, 'Tabaco', '2026-02-11 10:50:03');

-- --------------------------------------------------------

--
-- Estrutura da tabela `despesas`
--

CREATE TABLE `despesas` (
  `id` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `categoria` enum('Energia','Agua','Transporte','Funcionarios','Outros') NOT NULL,
  `descricao` varchar(255) DEFAULT NULL,
  `valor` decimal(10,2) NOT NULL,
  `data_despesa` date NOT NULL,
  `criado_em` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estrutura da tabela `empresas`
--

CREATE TABLE `empresas` (
  `id` int(11) NOT NULL,
  `nome_empresa` varchar(150) NOT NULL,
  `nuit` int(50) NOT NULL,
  `tipo` varchar(100) NOT NULL,
  `email` varchar(150) NOT NULL,
  `telefone` varchar(20) DEFAULT NULL,
  `endereco` varchar(255) DEFAULT NULL,
  `status` enum('ativo','inativo','suspensa') DEFAULT 'ativo',
  `data_registo` datetime DEFAULT current_timestamp(),
  `trial_fim` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `empresas`
--

INSERT INTO `empresas` (`id`, `nome_empresa`, `nuit`, `tipo`, `email`, `telefone`, `endereco`, `status`, `data_registo`, `trial_fim`) VALUES
(2462, 'caras', 6678789, 'Bar', 'duascaras@gmail.com', '842108471', 'Bar duas caras', 'ativo', '2026-02-11 10:50:03', NULL),
(7127, 'Bar duas caras', 6678, 'Bar', 'duas@gmail.com', '842108471', 'Bar duas caras', 'ativo', '2026-02-11 10:40:31', NULL);

-- --------------------------------------------------------

--
-- Estrutura da tabela `fecho_caixa`
--

CREATE TABLE `fecho_caixa` (
  `id` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `data` date NOT NULL,
  `total_vendas` decimal(10,2) DEFAULT NULL,
  `total_despesas` decimal(10,2) DEFAULT NULL,
  `lucro_liquido` decimal(10,2) DEFAULT NULL,
  `criado_em` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estrutura da tabela `pagamentos`
--

CREATE TABLE `pagamentos` (
  `id` int(100) NOT NULL,
  `id_assinatura` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `metodo` enum('M-Pesa','e-Mola') NOT NULL,
  `referencia` varchar(100) DEFAULT NULL,
  `meses` varchar(11) NOT NULL,
  `valor` decimal(10,2) NOT NULL,
  `status` enum('pendente','confirmado','rejeitado') DEFAULT 'pendente',
  `data_pagamento` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estrutura da tabela `produtos`
--

CREATE TABLE `produtos` (
  `id` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `categoria_id` int(11) DEFAULT NULL,
  `nome` varchar(150) NOT NULL,
  `preco_compra` decimal(10,2) NOT NULL,
  `preco_venda` decimal(10,2) NOT NULL,
  `estoque` int(11) DEFAULT 0,
  `estoque_minimo` int(11) DEFAULT 2,
  `criado_em` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `produtos`
--

INSERT INTO `produtos` (`id`, `empresa_id`, `categoria_id`, `nome`, `preco_compra`, `preco_venda`, `estoque`, `estoque_minimo`, `criado_em`) VALUES
(9413, 7127, 4321, 'streetony', 400.00, 600.00, 20, 2, '2026-02-11 16:12:02');

-- --------------------------------------------------------

--
-- Estrutura da tabela `vendas`
--

CREATE TABLE `vendas` (
  `id` int(50) NOT NULL,
  `empresa_id` int(11) NOT NULL,
  `usuario_id` int(11) DEFAULT NULL,
  `total` decimal(10,2) NOT NULL,
  `lucro` decimal(10,2) NOT NULL,
  `data_venda` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estrutura da tabela `venda_itens`
--

CREATE TABLE `venda_itens` (
  `venda_id` int(11) NOT NULL,
  `produto_id` int(11) NOT NULL,
  `quantidade` int(11) NOT NULL,
  `preco_unitario` decimal(10,2) NOT NULL,
  `total` decimal(10,2) NOT NULL,
  `lucro` decimal(10,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `assinaturas`
--
ALTER TABLE `assinaturas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices para tabela `categorias`
--
ALTER TABLE `categorias`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices para tabela `despesas`
--
ALTER TABLE `despesas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices para tabela `empresas`
--
ALTER TABLE `empresas`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `email` (`email`);

--
-- Índices para tabela `fecho_caixa`
--
ALTER TABLE `fecho_caixa`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices para tabela `pagamentos`
--
ALTER TABLE `pagamentos`
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices para tabela `produtos`
--
ALTER TABLE `produtos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`),
  ADD KEY `categoria_id` (`categoria_id`);

--
-- Índices para tabela `vendas`
--
ALTER TABLE `vendas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`),
  ADD KEY `usuario_id` (`usuario_id`);

--
-- Índices para tabela `venda_itens`
--
ALTER TABLE `venda_itens`
  ADD KEY `venda_id` (`venda_id`),
  ADD KEY `produto_id` (`produto_id`);

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `assinaturas`
--
ALTER TABLE `assinaturas`
  MODIFY `id` int(50) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT de tabela `categorias`
--
ALTER TABLE `categorias`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9296;

--
-- AUTO_INCREMENT de tabela `vendas`
--
ALTER TABLE `vendas`
  MODIFY `id` int(50) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8833;

--
-- Restrições para despejos de tabelas
--

--
-- Limitadores para a tabela `assinaturas`
--
ALTER TABLE `assinaturas`
  ADD CONSTRAINT `assinaturas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `categorias`
--
ALTER TABLE `categorias`
  ADD CONSTRAINT `categorias_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `despesas`
--
ALTER TABLE `despesas`
  ADD CONSTRAINT `despesas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `fecho_caixa`
--
ALTER TABLE `fecho_caixa`
  ADD CONSTRAINT `fecho_caixa_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `pagamentos`
--
ALTER TABLE `pagamentos`
  ADD CONSTRAINT `pagamentos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `produtos`
--
ALTER TABLE `produtos`
  ADD CONSTRAINT `produtos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `produtos_ibfk_2` FOREIGN KEY (`categoria_id`) REFERENCES `categorias` (`id`) ON DELETE SET NULL;

--
-- Limitadores para a tabela `vendas`
--
ALTER TABLE `vendas`
  ADD CONSTRAINT `vendas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `vendas_ibfk_2` FOREIGN KEY (`usuario_id`) REFERENCES `usuarios` (`id`) ON DELETE SET NULL;

--
-- Limitadores para a tabela `venda_itens`
--
ALTER TABLE `venda_itens`
  ADD CONSTRAINT `venda_itens_ibfk_1` FOREIGN KEY (`venda_id`) REFERENCES `vendas` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `venda_itens_ibfk_2` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`id`) ON DELETE CASCADE;
COMMIT;

