TABLA CLIENTEContiene los datos personales de losclientes.
TABLA DESCUENTOContiene la descripción deldescuento y la cantidad dedescuento que se va aplicar
TABLA VENTAFactura, dice si la venta es decontado o no, muestra eldescuento y el iva aplicado.
TABLA DETALLE VENTA Describe la venta contiene 2llaves foráneas
TABLA SERIEMuestra el código de la facturarealizada
TABLA ARTICULODescribe los articulos, si hay existenciasde dichos y contiene llave foráneas
TABLA UNIDAD MEDIDADContiene el código y nombredel articulo y el campo activohabilita y deshabilita la tabla
TABLA CLASIFICACIONContiene el código ynombre del articulo y elcampo activo habilita ydeshabilita la tabla
TABLA COMPRARealiza la factura de los proveedores ycontiene la descripción de estas
TABLA DETALLE COMPRAContiene los detalles de la factura de losproveedores
TABLA PROVEEDORESContiene los Datos personales de losproveedores
CREATE TRIGGER AumentarExistencia1 ON DetalleCompraAFTER INSERTASUPDATE Articulo set Existencia = Existencia + (select Can...
CREATE TRIGGER DisminuirExistencia2 ON DetalleCompraFOR DELETEASUPDATE Articulo set Existencia = Existencia - (select Cant...
USE [Ferreteria]GoCREATE TRIGGER Seguridad ON DATABASEFOR DROP_TABLE, ALTER_TABLEASBEGIN   PRINTDesactivar el Trigger "SEG...
create procedure IngresarDescuento@Codigo INT,@Descripcion VARCHAR(50),@Porcentaje FLOATasinsert into Descuento values (@C...
Create procedure EliminarDescuento @Codigo INT as delete from Descuento where Codigo = @Codigo goCreate procedure Ingresar...
create procedure ModificarCliente@Cedula CHAR(16),@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@objDescue...
Create procedure IngresarProveedor@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@Activo BITasinsert into P...
Create Procedure EliminarProveedor@Nombre VARCHARasdelete from Proveedor where Nombre = @NombregoCreate procedure Ingresar...
Create procedure EliminarUnidadMedida@Nombre VARCHARasdelete from UnidadMedida where Nombre = @NombregoCreate procedure In...
Create procedure EliminarClasificacion@Nombre VARCHARasdelete from Clasificacion where Nombre = @NombregoCreate procedure ...
Create procedure ModificarArticulo     @Nombre VARCHAR(50),        @Descripcion VARCHAR(100),        @objUnidadMedida INT,...
create procedure EliminarArticulo@Nombre = varcharasdelete from Articulo where Nombre = @Nombregocreate procedure Ingresar...
Create procedure ModificarCompra       @FacturaN VARCHAR(20),       @objProveedor INT,       @Fecha DATETIME,       @Subto...
Create procedure EliminarCompra@FacturaN= VARCHAR(20)asdelete from Compra where FacturaN=@FacturaNgo Create Procedure Ingr...
create procedure ModificarDetalleCompra       @objCompra VARCHAR(20),       @objProveedor INT,       @objArticulo VARCHAR(...
create procedure EliminarDetalleCompra@objCompra VARCAHR(20)asdelete from DetalleCompra where objCompra=@objCompragocreate...
create procedure EliminarSerie @Codigo=VARCHAR(1) delete from Serie where Codigo=@Codigo gocreate procedure IngresarVenta ...
create procedure ModificarVenta       @FacturaN INT,       @objSerie CHAR(1),       @objCliente CHAR(16),       @Contado B...
Descuento=@Descuento,SubtotalconDescuento=@SubtotalConDescuento,IVA=@IVA,IVAPagar=@IVAPagar,Total@Total,Aunlada=@Anuladawh...
create procedure IngresarDetalleVenta          @objVenta INT,          @objArticulo VARCHAR(20),          @Precio FLOAT,  ...
asupdate DetalleVenta setobjVenta=@objVenta,objArticulo=@objArticulo,Precio=@Precio,Cantidad=@Cantidad,Monto=@Montowhere=@...
Todos lo procedimientos que utilizamos en estabase de datos realizan las mismas funcionessolo que para cada tabla, dichas ...
Procedimiento de Inserción:Este procedimiento ingresa los valores delos campos en la tabla asignada, no setoma en cuenta e...
Procedimiento de Eliminación:Este procedimiento elimina la tablaasignada cuando la llave foránea es igualal valor del prim...
CREATE VIEW DescuentosASSELECT * FROM Descuento WHERE Activo = 1GOEsta vista muestra los campos de la tabla descuento cuan...
CREATE VIEW ProveedoresASSELECT * FROM Proveedor WHERE Activo = 1GO Crea una vista llamada proveedores y muestra los campo...
CREATE VIEW ArticulosASSELECT a.Codigo, a.Nombre, a.Descripcion, b.Nombre AS [Unidad deMedida], c.Nombre AS Clasificacion,...
CREATE VIEW ComprasASSELECT a.FacturaN, b.Nombre AS Proveedor, a.Fecha, d.Nombre ASArticulo, c.Costo, c.Cantidad, c.Monto,...
CREATE VIEW VentasASSELECT a.FacturaN, b.Descripcion AS Serie, c.Nombre AS Cliente,a.Contado, a.Fecha, e.Nombre AS Articul...
Muestra Todos los DescuentosSELECT * FROM DescuentoDescuentos Activos ordenados por descuentos ascendentesSELECT * FROM De...
Muestra los Clientes Inactivos con activos igual 0SELECT Cedula, Nombre, Direccion, Telefono, Descripcion AS[Tipo de Descu...
Muestra los Articulos ActivosSELECT * FROM Articulos ORDER BY NombreMuestra Todas las ComprasSELECT * FROM ComprasMuestra ...
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Proyecto Base de Datos I
Upcoming SlideShare
Loading in …5
×

Proyecto Base de Datos I

299
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
299
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proyecto Base de Datos I

  1. 1. TABLA CLIENTEContiene los datos personales de losclientes.
  2. 2. TABLA DESCUENTOContiene la descripción deldescuento y la cantidad dedescuento que se va aplicar
  3. 3. TABLA VENTAFactura, dice si la venta es decontado o no, muestra eldescuento y el iva aplicado.
  4. 4. TABLA DETALLE VENTA Describe la venta contiene 2llaves foráneas
  5. 5. TABLA SERIEMuestra el código de la facturarealizada
  6. 6. TABLA ARTICULODescribe los articulos, si hay existenciasde dichos y contiene llave foráneas
  7. 7. TABLA UNIDAD MEDIDADContiene el código y nombredel articulo y el campo activohabilita y deshabilita la tabla
  8. 8. TABLA CLASIFICACIONContiene el código ynombre del articulo y elcampo activo habilita ydeshabilita la tabla
  9. 9. TABLA COMPRARealiza la factura de los proveedores ycontiene la descripción de estas
  10. 10. TABLA DETALLE COMPRAContiene los detalles de la factura de losproveedores
  11. 11. TABLA PROVEEDORESContiene los Datos personales de losproveedores
  12. 12. CREATE TRIGGER AumentarExistencia1 ON DetalleCompraAFTER INSERTASUPDATE Articulo set Existencia = Existencia + (select Cantidad frominserted)where Codigo = (select objArticulo from inserted)go Este aumenta la existencia de los articulos en detalle compra y luego actualizaCREATE TRIGGER DisminuirExistencia1 ON DetalleVentaAFTER INSERTASUPDATE Articulo set Existencia = Existencia - (select Cantidad from inserted)where Codigo = (select objArticulo from inserted)go Este disminuye la existencia de los articulos en detalle venta y luego actualiza
  13. 13. CREATE TRIGGER DisminuirExistencia2 ON DetalleCompraFOR DELETEASUPDATE Articulo set Existencia = Existencia - (select Cantidad frominserted)where Codigo = (select objArticulo from inserted)go Este disminuye la existencia de detalle compra , borra y luego actualiza la tabla articuloCREATE TRIGGER AumentarExistencia2 ON VentaFOR UPDATEASIF((select Anulada from updated) = 1)beginselect Cantidad from DetalleVenta where objVenta = (select FacturaN fromupdated)UPDATE Articulo set Existencia = Existencia + (select Cantidad frominserted)where Codigo = (select objArticulo from inserted)endgo Este aumenta la existencia en venta luego actualiza si el campo anulada = 1 y actualiza la tabla articulo
  14. 14. USE [Ferreteria]GoCREATE TRIGGER Seguridad ON DATABASEFOR DROP_TABLE, ALTER_TABLEASBEGIN PRINTDesactivar el Trigger "SEGURIDAD" Antes de borrar omodificar la tabla! RAISERROR (No se permite borrar ni modificar las tablas!,16,1) ROLLBACK TRANSACTIONEND Este trigger brinda serguridad a las tablas impidiendo que estas sean borradas o modificadas , si se desea modificar dicha tabla primero hay que deshabilitarlo
  15. 15. create procedure IngresarDescuento@Codigo INT,@Descripcion VARCHAR(50),@Porcentaje FLOATasinsert into Descuento values (@Codigo, @Descripcion, @Porcentaje, 0)gocreate procedure ModificarDescuento@Codigo INT,@Descripcion VARCHAR(50),@Porcentaje FLOAT,@Activo BITasupdate Descuento setCodigo =@Codigo,Descripcion = @Descripcion,Porcentaje = @Porcentaje,Activo = @Activowhere Codigo = @Codigogo
  16. 16. Create procedure EliminarDescuento @Codigo INT as delete from Descuento where Codigo = @Codigo goCreate procedure IngresarCliente @Cedula CHAR(16),@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@objDescuento INT,@Activo BITasinsert into Cliente values (@cedula, @nombre, @direccion, @telefono,@objDEscuentos, @activo,0)
  17. 17. create procedure ModificarCliente@Cedula CHAR(16),@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@objDescuento INT,@Activo BITasupdate Cliente setcedula = @Cedula,Nombre = @Nombre,Direccion = @Direccion,Telefono = @Telefono,objDescuento = @objDescuento,Activo = @Activo BITwhere Cedula = @CedulagoCreate procedure EliminarCliente@Cedula CHARasdelete from Cliente Where Cedula = @Cedulago
  18. 18. Create procedure IngresarProveedor@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@Activo BITasinsert into Proveedor values (@Nombre, @Direccion, @telefono, @activo,0)Create procedure ModificarProveedor@Nombre VARCHAR(50),@Direccion VARCHAR(100),@Telefono CHAR(9),@Activo BITasupdate Proveedor setNombre = @Nombre,Direccion = @Direccion,Telefono = @Telefono,Activo = @ActivoWhere Nombre = @nombrego
  19. 19. Create Procedure EliminarProveedor@Nombre VARCHARasdelete from Proveedor where Nombre = @NombregoCreate procedure IngresarUnidadMedida@Nombre VARCHAR(50),@Activo BITasinsert into UnidadMedida values (@Nombre, @activo,0)Create Procedure ModificarUnidadMedida @Nombre varchar (50) @Activo BITasupdate UnidadMedida setNombre = @Nombre,Activo = @ActivoWhere Nombre =@Nombrego
  20. 20. Create procedure EliminarUnidadMedida@Nombre VARCHARasdelete from UnidadMedida where Nombre = @NombregoCreate procedure IngresarClasificacion@Nombre VARCHAR(20)@Activo BITasinsert into Clasificacion values (@Nombre, @activo,0)Create Procedure ModificarClasificacion @Nombre varchar (50) @Activo BITasupdate Clasificacion setNombre = @Nombre,Activo = @Activo,Where Nombre =@Nombrego
  21. 21. Create procedure EliminarClasificacion@Nombre VARCHARasdelete from Clasificacion where Nombre = @NombregoCreate procedure IngresarAriculo @Nombre VARCHAR(50), @Descripcion VARCHAR(100), @objUnidadMedida INT, @objClasificacion INT, @Existencia FLOAT , @Precio FLOAT, @Costo FLOAT, @Activo BITasinsert into Articulo values (@Nombre, @Descripcion, @objunidadmedida,@objClasificacion, @Existencia, @precio, @Costo, @Activo,0)
  22. 22. Create procedure ModificarArticulo @Nombre VARCHAR(50), @Descripcion VARCHAR(100), @objUnidadMedida INT, @objClasificacion INT, @Existencia FLOAT, @Precio FLOAT, @Costo FLOAT, @Activo BITasupdate Articulo setNombre = @Nombre,Descripcion = @Descripcion,objunudadmedida = @objUnidadMedida,objClasificacion = @objClasificacion ,Existencia = @Existencia,Precio = @Precio,Costo = @Costo,Activo = @Activo,where = @Nombrego
  23. 23. create procedure EliminarArticulo@Nombre = varcharasdelete from Articulo where Nombre = @Nombregocreate procedure IngresarCompra @FacturaN VARCHAR(20), @objProveedor INT, @Fecha DATETIME, @Subtotal FLOAT, @IVAPagado FLOAT, @Total FLOATasinsert into Compra values(@FacturaN,@objProveedor,@Fecha,@Subtotal,@IVAPagado,@Total,0)
  24. 24. Create procedure ModificarCompra @FacturaN VARCHAR(20), @objProveedor INT, @Fecha DATETIME, @Subtotal FLOAT, @IVAPagado FLOAT, @Total FLOATasupdate Compra setFacturaN=@FacturaN,objProveedor)@objProveedor,Fecha=@Fecha,Subtotal=@Subtotal,IVAPagado=@IVAPagado,Total=@Totalwhere=@FacturaNgo
  25. 25. Create procedure EliminarCompra@FacturaN= VARCHAR(20)asdelete from Compra where FacturaN=@FacturaNgo Create Procedure IngresarDetalleCompra @objCompra VARCHAR(20), @objProveedor INT, @objArticulo VARCHAR(20), @Costo FLOAT, @Cantidad FLOAT, @Monto FLOAT as insert into Detallecompra values (@objCompra,@objProveedor,@objArticulo,@Costo,@Cantidad,@Monto,0)
  26. 26. create procedure ModificarDetalleCompra @objCompra VARCHAR(20), @objProveedor INT, @objArticulo VARCHAR(20), @Costo FLOAT, @Cantidad FLOAT, @Monto FLOATasupdate DetalleCompra setobjCompra=@objCompra,oblProveedor=@objProveedor,objArticulo=@objArticulo,Costo=@Costo,Cantidad=@Cantidad,Monto=@Montowhere=@objComprago
  27. 27. create procedure EliminarDetalleCompra@objCompra VARCAHR(20)asdelete from DetalleCompra where objCompra=@objCompragocreate procedure IngresarSerie @Codigo CHAR(1), @Descripcion VARCHAR(50)asinsert into Serie values (@Codigo,@Descripcion,0) create procedure ModificarSerie @Codigo CHAR(1), @Descripcion VARCHAR(50) as update Serie set Codigo=@Codigo, Descripcion=@Descripcion where=@Codigo go
  28. 28. create procedure EliminarSerie @Codigo=VARCHAR(1) delete from Serie where Codigo=@Codigo gocreate procedure IngresarVenta @FacturaN INT, @objSerie CHAR(1), @objCliente CHAR(16), @Contado BIT, @Fecha DATETIME, @Subtotal FLOAT, @Descuento FLOAT, @SubtotalConDescuento FLOAT, @IVA BIT, @IVAPagar FLOAT, @Total FLOAT, @Anulada BITasinsert into Venta values(@FacturaN,@objSerie,@objCliente,@Contado,@Fecha,@Subtotal,@Descuento,@SubtotalConDescuento,@IVA,@IVAPagar,@Total,@Anulada,0)
  29. 29. create procedure ModificarVenta @FacturaN INT, @objSerie CHAR(1), @objCliente CHAR(16), @Contado BIT, @Fecha DATETIME, @Subtotal FLOAT, @Descuento FLOAT, @SubtotalConDescuento FLOAT, @IVA BIT, @IVAPagar FLOAT, @Total FLOAT, @Anulada BIT as update Venta set FacturaN=@FacturaN, objSerie=@objSerie, objCliente=@objCliente, Contado=@Contado, Fecha=@Fecha, Subtotal=@Subtotal,
  30. 30. Descuento=@Descuento,SubtotalconDescuento=@SubtotalConDescuento,IVA=@IVA,IVAPagar=@IVAPagar,Total@Total,Aunlada=@Anuladawhere=@FacturaNgocreate procedure EliminarVenta@FacturaN=INTdelete from Venta where FacturaN=@FacturaNgo
  31. 31. create procedure IngresarDetalleVenta @objVenta INT, @objArticulo VARCHAR(20), @Precio FLOAT, @Cantidad FLOAT, @Monto FLOATasinsert into DetalleVenta values(@objVenta,@objArticulo,@Precio,@Cantidad,@Monto,0)create procedure ModificarDetalleVenta @objVenta INT, @objArticulo VARCHAR(20), @Precio FLOAT, @Cantidad FLOAT, @Monto FLOAT
  32. 32. asupdate DetalleVenta setobjVenta=@objVenta,objArticulo=@objArticulo,Precio=@Precio,Cantidad=@Cantidad,Monto=@Montowhere=@objVentagocreate procedure EliminarDetalleVenta@objVenta=INTdelete from DetalleVenta where objVenta=@objVentago
  33. 33. Todos lo procedimientos que utilizamos en estabase de datos realizan las mismas funcionessolo que para cada tabla, dichas funciones son: Inserción Modificación Eliminación de datos
  34. 34. Procedimiento de Inserción:Este procedimiento ingresa los valores delos campos en la tabla asignada, no setoma en cuenta el Codigo porque esautonumerico, el DEFAULT es para agarrarel valor por omisión.Procedimiento de Modificación:Este procedimiento modifica y actualiza latabla asignada
  35. 35. Procedimiento de Eliminación:Este procedimiento elimina la tablaasignada cuando la llave foránea es igualal valor del primer campo.
  36. 36. CREATE VIEW DescuentosASSELECT * FROM Descuento WHERE Activo = 1GOEsta vista muestra los campos de la tabla descuento cuando elcampo activo es igual a 1CREATE VIEW ClientesASSELECT a.Cedula, a.Nombre, a.Direccion, a.Telefono,b.Descripcion AS [Tipo de Descuento], b.PorcentajeFROM Cliente a, Descuento bWHERE a.Activo = 1 AND a.objDescuento = b.CodigoGOCrea una vista llamada cliente le cual nos muestra los camposmencionado
  37. 37. CREATE VIEW ProveedoresASSELECT * FROM Proveedor WHERE Activo = 1GO Crea una vista llamada proveedores y muestra los campos codigo, nombre, direccion , telefono y activoCREATE VIEW UnidadesMedidaASSELECT * FROM UnidadMedida WHERE Activo = 1GO Crea una vista llamada Unidad de medida en el cual muestra los campos codigo, nombre y activo junto con sus registrosCREATE VIEW ClasificacionesASSELECT * FROM Clasificacion WHERE Activo = 1GO Crea una vista llamada Clasifiaciones muestra los campos codigo, nombre y activo con sus registros
  38. 38. CREATE VIEW ArticulosASSELECT a.Codigo, a.Nombre, a.Descripcion, b.Nombre AS [Unidad deMedida], c.Nombre AS Clasificacion, a.Existencia, a.Precio,a.CostoFROM Articulo a, UnidadMedida b, Clasificacion cWHERE a.Activo = 1 AND a.objUnidadMedida = b.Codigo ANDa.objClasificacion = c.CodigoGOCrea una vista llamada articulos en el cual muestra los campos codigo,nombre, descripcion, unidades de medida, clasificacion , existencia,precio y costoCREATE VIEW SeriesASSELECT * FROM SerieGO Muestra los campos de codigo y descripcion
  39. 39. CREATE VIEW ComprasASSELECT a.FacturaN, b.Nombre AS Proveedor, a.Fecha, d.Nombre ASArticulo, c.Costo, c.Cantidad, c.Monto, a.Subtotal,a.IVAPagado, a.TotalFROM Compra a, Proveedor b, DetalleCompra c, Articulo dWHERE a.objProveedor = b.Codigo AND a.FacturaN = c.objCompraAND a.objProveedor = c.objProveedor AND c.objArticulo =d.CodigoGO Crea la vista compra y muestra la factura , proveedor, fecha, articulo, costo, cantidad, monto, subtotal, iva pagado y total de las tablas compra, proveedor, detallecompra y articulo.
  40. 40. CREATE VIEW VentasASSELECT a.FacturaN, b.Descripcion AS Serie, c.Nombre AS Cliente,a.Contado, a.Fecha, e.Nombre AS Articulo, d.Precio, d.Cantidad,d.Monto, a.Subtotal, a.Descuento, a.SubtotalConDescuento,a.IVAPagar, a.TotalFROM Venta a, Serie b, Cliente c, DetalleVenta d, Articulo eWHERE a.objSerie = b.Codigo AND a.objCliente = c.Cedula ANDa.FacturaN = d.objVenta AND d.objArticulo = e.Codigo ANDa.objSerie = d.objSerie AND a.Anulada = 0GO Crea una vista llamada Ventas que muestra los campos factura N, serie, cliente, contado, fecha, articulo, precio, cantidad, monto, subtotal, descuento, subtotal con descuento, iva pagar, y total de las tablas venta, serire, cliente, detalle venta y articulo.
  41. 41. Muestra Todos los DescuentosSELECT * FROM DescuentoDescuentos Activos ordenados por descuentos ascendentesSELECT * FROM Descuentos ORDER BY Porcentaje ASCMuestra los Descuentos InactivosSELECT * FROM descuento WHERE activo = 0Muestra Todos los Clientes y sus datos personalesSELECT Cedula, Nombre, Direccion, Telefono, Descripcion AS[Tipo de Descuento], PorcentajeFROM Cliente INNER JOIN Descuento ONCliente.objDescuento = Descuento.Codigo ORDER BY Nombre Muestra a los Clientes Activos por nombre SELECT * FROM Clientes ORDER BY Nombre
  42. 42. Muestra los Clientes Inactivos con activos igual 0SELECT Cedula, Nombre, Direccion, Telefono, Descripcion AS[Tipo de Descuento], PorcentajeFROM Cliente INNER JOIN Descuento ONCliente.objDescuento = Descuento.Codigo WHERE Cliente.Activo= 0Muestra Todos los ProveedoresSELECT * FROM ProveedorProveedores Activos por nombreSELECT * FROM Proveedores ORDER BY NombreProveedores Inactivos cuando activo igual 0SELECT * FROM Proveedor where Activo = 0Muestra Todas las Unidades de MedidaSELECT * FROM UnidadMedidaMuestra las Unidades de Medida ActivasSELECT * FROM UnidadesMedida ORDER BY NombreMuestra lasUnidades de Medida InctivasSELECT * FROM UnidadMedida where Activo = 0
  43. 43. Muestra los Articulos ActivosSELECT * FROM Articulos ORDER BY NombreMuestra Todas las ComprasSELECT * FROM ComprasMuestra Todas las SeriesSELECT * FROM SeriesMuestra Todas las VentasSELECT * FROM Ventas

×