ComeçarComece de graça

Reduzindo a redundância de dados

Um ex-funcionário da Small Business Administration desenvolveu uma versão inicial do banco de dados. Informações de localização são usadas em todo o banco de dados para tomadores, bancos e projetos. Cada uma das tabelas correspondentes a essas entidades utiliza as colunas city, state e zip_code, criando dados redundantes. É sua responsabilidade normalizar esses dados de localização. Você poderá colocar seus conhecimentos de normalização em prática criando uma tabela place para consolidar os dados de localização.

Este exercício faz parte do curso

Criando bancos de dados PostgreSQL

Ver curso

Instruções do exercício

  • Crie a tabela place com zip_code como uma PRIMARY KEY de cinco caracteres, city como um tipo de texto com até 50 caracteres e state como uma coluna de dois caracteres.
  • Remova as colunas city, state e zip_code da definição da tabela borrower, apagando o código SQL que define essas colunas.
  • Adicione uma coluna chamada place_id (uma chave estrangeira) à tabela borrower que referencie a coluna zip_code da tabela place.

Exercício interativo prático

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

-- 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
  ___ ___(___) ___ ___(___)
);
Editar e executar o código