-
Notifications
You must be signed in to change notification settings - Fork 0
/
agileDatabase.sql
151 lines (137 loc) · 5.71 KB
/
agileDatabase.sql
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
-- MySQL Script generated by MySQL Workbench
-- Tue Mar 29 16:55:22 2021
-- Model: AGILE EER Diagram
CREATE DATABASE agileDB
DEFAULT CHARSET = utf8mb4
DEFAULT ENCRYPTION = 'N';
-- -----------------------------------------------------
-- Schema agileDB
-- -----------------------------------------------------
USE agileDB;
-- ---------------------------------------------------------------
-- Table `Colaborador` - Tabela de colaboradores
-- ---------------------------------------------------------------
-- SELECT * FROM agileDB.Colaborador;
CREATE TABLE IF NOT EXISTS agileDB.Colaborador (
IDcolab INT NOT NULL,
Nome VARCHAR(45) NOT NULL,
Area VARCHAR(20) NOT NULL,
local_de_trabalho VARCHAR(20) NOT NULL,
anos_na_empresa INT NOT NULL,
fk_Colaborador_IDrevisor INT,
PRIMARY KEY(IDcolab),
FOREIGN KEY(fk_Colaborador_IDrevisor) REFERENCES agileDB.Colaborador(IDcolab)
)
ENGINE = InnoDB;
/*
ALTER TABLE colaborador,
DROP COLUMN 'anos_na_empresa'
ADD COLUMN 'anos_na_empresa' INT
-- -------------------------------------------------------------------------------------
-- Table `Projeto` - Tabela correspondente aos projetos da empresa
-- -------------------------------------------------------------------------------------
*/
-- SELECT * FROM agileDB.Projeto;
CREATE TABLE IF NOT EXISTS agileDB.Projeto (
IDprojeto INT NOT NULL,
Nome VARCHAR(20),
estado VARCHAR(20),
data_limite VARCHAR(20),
descricao TEXT,
Scrum_master VARCHAR(20),
PRIMARY KEY(IDprojeto)
);
-- -------------------------------------------------------------------------------------
-- Table `Backlog` - Tabela de um backlog
-- -------------------------------------------------------------------------------------
CREATE TABLE agileDB.Backlog (
backlogID INT NOT NULL,
descricao TEXT,
tipo VARCHAR(20),
fk_Projeto_IDprojeto INT,
PRIMARY KEY(backlogID),
FOREIGN KEY(fk_Projeto_IDprojeto) REFERENCES agileDB.Projeto(IDprojeto)
);
-- -------------------------------------------------------------------------------------
-- Table `Product_Increment` - Tabela de um PI
-- -------------------------------------------------------------------------------------
-- SELECT * FROM agileDB.Product_Increment;
CREATE TABLE IF NOT EXISTS agileDB.Product_Increment (
PIID INT NOT NULL,
Título VARCHAR(30),
tempo_restante VARCHAR(30),
fk_Projeto_IDprojeto INT,
PRIMARY KEY(PIID),
FOREIGN KEY(fk_Projeto_IDprojeto) REFERENCES agileDB.Projeto(IDprojeto)
);
-- -------------------------------------------------------------------------------------
-- Table `Sprint` - Tabela de um sprint
-- -------------------------------------------------------------------------------------
-- SELECT * FROM agileDB.Sprint;
CREATE TABLE IF NOT EXISTS agileDB.Sprint (
Número INT NOT NULL,
data_inicial VARCHAR(20),
data_fim VARCHAR(20),
IDsprint INT NOT NULL,
fk_Product_Increment_PIID INT,
fk_Backlog_backlogID INT,
PRIMARY KEY(IDsprint),
FOREIGN KEY(fk_Product_Increment_PIID) REFERENCES agileDB.Product_Increment(PIID),
FOREIGN KEY(fk_Backlog_backlogID) REFERENCES agileDB.Backlog(backlogID)
);
-- -------------------------------------------------------------------------------------
-- Table `Equipa` - Tabela de uma equipa
-- -------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS agileDB.Equipa (
EquipaId INT NOT NULL,
fk_Projeto_IDprojeto INT,
designacao VARCHAR(20),
PRIMARY KEY(EquipaId),
FOREIGN KEY(fk_Projeto_IDprojeto) REFERENCES agileDB.Projeto(IDprojeto)
);
-- -------------------------------------------------------------------------------------
-- Table `Workpackage` - Tabela de um Workpackage
-- -------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS agileDB.Workpackage (
IDworkpackage INT NOT NULL,
data_de_criacao VARCHAR(20),
duracao VARCHAR(20),
fk_Equipa_EquipaId INT,
fk_Backlog_backlogID INT,
PRIMARY KEY(IDworkpackage),
FOREIGN KEY(fk_Equipa_EquipaId) REFERENCES agileDB.Equipa(EquipaId),
FOREIGN KEY(fk_Backlog_backlogID) REFERENCES agileDB.Backlog(backlogID)
);
-- -------------------------------------------------------------------------------------
-- Table `Tarefa` - Tabela de uma Tarefa
-- -------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS agileDB.Tarefa (
ID INT NOT NULL,
Tstatus VARCHAR(20),
descricao TEXT,
fk_Workpackage_IDworkpackage INT,
fk_Colaborador_IDcolab INT,
PRIMARY KEY(ID),
FOREIGN KEY(fk_Workpackage_IDworkpackage) REFERENCES agileDB.Workpackage(IDworkpackage),
FOREIGN KEY(fk_Colaborador_IDcolab) REFERENCES agileDB.Colaborador(IDcolab)
);
-- -------------------------------------------------------------------------------------
-- Table `Seccao_bug` - Tabela referente a secção de bugs
-- -------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS agileDB.Seccao_bug (
Prioridade VARCHAR(20),
codigo INT NOT NULL,
descricao TEXT,
fk_Tarefa_ID INT,
PRIMARY KEY(codigo),
FOREIGN KEY(fk_Tarefa_ID) REFERENCES agileDB.Tarefa(ID)
);
-- -------------------------------------------------------------------------------------
-- Table `EquipaEColaborador` - Tabela de EquipaEColaborador
-- -------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS agileDB.EquipaEColaborador (
fk_Equipa_EquipaId INT,
fk_Colaborador_IDcolab INT,
FOREIGN KEY(fk_Equipa_EquipaId) REFERENCES agileDB.Equipa(EquipaId),
FOREIGN KEY(fk_Colaborador_IDcolab) REFERENCES agileDB.Colaborador(IDcolab)
);