CommencerCommencer gratuitement

Réduire la redondance des données

Un ancien employé de la Small Business Administration a développé une première version de la base de données. Les informations de localisation sont utilisées dans toute la base pour les emprunteurs, les banques et les projets. Chacune des tables correspondantes pour ces entités utilise les colonnes city, state et zip_code, ce qui crée des données redondantes. Votre rôle est de normaliser ces données de localisation. Vous allez mettre en pratique vos connaissances en normalisation en créant une table place pour centraliser les données de localisation.

Cet exercice fait partie du cours

Créer des bases de données PostgreSQL

Afficher le cours

Instructions

  • Créez la table place avec zip_code comme PRIMARY KEY de cinq caractères, city comme type texte avec jusqu’à 50 caractères, et state comme colonne de deux caractères.
  • Supprimez les colonnes city, state et zip_code de la définition de la table borrower en supprimant le code SQL qui définit ces colonnes.
  • Ajoutez une colonne nommée place_id (une clé étrangère) à la table borrower qui référence la colonne zip_code de la table place.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

-- 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
  ___ ___(___) ___ ___(___)
);
Modifier et exécuter le code