-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreacion.sql
144 lines (114 loc) · 3.54 KB
/
creacion.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
Create extension pgcrypto; -- Extensión usada para el cifrado de contraseñas
Create table usuario
(
id_usuario varchar(20) not null,
clave varchar(72) not null,
autorizado boolean not null,
solicitadobaja boolean,
primary key(id_usuario)
);
Create table inversor
(
id_usuario varchar(20) not null,
nombre varchar(60) not null,
saldo float not null default 0,
dni varchar(9) not null,
direccion varchar(50),
telefono varchar(9),
primary key (id_usuario),
foreign key (id_usuario) references usuario (id_usuario)
on delete cascade on update cascade
);
Create table empresa
(
id_usuario varchar(20) not null,
nombrecomercial varchar(60) not null,
cif varchar(9) not null,
saldo float default 0,
saldobloqueado float default 0,
participacionesbloqueadas integer default 0,
direccion varchar(50),
telefono varchar(9),
primary key (id_usuario),
foreign key (id_usuario) references usuario (id_usuario)
on delete cascade on update cascade
);
Create table regulador
(
id_usuario varchar(20) not null,
comision float ,
saldo float default 0,
primary key (id_usuario),
foreign key (id_usuario) references usuario (id_usuario)
on delete cascade on update cascade
);
Create table participacionesInversor
(
usuario varchar(20) not null,
empresa varchar(20) not null,
numParticipaciones integer not null,
primary key (usuario, empresa),
foreign key (usuario) references inversor (id_usuario)
on delete cascade on update cascade,
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade
);
Create table participacionesEmpresa
(
usuario varchar(20) not null,
empresa varchar(20) not null,
numParticipaciones integer not null,
primary key (usuario, empresa),
foreign key (usuario) references empresa (id_usuario)
on delete cascade on update cascade,
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade
);
Create table ofertaVenta
(
usuario varchar(20) not null,
empresa varchar(20) not null,
fecha timestamp not null,
numParticipaciones integer not null,
precio float not null,
primary key (usuario, fecha),
foreign key (usuario) references usuario (id_usuario)
on delete cascade on update cascade,
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade
);
Create table anuncioBeneficios
(
empresa varchar(20) not null,
fechaPago timestamp not null,
fechaAnuncio timestamp,
numeroparticipaciones integer,
importeParticipacion float,
solicitadobaja boolean default false,
primary key (fechaPago, empresa),
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade
);
Create table emitirParticipaciones
(
empresa varchar(20) not null,
fechaEmision timestamp not null,
numeroParticipaciones integer not null,
primary key (fechaEmision, empresa),
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade
);
Create table historial
(
empresa varchar(20) not null,
usuario varchar(20) not null,
fecha timestamp not null,
cantidad integer not null,
precio float not null,
tipo varchar(20) not null,
primary key (fecha),
foreign key (empresa) references empresa (id_usuario)
on delete cascade on update cascade,
foreign key (usuario) references usuario (id_usuario)
on delete cascade on update cascade
);