¡Claro! A continuación, te proporciono algunos ejercicios resueltos de normalización de base de datos en formato PDF y un ejemplo de cómo desarrollar una pieza de código para normalizar una base de datos. Ejercicios resueltos de normalización de base de datos
Normalización de una tabla de clientes
Supongamos que tenemos la siguiente tabla: | ID Cliente | Nombre | Dirección | Teléfono | Correo electrónico | | --- | --- | --- | --- | --- | | 1 | Juan Pérez | Calle 123 | 123456 | jperez@example.com | | 2 | María Gómez | Calle 456 | 789012 | mgomez@example.com | Se puede normalizar en las siguientes tablas: Clientes | ID Cliente (PK) | Nombre | Correo electrónico | | --- | --- | --- | | 1 | Juan Pérez | jperez@example.com | | 2 | María Gómez | mgomez@example.com | Direcciones | ID Dirección (PK) | ID Cliente (FK) | Dirección | Teléfono | | --- | --- | --- | --- | | 1 | 1 | Calle 123 | 123456 | | 2 | 2 | Calle 456 | 789012 |
Normalización de una tabla de pedidos
Supongamos que tenemos la siguiente tabla: | ID Pedido | ID Cliente | Fecha pedido | Producto | Cantidad | Precio unitario | | --- | --- | --- | --- | --- | --- | | 1 | 1 | 2022-01-01 | Libro | 2 | 20.00 | | 1 | 1 | 2022-01-01 | Bolígrafo | 1 | 5.00 | | 2 | 2 | 2022-01-15 | Libro | 1 | 20.00 | Se puede normalizar en las siguientes tablas: Pedidos | ID Pedido (PK) | ID Cliente (FK) | Fecha pedido | | --- | --- | --- | | 1 | 1 | 2022-01-01 | | 2 | 2 | 2022-01-15 | Detalles de pedidos | ID Detalle (PK) | ID Pedido (FK) | Producto | Cantidad | Precio unitario | | --- | --- | --- | --- | --- | | 1 | 1 | Libro | 2 | 20.00 | | 2 | 1 | Bolígrafo | 1 | 5.00 | | 3 | 2 | Libro | 1 | 20.00 | Desarrollo de una pieza de código para normalizar una base de datos A continuación, te proporciono un ejemplo de cómo normalizar una base de datos en Python utilizando la biblioteca pandas : import pandas as pd
# Carga los datos data = { 'ID Cliente': [1, 2, 1, 2], 'Nombre': ['Juan Pérez', 'María Gómez', 'Juan Pérez', 'María Gómez'], 'Dirección': ['Calle 123', 'Calle 456', 'Calle 123', 'Calle 456'], 'Teléfono': [123456, 789012, 123456, 789012], 'Correo electrónico': ['jperez@example.com', 'mgomez@example.com', 'jperez@example.com', 'mgomez@example.com'], 'Fecha pedido': ['2022-01-01', '2022-01-15', '2022-01-01', '2022-01-15'], 'Producto': ['Libro', 'Bolígrafo', 'Libro', 'Bolígrafo'], 'Cantidad': [2, 1, 1, 2], 'Precio unitario': [20.00, 5.00, 20.00, 5.00] }
df = pd.DataFrame(data)
# Normaliza los datos clientes = df[['ID Cliente', 'Nombre', 'Correo electrónico']].drop_duplicates() direcciones = df[['ID Cliente', 'Dirección', 'Teléfono']].drop_duplicates() pedidos = df[['ID Cliente', 'Fecha pedido']].drop_duplicates() detalles_pedidos = df[['ID Cliente', 'Fecha pedido', 'Producto', 'Cantidad', 'Precio unitario']]
# Crea las tablas normalizadas clientes = clientes.rename(columns={'ID Cliente': 'ID Cliente (PK)'}) direcciones = direcciones.rename(columns={'ID Cliente': 'ID Cliente (FK)'}) pedidos = pedidos.rename(columns={'ID Cliente': 'ID Cliente (FK)'}) detalles_pedidos = detalles_pedidos.rename(columns={'ID Cliente': 'ID Cliente (FK)'})
# Imprime las tablas normalizadas print("Clientes:") print(clientes) print("\nDirecciones:") print(direcciones) print("\nPedidos:") print(pedidos) print("\nDetalles de pedidos:") print(detalles_pedidos)
Espero que esto te sea de ayuda. Recuerda que la normalización de bases de datos es un proceso importante para garantizar la integridad y consistencia de los datos. ¡Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar!
¡Claro! La normalización de bases de datos es un proceso fundamental para diseñar bases de datos relacionales eficientes y escalables. A continuación, te proporciono algunos ejercicios resueltos de normalización de base de datos en formato PDF y algunas explicaciones adicionales: Ejercicios resueltos