Вам нужна таблица 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"
и т. Д.