#2 Programando un sistema de ventas real | Diseño de la base de datos
¿Cómo diseñar una base de datos para un sistema de ventas?
Introducción al curso
- Héctor de León presenta el tercer video de su serie sobre la programación de un sistema de venta real, enfatizando que se simulará un cliente real.
- Se mencionan los requisitos del sistema: generar ventas, almacenar en una base de datos y utilizar SQL Server como parte del backend.
Diseño inicial y tecnologías utilizadas
- El diseño incluirá varias tecnologías, comenzando con la creación de la base de datos y procedimientos almacenados.
- La base de datos es esencial para guardar información que será consultada en el futuro; se utilizará SQL Server para ello.
Creación y configuración de la base de datos
- Para conectarse a SQL Server, se necesita especificar el nombre del servicio, usuario y contraseña. Se opta por usar el usuario "sa" sin contraseña.
- Se utiliza Microsoft SQL Server Management Studio (SSMS), que es gratuito, para crear una nueva base de datos llamada "venta real".
Estructura básica: tablas necesarias
- Se planea crear dos tablas principales: "venta" y "concepto" o "producto", donde cada venta puede tener múltiples productos asociados.
- La tabla "venta" incluirá campos como ID (clave primaria), fecha y total. Es importante almacenar el total por razones prácticas en reportes.
Detalles sobre las tablas
- Se discute la elección entre tipos de datos como
intobigintpara manejar grandes volúmenes; se recomiendabigintsi se espera un gran número de registros.
- La decisión sobre almacenar el total directamente en la tabla "venta" es justificada por la eficiencia en reportes futuros.
Creación adicional: tabla concepto/producto
- Al crear la tabla "concepto", se establece que tendrá campos como cantidad, precio unitario e importe.
- Se argumenta nuevamente a favor del almacenamiento del importe para mejorar el rendimiento durante consultas masivas.
Relacionando las tablas
- Se introduce una nueva tabla llamada "producto", que contendrá detalles relevantes como nombre y precios. Esto permite seleccionar productos fácilmente durante las ventas.
Diagramas y relaciones entre tablas
- Utilizando diagramas en SSMS, se establecen relaciones entre las tablas mediante claves foráneas, creando así un modelo maestro-detalle efectivo.
Consideraciones finales sobre seguridad
- Héctor menciona que en sistemas reales no debería permitirse acceso a todas las bases de datos desde un solo usuario; esto es crucial para mantener la seguridad del sistema.