-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathToDoListBD.sql
More file actions
105 lines (92 loc) · 2.82 KB
/
ToDoListBD.sql
File metadata and controls
105 lines (92 loc) · 2.82 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
CREATE DATABASE ToDoList
USE ToDoList
CREATE TABLE utilizador(
ID int IDENTITY(1,1),
nome VARCHAR(100) NOT NULL,
username VARCHAR(20) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
hashPassword VARCHAR(255) NOT NULL,
fotografia VARCHAR(255),
linguagem VARCHAR(5) NOT NULL DEFAULT('en-US'),
PRIMARY KEY(ID)
);
CREATE TABLE tarefa(
ID int IDENTITY(1,1),
titulo VARCHAR(100) NOT NULL,
descricao VARCHAR(100) NOT NULL,
dataInicio DATE NOT NULL DEFAULT(GETDATE()),
dataFim DATE NOT NULL DEFAULT(GETDATE()),
horaInicio TIME NOT NULL DEFAULT(GETDATE()),
horaFim TIME NOT NULL DEFAULT(GETDATE()),
NivelImportancia INT NOT NULL,
Estado INT NOT NULL
PRIMARY KEY(ID)
);
CREATE TABLE alerta(
ID int IDENTITY(1,1),
mensagem VARCHAR(100) NOT NULL,
data_hora DATETIME NOT NULL DEFAULT(getdate()),
desligado BIT NOT NULL DEFAULT(0),
tipoEmail BIT NOT NULL DEFAULT(0),
tipoWindows BIT NOT NULL DEFAULT(1),
PRIMARY KEY(ID)
);
CREATE TABLE listaPersonalizada(
ID int IDENTITY(1,1),
nomeLista VARCHAR(55) NOT NULL ,
PRIMARY KEY(ID)
);
CREATE TABLE diaTarefa(
ID int IDENTITY(1,1),
dataDia DATE NOT NULL,
ativo BIT NOT NULL DEFAULT(1),
PRIMARY KEY(ID)
);
CREATE TABLE periodicidade(
ID int IDENTITY(1,1),
diasSemana VARCHAR(255) NOT NULL,
tipo INT NOT NULL,
PRIMARY KEY(ID)
);
CREATE TABLE Possuir(
ID_utilizador int NOT NULL,
ID_tarefa int NOT NULL,
PRIMARY KEY(ID_tarefa),
FOREIGN KEY (ID_tarefa) REFERENCES tarefa(ID),
FOREIGN KEY (ID_utilizador) REFERENCES utilizador(ID)
);
CREATE TABLE Conter(
ID_utilizador int NOT NULL,
ID_listaPersonalizada int NOT NULL,
PRIMARY KEY(ID_listaPersonalizada),
FOREIGN KEY (ID_listaPersonalizada) REFERENCES listaPersonalizada(ID),
FOREIGN KEY (ID_utilizador) REFERENCES utilizador(ID)
);
CREATE TABLE Tarefa_Alerta(
ID_tarefa int NOT NULL,
ID_alerta int NOT NULL,
PRIMARY KEY(ID_alerta),
FOREIGN KEY (ID_alerta) REFERENCES alerta(ID),
FOREIGN KEY (ID_tarefa) REFERENCES tarefa(ID)
);
CREATE TABLE Tarefa_DiaTarefa(
ID_tarefa int NOT NULL,
ID_diaTarefa int NOT NULL,
PRIMARY KEY(ID_diaTarefa),
FOREIGN KEY (ID_tarefa) REFERENCES tarefa(ID),
FOREIGN KEY (ID_diaTarefa) REFERENCES diaTarefa(ID)
);
CREATE TABLE Tarefa_Periodicidade(
ID_tarefa int NOT NULL,
ID_periodicidade int NOT NULL,
PRIMARY KEY(ID_tarefa),
FOREIGN KEY (ID_tarefa) REFERENCES tarefa(ID),
FOREIGN KEY (ID_periodicidade) REFERENCES periodicidade(ID)
);
CREATE TABLE ListaPersonalizada_Tarefa(
ID_tarefa int NOT NULL,
ID_listaPersonalizada int NOT NULL,
PRIMARY KEY(ID_tarefa),
FOREIGN KEY (ID_tarefa) REFERENCES tarefa(ID),
FOREIGN KEY (ID_listaPersonalizada) REFERENCES listaPersonalizada(ID)
);