Réduire la redondance des données
Un ancien employé de la Small Business Administration a conçu une première version de la base de données. L'information sur l'emplacement est utilisée partout dans 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. Vous devez normaliser ces données d'emplacement. Vous aurez l'occasion de mettre en pratique vos connaissances en normalisation en créant une table place pour regrouper les données d'emplacement.
Cette activité fait partie du cours
Créer des bases de données PostgreSQL
Instructions de l’exercice
- Créez la table
placeaveczip_codecommePRIMARY KEYde cinq caractères,citycomme type textuel avec jusqu'à 50 caractères, etstatecomme colonne de deux caractères. - Retirez 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 fait référence à la colonnezip_codede la tableplace.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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
___ ___(___) ___ ___(___)
);