· 7 years ago · Dec 11, 2018, 11:10 AM
1-- MySQL Script generated by MySQL Workbench
2-- Tue Dec 11 11:07:01 2018
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6/* SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; */
7/* SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; */
8/* SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; */
9
10-- -----------------------------------------------------
11-- Schema mydb
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema mydb
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8 ;
18USE [mydb] ;
19
20-- -----------------------------------------------------
21-- Table `mydb`.`Empresas`
22-- -----------------------------------------------------
23CREATE TABLE mydb.Empresas (
24 [idEmpresas] INT NOT NULL IDENTITY,
25 [designacao] VARCHAR(256) NOT NULL,
26 [morada] VARCHAR(256) NOT NULL,
27 PRIMARY KEY ([idEmpresas]),
28 CONSTRAINT [idEmpresas_UNIQUE] UNIQUE ([idEmpresas] ASC))
29;
30
31
32-- -----------------------------------------------------
33-- Table `mydb`.`PropostasEstagios`
34-- -----------------------------------------------------
35CREATE TABLE mydb.PropostasEstagios (
36 [idPropostasEstagios] INT NOT NULL IDENTITY,
37 [Empresas_idEmpresas] INT NOT NULL,
38 [Utilizadores_idUtilizadoresCriador] INT NOT NULL,
39 [Utilizadores_idUtilizadoresOrientador] INT NOT NULL,
40 [ramo] VARCHAR(256) NOT NULL,
41 [enquadramento] VARCHAR(256) NOT NULL,
42 [objetivos] VARCHAR(1024) NOT NULL,
43 [condicoesAcesso] VARCHAR(1024) NOT NULL,
44 [dataProposta] DATETIME2(0) NOT NULL,
45 [dataInicio] DATETIME2(0) NOT NULL,
46 [dataFim] DATETIME2(0) NOT NULL,
47 [eliminado] SMALLINT NOT NULL,
48 PRIMARY KEY ([idPropostasEstagios]),
49 CONSTRAINT [idPropostasEstagio_UNIQUE] UNIQUE ([idPropostasEstagios] ASC)
50 ,
51 CONSTRAINT [fk_PropostasEstagio_Empresas1]
52 FOREIGN KEY ([Empresas_idEmpresas])
53 REFERENCES mydb.Empresas ([idEmpresas])
54 ON DELETE NO ACTION
55 ON UPDATE NO ACTION)
56;
57
58CREATE INDEX [fk_PropostasEstagio_Empresas1_idx] ON mydb.PropostasEstagios ([Empresas_idEmpresas] ASC);
59
60
61-- -----------------------------------------------------
62-- Table `mydb`.`ResultadosPropostaEstagio`
63-- -----------------------------------------------------
64CREATE TABLE mydb.ResultadosPropostaEstagio (
65 [idResultadosPropostaEstagio] INT NOT NULL IDENTITY,
66 [Utilizadores_idUtilizadores] INT NOT NULL,
67 [PropostasEstagios_idPropostasEstagios] INT NOT NULL,
68 [resultado] VARCHAR(256) NOT NULL,
69 [justificacao] VARCHAR(1024) NOT NULL,
70 PRIMARY KEY ([idResultadosPropostaEstagio]),
71 CONSTRAINT [idResultadosEstagioProjeto_UNIQUE] UNIQUE ([idResultadosPropostaEstagio] ASC)
72 ,
73 CONSTRAINT [fk_ResultadosPropostaEstagio_PropostasEstagio1]
74 FOREIGN KEY ([PropostasEstagios_idPropostasEstagios])
75 REFERENCES mydb.PropostasEstagios ([idPropostasEstagios])
76 ON DELETE NO ACTION
77 ON UPDATE NO ACTION)
78;
79
80CREATE INDEX [fk_ResultadosPropostaEstagio_PropostasEstagio1_idx] ON mydb.ResultadosPropostaEstagio ([PropostasEstagios_idPropostasEstagios] ASC);
81
82
83-- -----------------------------------------------------
84-- Table `mydb`.`FichaAluno`
85-- -----------------------------------------------------
86CREATE TABLE mydb.FichaAluno (
87 [idFichaAluno] INT NOT NULL IDENTITY,
88 [Utilizadores_idUtilizadores] INT NOT NULL,
89 [ramo] VARCHAR(256) NOT NULL,
90 [eliminado] SMALLINT NOT NULL,
91 PRIMARY KEY ([idFichaAluno]),
92 CONSTRAINT [idFichaAluno_UNIQUE] UNIQUE ([idFichaAluno] ASC))
93;
94
95
96-- -----------------------------------------------------
97-- Table `mydb`.`NotasAlunoDisciplina`
98-- -----------------------------------------------------
99CREATE TABLE mydb.NotasAlunoDisciplina (
100 [idNotasAlunoDisciplina] INT NOT NULL IDENTITY,
101 [FichaAluno_idFichaAluno] INT NOT NULL,
102 [disciplina] VARCHAR(256) NOT NULL,
103 [valor] FLOAT NOT NULL,
104 PRIMARY KEY ([idNotasAlunoDisciplina]),
105 CONSTRAINT [idNotasAlunoDisciplina_UNIQUE] UNIQUE ([idNotasAlunoDisciplina] ASC)
106 ,
107 CONSTRAINT [fk_NotasAlunoDisciplina_FichaAluno1]
108 FOREIGN KEY ([FichaAluno_idFichaAluno])
109 REFERENCES mydb.FichaAluno ([idFichaAluno])
110 ON DELETE NO ACTION
111 ON UPDATE NO ACTION)
112;
113
114CREATE INDEX [fk_NotasAlunoDisciplina_FichaAluno1_idx] ON mydb.NotasAlunoDisciplina ([FichaAluno_idFichaAluno] ASC);
115
116
117-- -----------------------------------------------------
118-- Table `mydb`.`DiscplinasPorConcluir`
119-- -----------------------------------------------------
120CREATE TABLE mydb.DiscplinasPorConcluir (
121 [idDiscplinasPorConcluir] INT NOT NULL IDENTITY,
122 [FichaAluno_idFichaAluno] INT NOT NULL,
123 [disciplina] VARCHAR(256) NOT NULL,
124 PRIMARY KEY ([idDiscplinasPorConcluir]),
125 CONSTRAINT [idDiscplinasPorConcluir_UNIQUE] UNIQUE ([idDiscplinasPorConcluir] ASC)
126 ,
127 CONSTRAINT [fk_DiscplinasPorConcluir_FichaAluno1]
128 FOREIGN KEY ([FichaAluno_idFichaAluno])
129 REFERENCES mydb.FichaAluno ([idFichaAluno])
130 ON DELETE NO ACTION
131 ON UPDATE NO ACTION)
132;
133
134CREATE INDEX [fk_DiscplinasPorConcluir_FichaAluno1_idx] ON mydb.DiscplinasPorConcluir ([FichaAluno_idFichaAluno] ASC);
135
136
137-- -----------------------------------------------------
138-- Table `mydb`.`CandidaturaEstagio`
139-- -----------------------------------------------------
140CREATE TABLE mydb.CandidaturaEstagio (
141 [idCandidaturaEstagio] INT NOT NULL IDENTITY,
142 [Utilizadores_idUtilizadores] INT NOT NULL,
143 [FichaAluno_idFichaAluno] INT NOT NULL,
144 [PropostasEstagios_idPropostasEstagios] INT NOT NULL,
145 [resultado] VARCHAR(256) NOT NULL,
146 [eliminado] SMALLINT NOT NULL,
147 PRIMARY KEY ([idCandidaturaEstagio]),
148 CONSTRAINT [idCandidaturaEstagio_UNIQUE] UNIQUE ([idCandidaturaEstagio] ASC)
149 ,
150 CONSTRAINT [fk_CandidaturaEstagio_FichaAluno1]
151 FOREIGN KEY ([FichaAluno_idFichaAluno])
152 REFERENCES mydb.FichaAluno ([idFichaAluno])
153 ON DELETE NO ACTION
154 ON UPDATE NO ACTION,
155 CONSTRAINT [fk_CandidaturaEstagio_PropostasEstagio1]
156 FOREIGN KEY ([PropostasEstagios_idPropostasEstagios])
157 REFERENCES mydb.PropostasEstagios ([idPropostasEstagios])
158 ON DELETE NO ACTION
159 ON UPDATE NO ACTION)
160;
161
162CREATE INDEX [fk_CandidaturaEstagio_FichaAluno1_idx] ON mydb.CandidaturaEstagio ([FichaAluno_idFichaAluno] ASC);
163CREATE INDEX [fk_CandidaturaEstagio_PropostasEstagio1_idx] ON mydb.CandidaturaEstagio ([PropostasEstagios_idPropostasEstagios] ASC);
164
165
166-- -----------------------------------------------------
167-- Table `mydb`.`Mensagens`
168-- -----------------------------------------------------
169CREATE TABLE mydb.Mensagens (
170 [idMensagens] INT NOT NULL IDENTITY,
171 [Utilizadores_idUtilizadoresOrig] INT NOT NULL,
172 [Utilizadores_idUtilizadoresDest] INT NOT NULL,
173 [mensagem] VARCHAR(4096) NOT NULL,
174 PRIMARY KEY ([idMensagens]),
175 CONSTRAINT [idMensagens_UNIQUE] UNIQUE ([idMensagens] ASC))
176;
177
178
179-- -----------------------------------------------------
180-- Table `mydb`.`AvaliacaoEstagio`
181-- -----------------------------------------------------
182CREATE TABLE mydb.AvaliacaoEstagio (
183 [idAvaliacaoEstagio] INT NOT NULL IDENTITY,
184 [PropostasEstagios_idPropostasEstagios] INT NOT NULL,
185 [Utilizadores_idUtilizadoresAvaliador] INT NOT NULL,
186 [Utilizadores_idUtilizadoresAvaliado] INT NOT NULL,
187 [valor] FLOAT NOT NULL,
188 [observacao] VARCHAR(1024) NOT NULL,
189 PRIMARY KEY ([idAvaliacaoEstagio]),
190 CONSTRAINT [idAvaliacaoEstagio_UNIQUE] UNIQUE ([idAvaliacaoEstagio] ASC)
191 ,
192 CONSTRAINT [fk_AvaliacaoEstagio_PropostasEstagio1]
193 FOREIGN KEY ([PropostasEstagios_idPropostasEstagios])
194 REFERENCES mydb.PropostasEstagios ([idPropostasEstagios])
195 ON DELETE NO ACTION
196 ON UPDATE NO ACTION)
197;
198
199CREATE INDEX [fk_AvaliacaoEstagio_PropostasEstagio1_idx] ON mydb.AvaliacaoEstagio ([PropostasEstagios_idPropostasEstagios] ASC);
200
201
202-- -----------------------------------------------------
203-- Table `mydb`.`AvaliacaoAluno`
204-- -----------------------------------------------------
205CREATE TABLE mydb.AvaliacaoAluno (
206 [idAvaliacaoAluno] INT NOT NULL IDENTITY,
207 [Utilizadores_idUtilizadores] INT NOT NULL,
208 [Empresas_idEmpresas] INT NOT NULL,
209 [valor] SMALLINT NOT NULL,
210 [observacao] VARCHAR(1024) NOT NULL,
211 PRIMARY KEY ([idAvaliacaoAluno])
212 ,
213 CONSTRAINT [fk_AvaliacaoAluno_Empresas1]
214 FOREIGN KEY ([Empresas_idEmpresas])
215 REFERENCES mydb.Empresas ([idEmpresas])
216 ON DELETE NO ACTION
217 ON UPDATE NO ACTION)
218;
219
220CREATE INDEX [fk_AvaliacaoAluno_Empresas1_idx] ON mydb.AvaliacaoAluno ([Empresas_idEmpresas] ASC);
221
222
223-- -----------------------------------------------------
224-- Table `mydb`.`PropostasProjetos`
225-- -----------------------------------------------------
226CREATE TABLE mydb.PropostasProjetos (
227 [idPropostasProjetos] INT NOT NULL IDENTITY,
228 [Utilizadores_idUtilizadores] INT NOT NULL,
229 [tema] VARCHAR(256) NOT NULL,
230 [descricao] VARCHAR(4096) NOT NULL,
231 [dataProposta] DATETIME2(0) NOT NULL,
232 [dataInicio] DATETIME2(0) NOT NULL,
233 [dataFim] DATETIME2(0) NOT NULL,
234 [eliminado] SMALLINT NOT NULL,
235 [Ramos_idRamos] INT NOT NULL,
236 PRIMARY KEY ([idPropostasProjetos]),
237 CONSTRAINT [idPropostasProjetos_UNIQUE] UNIQUE ([idPropostasProjetos] ASC))
238;
239
240
241-- -----------------------------------------------------
242-- Table `mydb`.`CandidaturaProjeto`
243-- -----------------------------------------------------
244CREATE TABLE mydb.CandidaturaProjeto (
245 [idCandidaturaProjeto] INT NOT NULL IDENTITY,
246 [Utilizadores_idUtilizadores] INT NOT NULL,
247 [PropostasProjetos_idPropostasProjetos] INT NOT NULL,
248 [resultado] VARCHAR(256) NOT NULL,
249 [FichaAluno_idFichaAluno] INT NOT NULL,
250 PRIMARY KEY ([idCandidaturaProjeto]),
251 CONSTRAINT [idCandidaturaProjeto_UNIQUE] UNIQUE ([idCandidaturaProjeto] ASC)
252 ,
253 CONSTRAINT [fk_CandidaturaProjeto_PropostasProjetos1]
254 FOREIGN KEY ([PropostasProjetos_idPropostasProjetos])
255 REFERENCES mydb.PropostasProjetos ([idPropostasProjetos])
256 ON DELETE NO ACTION
257 ON UPDATE NO ACTION,
258 CONSTRAINT [fk_CandidaturaProjeto_FichaAluno1]
259 FOREIGN KEY ([FichaAluno_idFichaAluno])
260 REFERENCES mydb.FichaAluno ([idFichaAluno])
261 ON DELETE NO ACTION
262 ON UPDATE NO ACTION)
263;
264
265CREATE INDEX [fk_CandidaturaProjeto_PropostasProjetos1_idx] ON mydb.CandidaturaProjeto ([PropostasProjetos_idPropostasProjetos] ASC);
266CREATE INDEX [fk_CandidaturaProjeto_FichaAluno1_idx] ON mydb.CandidaturaProjeto ([FichaAluno_idFichaAluno] ASC);
267
268
269-- -----------------------------------------------------
270-- Table `mydb`.`ProjetosDocentes`
271-- -----------------------------------------------------
272CREATE TABLE mydb.ProjetosDocentes (
273 [idProjetosDocentes] INT NOT NULL IDENTITY,
274 [estado] INT NOT NULL ,
275 [PropostasProjetos_idPropostasProjetos] INT NOT NULL,
276 [Utilizadores_idUtilizadores] INT NOT NULL,
277 PRIMARY KEY ([idProjetosDocentes]),
278 CONSTRAINT [idProjetosDocentes_UNIQUE] UNIQUE ([idProjetosDocentes] ASC)
279 ,
280 CONSTRAINT [fk_ProjetosDocentes_PropostasProjetos1]
281 FOREIGN KEY ([PropostasProjetos_idPropostasProjetos])
282 REFERENCES mydb.PropostasProjetos ([idPropostasProjetos])
283 ON DELETE NO ACTION
284 ON UPDATE NO ACTION)
285;
286
287CREATE INDEX [fk_ProjetosDocentes_PropostasProjetos1_idx] ON mydb.ProjetosDocentes ([PropostasProjetos_idPropostasProjetos] ASC);
288
289
290/* SET SQL_MODE=@OLD_SQL_MODE; */
291/* SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; */
292/* SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; */