Está en la página 1de 9

usar maestro

ir

crear base de datos Tienda_Rosa

usar Tienda_Rosa

Crear tabla de categor�a (


idcategoria int identity ( 1 , 1 ) no nulo ,
nombre nVarChar ( 50 ),
descripcion nVarChar ( 50 ),
Clave principal (idcategoria))

Crear cliente de tabla (


idcliente int identity ( 1 , 1 ) no nulo ,
nombre nVarChar ( 50 ),
apellidos nVarChar ( 50 ),
telefono nvarchar ( 15 ),
Clave principal (idcliente))

Crear tabla Compra_Detalles (


idcompra int ,
idproducto int ,
importe decimal ( 18 , 2 ),
cantidad int ,)

Crear Table Compras (


Idcompra int identidad ( 1 , 1 ) no nulo ,
fecha de fecha ,
idtipocomprobante int ,
idfactura nvarchar ( 50 ),
idproveedor int ,
importe_total decimal ( 18 , 2 ),
retencion decimal ( 18 , 2 ),
Clave principal (idcompra))

Crear tabla Empleado (


idempleado int identity ( 1 , 1 ) no nulo ,
nombre nVarChar ( 50 ),
apellido nVarChar ( 50 ),
contrase�a nvarchar ( 255 ),
idrol int ,
usuario nvarchar ( 255 ),
Clave principal (idempleado))

Crear tabla Pagos (


idpagos int identity ( 1 , 1 ) no nulo ,
idcliente int ,
monto decimal ( 18 , 2 ),
fecha datetime,
Clave principal (idpagos))

Crear tabla Producto (


idproducto int identidad ( 1 , 1 ) no nulo ,
nombre nVarChar ( 100 ),
idcategoria int ,
precio decimal ( 18 , 2 ),
stock int ,
idproveedor int ,
foto nvarchar ( 255 ),
Clave principal (idproducto))

Crear Table Proveedor (


idproveedor int identidad ( 1 , 1 ) no nulo ,
nombre nVarChar ( 100 ),
RUC nVarChar ( 12 ),
representante nvarchar ( 150 ),
direccion nvarchar ( 60 ),
Telefono nvarchar ( 50 ),
Clave principal (idproveedor))

Crear tabla Tipo_venta (


idtipoventa int identidad ( 1 , 1 ) no nulo ,
descripcion nvarchar ( 255 ),
Clave principal (idtipoventa))

Crear tabla Venta (


Idventa int identidad ( 1 , 1 ) no nulo ,
idcliente int ,
idempleado int ,
fecha datetime,
idtipoventa int ,
Clave principal (idventa))

Crear tabla Venta_Detalle (


idventa int ,
idproducto int ,
precio decimal ( 18 , 2 ),
cantidad int ,
importe decimal ( 18 , 2 ),
montopagado decimal ( 18 , 2 ),
cancelado int )

alter table Compra_Detalles add constraint fk_Compra_Detalles_Compras clave


for�nea (idcompra)
referencias Compras (idcompra)

alter tabla Compra_Detalles agregar restricci�n fk_Compra_Detalles_Producto a


clave externa (idproducto)
referencias Producto (idproducto)

alter table Compras agregar restricci�n fk_Compras_proveedor clave externa


(idproveedor)
Referencias Proveedor (idproveedor)

alter table Pagos add constraint fk_Pagos_Cliente clave for�nea (idcliente)


referencias Cliente (idcliente)

alter table Producto agregar restricci�n fk_Producto_Categoria clave externa


(idcategoria)
referencias Categoria (idcategoria)

alter table Producto agregar restricci�n fk_Producto_Proveedor clave for�nea


(idproveedor)
Referencias Proveedor (idproveedor)
alter table Venta agregar restricci�n fk_Venta_Cliente clave for�nea (idcliente)
referencias Cliente (idcliente)

alter table Venta agregar restricci�n fk_Venta_Empleado clave externa (idempleado)


referencias empleado (idempleado)

alter Table Venta agregar restricci�n fk_venta_idtipoventa clave for�nea


(idtipoventa)
referencias Tipo_venta (idtipoventa)

alterar tabla Venta_Detalle agregar restricci�n fk_Venta_detalle_Venta clave


externa (idventa)
referencias Venta (idventa)

alter tabla Venta_Detalle add constraint fk_Venta_detalle_producto clave for�nea


(idproducto)
referencias Producto (idproducto)

insertar en Tipo_Venta (descripcion) valores ( ' Contado ' )


insertar en Tipo_Venta (descripcion) valores ( ' Credito ' )

ir

crear procedimiento actualizastock


@stock int ,
@idproducto int
como
actualizar conjunto de productos stock = @stock donde idproducto = @idproducto
ir

crear procedimiento agregarcompra


@idtipocomprobante int ,
@idfactura nvarchar ( 50 ),
@idproveedor int ,
@importe_total decimal ( 18 , 2 ),
@retencion decimal ( 18 , 2 ),
@fecha como nvarchar ( 25 )
como
insertar en Compras (fecha, idtipocomprobante, idfactura, idproveedor,
importe_total, retencion)
valores (@ fecha, @ idtipocomprobante, @ idfactura, @ idproveedor, @ importe_total,
@ retencion)
ir

crear procedimiento maxproductos


como
declarar @correcto int

select @correcto = count ( * ) de Producto

REGRESAR @correcto
ir

crear procedimiento mostrartodoproveedores


como
seleccione idproveedor, nombre, RUC, representante, direccion, telefono de
Proveedor
ir
crear el procedimiento p_actualiventadetalle
@idventa int ,
@idproducto int ,
@cancelado int ,
@montopagado decimal ( 18 , 2 )
como
update Venta_Detalle set cancelado = @cancelado, montopagado = montopagado +
@montopagado
donde idventa = @idventa e idproducto = @idproducto
ir

crear procedimiento p_actualizasotckcompra


@stock int ,
@idproducto int
como
actualizar conjunto de productos stock = (stock + @stock) donde idproducto =
@idproducto
ir

crear procedimiento p_buscacliente


@nombre nvarchar ( 150 )
como
seleccione idcliente, nombre, apellidos, telefono de cliente donde nombre + ' ' +
apellidos como ' % ' + @nombre + ' % '
ir

crear el procedimiento p_buscaproducto


@nombre nvarchar ( 255 ),
@idcategoria int
como
seleccione idproducto, nombre, precio, stock de producto donde idcategoria =
@idcategoria y nombre como ' % ' + @nombre + ' % '
ir

crear el procedimiento p_buscarnomycat


@nombre nvarchar ( 255 ),
@idcategoria int
como
seleccione idproducto, nombre, idcategoria, precio, stock, foto, idproveedor de
Producto donde nombre como ' % ' + @nombre + ' % '
e idcategoria = @idcategoria
ir

crear el procedimiento p_buscartodoproducto


@nombre nvarchar ( 255 )
como
seleccione idproducto, nombre, idcategoria, precio, stock, foto, idproveedor de
Producto donde nombre como ' % ' + @nombre + ' % '
ir

crear procedimiento p_cliente


como
seleccione idcliente, nombre + ' ' + apellidos del cliente
ir

crear procedimiento p_contarnomycate


@nombre nvarchar ( 255 ),
@idcategoria int
como
declarar @correcto int
select @correcto = COUNT ( * ) del producto donde nombre como ' % ' + @nombre + '
% ' e idcategoria = @ idcategoria
REGRESAR @correcto
ir

crear procedimiento p_contarproductosporcategoria


@idcategoria int
como
declarar @correcto int
select @correcto = COUNT ( * ) del producto donde idcategoria = @ idcategoria
return @correcto
ir

crear procedimiento p_contarproductosporfiltro


@nombre nvarchar ( 255 )
como
declarar @correcto int
select @correcto = COUNT ( * ) del producto donde nombre como ' % ' + @nombre + '
% '
REGRESAR @correcto
ir

crear procedimiento p_idempleado


@usuario nvarchar ( 255 )
como
selecciona idempleado de Empleado donde @usuario = usuario
ir

crear el procedimiento p_insertarpagos


@idcliente int ,
@monto decimal ( 18 , 2 ),
@fecha nvarchar ( 20 )
como
insertar Pagos (idcliente, monto, fecha)
values (@ idcliente, @ monto, @ fecha)
ir

crear procedimiento p_listardeuda1


@idcliente int
como
seleccione vd . idventa , vd . idproducto , ( vd . importe - vd . montopagado )
de Venta v
uni�n interna Venta_Detalle vd en v . idventa = vd . idventa
donde v . idcliente = @idcliente y vd . cancelado = 0
ir

crear procedimiento p_modificarcategoria


@nombre nvarchar ( 255 ),
@descripcion nvarchar ( 255 ),
@idcategoria int
como
actualizar Categoria set nombre = @nombre, descripcion = @descripcion
donde idcategoria = @ idcategoria
ir

crear procedimiento p_modificarcliente


@nombre nvarchar ( 100 ),
@apellido nvarchar ( 100 ),
@telefono nvarchar ( 15 ),
@idcliente int
como
actualizar Cliente set nombre = @ nombre, apellidos = @ apellido, telefono =
@telefono
donde idcliente = @idcliente
ir

crear procedimiento p_modificarproducto


@idproducto int ,
@nombre nvarchar ( 100 ),
@idcategoria int ,
@precio decimal ( 18 , 2 ),
@stock int ,
@idproveedor int ,
@foto nvarchar ( 255 )
como
actualizar Producto set nombre = @ nombre, idcategoria = @ idcategoria, precio =
@precio,
stock = @ stock, idproveedor = @ idproveedor, foto = @foto donde idproducto =
@idproducto
ir

crear el procedimiento p_modificarproveedor


@idproveedor int ,
@nombre nvarchar ( 255 ),
@ruc nvarchar ( 12 ),
@representante nvarchar ( 150 ),
@direccion nvarchar ( 60 ),
@telefono nvarchar ( 50 )
como
Actualizar Proveedor set nombre = @ nombre, RUC = @ ruc, representante = @
representante, direccion = @ direccion, telefono = @telefono
donde idproveedor = @idproveedor
ir

crear procedimiento p_mostrarcategoria


como
seleccione idcategoria, nombre, descripcion de Categoria
ir

crear procedimiento p_mostrarcuenta


@idcliente int
como
seleccione c . nombre + ' ' + c . apellidos como ' cliente ' , p . nombre ,
vd . precio , vd . cantidad , ( vd . importe - vd . montopagado ) como ' importe '
, v . fecha de Venta v
uni�n interna Venta_Detalle vd en v . idventa = vd . idventa
uni�n interior Producto p on p . idproducto = vd . idproducto
uni�n interna Cliente c on c . idcliente = v . idcliente
donde v . idcliente = @idcliente y vd . cancelado = 0
ir

crear procedimiento p_mostrartodocliente


como
seleccione idcliente, nombre, apellidos, telefono de cliente
ir
crear procedimiento p_mostrartodoproductos
como
seleccione idproducto, nombre, idcategoria, precio, stock, foto, idproveedor de
Producto
ir

crear procedimiento p_nuevacategoria


@nombre nvarchar ( 255 ),
@descripcion nvarchar ( 255 )
como
insertar en Categoria (nombre, descripcion)
valores (@ nombre, @ descripcion)
ir

crear procedimiento p_nuevocliente


@nombre nvarchar ( 100 ),
@apellido nvarchar ( 100 ),
@telefono nvarchar ( 15 )
como
insertar en Cliente (nombre, apellidos, telefono)
valores (@ nombre, @ apellido, @ telefono)
ir

crear procedimiento p_nuevoproducto


@nombre nvarchar ( 100 ),
@idcategoria int ,
@precio decimal ( 18 , 2 ),
@stock int ,
@idproveedor int ,
@foto nvarchar ( 255 )
como
insertar en Producto (nombre, idcategoria, precio, stock, idproveedor, foto)
values (@ nombre, @ idcategoria, @ precio, @ stock, @ idproveedor, @ foto)
ir

crear procedimiento p_nuevoproveedor


@nombre nvarchar ( 255 ),
@ruc nvarchar ( 12 ),
@representante nvarchar ( 150 ),
@direccion nvarchar ( 60 ),
@telefono nvarchar ( 50 )
como
insertar en Proveedor (nombre, RUC, representante, direccion, telefono)
values (@ nombre, @ ruc, @ representante, @ direccion, @ telefono)
ir

crear procedimiento p_preciostock


@idproducto int
como
seleccione precio, stock de producto donde idproducto = @idproducto
ir

crear procedimiento p_producto


@idcategoria int
como
seleccionar idproducto, nombre, idcategoria, precio, stock, foto, idproveedor de
Producto donde idcategoria = @idcategoria
ir
crear procedimiento p_registrarcompradetalle
@idproducto int ,
@importe decimal ( 18 , 2 ),
@cantidad int
como
declarar entero @idcompra
- agregamos el idpara ventadetalle lo obtenemos del maximo de compras
seleccione @idcompra = MAX (idcompra) de Compras
- insertamos en venta detalle
insertar en Compra_Detalles (idcompra, idproducto, importe, cantidad)
valores (@ idcompra, @ idproducto, @ importe, @ cantidad)
ir

crear el procedimiento p_regitrarventadetalle


@idproducto int ,
@precio decimal ( 18 , 2 ),
@cantidad int ,
@cancelado int
como
declarar entero @idventa
- agregamos el idpara ventadetalle
seleccione @idventa = MAX (idventa) de venta
- insertamos en venta detalle
insertar en Venta_Detalle (idventa, idproducto, precio, cantidad, importe,
cancelado, montopagado)
values (@ idventa, @ idproducto, @ precio, @ cantidad, @ precio * @ cantidad, @
cancelado, 0 )
ir

crear PROCEDIMIENTO p_validar


@usuario nvarchar ( 255 ),
@clave nvarchar ( 255 )
COMO

declarar @correcto int


si existe ( seleccione idempleado de Empleado
donde (usuario = @usuario) y (contrase�a = @clave))
establecer @correcto = 1
m�s
establecer @correcto = - 1
REGRESAR @correcto
ir

crear procedimiento p_venta


@idcliente int ,
@idempleado int ,
@idtipoventa int ,
@fecha nvarchar ( 30 )
como
insertar en Venta (idcliente, idempleado, fecha, idtipoventa)
valores (@ idcliente, @idempleado, @ fecha, @ idtipoventa)
ir

crear procedimiento sp_categoria


como
seleccione idcategoria, nombre de categoria
ir

crear el procedimiento p_calcularus


@fecha como nvarchar ( 10 )
como
seleccione SUMA (importe_total - retencion), SUMA (retencion) de Compras
donde datepart (mes, fecha) = datepart (mes, @ fecha) y DATEPART (A�O, fecha) =
DATEPART (A�O, @ fecha)
ir

crear procedimiento productos_pa_comprar


como
seleccionar nombre, stock, foto de Producto en stock <= 3
ir

También podría gustarte