Modelagem Pagamentos
Projeto desenvolvido no quarto semestre na disciplina de Banco de dados e internet II.
Professor: Me. Alciano Gustavo G. de Oliveira
O objetivo da disciplina foi desenvolver e implementar a modelagem de um Banco de Dados no segmento de mercado de preferência do aluno, neste caso, denominado de "Modelagem Pagamentos". O projeto foi elaborado com o MySQL Workbench, desenvolvido pela Oracle Corporation, que é uma ferramenta de design de dados visual que integra desenvolvimento SQL, modelagem de dados, design de banco de dados e administração para banco de dados MySQL.
Modelagem do Banco de Dados
Implementação do banco de dados
### CRIA E SELECIONA O BANCO DE DADOS CREATE DATABASE IF NOT EXISTS `alciano_db`; USE `alciano_db`; ### CRIA A TABELA merchants CREATE TABLE `merchants` ( `id` int NOT NULL AUTO_INCREMENT, `customers_id` int NOT NULL, `mid` varchar(45) DEFAULT NULL, `cessionario` int DEFAULT '0', `vendors_id` int DEFAULT NULL, `rates_id` int DEFAULT '0', `rates_inserted_at` timestamp NULL DEFAULT NULL, `wallet_id` varchar(60) DEFAULT NULL, `account_type` varchar(45) DEFAULT NULL, `document_number` varchar(45) DEFAULT NULL, `social_reason` text, `name` varchar(150) DEFAULT NULL, `soft_descriptor` varchar(60) DEFAULT NULL, `inscricaoEstadual` varchar(100) DEFAULT NULL, `inscricaoFazenda` varchar(100) DEFAULT NULL, `dataFundacao` date DEFAULT NULL, `horarioFuncionamento` int DEFAULT NULL, `shopping` tinyint DEFAULT NULL, `shopping_descricao` varchar(150) DEFAULT NULL, `faturamentoMensal` varchar(45) DEFAULT NULL, `valorPatrimonio` varchar(45) DEFAULT NULL, `tipoEmpresa` varchar(5) DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `site` varchar(100) DEFAULT NULL, `telefone` varchar(45) DEFAULT NULL, `transferenciaAutomatica` tinyint DEFAULT NULL, `transferenciaValorMinimo` varchar(45) DEFAULT NULL, `transferenciaPeriodicidade` varchar(45) DEFAULT NULL, `antecipacaoRecebiveis` tinyint DEFAULT '0', `anteciparApos` int DEFAULT '0', `limiteAntecipacao` varchar(45) DEFAULT NULL, `periodoCarencia` tinyint DEFAULT '0', `ordemAntecipacao` varchar(10) DEFAULT 'start', `descricao` text, `ofac` int DEFAULT '0', `motivo_ofac` text, `inclusao_ofac` datetime DEFAULT NULL, `status` int DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ### CRIA A TABELA bulk_anticipations CREATE TABLE `bulk_anticipations` ( `id` int NOT NULL AUTO_INCREMENT, `customers_id` int DEFAULT NULL, `merchants_id` int NOT NULL, `identifier` varchar(45) DEFAULT NULL, `amount` varchar(45) DEFAULT NULL, `fee` varchar(45) DEFAULT NULL, `mdr` varchar(45) DEFAULT NULL, `days` varchar(45) DEFAULT NULL, `status` varchar(45) DEFAULT NULL, `timeframe` varchar(45) DEFAULT NULL, `type` varchar(45) DEFAULT NULL, `approved_date` varchar(45) DEFAULT NULL, `approval_limit` varchar(45) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), CONSTRAINT `fk_bulk_anticipations_merchants1` FOREIGN KEY (`merchants_id`) REFERENCES `merchants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ### CRIA A TABELA banks CREATE TABLE `banks` ( `id` int NOT NULL AUTO_INCREMENT, `customers_id` int DEFAULT NULL, `code` varchar(80) DEFAULT NULL, `name` varchar(45) DEFAULT NULL, `fee` varchar(45) DEFAULT NULL, `status` varchar(45) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ### CRIA A TABELA bank_accounts CREATE TABLE `bank_accounts` ( `id` int NOT NULL AUTO_INCREMENT, `customers_id` int DEFAULT NULL, `merchants_id` int NOT NULL, `banks_id` int NOT NULL, `tarifa` decimal(10,2) DEFAULT NULL, `tipo_conta` varchar(45) DEFAULT NULL, `favorecido` varchar(100) DEFAULT NULL, `cpfCnpj` varchar(45) DEFAULT NULL, `agencia` varchar(45) DEFAULT NULL, `agencia_digito` varchar(45) DEFAULT NULL, `conta` varchar(45) DEFAULT NULL, `conta_digito` varchar(45) DEFAULT NULL, `percentual` int DEFAULT NULL, `verify` int DEFAULT NULL, `status` varchar(45) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_bank_accounts_merchants1_idx` (`merchants_id`), KEY `fk_bank_accounts_bank_codes1_idx` (`banks_id`), CONSTRAINT `fk_bank_accounts_bank_codes1` FOREIGN KEY (`banks_id`) REFERENCES `banks` (`id`), CONSTRAINT `fk_bank_accounts_merchants1` FOREIGN KEY (`merchants_id`) REFERENCES `merchants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ### CRIA A TABELA splits CREATE TABLE `splits` ( `id` int NOT NULL AUTO_INCREMENT, `customers_id` int DEFAULT NULL, `merchants_id` int NOT NULL, `recebedor` int DEFAULT NULL, `hash` varchar(80) DEFAULT NULL, `dividir_custos` varchar(45) DEFAULT NULL, `risco_chargeback` varchar(45) DEFAULT NULL, `percentual` varchar(45) DEFAULT NULL, `valor` varchar(45) DEFAULT NULL, `numero_serie` varchar(45) DEFAULT NULL, `situacao` int DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_splits_merchants1_idx` (`merchants_id`), CONSTRAINT `fk_splits_merchants1` FOREIGN KEY (`merchants_id`) REFERENCES `merchants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ### CRIA A TABELA users CREATE TABLE `users` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `customers_id` int DEFAULT NULL, `merchant_id` int NOT NULL, `document_type` varchar(45) DEFAULT NULL, `document_number` varchar(45) DEFAULT NULL, `birthday` date DEFAULT NULL, `username` varchar(70) DEFAULT NULL, `first_name` varchar(100) NOT NULL, `last_name` varchar(100) DEFAULT NULL, `phone` varchar(45) DEFAULT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `remember_token` varchar(100) DEFAULT NULL, `status` int DEFAULT '1', `created_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_users_merchant1_idx` (`merchant_id`), CONSTRAINT `fk_users_merchant1` FOREIGN KEY (`merchant_id`) REFERENCES `merchants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;