डेटा दोहराव कम करना
Small Business Administration के एक पूर्व कर्मचारी ने डेटाबेस का शुरुआती वर्ज़न बनाया था। लोकेशन की जानकारी डेटाबेस में borrowers, banks, और projects के लिए उपयोग होती है। इन प्रत्येक entities की तालिकाओं में city, state, और zip_code कॉलम हैं, जिससे डेटा बार-बार दोहराया जाता है। इस लोकेशन डेटा को normalize करना आपकी ज़िम्मेदारी है। आप लोकेशन डेटा को समेकित करने के लिए place टेबल बनाकर अपने normalization ज्ञान को लागू करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
PostgreSQL डेटाबेस बनाना
अभ्यास निर्देश
placeटेबल बनाएँ जिसमेंzip_codeपाँच-character काPRIMARY KEYहो,cityटेक्स्ट-टाइप हो जिसमें अधिकतम 50 characters हों, औरstateदो-character का कॉलम हो.borrowerटेबल की परिभाषा सेcity,state, औरzip_codeकॉलम को हटाएँ, यानी इन कॉलम्स को परिभाषित करने वाला SQL कोड डिलीट कर दें.borrowerटेबल मेंplace_idनाम का एक कॉलम (foreign key) जोड़ें जोplaceटेबल केzip_codeकॉलम को reference करे.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- 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
___ ___(___) ___ ___(___)
);