Modelado logico relacional de bases de datos

Enunciado:

Un supermercado desea organizar su inventario y registrar las compras de sus clientes. Actualmente, tiene una tabla que registra las compras en el siguiente formato:

ID_CompraClienteTeléfonoProductosPreciosCantidadesFecha_Compra
1Ana Pérez777-777-777Manzanas, Naranjas1.5, 2.02, 32024-11-20
2Pedro López888-888-888Plátanos, Peras, Melón1.0, 1.2, 3.54, 2, 12024-11-21
3Marta Sánchez999-999-999Uvas2.512024-11-22
forma normal 0

Problemas detectados:

  1. Valores multivalorados o repetidos: Los productos, precios y cantidades están representados como listas en una sola celda.
  2. Dificultad para realizar consultas: No es posible consultar cada producto, precio o cantidad individualmente porque están combinados en un solo campo.
  3. No cumple la 1FN: Cada celda debe contener un único valor atómico (no listas o conjuntos).

Tareas:

  1. Identifica los valores multivalorados o no atómicos.
  2. Reestructura la tabla para cumplir con la 1FN.

Resolución:

Tabla inicial (no cumple 1FN):

ID_CompraClienteTeléfonoProductosPreciosCantidadesFecha_Compra
1Ana Pérez777-777-777Manzanas, Naranjas1.5, 2.02, 32024-11-20
2Pedro López888-888-888Plátanos, Peras, Melón1.0, 1.2, 3.54, 2, 12024-11-21
3Marta Sánchez999-999-999Uvas2.512024-11-22

Paso 1: Identificar los valores no atómicos

  • Los campos Productos, Precios y Cantidades contienen listas de valores, lo que rompe la 1FN.
  • Estos valores deben ser divididos en filas individuales.

Paso 2: Crear la tabla normalizada

Tabla normalizada (cumple 1FN):

ID_CompraClienteTeléfonoProductoPrecioCantidadFecha_Compra
1Ana Pérez777-777-777Manzanas1.522024-11-20
1Ana Pérez777-777-777Naranjas2.032024-11-20
2Pedro López888-888-888Plátanos1.042024-11-21
2Pedro López888-888-888Peras1.222024-11-21
2Pedro López888-888-888Melón3.512024-11-21
3Marta Sánchez999-999-999Uvas2.512024-11-22
forma normal 1

Explicación del resultado:

  1. Celdas atómicas: Cada celda contiene un único valor, cumpliendo el requisito de la 1FN.
  2. Repetición controlada: Los datos como el cliente y la fecha de compra se repiten por cada producto en una compra, pero esto es aceptable en la 1FN.
  3. Facilidad de consulta: Ahora se pueden realizar consultas por productos, precios, clientes o fechas de manera más sencilla.

Preguntas para reflexión o práctica:

  1. ¿Qué clave primaria podrías usar en esta tabla normalizada?
  • Planteamiento del problema

    Una empresa tiene la siguiente tabla para registrar información sobre sus empleados y sus habilidades. Actualmente, la tabla no cumple con la Primera Forma Normal (1FN) porque contiene valores no atómicos:

    ID_EmpleadoNombreHabilidadesDepartamento
    1Juan PérezExcel, SQL, Power BIFinanzas
    2María GómezJava, Spring BootIT
    3Luis GarcíaPython, Pandas, NumPyData Science
    Loading...

    Instrucciones

    1. Analiza la tabla proporcionada y entiende por qué no está en 1FN.
    2. Genera el diagrama relacional de la tabla normalizada.
    Loading...