ComenzarEmpieza gratis

Mejorar la correspondencia entre objetos y datos

La tabla client del Small Business Development Center se definió anteriormente sin incluir un punto de contacto para el cliente. La primera idea del equipo de base de datos fue simplemente añadir las columnas contact_name y contact_email a la tabla de cliente. Sin embargo, te opones a este plan por tus criterios sobre una organización adecuada de los datos. En el futuro, es posible que un contacto se referencie en varias tablas. En este ejercicio, definirás estructuras de tablas para la información de cliente y de contacto que separen mejor los objetos client y contact.

Recuerda la definición previa de la tabla client:

CREATE TABLE client (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    site_url VARCHAR(50),
    num_employees SMALLINT,
    num_customers INTEGER
);

Este ejercicio forma parte del curso

Creación de bases de datos en PostgreSQL

Ver curso

Instrucciones del ejercicio

  • Crea una tabla contact con las columnas id (clave primaria), name (longitud máxima de 50) y email (longitud máxima de 50).
  • Modifica la tabla client añadiendo una columna contact_id como clave externa.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

-- Create the contact table
___ ___ ___ (
  	-- Define the id primary key column
	___ SERIAL ___ ___,
  	-- Define the name column
  	___ ___(50) NOT NULL,
    -- Define the email column
  	___ VARCHAR(___) NOT NULL
);

-- Add contact_id to the client table
ALTER TABLE ___ ADD ___ INTEGER NOT NULL;

-- Add a FOREIGN KEY constraint to the client table
ALTER TABLE ___ ADD CONSTRAINT fk_c_id FOREIGN KEY (___) REFERENCES ___(id);
Editar y ejecutar código