forked from AdvancedProgramming1404/WS-10-Database
implement all TODOs
This commit is contained in:
+47
-8
@@ -9,7 +9,6 @@
|
||||
-- 6. The script should be executable from start to finish without errors.
|
||||
|
||||
|
||||
|
||||
-- =======================================================
|
||||
-- USER TABLE
|
||||
-- =======================================================
|
||||
@@ -30,6 +29,12 @@
|
||||
--
|
||||
-- CREATE TABLE ...
|
||||
|
||||
CREATE TABLE users(
|
||||
id SERIAL PRIMARY KEY,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password VARCHAR(250) NOT NULL,
|
||||
email VARCHAR(100)
|
||||
);
|
||||
|
||||
|
||||
-- =======================================================
|
||||
@@ -52,7 +57,13 @@
|
||||
--
|
||||
-- CREATE TABLE ...
|
||||
|
||||
|
||||
CREATE TABLE menu_items(
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
description TEXT,
|
||||
price DECIMAL(10, 2) NOT NULL CHECK ( price > 0 ),
|
||||
category VARCHAR(100)
|
||||
);
|
||||
|
||||
-- =======================================================
|
||||
-- ORDER TABLE
|
||||
@@ -77,7 +88,12 @@
|
||||
--
|
||||
-- CREATE TABLE ...
|
||||
|
||||
|
||||
CREATE TABLE orders (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INT NOT NULL REFERENCES users(id),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
total_price DECIMAL(10, 2) DEFAULT 0.00
|
||||
);
|
||||
|
||||
-- =======================================================
|
||||
-- ORDER DETAIL TABLE
|
||||
@@ -100,7 +116,13 @@
|
||||
--
|
||||
-- CREATE TABLE ...
|
||||
|
||||
|
||||
CREATE TABLE order_detail(
|
||||
id SERIAL PRIMARY KEY,
|
||||
order_id INT NOT NULL REFERENCES orders(id),
|
||||
menu_item_id INT NOT NULL REFERENCES menuItem(id),
|
||||
quantity INT NOT NULL CHECK ( quantity > 0 ),
|
||||
unit_price DECIMAL(10, 2) NOT NULL
|
||||
);
|
||||
|
||||
-- =======================================================
|
||||
-- INITIAL MENU DATA
|
||||
@@ -116,6 +138,12 @@
|
||||
--
|
||||
-- INSERT INTO ...
|
||||
|
||||
INSERT INTO menuItem(
|
||||
name, description, price, category
|
||||
) VALUES('Pizza Margherita', 'Classic pizza with tomato sauce and mozzarella', 10.00, 'Pizza'),
|
||||
('Beef Burger', 'Juicy beef patty with cheese, lettuce, and tomato', 8.50, 'Burger'),
|
||||
('Pasta Alfredo', 'Creamy pasta with grilled chicken and parmesan', 12.00, 'Pasta'),
|
||||
('Coca Cola', 'Cold soft drink', 2.00, 'Drink');
|
||||
|
||||
|
||||
-- =======================================================
|
||||
@@ -127,7 +155,18 @@
|
||||
--
|
||||
-- INSERT INTO ...
|
||||
|
||||
--AI generated
|
||||
INSERT INTO users (
|
||||
username, password, email
|
||||
) VALUES('ali_dev', '$2a$12$K8M6O2wWfG1...hashed_long_string...', 'ali@email.com'),
|
||||
('sara_k', '$2a$12$R9P2m1vXyZ7...hashed_long_string...', NULL),
|
||||
('reza_food', '$2a$12$T5N8b9zQpW3...hashed_long_string...', 'reza@email.com');
|
||||
|
||||
INSERT INTO orders (
|
||||
user_id, total_price
|
||||
) VALUES(1, 18.50), -- سفارش اول علی
|
||||
(2, 12.00), -- سفارش سارا
|
||||
(1, 20.00); -- سفارش دوم علی
|
||||
|
||||
-- =======================================================
|
||||
-- VERIFICATION QUERIES
|
||||
@@ -135,7 +174,7 @@
|
||||
--
|
||||
-- Uncomment these queries to verify your database.
|
||||
--
|
||||
-- SELECT * FROM ...;
|
||||
-- SELECT * FROM ...;
|
||||
-- SELECT * FROM ...;
|
||||
-- SELECT * FROM ...;
|
||||
SELECT * FROM users;
|
||||
SELECT * FROM menuItem;
|
||||
SELECT * FROM orders;
|
||||
SELECT * FROM order_detail;
|
||||
Reference in New Issue
Block a user