Как создать базу данных для распечатки буфета системы ресторанов? - PullRequest
0 голосов
/ 25 сентября 2010

В ресторанах есть буфеты.и буфеты имеют разные спреды.Я хочу включить фото и комментарии к каждому блюду в буфете.Не уверен, что это лучший способ сохранить их в базе данных

Что я сделал?

У меня есть Ресторан Db, в котором хранится общая информация о REst.Блюда Блюда, в которых хранятся Блюда Ресторанов.каждое блюдо снова сопоставляется с категорией, такой как закуски, напитки, основное блюдо.

Теперь о том, как хранить блюда как часть шведского стола ресторана в обычном порядке.

1 Ответ

1 голос
/ 25 сентября 2010

Вам нужна таблица Restaurant с уникальным первичным ключом REST_ID и другими атрибутами Restaurant (такими как имя и местоположение, имя шеф-повара)

Вам нужна таблица Buffet с первичным ключом (REST_ID, BUFFET_ID) идругие атрибуты буфета, такие как имя (например, «салат-бар», «шведский стол» или «сладости»).

Вам нужна таблица блюд с первичным ключом (REST_ID, BUFFET_ID, DISH_ID) и другими атрибутами, такими каккак имя ("Картофельный салат", "Масленый нэн")

Вам нужна таблица фотографий с первичным ключом (REST_ID, BUFFET_ID, DISH_ID, PHOTO_ID) и другими атрибутами, например, путем или именем для фотографии.сам и заголовок.

Вам нужна таблица Reviews с первичным ключом (REST_ID, BUFFET_ID, DISH_ID, REVIEW_ID).

Обратите внимание, что в этой модели данных есть выбор дизайна: онневозможно, чтобы одно и то же блюдо появилось на двух разных буфетах.Также невозможно, чтобы один и тот же буфет появился в двух разных ресторанах.То есть данные строго иерархичны:

One restaurant: zero, one, or more buffets
One buffet: zero, one or more dishes
One dish: zero, one or more photos
One dish: zero, one or more reviews

Это имеет смысл для приложения обзора.Если вы получаете пищевое отравление из яичного салата в ресторане A, то нет смысла отображать отрицательный отзыв о блюде в ресторане B.

Вот несколько примеров строк для каждой таблицы.

Ресторан (REST_ID, Имя, Шеф-повар)

1 "McDonalds" Ronald
2 "Julia's Place" Julia
3 "Ritz Carlton Dining Room" Jack

Шведский стол (REST_ID, BUFFET_ID, Название)

2 1 "Soup Bar"   (this is the soup bar at Julia's place)
2 2 "Salad Bar"  (the salad bar at Julia's place)
3 1 "Cold Breakfast"  (the cold breakfast bar at the hotel dining room)
3 2 "Sweets"  ( the dessert bar at the hotel dining room)

Блюдо: (REST_ID, BUFFET_ID, DISH_ID, имя и категория)

2 1 1 "Minestrone" "Soup"
2 1 2 "French Onion" "Soup"
2 1 3 "Vegetarian Barley" "Soup"
2 1 4 "Saltines" "Crackers"
3 1 1 "Melon" "Fruit"
3 1 2 "Strawberry" "Fruit"
3 1 3 "Blueberry Muffin" "Bread"
3 1 4 "Multigrain Bread" "Bread"
3 1 5 "Corn Flakes" "Cereal"
3 1 6 "Orange Juice" "Drink"
3 1 7 "Milk" "Drink"

и т. Д.

...