• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Proyecto Base de Datos I
 

Proyecto Base de Datos I

on

  • 314 views

 

Statistics

Views

Total Views
314
Views on SlideShare
314
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Proyecto Base de Datos I Proyecto Base de Datos I Presentation Transcript

    • 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 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
    • 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
    • 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
    • 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
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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)
    • 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
    • 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)
    • 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
    • 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)
    • 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
    • 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
    • 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)
    • 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,
    • Descuento=@Descuento,SubtotalconDescuento=@SubtotalConDescuento,IVA=@IVA,IVAPagar=@IVAPagar,Total@Total,Aunlada=@Anuladawhere=@FacturaNgocreate procedure EliminarVenta@FacturaN=INTdelete from Venta where FacturaN=@FacturaNgo
    • 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
    • asupdate DetalleVenta setobjVenta=@objVenta,objArticulo=@objArticulo,Precio=@Precio,Cantidad=@Cantidad,Monto=@Montowhere=@objVentagocreate procedure EliminarDetalleVenta@objVenta=INTdelete from DetalleVenta where objVenta=@objVentago
    • 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
    • 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
    • Procedimiento de Eliminación:Este procedimiento elimina la tablaasignada cuando la llave foránea es igualal valor del primer campo.
    • 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
    • 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
    • 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
    • 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.
    • 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.
    • 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
    • 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
    • Muestra los Articulos ActivosSELECT * FROM Articulos ORDER BY NombreMuestra Todas las ComprasSELECT * FROM ComprasMuestra Todas las SeriesSELECT * FROM SeriesMuestra Todas las VentasSELECT * FROM Ventas