เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ลดความซ้ำซ้อนของข้อมูล

พนักงานคนก่อนของ Small Business Administration ได้พัฒนาฐานข้อมูลเวอร์ชันแรกเอาไว้ โดยมีการใช้ข้อมูลตำแหน่งที่ตั้งทั่วทั้งฐานข้อมูลสำหรับผู้กู้ ธนาคาร และโครงการ ตารางที่เกี่ยวข้องกับแต่ละหน่วยงานเหล่านี้ต่างมีคอลัมน์ city, state และ zip_code ซึ่งทำให้เกิดข้อมูลซ้ำซ้อน หน้าที่ของคุณคือนำความรู้ด้าน data normalization มาใช้จัดการข้อมูลตำแหน่งที่ตั้งเหล่านี้ โดยสร้างตาราง place เพื่อรวมข้อมูลตำแหน่งที่ตั้งไว้ที่เดียวกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างฐานข้อมูล PostgreSQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างตาราง place โดยกำหนดให้ zip_code เป็น PRIMARY KEY ชนิด ตัวอักษร 5 ตัว, city เป็นชนิด text ที่รองรับความยาวสูงสุด 50 ตัวอักษร และ state เป็นคอลัมน์ขนาด 2 ตัวอักษร
  • ลบคอลัมน์ city, state และ zip_code ออกจากนิยามตาราง borrower โดยลบโค้ด SQL ที่กำหนดคอลัมน์เหล่านั้นออก
  • เพิ่มคอลัมน์ชื่อ place_id (ซึ่งเป็น foreign key) ลงในตาราง borrower โดยอ้างอิงไปยังคอลัมน์ zip_code ของตาราง place

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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
  ___ ___(___) ___ ___(___)
);
แก้ไขและรันโค้ด