ÎncepețiÎncepe gratuit

Reducerea redundanței datelor

Un fost angajat al Administrației pentru Afaceri Mici a dezvoltat o versiune inițială a bazei de date. Informațiile despre locație sunt utilizate în întreaga bază de date pentru împrumutați, bănci și proiecte. Fiecare dintre tabelele corespunzătoare acestor entități folosește coloanele city, state și zip_code, ceea ce generează date redundante. Responsabilitatea ta este să normalizezi aceste date de locație. Vei avea ocazia să îți pui în practică cunoștințele de normalizare a datelor, creând un tabel place pentru a consolida informațiile de locație.

Acest exercițiu face parte din cursul

Crearea bazelor de date PostgreSQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează tabelul place cu zip_code ca PRIMARY KEY de tip text cu exact cinci caractere, city ca tip text cu până la 50 de caractere și state ca o coloană de două caractere.
  • Elimină coloanele city, state și zip_code din definiția tabelului borrower prin ștergerea codului SQL care le definește.
  • Adaugă o coloană numită place_id (cheie externă) în tabelul borrower, care face referire la coloana zip_code din tabelul place.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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
  ___ ___(___) ___ ___(___)
);
Editează și rulează codul