-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaskTechForumSQL-11.sql
More file actions
117 lines (96 loc) · 3.8 KB
/
askTechForumSQL-11.sql
File metadata and controls
117 lines (96 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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';
DROP SCHEMA IF EXISTS `askTechForum` ;
CREATE SCHEMA IF NOT EXISTS `askTechForum` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `askTechForum` ;
-- -----------------------------------------------------
-- Table `askTechForum`.`USUARIO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `askTechForum`.`usuario` ;
CREATE TABLE IF NOT EXISTS `askTechForum`.`usuario` (
`idUsuario` INT NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(150) NOT NULL,
`dt_nasc` DATE NULL,
`admin` TINYINT(1) NOT NULL default 0,
`email` VARCHAR(150) NOT NULL,
`localizacao` VARCHAR(45) NULL,
`senha` VARCHAR(8) NOT NULL,
PRIMARY KEY (`idUsuario`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `askTechForum`.`PERGUNTA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `askTechForum`.`pergunta` ;
CREATE TABLE IF NOT EXISTS `askTechForum`.`pergunta` (
`idPergunta` INT NOT NULL AUTO_INCREMENT,
`titulo` VARCHAR(150) NOT NULL,
`data` DATE NOT NULL,
`hora` TIME NOT NULL,
`descricao` VARCHAR(1000) NOT NULL,
`idUsuario` INT NOT NULL,
`tag` VARCHAR(100),
PRIMARY KEY (`idPergunta`),
CONSTRAINT `fk_usuario_pergunta`
FOREIGN KEY (`idUsuario`)
REFERENCES `askTechForum`.`usuario` (`idUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `ser_idx` ON `askTechForum`.`pergunta` (`idUsuario` ASC);
-- -----------------------------------------------------
-- Table `askTechForum`.`RESPOSTA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `askTechForum`.`resposta` ;
CREATE TABLE IF NOT EXISTS `askTechForum`.`resposta` (
`idResposta` INT NOT NULL AUTO_INCREMENT,
`descricao` VARCHAR(1000) NOT NULL,
`idUsuario` INT NOT NULL,
`idPergunta` INT NOT NULL,
`data` DATE NOT NULL,
`hora` TIME NOT NULL,
`votos` INT default 0,
PRIMARY KEY (`idResposta`),
CONSTRAINT `fk_usuario_resposta`
FOREIGN KEY (`idUsuario`)
REFERENCES `askTechForum`.`usuario` (`idUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_pergunta_resposta`
FOREIGN KEY (`idPergunta`)
REFERENCES `askTechForum`.`pergunta` (`idPergunta`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
CREATE INDEX `fk_usuario_idx` ON `askTechForum`.`resposta` (`idUsuario` ASC);
CREATE INDEX `fk_pergunta_idx` ON `askTechForum`.`resposta` (`idPergunta` ASC);
-- -----------------------------------------------------
-- Table `askTechForum`.`VOTO`
-- -----------------------------------------------------
CREATE TABLE `askTechForum`.`voto` (
`idVoto` INT NOT NULL AUTO_INCREMENT,
`idUsuario` INT NOT NULL,
`idResposta` INT NOT NULL,
PRIMARY KEY (`idVoto`),
INDEX `fk_usuario_idx` (`idUsuario` ASC),
INDEX `fk_resposta_idx` (`idResposta` ASC),
CONSTRAINT `fk_resposta_voto`
FOREIGN KEY (`idResposta`)
REFERENCES `askTechForum`.`resposta` (`idResposta`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `fk_usuario_voto`
FOREIGN KEY (`idUsuario`)
REFERENCES `askTechForum`.`usuario` (`idUsuario`)
ON DELETE CASCADE
ON UPDATE CASCADE);
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- ajustes asktechforum.
-- Criando o usuário admin.
-- insert into usuario (idUsuario,nome,dt_nasc,admin,email,localizacao,senha)
-- values (1,'Admin',sysdate(),1,'admin@admin.com','BR','admin');
-- Criando a pergunta 0;
-- insert into pergunta(idPergunta,titulo,data,hora,descricao,idUsuario,tag) values
-- (1,'pergunta default',sysdate(),curtime(),'Pergunta Padrao do sistema',1,'Geral');