BaşlayınÜcretsiz Başlayın

Yemek seçeneklerini sadeleştirme

Lise genelinde okul operasyonlarının önemli yönleri için verileri düzenleme konusunda yapılan harika çalışmaları kantin personeli de duyuyor. Bu ekip de artık bu çabalara katılmak istiyor. Özellikle, personel okul yılı boyunca sunulan farklı yemek seçeneklerini takip etmek istiyor. BT ekibinin yardımıyla bu amaç için aşağıdaki tablo tanımlanıyor:

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
);

Veritabanı normalleştirme bilginle, meal tablosu için daha iyi bir tasarım önereceksin.

Bu egzersiz

PostgreSQL Veritabanları Oluşturma

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Malzemeleri depolamak için ingredient tablosunun tanımını tamamla.
  • meal tablosunun id sütununu PRIMARY KEY yap ve 2NF’yi sağlayacak şekilde ingredients ve date_served sütunlarını kaldır.
  • Bir mealin servis edildiği tarihleri depolamak için meal_date tanımını tamamla.
  • ingredient tablosundaki malzemelerin meal_ingredient tablosundan referans alınabilmesi için meal_ingredient tanımını tamamla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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 ___ ___(___)
);
Kodu Düzenle ve Çalıştır