-
Notifications
You must be signed in to change notification settings - Fork 0
/
DDL Restaurante - Script.sql
267 lines (234 loc) · 7.92 KB
/
DDL Restaurante - Script.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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
Create database Restaurante;
Use Restaurante;
/*-----------------------------------------Creacion de tablas------------------------------------------*/
--Tabla Categoria
create table categoria(
id_categoria int identity not null,
nombre_categoria NVARCHAR(100) not null,
CONSTRAINT pk_categoria PRIMARY KEY(id_categoria),
CONSTRAINT un_categoria unique(nombre_categoria)
);
--Tabla Menu
create table menu(
id_menu int identity not null,
nombre_menu NVARCHAR(100) not null,
descripcion_menu NVARCHAR(300) not null,
precio_menu float not null,
CONSTRAINT pk_menu PRIMARY KEY(id_menu)
);
--Tabla de union Categoria y Menu
create table categoriaxmenu(
id_categoria int not null,
id_menu int not null,
CONSTRAINT pk_categoriaxmenu PRIMARY KEY(id_menu, id_categoria),
CONSTRAINT fk_categoriaxmenu1 FOREIGN KEY (id_menu) REFERENCES menu(id_menu),
CONSTRAINT fk_categoriaxmenu2 FOREIGN KEY (id_categoria) REFERENCES categoria(id_categoria)
);
--Tabla Cliente
create table cliente(
id_cliente int identity not null,
nombre_cliente NVARCHAR(100) not null,
genero_cliente NVARCHAR(100) not null,
telefono_cliente NVARCHAR(100) not null,
direccion_cliente NVARCHAR(100) not null,
CONSTRAINT pk_cliente PRIMARY KEY(id_cliente)
);
--Tabla Domiciliario
create table domiciliario(
id_domiciliario int identity not null,
nombre_domiciliario NVARCHAR(100) not null,
genero_domiciliario NVARCHAR(100) not null,
telefono_domiciliario NVARCHAR(100) not null,
CONSTRAINT pk_domiciliario PRIMARY KEY(id_domiciliario)
);
--Tabla Compra
create table compra(
id_compra int identity not null,
id_cliente int not null,
id_domiciliario int not null,
id_menu int not null,
cantidad int not null,
fecha_compra date not null,
entrega_recibida NVARCHAR(100) not null,
CONSTRAINT pk_compra PRIMARY KEY(id_compra),
CONSTRAINT fk_compra1 FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente),
CONSTRAINT fk_compra2 FOREIGN KEY (id_domiciliario) REFERENCES domiciliario(id_domiciliario),
CONSTRAINT fk_compra3 FOREIGN KEY (id_menu) REFERENCES menu(id_menu)
);
/*------------------Procedimientos Categoria-----------------*/
--Procedimiento almacenado para mostrar categorias
create procedure mostrar_categoria
as begin
select * from categoria
end;
--Procedimiento almacenado para insertar categoria
create procedure insertar_categoria
@nombre_cat NVARCHAR(100)
as begin
insert into categoria(nombre_categoria) values(@nombre_cat);
end;
--Procedimiento almacenado para actualizar categoria
create procedure editar_categoria
@nombre_cat NVARCHAR(100),
@id_cat int
as begin
update categoria set nombre_categoria = @nombre_cat where id_categoria = @id_cat;
end;
--Procedimiento almacenado para eliminar categoria
create procedure eliminar_categoria
@id_cat int
as begin
delete from categoria where id_categoria = @id_cat;
end;
/*------------------Procedimientos Menu----------------------*/
--Procedimiento almacenado para mostrar menus
create procedure mostrar_menu
as begin
select * from menu
end;
--Procedimiento almacenado para insertar menu
create procedure insertar_menu
@nombre_men NVARCHAR(100),
@descripcion_men NVARCHAR(300),
@precio_men float
as begin
insert into menu(nombre_menu,descripcion_menu,precio_menu) values(@nombre_men, @descripcion_men, @precio_men);
end;
--Procedimiento almacenado para editar menu
create procedure editar_menu
@nombre_men NVARCHAR(100),
@descripcion_men NVARCHAR(300),
@precio_men float,
@id_men int
as begin
update menu set nombre_menu = @nombre_men, descripcion_menu = @descripcion_men,
precio_menu = @precio_men where id_menu = @id_men;
end;
--Procedimiento almacenado para eliminar menu
create procedure eliminar_menu
@id_men int
as begin
delete from menu where id_menu = @id_men;
end;
/*------------------Procedimientos categoria x genero-----------------*/
--Procedimiento almacenado para mostrar categoria x genero
create procedure mostrar_categoriaxmenu
as begin
select * from categoriaxmenu
end;
--Procedimiento almacenado para insertar categoria x genero
create procedure insertar_categoriaxmenu
@id_cat int,
@id_men int
as begin
insert into categoriaxmenu(id_categoria,id_menu) values(@id_cat, @id_men);
end;
--Procedimiento almacenado para actualizar categoria
create procedure editar_categoriaxgenero
@id_cat int,
@id_men int
as begin
update categoriaxmenu set id_categoria = @id_cat, id_menu = @id_men where id_categoria = @id_cat and id_menu = @id_men;
end;
--Procedimiento almacenado para eliminar categoria x genero
create procedure eliminar_categoriaxmenu
@id_cat int,
@id_men int
as begin
delete from categoriaxmenu where id_categoria = @id_cat and id_menu = @id_men;
end;
/*------------------Procedimientos Cliente----------------------*/
--Procedimiento almacenado para mostrar clientes
create procedure mostrar_clientes
as begin
select * from cliente
end;
--Procedimiento almacenado para insertar cliente
create procedure insertar_cliente
@nombre_cli NVARCHAR(100),
@genero_cli NVARCHAR(100),
@telefono_cli NVARCHAR(100),
@direccion_cli NVARCHAR(100)
as begin
insert into cliente(nombre_cliente,genero_cliente,telefono_cliente,direccion_cliente) values(@nombre_cli, @genero_cli, @telefono_cli, @direccion_cli);
end;
--Procedimiento almacenado para editar cliente
create procedure editar_cliente
@nombre_cli NVARCHAR(100),
@genero_cli NVARCHAR(100),
@telefono_cli NVARCHAR(100),
@direccion_cli NVARCHAR(100),
@id_cli int
as begin
update cliente set nombre_cliente = @nombre_cli, genero_cliente = @genero_cli, telefono_cliente = @telefono_cli, direccion_cliente = @direccion_cli where id_cliente = @id_cli;
end;
--Procedimiento almacenado para eliminar cliente
create procedure eliminar_cliente
@id_cli int
as begin
delete from cliente where id_cliente = @id_cli;
end;
/*------------------Procedimientos Domiciliario----------------------*/
--Procedimiento almacenado para mostrar domiciliarios
create procedure mostrar_domiciliario
as begin
select * from domiciliario
end;
--Procedimiento almacenado para insertar domiciliario
create procedure insertar_domiciliario
@nombre_dom NVARCHAR(100),
@genero_dom NVARCHAR(100),
@telefono_dom NVARCHAR(100)
as begin
insert into domiciliario(nombre_domiciliario,genero_domiciliario,telefono_domiciliario) values(@nombre_dom, @genero_dom, @telefono_dom);
end;
--Procedimiento almacenado para editar domiciliario
create procedure editar_domiciliario
@nombre_dom NVARCHAR(100),
@genero_dom NVARCHAR(100),
@telefono_dom NVARCHAR(100),
@id_dom int
as begin
update domiciliario set nombre_domiciliario = @nombre_dom, genero_domiciliario = @genero_dom, telefono_domiciliario = @telefono_dom where id_domiciliario = @id_dom;
end;
--Procedimiento almacenado para eliminar domiciliario
create procedure eliminar_domiciliario
@id_dom int
as begin
delete from domiciliario where id_domiciliario = @id_dom;
end;
/*------------------Procedimientos Compra----------------------*/
--Procedimiento almacenado para mostrar compras
create procedure mostrar_compras
as begin
select * from compra
end;
--Procedimiento almacenado para insertar compra
create procedure insertar_compra
@id_cli int,
@id_dom int,
@id_men int,
@cant int,
@fecha_com date,
@entrega_rec NVARCHAR(100)
as begin
insert into compra(id_cliente,id_domiciliario,id_menu,cantidad,fecha_compra,entrega_recibida) values(@id_cli, @id_dom, @id_men, @cant, @fecha_com, @entrega_rec);
end;
--Procedimiento almacenado para editar domiciliario
create procedure editar_compra
@id_cli int,
@id_dom int,
@id_men int,
@cant int,
@fecha_com date,
@entrega_rec NVARCHAR(100),
@id_com int
as begin
update compra set id_cliente = @id_cli, id_domiciliario = @id_dom, id_menu = @id_men, cantidad = @cant, fecha_compra = @fecha_com, entrega_recibida = @entrega_rec where id_compra = @id_com;
end;
--Procedimiento almacenado para eliminar compra
create procedure eliminar_compra
@id_com int
as begin
delete from compra where id_compra = @id_com;
end;