0% encontró este documento útil (0 votos)
30 vistas21 páginas

Proyecto de Base de Datos "Wilsonsito"

PROYECTO WILSONSITO Computacion
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas21 páginas

Proyecto de Base de Datos "Wilsonsito"

PROYECTO WILSONSITO Computacion
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PROYECTO WILSONSITO

ESCUELA : TECNOLOGÍAS DE LA INFORMACIÓN


CARRERA : COMPUTACIÓN E INFORMÁTICA
CURSO : 4685 - BASE DE DATOS
PERÍODO : 2024
CICLO : SEGUNDO

Instituto de Educación
Superior Privado
Integrantes:

Carrera:

 Computación e Informática

Tema:

 Proyecto de Base de datos “Wilsonsito”

2024

Contenido
Carátula ...
……………………………………………………………………………………………………….. 1

1. Descripción del Proyecto


………………………………………………………………………………………………..………... 3

2. Reglas del Negocio ………………….


………………………………………………………………………..…………….. 4

3. Entidades y Atributos
………………………………………………………………………………………..........………….. 5

4. Modelo Entidad Relación (MER)


………………………………………………………………………………………..........………….. 6

5. Diagrama Lógico
………………………………………………………………………………………………..………... 7

6. Diagrama Físico ………………….


………………………………………………………………………..…………….. 8

7. Procedimientos almacenados
………………………………………………………………………………………..........………….. 9

8. Interfaz ………………………………………………………………………………………..........
………….19
1. DESCRIPCIÓN DEL PROYECTO

El proyecto "Sistema de Gestión de Ventas de Componentes y Accesorios de


Computadoras" está diseñado para ofrecer una solución integral a las tiendas que
comercializan productos tecnológicos. Su objetivo es desarrollar un sistema de
información robusto y eficiente que permita manejar de manera óptima todas las
operaciones diarias, desde la gestión de inventarios hasta la relación con
proveedores y clientes.

Este sistema se centra en cubrir diversas áreas clave mediante la creación de tablas
específicas para productos, proveedores, clientes, pedidos, detalles de pedidos,
inventarios, y tiendas. Cada tabla está diseñada para contener información vital que
se relaciona con los procesos de la tienda.

IES Privado CIBERTEC 3


2. REGLAS DEL NEGOCIO

Inventario:
 El inventario de cada tienda debe ser actualizado automáticamente
cada vez que se realiza un pedido.
 Los productos que caigan por debajo de un umbral mínimo de
inventario deben ser marcados para reabastecimiento automático.
Gestión de Pedidos:
 Los pedidos pueden tener estados que reflejen su avance:
"Pendiente", "Enviado", "Entregado".
 Los pedidos deben ser procesados diariamente, priorizando
aquellos más antiguos.
Gestión de Proveedores:
 Cada proveedor debe ser vinculado a los productos que suministra,
permitiendo un control eficiente del reabastecimiento.
 El sistema debe permitir la actualización rápida de la información de
contacto de los proveedores.
Gestión de Clientes:
 Se debe llevar un historial detallado de los pedidos realizados por
cada cliente, permitiendo analizar tendencias y comportamientos de
compra.
 La base de datos de clientes debe estar protegida y cumplir con las
normativas de privacidad vigentes.
Tiendas:
 Cada tienda debe tener su propio inventario independiente, con la
posibilidad de transferir stock entre tiendas si es necesario.
 Las ventas de cada tienda deben ser registradas separadamente
para facilitar la contabilidad y análisis de rendimiento.
Reporte y Análisis:
 El sistema debe generar reportes diarios y mensuales sobre ventas,
pedidos, inventario, y rendimiento de proveedores.
 Los reportes deben ser personalizables para diferentes niveles de
gestión (ej. gerentes de tienda, administración central).
Seguridad y Acceso:
 El sistema debe contar con diferentes niveles de acceso,
asegurando que solo el personal autorizado pueda realizar ciertas
operaciones (ej. acceso a inventario, procesamiento de pedidos,
etc.).
Las contraseñas y datos sensibles deben ser almacenados y manejados de acuerdo
con las mejores prácticas de seguridad.
3. ENTIDADES Y ATRIBUTOS

1. Tabla producto:
 id_producto: Identificador único del producto.
 nombre: Nombre del producto.
 categoría: Tipo de producto (ej. "Tarjeta gráfica", "Procesador",
"RAM").
 precio: Precio de venta del producto.
2. Tabla proveedor:
 id_proveedor: Identificador único del proveedor.
 nombre: Nombre del proveedor.
 teléfono: Número de teléfono del proveedor.
 correo Electrónico: Dirección de correo electrónico del proveedor.
3. Tabla cliente:
 id_cliente: Identificador único del cliente.
 nombre: Nombre completo del cliente.
 teléfono: Número de teléfono del cliente.
 correo: Dirección de correo electrónico del cliente.
 dni: Número de DNI del cliente
4. Tabla pedido:
 id_pedido: Identificador único del pedido.
 fecha: Fecha en que se realizó el pedido.
 id_cliente: Identificador del cliente que realizó el pedido.
 estado: Estado del pedido (ej. "Pendiente", "Enviado",
"Entregado").
5. Tabla detalle_pedido:
 id_detalle: Identificador único del detalle del pedido.
 Id_pedido: Identificador del pedido al que pertenece este detalle.
 Id_producto: Identificador del producto incluido en el pedido.
 cantidad: Cantidad de unidades del producto en el pedido.
6. Tabla proveedor_producto:
 id_proveedor: Identificador único del detalle del pedido.
 id_producto: Identificador del pedido al que pertenece este detalle.
7. Tabla inventario:
 id_inventario: Identificador único del detalle del pedido.
 id_producto: Identificador del pedido al que pertenece este detalle.
 id_tienda: Identificador del producto incluido en el pedido.
 cantidad: Cantidad de unidades del producto en el pedido.

8. Tabla tienda:

IES Privado CIBERTEC 5


 id_tienda: Identificador único de tienda.
 nombre: Nombre de la tienda.
 ubicación: Dirección de la tienda.

4. MODELO ENTIDAD RELACIÓN (MER)

5. DIAGRAMA LÓGICO
6. DIAGRAMA FÍSICO

IES Privado CIBERTEC 7


7. PROCEDIMIENTOS ALMACENADOS
CREATE PROCEDURE SP_INSERTAR_CLIENTE

@nombre VARCHAR(255),

@apellido VARCHAR(255),

@telefono VARCHAR(255),

@correo VARCHAR(255),

@dni VARCHAR(255)

AS

IF(EXISTS(SELECT * FROM cliente WHERE cliente.dni = @dni))

BEGIN

PRINT 'Ese DNI ya existe'

END

ELSE

BEGIN

INSERT INTO cliente

(nombre, telefono, correo, dni, apellido)

VALUES

(@nombre,@telefono,@correo,@dni,@apellido)

PRINT 'El cliente se registro correctamente'

END

GO

CREATE PROCEDURE SP_INSERTAR_PROVEEDOR

@nombre VARCHAR(100),

@telefono VARCHAR(15),

@correo VARCHAR(100)

AS

IF(EXISTS(SELECT * FROM proveedor WHERE proveedor.nombre = @nombre))

BEGIN

PRINT 'ESE PROVEEDOR YA EXISTE EN LA BD'

END

ELSE

IES Privado CIBERTEC 9


BEGIN

INSERT INTO proveedor

(nombre, telefono, correo)

VALUES

(@nombre,@telefono,@correo)

PRINT 'EL PROVEEDOR SE REGISTRO CORRECTAMENTE'

END

GO

CREATE PROCEDURE SP_INSERTAR_PRODUCTO

@nombre VARCHAR(100),

@categoria VARCHAR(50),

@precio DECIMAL(10,2)

AS

IF(EXISTS(SELECT * FROM producto WHERE producto.nombre = @nombre))

BEGIN

PRINT 'ESE PRODUCTO YA EXOISTE EN LA BD'

END

ELSE

BEGIN

INSERT INTO producto

(nombre, categoria, precio)

VALUES

(@nombre,@categoria,@precio)

PRINT 'EL PRODUCTO SE REGISTRO CORRECTAMENTE'

END

GO

CREATE PROCEDURE SP_INSERTAR_TIENDA

@nombre VARCHAR(100),
@ubicacion VARCHAR(100)

AS

IF(EXISTS(SELECT * FROM tienda WHERE tienda.nombre = @nombre))

BEGIN

PRINT 'ESA TIENDA YA EXISTE EN LA BD'

END

ELSE

BEGIN

INSERT INTO tienda

(nombre, ubicacion)

VALUES

(@nombre,@ubicacion)

PRINT 'LA TIENDA SE REGISTRO CORRECTAMENTE'

END

GO

CREATE PROCEDURE SP_INSERTAR_PEDIDO

@fecha DATE,

@id_cliente int,

@estado VARCHAR(50)

AS

INSERT INTO pedido

(fecha, id_cliente, estado)

VALUES

(@fecha,@id_cliente,@estado)

PRINT 'EL PEDIDO SE REGISTRO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_INSERTAR_INVENTARIO

@id_producto int,

IES Privado CIBERTEC 11


@id_tienda int,

@cantidad int

AS

INSERT INTO inventario

(id_producto, id_tienda, cantidad)

VALUES

(@id_producto,@id_tienda,@cantidad)

PRINT 'EL INVENTARIO SE REGISTRO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_INSERTAR_PROVEEDOR_PRODUCTO

@id_proveedor int,

@id_producto int

AS

INSERT INTO proveedor_producto

(id_proveedor, id_producto)

VALUES

(@id_proveedor,@id_producto)

PRINT 'EL PROVEEDOR_PRODUCTO SE REGISTRO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_INSERTAR_DETALLE_PEDIDO

@id_pedido int,

@id_producto int,

@cantidad int

AS

INSERT INTO detalle_pedido

(id_pedido, id_producto, cantidad)

VALUES

(@id_pedido,@id_producto,@cantidad)

PRINT 'EL DETALLE_PEDIDO SE REGISTRO CORRECTAMENTE'


GO

--PROCEDURES PARA BORRAR

CREATE PROCEDURE SP_ELIMINAR_DETALLE_PEDIDO

@id_detalle int

AS

DELETE detalle_pedido WHERE id_detalle=@id_detalle;

PRINT 'EL DETALLE_PEDIDO SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_PROVEEDOR_PRODUCTO

@id_proveedor int

AS

DELETE proveedor_producto WHERE id_producto=@id_proveedor;

PRINT 'EL PROVEEDOR_PRODUCTO SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_INVENTARIO

@id_inventario int

AS

DELETE inventario WHERE inventario.id_inventario=@id_inventario;

PRINT 'EL INVENTARIO SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_PEDIDO

@id_pedido int

AS

DELETE pedido WHERE pedido.id_pedido=@id_pedido;

IES Privado CIBERTEC 13


PRINT 'EL PEDIDO SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_TIENDA

@id_tienda int

AS

DELETE tienda WHERE tienda.id_tienda=@id_tienda;

PRINT 'LA TIENDA SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_PRODUCTO

@id_producto int

AS

DELETE producto WHERE producto.id_producto=@id_producto;

PRINT 'EL PRODUCTO SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_PROVEEDOR

@id_proveedor int

AS

DELETE proveedor WHERE proveedor.id_proveedor=@id_proveedor;

PRINT 'EL PROVEEDOR SE ELIMINO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ELIMINAR_CLIENTE

@id_cliente int

AS

DELETE cliente WHERE cliente.id_cliente=@id_cliente;


PRINT 'EL CLIENTE SE ELIMINO CORRECTAMENTE'

GO

--PROCEDURE PARA ACTUALIZAR ENTIDADES

CREATE PROCEDURE SP_ACTUALIZAR_CLIENTE

@id_cliente int,

@nombre VARCHAR(255),

@apellido VARCHAR(255),

@telefono VARCHAR(255),

@correo VARCHAR(255),

@dni VARCHAR(255)

AS

UPDATE cliente SET

nombre = @nombre,

apellido = @apellido,

telefono = @telefono,

correo = @correo,

dni= @dni

WHERE id_cliente = @id_cliente

PRINT 'EL CLIENTE SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_PROVEEDOR

@id_proveedor int,

@nombre VARCHAR(100),

@telefono VARCHAR(15),

@correo VARCHAR(100)

AS

UPDATE proveedor SET

nombre = @nombre,

telefono = @telefono,

IES Privado CIBERTEC 15


correo = @correo

WHERE id_proveedor = @id_proveedor;

PRINT 'EL PROVEEDOR SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_PRODUCTO

@id_producto int,

@nombre VARCHAR(100),

@categoria VARCHAR(50),

@precio DECIMAL(10,2)

AS

UPDATE producto SET

nombre = @nombre,

categoria = @categoria,

precio = @precio

WHERE id_producto = @id_producto;

PRINT 'EL PRODUCTO SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_TIENDA

@id_tienda int,

@nombre VARCHAR(100),

@ubicacion VARCHAR(100)

AS

UPDATE tienda SET

nombre = @nombre,

ubicacion = @ubicacion

WHERE id_tienda = @id_tienda;

PRINT 'EL TIENDA SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_PEDIDO


@id_pedido int,

@fecha DATE,

@id_cliente int,

@estado VARCHAR(50)

AS

UPDATE pedido SET

fecha = @fecha,

id_cliente = @id_cliente,

estado = @estado

WHERE id_pedido = @id_pedido;

PRINT 'EL PEDIDO SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_INVENTARIO

@id_inventario int,

@id_producto int,

@id_tienda int,

@cantidad int

AS

UPDATE inventario SET

id_producto = @id_producto,

id_tienda = @id_tienda,

cantidad = @cantidad

WHERE id_inventario = @id_inventario;

PRINT 'EL INVENTARIO SE ACTUALIZO CORRECTAMENTE'

GO

CREATE PROCEDURE SP_ACTUALIZAR_PROVEEDOR_PRODUCTO

@id_proveedor int,

@id_producto int

AS

UPDATE proveedor_producto SET

IES Privado CIBERTEC 17


id_proveedor = @id_proveedor,

id_producto = @id_producto

WHERE id_producto = @id_producto;

PRINT 'SE ACTUALIZO EL PRODUCTO CON EL NUEVO PROVEEDOR'

GO

CREATE PROCEDURE SP_ACTUALIZAR_DETALLE_PEDIDO

@id_detalle int,

@id_pedido int,

@id_producto int,

@cantidad int

AS

UPDATE detalle_pedido SET

id_pedido = @id_pedido,

cantidad = @cantidad,

id_producto = @id_producto

WHERE id_detalle = @id_detalle;

PRINT 'SE ACTUALIZO EL DETALLE_PEDIDO CORRECTAMENTE'

GO

8. INTERFAZ
IES Privado CIBERTEC 19
IES Privado CIBERTEC 21

También podría gustarte