text: -- MySQL Script generated by MySQL Workbench
  -- dom 06 out 2019 23:41:34 -03
  -- 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='TRADITIONAL,ALLOW_INVALID_DATES';
  
  -- -----------------------------------------------------
  -- Schema banco_1.0
  -- -----------------------------------------------------
  
  -- -----------------------------------------------------
  -- Schema banco_1.0
  -- -----------------------------------------------------
  CREATE SCHEMA IF NOT EXISTS `banco_1.0` DEFAULT CHARACTER SET utf8 ;
  USE `banco_1.0` ;
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Admin`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Admin` (
    `codigo_admin` INT NOT NULL AUTO_INCREMENT,
    `nome` VARCHAR(20) NOT NULL,
    `senha` VARCHAR(100) NOT NULL,
    `tipo` VARCHAR(15) NOT NULL,
    `ativo` TINYINT NOT NULL,
    `email` VARCHAR(100) NOT NULL,
    `data_` DATE NULL,
    PRIMARY KEY (`codigo_admin`))
  ENGINE = InnoDB;
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Horario`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Horario` (
    `codigo_horario` INT NOT NULL AUTO_INCREMENT,
    `periodo` VARCHAR(30) NOT NULL,
    `horario_treino` TIME NOT NULL,
    `limite` INT NULL,
    PRIMARY KEY (`codigo_horario`));
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Modalidade`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Modalidade` (
    `codigo_modalidade` INT NOT NULL AUTO_INCREMENT,
    `nome_modalidade` VARCHAR(50) NOT NULL,
    `ativo` TINYINT NOT NULL,
    `descricao` VARCHAR(100) NULL,
    `horario` TIME NULL,
    PRIMARY KEY (`codigo_modalidade`));
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Aluno`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Aluno` (
    `codigo_aluno` INT NOT NULL AUTO_INCREMENT,
    `nome_aluno` VARCHAR(100) NOT NULL,
    `data_nasc` DATE NOT NULL,
    `sexo` CHAR(1) NOT NULL,
    `rg` VARCHAR(15) NOT NULL,
    `cpf` VARCHAR(15) NOT NULL,
    `objetivo` VARCHAR(50) NULL,
    `email` VARCHAR(45) NULL,
    `ativo` TINYINT NOT NULL,
    `tipo` TINYINT NOT NULL,
    `codigo_tipo` INT NULL,
    `Horario_codigo_horario` INT NOT NULL,
    `Modalidade_codigo_modalidade` INT NOT NULL,
    PRIMARY KEY (`codigo_aluno`),
    INDEX `fk_Aluno_Horario1_idx` (`Horario_codigo_horario` ASC),
    INDEX `fk_Aluno_Modalidade1_idx` (`Modalidade_codigo_modalidade` ASC),
    CONSTRAINT `fk_Aluno_Horario1`
      FOREIGN KEY (`Horario_codigo_horario`)
      REFERENCES `banco_1.0`.`Horario` (`codigo_horario`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
    CONSTRAINT `fk_Aluno_Modalidade1`
      FOREIGN KEY (`Modalidade_codigo_modalidade`)
      REFERENCES `banco_1.0`.`Modalidade` (`codigo_modalidade`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Login`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Login` (
    `codigo_usuario` INT NOT NULL AUTO_INCREMENT,
    `usuario` VARCHAR(100) NOT NULL,
    `senha` VARCHAR(100) NOT NULL,
    `ativo` TINYINT NOT NULL,
    `Admin_codigo_admin` INT NOT NULL,
    `Aluno_codigo_aluno` INT NOT NULL,
    PRIMARY KEY (`codigo_usuario`),
    INDEX `fk_Usuario_Admin1_idx` (`Admin_codigo_admin` ASC),
    INDEX `fk_Login_Aluno1_idx` (`Aluno_codigo_aluno` ASC),
    CONSTRAINT `fk_Usuario_Admin1`
      FOREIGN KEY (`Admin_codigo_admin`)
      REFERENCES `banco_1.0`.`Admin` (`codigo_admin`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
    CONSTRAINT `fk_Login_Aluno1`
      FOREIGN KEY (`Aluno_codigo_aluno`)
      REFERENCES `banco_1.0`.`Aluno` (`codigo_aluno`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Plano`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Plano` (
    `codigo_plano` INT NOT NULL AUTO_INCREMENT,
    `ativo` TINYINT NOT NULL,
    `nome_plano` VARCHAR(50) NOT NULL,
    `taxa_adesao` FLOAT NOT NULL,
    `mensalidade` FLOAT NOT NULL,
    `descricao` TEXT(100) NULL,
    PRIMARY KEY (`codigo_plano`));
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Endereco`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Endereco` (
    `codigo_endereco` INT NOT NULL AUTO_INCREMENT,
    `cidade` VARCHAR(50) NOT NULL,
    `bairro` VARCHAR(45) NOT NULL,
    `rua` VARCHAR(45) NOT NULL,
    `numero` VARCHAR(15) NOT NULL,
    `Aluno_codigo_aluno` INT NOT NULL,
    PRIMARY KEY (`codigo_endereco`),
    INDEX `fk_Endereco_Aluno1_idx` (`Aluno_codigo_aluno` ASC),
    CONSTRAINT `fk_Endereco_Aluno1`
      FOREIGN KEY (`Aluno_codigo_aluno`)
      REFERENCES `banco_1.0`.`Aluno` (`codigo_aluno`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Telefone`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Telefone` (
    `codigo_telefone` INT NOT NULL AUTO_INCREMENT,
    `num_telefone` VARCHAR(15) NOT NULL,
    `num_celular` VARCHAR(15) NULL,
    `Aluno_codigo_aluno` INT NOT NULL,
    PRIMARY KEY (`codigo_telefone`),
    INDEX `fk_Telefone_Aluno1_idx` (`Aluno_codigo_aluno` ASC),
    CONSTRAINT `fk_Telefone_Aluno1`
      FOREIGN KEY (`Aluno_codigo_aluno`)
      REFERENCES `banco_1.0`.`Aluno` (`codigo_aluno`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Treino`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Treino` (
    `codigo_treino` INT NOT NULL AUTO_INCREMENT,
    `nome_treino` VARCHAR(100) NOT NULL,
    `duracao` VARCHAR(20) NOT NULL,
    `descricao` TEXT(100) NULL,
    `ordem_treino` INT NULL,
    `peso` INT NULL,
    PRIMARY KEY (`codigo_treino`));
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Exercicio`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Exercicio` (
    `codigo_exercicio` INT NOT NULL AUTO_INCREMENT,
    `Treino_codigo_treino` INT NOT NULL,
    `tipo` VARCHAR(30) NOT NULL,
    `nome_exercicio` VARCHAR(100) NOT NULL,
    `serie_repeticao` VARCHAR(15) NULL,
    `imagem` VARCHAR(100) NULL,
    `descricao` TEXT(100) NULL,
    PRIMARY KEY (`codigo_exercicio`),
    INDEX `fk_Exercicio_Treino1_idx` (`Treino_codigo_treino` ASC),
    CONSTRAINT `fk_Exercicio_Treino1`
      FOREIGN KEY (`Treino_codigo_treino`)
      REFERENCES `banco_1.0`.`Treino` (`codigo_treino`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Avaliacao`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Avaliacao` (
    `codigo_avaliacao` INT NOT NULL AUTO_INCREMENT,
    `Aluno_codigo_aluno` INT NOT NULL,
    `data_avaliacao` DATE NOT NULL,
    `idade` INT NOT NULL,
    `peso` FLOAT NOT NULL,
    `altura` FLOAT NOT NULL,
    `gordura` FLOAT NULL,
    `musculo` FLOAT NULL,
    `agua` FLOAT NULL,
    `imc` FLOAT NULL,
    `ossea` FLOAT NULL,
    `caloria` FLOAT NULL,
    PRIMARY KEY (`codigo_avaliacao`),
    INDEX `fk_Avaliacao_Aluno1_idx` (`Aluno_codigo_aluno` ASC),
    CONSTRAINT `fk_Avaliacao_Aluno1`
      FOREIGN KEY (`Aluno_codigo_aluno`)
      REFERENCES `banco_1.0`.`Aluno` (`codigo_aluno`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Antropometria`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Antropometria` (
    `codigo_antropometria` INT NOT NULL AUTO_INCREMENT,
    `Avaliacao_codigo_avaliacao` INT NOT NULL,
    `peitoral` FLOAT NULL,
    `b_esquerdo` FLOAT NULL,
    `b_direito` FLOAT NULL,
    `antebraco_d` FLOAT NULL,
    `antebraco_e` FLOAT NULL,
    `cintura` FLOAT NULL,
    `quadril` FLOAT NULL,
    `culote` FLOAT NULL,
    `c_direita` FLOAT NULL,
    `c_esquerda` FLOAT NULL,
    `p_direita` FLOAT NULL,
    `p_esquerda` FLOAT NULL,
    `panturrilha_e` FLOAT NULL,
    `panturrilha_d` FLOAT NULL,
    `restricao` TEXT(100) NULL,
    INDEX `fk_Antropometria_Avaliacao1_idx` (`Avaliacao_codigo_avaliacao` ASC),
    PRIMARY KEY (`codigo_antropometria`),
    UNIQUE INDEX `Avaliacao_codigo_avaliacao_UNIQUE` (`Avaliacao_codigo_avaliacao` ASC),
    CONSTRAINT `fk_Antropometria_Avaliacao1`
      FOREIGN KEY (`Avaliacao_codigo_avaliacao`)
      REFERENCES `banco_1.0`.`Avaliacao` (`codigo_avaliacao`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Treino_Modalidade`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Treino_Modalidade` (
    `Modalidade_codigo_modalidade` INT NOT NULL,
    `Treino_codigo_treino` INT NOT NULL,
    INDEX `fk_Treino_has_Modalidade_Modalidade1_idx` (`Modalidade_codigo_modalidade` ASC),
    INDEX `fk_Treino_has_Modalidade_Treino1_idx` (`Treino_codigo_treino` ASC),
    PRIMARY KEY (`Modalidade_codigo_modalidade`, `Treino_codigo_treino`),
    CONSTRAINT `fk_Treino_has_Modalidade_Treino1`
      FOREIGN KEY (`Treino_codigo_treino`)
      REFERENCES `banco_1.0`.`Treino` (`codigo_treino`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
    CONSTRAINT `fk_Treino_has_Modalidade_Modalidade1`
      FOREIGN KEY (`Modalidade_codigo_modalidade`)
      REFERENCES `banco_1.0`.`Modalidade` (`codigo_modalidade`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Aluno_Plano`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Aluno_Plano` (
    `codigo_AlunoPlano` INT NOT NULL AUTO_INCREMENT,
    `valor_total` FLOAT NOT NULL,
    `data_vencimento` DATE NOT NULL,
    `valor_recebido` FLOAT NULL,
    `data_pagamento` DATE NULL,
    `parcelas` INT NOT NULL,
    `status` TINYINT NOT NULL,
    `Plano_codigo_plano` INT NOT NULL,
    `Aluno_codigo_aluno` INT NOT NULL,
    PRIMARY KEY (`codigo_AlunoPlano`),
    INDEX `fk_Aluno_Plano_Plano1_idx` (`Plano_codigo_plano` ASC),
    INDEX `fk_Aluno_Plano_Aluno1_idx` (`Aluno_codigo_aluno` ASC),
    CONSTRAINT `fk_Aluno_Plano_Plano1`
      FOREIGN KEY (`Plano_codigo_plano`)
      REFERENCES `banco_1.0`.`Plano` (`codigo_plano`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
    CONSTRAINT `fk_Aluno_Plano_Aluno1`
      FOREIGN KEY (`Aluno_codigo_aluno`)
      REFERENCES `banco_1.0`.`Aluno` (`codigo_aluno`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION);
  
  
  -- -----------------------------------------------------
  -- Table `banco_1.0`.`Dobra`
  -- -----------------------------------------------------
  CREATE TABLE IF NOT EXISTS `banco_1.0`.`Dobra` (
    `codigo_dobra` INT NOT NULL AUTO_INCREMENT,
    `Antropometria_codigo_antropometria` INT NOT NULL,
    `axilar_media` FLOAT NULL,
    `suprailiaca` FLOAT NULL,
    `coxa` FLOAT NULL,
    `panturrilha_medial` FLOAT NULL,
    `subescapular` FLOAT NULL,
    `triceps` FLOAT NULL,
    `abdominal` FLOAT NULL,
    PRIMARY KEY (`codigo_dobra`),
    INDEX `fk_Dobra_Antropometria1_idx` (`Antropometria_codigo_antropometria` ASC),
    CONSTRAINT `fk_Dobra_Antropometria1`
      FOREIGN KEY (`Antropometria_codigo_antropometria`)
      REFERENCES `banco_1.0`.`Antropometria` (`codigo_antropometria`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION)
  ENGINE = InnoDB;
  
  
  SET SQL_MODE=@OLD_SQL_MODE;
  SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  