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
Instructions
- Créez la table
placeaveczip_codecommePRIMARY KEYde cinq caractères,citycomme type texte avec jusqu’à 50 caractères, etstatecomme colonne de deux caractères. - Supprimez les colonnes
city,stateetzip_codede la définition de la tableborroweren supprimant le code SQL qui définit ces colonnes. - Ajoutez une colonne nommée
place_id(une clé étrangère) à la tableborrowerqui référence la colonnezip_codede la tableplace.
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
___ ___(___) ___ ___(___)
);