· 6 years ago · Aug 25, 2019, 03:14 PM
1-- MySQL Workbench Forward Engineering
2
3SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
4SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
5SET @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';
6
7-- -----------------------------------------------------
8-- Schema mydb
9-- -----------------------------------------------------
10
11-- -----------------------------------------------------
12-- Schema mydb
13-- -----------------------------------------------------
14CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
15USE `mydb` ;
16
17-- -----------------------------------------------------
18-- Table `mydb`.`sexo`
19-- -----------------------------------------------------
20CREATE TABLE IF NOT EXISTS `mydb`.`sexo` (
21 `id` INT NOT NULL AUTO_INCREMENT,
22 `identificador` VARCHAR(45) NOT NULL,
23 PRIMARY KEY (`id`))
24ENGINE = InnoDB;
25
26
27-- -----------------------------------------------------
28-- Table `mydb`.`estado_civil`
29-- -----------------------------------------------------
30CREATE TABLE IF NOT EXISTS `mydb`.`estado_civil` (
31 `id` INT NOT NULL AUTO_INCREMENT,
32 `identificador` VARCHAR(55) NOT NULL,
33 PRIMARY KEY (`id`))
34ENGINE = InnoDB;
35
36
37-- -----------------------------------------------------
38-- Table `mydb`.`usuario`
39-- -----------------------------------------------------
40CREATE TABLE IF NOT EXISTS `mydb`.`usuario` (
41 `id` INT NOT NULL AUTO_INCREMENT,
42 `nome` VARCHAR(55) NOT NULL,
43 `avatar_url` VARCHAR(150) NULL,
44 `data_nascimento` DATETIME NOT NULL,
45 `sexo_id` INT NOT NULL,
46 `estado_civil_id` INT NOT NULL,
47 PRIMARY KEY (`id`),
48 INDEX `fk_usuario_sexo_idx` (`sexo_id` ASC) ,
49 INDEX `fk_usuario_estado_civil1_idx` (`estado_civil_id` ASC) ,
50 CONSTRAINT `fk_usuario_sexo`
51 FOREIGN KEY (`sexo_id`)
52 REFERENCES `mydb`.`sexo` (`id`)
53 ON DELETE NO ACTION
54 ON UPDATE NO ACTION,
55 CONSTRAINT `fk_usuario_estado_civil1`
56 FOREIGN KEY (`estado_civil_id`)
57 REFERENCES `mydb`.`estado_civil` (`id`)
58 ON DELETE NO ACTION
59 ON UPDATE NO ACTION)
60ENGINE = InnoDB;
61
62
63-- -----------------------------------------------------
64-- Table `mydb`.`segue`
65-- -----------------------------------------------------
66CREATE TABLE IF NOT EXISTS `mydb`.`segue` (
67 `requisitante` INT NOT NULL,
68 `recebedor` INT NOT NULL,
69 INDEX `fk_segue_usuario1_idx` (`requisitante` ASC) ,
70 INDEX `fk_segue_usuario2_idx` (`recebedor` ASC) ,
71 PRIMARY KEY (`requisitante`, `recebedor`),
72 CONSTRAINT `fk_segue_usuario1`
73 FOREIGN KEY (`requisitante`)
74 REFERENCES `mydb`.`usuario` (`id`)
75 ON DELETE NO ACTION
76 ON UPDATE NO ACTION,
77 CONSTRAINT `fk_segue_usuario2`
78 FOREIGN KEY (`recebedor`)
79 REFERENCES `mydb`.`usuario` (`id`)
80 ON DELETE NO ACTION
81 ON UPDATE NO ACTION)
82ENGINE = InnoDB;
83
84
85-- -----------------------------------------------------
86-- Table `mydb`.`postagem`
87-- -----------------------------------------------------
88CREATE TABLE IF NOT EXISTS `mydb`.`postagem` (
89 `id` INT NOT NULL AUTO_INCREMENT,
90 `text` VARCHAR(350) NULL,
91 `image_url` VARCHAR(150) NULL,
92 `usuario_id` INT NOT NULL,
93 PRIMARY KEY (`id`),
94 INDEX `fk_postagem_usuario1_idx` (`usuario_id` ASC) ,
95 CONSTRAINT `fk_postagem_usuario1`
96 FOREIGN KEY (`usuario_id`)
97 REFERENCES `mydb`.`usuario` (`id`)
98 ON DELETE NO ACTION
99 ON UPDATE NO ACTION)
100ENGINE = InnoDB;
101
102
103-- -----------------------------------------------------
104-- Table `mydb`.`comentario`
105-- -----------------------------------------------------
106CREATE TABLE IF NOT EXISTS `mydb`.`comentario` (
107 `id` INT NOT NULL AUTO_INCREMENT,
108 `texto` VARCHAR(100) NOT NULL,
109 `num_curtida` INT NOT NULL DEFAULT 0,
110 `postagem_id` INT NOT NULL,
111 `usuario_id` INT NOT NULL,
112 PRIMARY KEY (`id`),
113 INDEX `fk_comentario_postagem1_idx` (`postagem_id` ASC) ,
114 INDEX `fk_comentario_usuario1_idx` (`usuario_id` ASC) ,
115 CONSTRAINT `fk_comentario_postagem1`
116 FOREIGN KEY (`postagem_id`)
117 REFERENCES `mydb`.`postagem` (`id`)
118 ON DELETE NO ACTION
119 ON UPDATE NO ACTION,
120 CONSTRAINT `fk_comentario_usuario1`
121 FOREIGN KEY (`usuario_id`)
122 REFERENCES `mydb`.`usuario` (`id`)
123 ON DELETE NO ACTION
124 ON UPDATE NO ACTION)
125ENGINE = InnoDB;
126
127
128-- -----------------------------------------------------
129-- Table `mydb`.`curtidas_post`
130-- -----------------------------------------------------
131CREATE TABLE IF NOT EXISTS `mydb`.`curtidas_post` (
132 `curtidor` INT NOT NULL,
133 `postagem_id` INT NOT NULL,
134 INDEX `fk_curtidas_post_usuario1_idx` (`curtidor` ASC) ,
135 INDEX `fk_curtidas_post_postagem1_idx` (`postagem_id` ASC) ,
136 PRIMARY KEY (`curtidor`, `postagem_id`),
137 CONSTRAINT `fk_curtidas_post_usuario1`
138 FOREIGN KEY (`curtidor`)
139 REFERENCES `mydb`.`usuario` (`id`)
140 ON DELETE NO ACTION
141 ON UPDATE NO ACTION,
142 CONSTRAINT `fk_curtidas_post_postagem1`
143 FOREIGN KEY (`postagem_id`)
144 REFERENCES `mydb`.`postagem` (`id`)
145 ON DELETE NO ACTION
146 ON UPDATE NO ACTION)
147ENGINE = InnoDB;
148
149
150SET SQL_MODE=@OLD_SQL_MODE;
151SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
152SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;