Ejemplo de diseño utilizando el modelo de caso de uso y relacional para una base de datos de una tienda en línea.

 Ejemplo de diseño utilizando el modelo de caso de uso y relacional para una base de datos de una tienda en línea.

1. Modelo de Caso de Uso

🎭 Actores principales:

  • Cliente: usuario que navega y compra productos.
  • Administrador: usuario que gestiona el catálogo, pedidos y reportes.

📌 Casos de Uso (por actor):

Cliente:

  • Registrarse: Crear una cuenta.
  • Iniciar sesión: Acceder al sistema.
  • Buscar productos: Usar filtros o categorías.
  • Ver detalles de producto: Consultar precio, descripción, stock.
  • Agregar al carrito: Seleccionar productos.
  • Realizar pedido: Confirmar la compra.
  • Ver historial de pedidos: Consultar compras anteriores.

Administrador:

  • Gestionar productos: Agregar, actualizar o eliminar productos.
  • Gestionar clientes: Ver y editar información de usuarios.
  • Ver pedidos: Revisar compras realizadas.
  • Generar reportes: Consultar estadísticas de ventas.

 

🗃️ 2. Modelo Relacional

👥 Tabla: Clientes

Campo

Tipo de dato

Descripción

id_cliente

INT (PK)

Identificador único del cliente

nombre

VARCHAR(100)

Nombre completo

correo

VARCHAR(100)

Correo electrónico (único)

contraseña

VARCHAR(100)

Contraseña cifrada

dirección

VARCHAR(150)

Dirección de envío

fecha_registro

DATE

Fecha de creación de cuenta

 

📦 Tabla: Productos

Campo

Tipo de dato

Descripción

id_producto

INT (PK)

Identificador único del producto

nombre

VARCHAR(100)

Nombre del producto

descripción

TEXT

Descripción detallada del producto

precio

DECIMAL(10,2)

Precio unitario

stock

INT

Cantidad disponible

categoria

VARCHAR(50)

Categoría a la que pertenece

imagen_url

VARCHAR(200)

Ruta a la imagen del producto

 

🛒 Tabla: Carrito

Campo

Tipo de dato

Descripción

id_carrito

INT (PK)

Identificador único del carrito

id_cliente

INT (FK)

Cliente al que pertenece

 

🛍️ Tabla: Carrito_Detalle

Campo

Tipo de dato

Descripción

id_detalle

INT (PK)

Identificador del registro

id_carrito

INT (FK)

Carrito al que pertenece

id_producto

INT (FK)

Producto agregado

cantidad

INT

Unidades del producto

 

📑 Tabla: Pedidos

Campo

Tipo de dato

Descripción

id_pedido

INT (PK)

Identificador único del pedido

id_cliente

INT (FK)

Cliente que hizo la compra

fecha_pedido

DATE

Fecha del pedido

estado

VARCHAR(30)

Estado del pedido (procesado, enviado, etc.)

total

DECIMAL(10,2)

Total pagado

 

📦 Tabla: Detalle_Pedido

Campo

Tipo de dato

Descripción

id_detalle

INT (PK)

Identificador del detalle

id_pedido

INT (FK)

Pedido al que pertenece

id_producto

INT (FK)

Producto comprado

cantidad

INT

Cantidad adquirida

precio_unitario

DECIMAL(10,2)

Precio al momento de la compra

 

🧑‍💼 Tabla: Administradores

Campo

Tipo de dato

Descripción

id_admin

INT (PK)

ID único del administrador

nombre

VARCHAR(100)

Nombre del admin

usuario

VARCHAR(50)

Nombre de usuario

contraseña

VARCHAR(100)

Contraseña cifrada


Relación entre Tablas

  • Un cliente puede tener muchos pedidos.
  • Un pedido puede contener varios productos (a través de Detalle_Pedido).
  • Un cliente puede tener un carrito, y un carrito puede tener muchos productos (Carrito_Detalle).
  • Un producto puede estar en muchos pedidos y carritos.


Relacion de tablas 

 


Comentarios

Entradas más populares de este blog

Técnicas de modelado de datos.