-- MySQL Script generated by MySQL Workbench
-- 11/01/21 23:54:12
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema applibrography
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema applibrography
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `applibrography` DEFAULT CHARACTER SET utf8 ;
USE `applibrography` ;

-- -----------------------------------------------------
-- Table `applibrography`.`tb_leitores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_leitores` (
  `id` INT(8) ZEROFILL NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(100) NULL,
  `rg` VARCHAR(30) NULL DEFAULT NULL,
  `cpf` VARCHAR(20) NULL DEFAULT NULL,
  `email` VARCHAR(200) NULL DEFAULT NULL,
  `telefone` VARCHAR(30) NULL DEFAULT NULL,
  `celular` VARCHAR(30) NULL DEFAULT NULL,
  `cep` VARCHAR(100) NULL DEFAULT NULL,
  `endereco` VARCHAR(255) NULL DEFAULT NULL,
  `numero` VARCHAR(50) NULL DEFAULT NULL,
  `complemento` VARCHAR(200) NULL DEFAULT NULL,
  `bairro` VARCHAR(100) NULL DEFAULT NULL,
  `cidade` VARCHAR(100) NULL DEFAULT NULL,
  `estado` VARCHAR(2) NULL DEFAULT NULL,
  `tipo` VARCHAR(15) NULL,
  `is_locked` TINYINT NULL,
  `curso` VARCHAR(45) NULL,
  `curso_ano` VARCHAR(45) NULL,
  `qtd_emprestimos` INT(3) NULL,
  `emprestmax` INT NULL,
  `observacoes` VARCHAR(225) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 00000100
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_fornecedores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_fornecedores` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(100) NULL DEFAULT NULL,
  `cnpj` VARCHAR(100) NULL DEFAULT NULL,
  `email` VARCHAR(200) NULL DEFAULT NULL,
  `telefone` VARCHAR(30) NULL DEFAULT NULL,
  `celular` VARCHAR(30) NULL DEFAULT NULL,
  `cep` VARCHAR(100) NULL DEFAULT NULL,
  `endereco` VARCHAR(255) NULL DEFAULT NULL,
  `numero` VARCHAR(50) NULL DEFAULT NULL,
  `complemento` VARCHAR(200) NULL DEFAULT NULL,
  `bairro` VARCHAR(100) NULL DEFAULT NULL,
  `cidade` VARCHAR(100) NULL DEFAULT NULL,
  `estado` VARCHAR(2) NULL DEFAULT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_funcionarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_funcionarios` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(100) NOT NULL,
  `rg` VARCHAR(30) NULL,
  `cpf` VARCHAR(20) NULL,
  `email` VARCHAR(200) NULL,
  `senha` VARCHAR(10) NOT NULL,
  `cargo` VARCHAR(100) NOT NULL,
  `nivel_acesso` VARCHAR(50) NOT NULL,
  `telefone` VARCHAR(30) NULL,
  `celular` VARCHAR(30) NULL,
  `cep` VARCHAR(100) NOT NULL,
  `endereco` VARCHAR(255) NULL,
  `numero` VARCHAR(50) NULL,
  `complemento` VARCHAR(200) NULL,
  `bairro` VARCHAR(100) NULL,
  `cidade` VARCHAR(100) NOT NULL,
  `estado` VARCHAR(2) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_livros`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_livros` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(100) NOT NULL,
  `autor` VARCHAR(45) NOT NULL,
  `editora` VARCHAR(45) NOT NULL,
  `isbn` VARCHAR(13) NOT NULL,
  `ano` VARCHAR(4) NOT NULL,
  `serie` VARCHAR(45) NULL,
  `edicao` VARCHAR(45) NULL,
  `idioma` VARCHAR(25) NOT NULL,
  `tb_fornecedores_id` INT(8) NULL,
  `piso` VARCHAR(45) NULL,
  `corredor` VARCHAR(45) NULL,
  `posicao` VARCHAR(45) NULL,
  `secao` VARCHAR(45) NULL,
  `disponibilidade` VARCHAR(15) NOT NULL,
  `observacoes` VARCHAR(225) NULL,
  `is_emprestado` TINYINT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_tb_livros_tb_fornecedores1_idx` (`tb_fornecedores_id` ASC),
  CONSTRAINT `fk_tb_livros_tb_fornecedores1`
    FOREIGN KEY (`tb_fornecedores_id`)
    REFERENCES `applibrography`.`tb_fornecedores` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_emprestimos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_emprestimos` (
  `id` INT(8) ZEROFILL NOT NULL AUTO_INCREMENT,
  `data_emprestimo` DATETIME NULL,
  `data_devolucao` DATETIME NULL DEFAULT NULL,
  `observacoes` TEXT NULL DEFAULT NULL,
  `tb_funcionarios_id` INT(8) NULL,
  `tb_livros_id` INT(8) NULL,
  `tb_livros_tb_fornecedores_id` INT(8) NULL,
  `tb_leitores_id` INT(8) ZEROFILL NULL,
  `data_entrega_agendada` DATETIME NULL,
  `tb_funcionarios_iddevol` INT(8) NULL,
  `static_id_emprestimo` INT(8) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_tb_emprestimos_tb_funcionarios1_idx` (`tb_funcionarios_id` ASC),
  INDEX `fk_tb_emprestimos_tb_livros1_idx` (`tb_livros_id` ASC, `tb_livros_tb_fornecedores_id` ASC),
  INDEX `fk_tb_emprestimos_tb_leitores1_idx` (`tb_leitores_id` ASC),
  INDEX `fk_tb_emprestimos_tb_funcionarios2_idx` (`tb_funcionarios_iddevol` ASC),
  CONSTRAINT `fk_tb_emprestimos_tb_funcionarios1`
    FOREIGN KEY (`tb_funcionarios_id`)
    REFERENCES `applibrography`.`tb_funcionarios` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_tb_emprestimos_tb_livros1`
    FOREIGN KEY (`tb_livros_id`)
    REFERENCES `applibrography`.`tb_livros` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_tb_emprestimos_tb_leitores1`
    FOREIGN KEY (`tb_leitores_id`)
    REFERENCES `applibrography`.`tb_leitores` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_tb_emprestimos_tb_funcionarios2`
    FOREIGN KEY (`tb_funcionarios_iddevol`)
    REFERENCES `applibrography`.`tb_funcionarios` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 10000000
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_multa`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_multa` (
  `idmulta` INT(8) NOT NULL AUTO_INCREMENT,
  `dias_atraso` INT(6) NOT NULL,
  `valor_multa` DECIMAL(10,2) NULL,
  `esta_pago` TINYINT NULL,
  `tb_leitores_id` INT(8) ZEROFILL NOT NULL,
  `tb_emprestimos_id` INT(8) ZEROFILL NOT NULL,
  PRIMARY KEY (`idmulta`, `tb_emprestimos_id`),
  INDEX `fk_multa_tb_leitores1_idx` (`tb_leitores_id` ASC),
  INDEX `fk_tb_multa_tb_emprestimos1_idx` (`tb_emprestimos_id` ASC),
  CONSTRAINT `fk_multa_tb_leitores1`
    FOREIGN KEY (`tb_leitores_id`)
    REFERENCES `applibrography`.`tb_leitores` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_tb_multa_tb_emprestimos1`
    FOREIGN KEY (`tb_emprestimos_id`)
    REFERENCES `applibrography`.`tb_emprestimos` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_opcoes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_opcoes` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `data` VARCHAR(45) NOT NULL,
  `parentid` INT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_Opcoes_Opcoes1_idx` (`parentid` ASC),
  CONSTRAINT `fk_Opcoes_Opcoes1`
    FOREIGN KEY (`parentid`)
    REFERENCES `applibrography`.`tb_opcoes` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `applibrography`.`tb_recibos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `applibrography`.`tb_recibos` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `emprestimo_id` INT(8) NULL,
  `data_emprestimo` VARCHAR(45) NULL,
  `data_devolucao_agendada` VARCHAR(45) NULL,
  `data_entrega` VARCHAR(45) NULL,
  `livro` VARCHAR(45) NULL,
  `usuario` VARCHAR(45) NULL,
  `tipo` VARCHAR(45) NULL,
  `multa` VARCHAR(45) NULL,
  `status` VARCHAR(45) NULL,
  `funcionario` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

-- -----------------------------------------------------
-- Data for table `applibrography`.`tb_leitores`
-- -----------------------------------------------------
START TRANSACTION;
USE `applibrography`;
INSERT INTO `applibrography`.`tb_leitores` (`id`, `nome`, `rg`, `cpf`, `email`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`, `tipo`, `is_locked`, `curso`, `curso_ano`, `qtd_emprestimos`, `emprestmax`, `observacoes`) VALUES (00000101, 'Leitor Teste', '5.432.234-1', '099.999.345-23', 'leitor@mail.com', '(42)98877-2299', '(42)98877-2299', '854670-000', 'Rua 1 de abril', '13', 'casa', 'Centro', 'Mallet', 'PR', 'Estudante', 0, 'Letras', '1', 0, 123, 'Ok');

COMMIT;


-- -----------------------------------------------------
-- Data for table `applibrography`.`tb_fornecedores`
-- -----------------------------------------------------
START TRANSACTION;
USE `applibrography`;
INSERT INTO `applibrography`.`tb_fornecedores` (`id`, `nome`, `cnpj`, `email`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`) VALUES (1, 'Fornecedor Teste', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `applibrography`.`tb_funcionarios`
-- -----------------------------------------------------
START TRANSACTION;
USE `applibrography`;
INSERT INTO `applibrography`.`tb_funcionarios` (`id`, `nome`, `rg`, `cpf`, `email`, `senha`, `cargo`, `nivel_acesso`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`) VALUES (1, 'Administrador', NULL, NULL, 'admin@admin', 'admin', 'Administrador', 'Administrador', NULL, NULL, '84570-000', NULL, NULL, NULL, NULL, 'Mallet', 'PR');

COMMIT;


-- -----------------------------------------------------
-- Data for table `applibrography`.`tb_livros`
-- -----------------------------------------------------
START TRANSACTION;
USE `applibrography`;
INSERT INTO `applibrography`.`tb_livros` (`id`, `titulo`, `autor`, `editora`, `isbn`, `ano`, `serie`, `edicao`, `idioma`, `tb_fornecedores_id`, `piso`, `corredor`, `posicao`, `secao`, `disponibilidade`, `observacoes`, `is_emprestado`) VALUES (1, 'Alice no Pis das maravilhas', 'Lewis Carrol', 'Nope', '1231231231231', '1894', '1', '1', 'Portugues', 1, NULL, NULL, NULL, 'Literatura Universal', '5', 'ok', 0);

COMMIT;


-- -----------------------------------------------------
-- Data for table `applibrography`.`tb_opcoes`
-- -----------------------------------------------------
START TRANSACTION;
USE `applibrography`;
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (1, 'piso', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (2, 'corredor', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (3, 'secao', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (4, 'posicao', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (5, 'disponibilidade', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (6, 'printerurl', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (7, 'instituicaonome', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (8, 'instiuicaoendereco', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (17, 'piso 1', 1);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (20, 'corredor 1', 2);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (21, '1A', 3);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (22, 'Literatura Universal', 4);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (13, '0', 5);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (14, '3', 5);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (15, 'Biblioteca de Hogwarts', 7);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (16, 'Rua Epsilon, 888, Cidade Imaginaria, LA ', 8);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (9, 'tiposdeusuarios', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (18, 'Estudante', 9);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (19, 'Professor', 9);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (10, 'server url', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (11, 'libraryname', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (12, 'libraryAddress', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (23, '127.0.0.1', 12);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (24, 'Nome da Biblioteca', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (25, 'valor_multa', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (26, '300', 25);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (27, 'MsgReceipt', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (28, 'Obrigado!!', 27);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (29, 'theme', NULL);
INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (30, 'dark', 29);

COMMIT;

