-- Restaurant Database Management System -- -- Instructions: -- 1. Create all required tables. -- 2. Design appropriate PRIMARY KEY and FOREIGN KEY relationships. -- 3. Add suitable constraints based on the requirements. -- 4. Insert initial mock data. -- 5. Insert at least 3 menu items. -- 6. The script should be executable from start to finish without errors. -- ======================================================= -- USER TABLE -- ======================================================= -- -- Represents customers using the system. -- -- Required information: -- - Unique identifier -- - Username -- - Password -- - Email (optional) -- -- Requirements: -- - Each user must have a unique identifier. -- - Usernames must be unique. -- - Username and password are required. -- - Passwords should not be stored in plain text. -- -- CREATE TABLE ... -- ======================================================= -- MENU ITEM TABLE -- ======================================================= -- -- Represents available food and drink items. -- -- Required information: -- - Unique identifier -- - Name -- - Description (optional) -- - Price -- - Category (optional) -- -- Requirements: -- - Each menu item must have a unique identifier. -- - Name is required. -- - Price must always be positive. -- -- CREATE TABLE ... -- ======================================================= -- ORDER TABLE -- ======================================================= -- -- Represents orders placed by customers. -- -- Required information: -- - Unique identifier -- - Reference to customer -- - Creation date and time -- - Total price -- -- Requirements: -- - Each order must belong to exactly one user. -- - A user can have multiple orders. -- - The relationship between User and Order must be implemented. -- -- Note: -- Avoid using reserved SQL keywords as table names. -- Consider using a name such as "orders" or "customer_orders". -- -- CREATE TABLE ... -- ======================================================= -- ORDER DETAIL TABLE -- ======================================================= -- -- Represents items inside an order. -- -- Required information: -- - Unique identifier -- - Reference to an order -- - Reference to a menu item -- - Quantity -- - Item price at purchase time -- -- Requirements: -- - Each detail record must belong to one order. -- - Each detail record must reference one menu item. -- - Quantity must always be greater than zero. -- - Store the item's price at the moment of purchase. -- -- CREATE TABLE ... -- ======================================================= -- INITIAL MENU DATA -- ======================================================= -- -- Insert at least 3 food or drink items. -- -- Example categories: -- - Pizza -- - Burger -- - Pasta -- - Drink -- -- INSERT INTO ... -- ======================================================= -- OPTIONAL TEST DATA -- ======================================================= -- -- You may insert sample users and orders for testing. -- This section is optional. -- -- INSERT INTO ... -- ======================================================= -- VERIFICATION QUERIES -- ======================================================= -- -- Uncomment these queries to verify your database. -- -- SELECT * FROM ...; -- SELECT * FROM ...; -- SELECT * FROM ...; -- SELECT * FROM ...;