1. Make email NOT NULL in customers
ALTER TABLE customers
ALTER COLUMN email SET NOT NULL;
Ensures all future records must have an email.
2. Make username unique in users
ALTER TABLE users ADD CONSTRAINT unique_username UNIQUE (username);
Prevents duplicate usernames.
3. Add CHECK on price in products
ALTER TABLE products ADD CONSTRAINT check_price CHECK (price > 0);
Ensures price is always greater than 0.
4. Set default status in orders
ALTER TABLE orders
ALTER COLUMN status SET DEFAULT 'pending';
Automatically assigns pending if no value is given.
5. Add salary column with constraints
ALTER TABLE employees ADD COLUMN salary INT NOT NULL CHECK (salary > 10000);
Ensures salary is mandatory and above 10,000.
6. Add ON DELETE CASCADE to foreign key
ALTER TABLE employees DROP CONSTRAINT employees_department_id_fkey;
ALTER TABLE employees ADD CONSTRAINT employees_department_id_fkey FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE;
Deletes employees automatically when a department is removed.
7. Remove CHECK constraint on balance
ALTER TABLE accounts DROP CONSTRAINT accounts_balance_check;
Removes restriction on balance.
8. Add composite UNIQUE in payments
ALTER TABLE payments ADD CONSTRAINT unique_user_transaction UNIQUE (user_id, transaction_id);
Ensures no duplicate transaction per user.
Top comments (0)