Part A ------ CREATE TABLE suppliers ( id INT, name CHAR(40) NOT NULL, address CHAR(100) NOT NULL, PRIMARY KEY (int), UNIQUE (name,address), CHECK (id >= 0 AND id <= 999999999) ); CREATE TABLE products ( part_number INT, name CHAR(100) NOT NULL, PRIMARY KEY (part_number), UNIQUE (name), CHECK (id >= 1 AND id <= 999999) ); CREATE TABLE customers ( id INT, name CHAR(40) NOT NULL, address CHAR(100) NOT NULL, PRIMARY KEY (int), UNIQUE (name,address), CHECK (id >= 0 AND id <= 999999999) ); CREATE TABLE contracts ( id INT, supplier_id INT NOT NULL, customer_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, price INT NOT NULL, PRIMARY_KEY (id), FOREIGN KEY (supplier_id) REFERENCES suppliers(id), FOREIGN KEY (customer_id) REFERENCES customers(id), FOREIGN KEY (product_id) REFERENCES products(id), CHECK (quantity > 0), CHECK (price > 0) ); PART B ------ CREATE ASSERTION min_contracts CHECK (COUNT(SELECT * FROM CONTRACTS) > COUNT(SELECT * FROM SUPPLIERS));