French Cuisine is a 5-star restaurant serving a selection of carefully selected French recipes in a cosy atmosphere. Their menu is organised into 4 categories as follows: Starters, Main Meals, Deserts & Drinks.
In the dining area, there are 21 tables of different sizes (to serve from 1 to 8 customers per table). Each table has a unique number that is used by waiters & waitresses when they take and deliver an order.
Customers have to book a table in advanced by calling the restaurant. When they do so, the receptionist records the name and phone number of the customer making the booking and the number of guests the booking is for. The restaurant does not need to record the information of all the guests when a booking is made. Depending on the number of guests, the receptionist will allocate a table to the booking. Only 1 table can be booked per booking, so if a customer requires more than one table (for a large group) they will need to make several bookings.
When an order is raised the, the waiter or waitress write downs the menu item codes from the main menu and the quantity required.
Up to now, all the information recorded by both the receptionist when a booking is made and by the waiters/waitresses taking the orders at the table, is handwritten using small notebooks. However the restaurant would like to upgrade their system and intend to provide both the receptionist and the waiters & waitresses with touchscreen tablets to record table bookings and orders on a central system/database.
Your task is to design the Entity Relationship Diagram (ERD) for a relational database that will store information about:
the different tables in the restaurant (Table number and capacity),
the menu items that can be ordered from the menu (with a description and a price for each item as well as an indication as whether the item is suitable for vegetarians or not),
the bookings made (storing information such as date and time of the booking, number of guests, table number),
the contact details of the customers making the bookings,
the orders being raised with, for each order, the table number the order is for, a list of all item codes being ordered from the menu and the quantities required.