-- Note that we drop the tables in the reverse order because -- we don't want to e.g. delete employees before deleting projects assigned to them. DROP TABLE IF EXISTS emp_projects; DROP TABLE IF EXISTS project; DROP TABLE IF EXISTS employee; DROP TABLE IF EXISTS department; -- In the tables that follow, we only include necessary information: -- Some are missing primary keys and there are no foreign keys. -- We will deal with constraints later; we don't want any confusion at this stage. CREATE TABLE department ( dept_id INTEGER PRIMARY KEY, name VARCHAR(50) NOT NULL, location VARCHAR(50) NOT NULL ); CREATE TABLE employee ( emp_id INTEGER PRIMARY KEY, name VARCHAR(50) NOT NULL, job VARCHAR(50) NOT NULL, salary DECIMAL(10, 2), superior INTEGER, dept_id INTEGER NOT NULL, hiredate DATE ); CREATE TABLE project ( proj_id INTEGER PRIMARY KEY, name TEXT NOT NULL ); CREATE TABLE emp_projects ( emp_id INTEGER NOT NULL, proj_id INTEGER NOT NULL ); INSERT INTO department VALUES (10, 'Accounting', 'New York'); INSERT INTO department VALUES (20, 'Research', 'Dallas'); INSERT INTO department VALUES (30, 'Sales', 'Chicago'); INSERT INTO employee VALUES (11, 'King', 'president', 5000, NULL, 10, '1990-06-09'); INSERT INTO employee VALUES (12, 'AccountingManager', 'manager', 1500, 11, 10, '1992-06-11'); INSERT INTO employee VALUES (13, 'AccountingClerk', 'clerk', 1300, 12, 10, '1993-05-14'); INSERT INTO employee VALUES (14, 'SalesManager', 'manager', 2975, 11, 30, '1995-10-31'); INSERT INTO employee VALUES (15, 'MoneyMagnet', 'salesman', 2650, 14, 30, '1998-12-05'); INSERT INTO employee VALUES (16, 'DealMaster', 'salesman', 1900, 14, 30, '1998-08-15'); INSERT INTO employee VALUES (17, 'MrFixIt', 'clerk', 950, 14, 30, '1995-06-04'); INSERT INTO employee VALUES (18, 'InsightNinja', 'analyst', 3000, 14, 30, '2000-06-23'); INSERT INTO project VALUES (1, 'Enviro1'); INSERT INTO project VALUES (2, 'Enviro2'); INSERT INTO project VALUES (3, 'Nuclear3'); INSERT INTO emp_projects VALUES (15, 1); INSERT INTO emp_projects VALUES (17, 1); INSERT INTO emp_projects VALUES (14, 2); INSERT INTO emp_projects VALUES (14, 3); INSERT INTO emp_projects VALUES (18, 3);