ComeçarComece de graça

Aprimorando o mapeamento objeto-dado

A tabela client do Small Business Development Center foi definida anteriormente sem incluir um ponto de contato do cliente. A primeira ideia da equipe de banco de dados foi simplesmente adicionar as colunas contact_name e contact_email à tabela de clientes. No entanto, você se opõe a esse plano com base nas boas práticas de organização de dados. No futuro, um contato pode ser referenciado em várias tabelas. Neste exercício, você vai definir estruturas de tabela para as informações de cliente e de contato que separem melhor os objetos client e contact.

Relembre a definição anterior da tabela client:

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

Este exercício faz parte do curso

Criando bancos de dados PostgreSQL

Ver curso

Instruções do exercício

  • Crie uma tabela contact com as colunas id (chave primária), name (tamanho máximo de 50) e email (tamanho máximo de 50).
  • Altere a tabela client adicionando uma coluna contact_id como chave estrangeira.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

-- 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 e executar o código