DROP TABLE IF EXISTS order_details CASCADE; DROP TABLE IF EXISTS orders CASCADE; DROP TABLE IF EXISTS menu_item CASCADE; DROP TABLE IF EXISTS users CASCADE; CREATE TABLE users ( uid SERIAL PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(100) ); CREATE TABLE menu_item ( uid SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, price DECIMAL(10, 2) NOT NULL CHECK (price > 0), category VARCHAR(50) ); CREATE TABLE orders ( uid SERIAL PRIMARY KEY, user_id INTEGER NOT NULL, order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, total_price DECIMAL(10, 2) NOT NULL CHECK (total_price >= 0), CONSTRAINT fk_orders_user FOREIGN KEY (user_id) REFERENCES users(uid) ON DELETE CASCADE ); CREATE TABLE order_details ( uid SERIAL PRIMARY KEY, order_id INTEGER NOT NULL, item_id INTEGER NOT NULL, quantity INTEGER NOT NULL CHECK (quantity > 0), item_price DECIMAL(10, 2) NOT NULL CHECK (item_price >= 0), CONSTRAINT fk_order_details_order FOREIGN KEY (order_id) REFERENCES orders(uid) ON DELETE CASCADE, CONSTRAINT fk_order_details_menu_item FOREIGN KEY (item_id) REFERENCES menu_item(uid) ON DELETE RESTRICT ); INSERT INTO menu_item (name, price, category) VALUES ('French Fries', 1.00, 'Appetizer'), ('Chicken Burger', 4.05, 'Burger'), ('Pepperoni Pizza', 8.39, 'Pizza'), ('Milkshake', 2.20, 'Drink'), ('Ravioli', 9.00, 'Pasta'); INSERT INTO users (username, password, email) VALUES ('saraz', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'sarrr@gmail.com'), ('kave02', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'kaviii02@gmail.com'), ('titami_t', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'titaza@gmil.com'); INSERT INTO orders (user_id, order_date, total_price) VALUES (1, CURRENT_TIMESTAMP, 9.39), (2, CURRENT_TIMESTAMP, 13.05), (1, CURRENT_TIMESTAMP, 2.20), (3, CURRENT_TIMESTAMP, 8.39); INSERT INTO order_details (order_id, item_id, quantity, item_price) VALUES (1, 1, 1, 1.00), (1, 3, 1, 8.39), (2, 2, 1, 4.05), (2, 5, 1, 9.00), (3, 4, 1, 2.20), (4, 3, 1, 8.39);