Mengurangi redundansi data
Seorang pegawai terdahulu di Small Business Administration mengembangkan versi awal basis data. Informasi lokasi digunakan di seluruh basis data untuk peminjam, bank, dan proyek. Masing-masing tabel untuk entitas tersebut menggunakan kolom city, state, dan zip_code sehingga menimbulkan data yang berulang. Tanggung jawab Anda adalah menormalkan data lokasi ini. Anda akan berkesempatan menerapkan pengetahuan normalisasi data dengan membuat tabel place untuk mengonsolidasikan data lokasi.
Latihan ini adalah bagian dari kursus
Membuat Database PostgreSQL
Petunjuk latihan
- Buat tabel
placedenganzip_codesebagaiPRIMARY KEYlima karakter,citysebagai tipe teks dengan hingga 50 karakter, danstatesebagai kolom dua karakter. - Hapus kolom
city,state, danzip_codedari definisi tabelborrowerdengan menghapus kode SQL yang mendefinisikan kolom-kolom tersebut. - Tambahkan kolom bernama
place_id(kunci asing) ke tabelborroweryang mereferensikan kolomzip_codepada tabelplace.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- 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
___ ___(___) ___ ___(___)
);