शुरू करेंमुफ़्त में शुरू करें

Meal options को सरल बनाना

कैफेटेरिया स्टाफ ने सुना है कि हाई स्कूल में स्कूल संचालन के अहम पहलुओं के डेटा को व्यवस्थित करने के लिए बेहतरीन काम हो रहा है. अब यह टीम भी इन प्रयासों से जुड़ना चाहती है. खासकर, स्टाफ पूरे स्कूल वर्ष में उपलब्ध अलग-अलग meal options का रिकॉर्ड रखना चाहता है. IT स्टाफ की मदद से इस उद्देश्य के लिए निम्न टेबल परिभाषित की गई है:

CREATE TABLE meal (
    id INTEGER,
    name VARCHAR(50) NOT NULL
    ingredients VARCHAR(150), -- comma seperated list
    avg_student_rating NUMERIC,
    date_served DATE,
    total_calories SMALLINT NOT NULL
);

डेटाबेस normalization के आपके ज्ञान का उपयोग करके, आप meal टेबल के लिए एक बेहतर डिज़ाइन सुझाएँगे.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PostgreSQL डेटाबेस बनाना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • ingredients को स्टोर करने के लिए ingredient टेबल की परिभाषा पूरी करें.
  • meal टेबल के id कॉलम को PRIMARY KEY बनाएँ और ingredients तथा date_served कॉलम हटाएँ ताकि meal टेबल 2NF को संतुष्ट करे.
  • meal_date की परिभाषा पूरी करें ताकि जिन तारीखों पर कोई meal परोसा गया हो, उन्हें स्टोर किया जा सके.
  • meal_ingredient की परिभाषा पूरी करें ताकि ingredient टेबल के ingredients को meal_ingredient टेबल से reference किया जा सके.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

CREATE TABLE ingredient (
  -- Add PRIMARY KEY for table
  ___ ___ ___ ___,
  name VARCHAR(50) NOT NULL
);

CREATE TABLE meal (
    -- Make id a PRIMARY KEY
	id ___ ___ ___,
    name VARCHAR(50) NOT NULL,

	-- Remove the 2 columns (below) that do not satisfy 2NF
  	ingredients VARCHAR(150), -- comma separated list
    avg_student_rating NUMERIC,
    date_served DATE,
    total_calories SMALLINT NOT NULL
);

CREATE TABLE meal_date (
    -- Define a column referencing the meal table
  	meal_id INTEGER ___ ___(___),
    date_served DATE NOT NULL
);

CREATE TABLE meal_ingredient (
  	meal_id INTEGER REFERENCES meal(id),
  
    -- Define a column referencing the ingredient table
    ingredient_id INTEGER ___ ___(___)
);
कोड संपादित करें और चलाएँ