1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Tạo cơ sở dữ liệu PostgreSQL

Connected

Bài tập

Tinh gọn các lựa chọn bữa ăn

Nhân viên căn-tin đã nghe về tất cả những nỗ lực tuyệt vời ở trường trung học trong việc tổ chức dữ liệu cho các hoạt động quan trọng của nhà trường. Họ cũng muốn tham gia. Cụ thể, đội ngũ này muốn theo dõi các lựa chọn bữa ăn khác nhau được phục vụ trong suốt năm học. Với sự hỗ trợ của bộ phận IT, bảng sau được định nghĩa cho mục đích này:

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

Dựa trên kiến thức về chuẩn hóa cơ sở dữ liệu, bạn sẽ đề xuất một thiết kế tốt hơn cho bảng meal.

Hướng dẫn

100 XP
  • Hoàn thiện định nghĩa bảng ingredient để lưu trữ nguyên liệu.
  • Đặt cột id của bảng meal là PRIMARY KEY và loại bỏ các cột ingredients và date_served để bảng meal đáp ứng 2NF.
  • Hoàn thiện định nghĩa meal_date để lưu các ngày một meal được phục vụ.
  • Hoàn thiện định nghĩa meal_ingredient để các nguyên liệu trong bảng ingredient có thể được tham chiếu từ bảng meal_ingredient.