Reducir la redundancia de datos
Un antiguo empleado de la Small Business Administration desarrolló una versión inicial de la base de datos. La información de ubicación se utiliza en toda la base para prestatarios, bancos y proyectos. Cada una de las tablas correspondientes a estas entidades usa columnas city, state y zip_code, lo que crea datos redundantes. Tu responsabilidad es normalizar estos datos de ubicación. Tendrás la oportunidad de poner en práctica tus conocimientos de normalización creando una tabla place para consolidar la información de ubicación.
Este ejercicio forma parte del curso
Creación de bases de datos en PostgreSQL
Instrucciones del ejercicio
- Crea la tabla
placeconzip_codecomoPRIMARY KEYde cinco caracteres,citycomo un tipo de texto con hasta 50 caracteres ystatecomo una columna de dos caracteres. - Elimina las columnas
city,stateyzip_codede la definición de la tablaborrowerborrando el código SQL que define dichas columnas. - Añade una columna llamada
place_id(una clave foránea) a la tablaborrowerque haga referencia a la columnazip_codede la tablaplace.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- Create the place table
___ ___ ___ (
-- Define zip_code column
___ ___(___) ___ KEY,
-- Define city column
___ ___(___) NOT NULL,
-- Define state column
___ ___(___) NOT NULL
);
CREATE TABLE borrower (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
approved BOOLEAN DEFAULT NULL,
-- Remove zip_code column (defined below)
zip_code CHAR(5) NOT NULL,
-- Remove city column (defined below)
city VARCHAR(50) NOT NULL,
-- Remove state column (defined below)
state CHAR(2) NOT NULL,
-- Add column referencing place table
___ ___(___) ___ ___(___)
);