CREATE TABLE IF NOT EXISTS products ( product_id TEXT PRIMARY KEY, name TEXT NOT NULL, category TEXT NOT NULL, subcategory TEXT, brand TEXT, unit_price REAL NOT NULL, cost_price REAL NOT NULL, stock_quantity INTEGER DEFAULT 0, supplier_country TEXT, created_at TEXT DEFAULT (datetime('now')) ); CREATE TABLE IF NOT EXISTS customers ( customer_id TEXT PRIMARY KEY, country TEXT NOT NULL, region TEXT, customer_segment TEXT, account_age_days INTEGER DEFAULT 0, total_lifetime_value REAL DEFAULT 0, risk_score REAL DEFAULT 0.0, created_at TEXT DEFAULT (datetime('now')) ); CREATE TABLE IF NOT EXISTS orders ( order_id TEXT PRIMARY KEY, customer_id TEXT REFERENCES customers(customer_id), product_id TEXT REFERENCES products(product_id), quantity INTEGER NOT NULL, unit_price REAL NOT NULL, total_amount REAL NOT NULL, discount_applied REAL DEFAULT 0.0, order_status TEXT DEFAULT 'completed', payment_method TEXT, is_flagged INTEGER DEFAULT 0, order_date TEXT NOT NULL, fulfillment_days INTEGER ); CREATE TABLE IF NOT EXISTS returns ( return_id TEXT PRIMARY KEY, order_id TEXT REFERENCES orders(order_id), customer_id TEXT REFERENCES customers(customer_id), product_id TEXT REFERENCES products(product_id), return_reason TEXT, refund_amount REAL, return_date TEXT ); CREATE TABLE IF NOT EXISTS fraud_events ( event_id TEXT PRIMARY KEY, customer_id TEXT REFERENCES customers(customer_id), order_id TEXT REFERENCES orders(order_id), event_type TEXT, amount_at_risk REAL, resolved INTEGER DEFAULT 0, event_date TEXT );