CREATE SCHEMA company; SET search_path TO company, public; CREATE TABLE department ( department_id serial PRIMARY KEY, name varchar NOT NULL, parent_id int REFERENCES department (department_id) ); INSERT INTO department (name, parent_id) VALUES ('El-Caro Corp.', null), ('Siège', 1), ('Direction', 2), ('Comptabilité', 1), ('Direction Technique', 3), ('Hotline niveau II', 5), ('Datacenter Skynet', 1), ('Technique & Réseau', 7), ('Hotline niveau I', 7), ('Direction', 7) ; CREATE TABLE employee ( employee_id serial PRIMARY KEY, first_name varchar NOT NULL, last_name varchar NOT NULL, birth_date date NOT NULL CHECK (age(birth_date) >= '18 years'::interval), is_manager boolean NOT NULL DEFAULT false, day_salary numeric(7,2) NOT NULL, department_id integer NOT NULL REFERENCES department (department_id) ); INSERT INTO employee (first_name, last_name, department_id, birth_date, day_salary, is_manager) VALUES ('jean', 'dupont', 3, '1952-03-21', 20000, true), ('alexis', 'gelbetchev', 3, '1960-09-12', 17500, true), ('michèle', 'pfizer', 4, '1956-01-07', 15000, true), ('laurent', 'galatier', 5, '1969-05-19', 13850, true), ('david', 'roneker', 5, '1972-12-02', 9000, true), ('ishaam', 'elraouï', 6, '1978-06-21', 5600, false), ('estelle', 'li jih', 6, '1976-08-07', 5300, false), ('jean-pierre', 'kassem', 10, '1964-03-30', 8700, true), ('alexandre', 'jardin', 9, '1983-09-14', 4500, false), ('jérome', 'binet', 9, '1981-11-03', 4800, false), ('david', 'garadjian', 8, '1985-02-28', 4500, false), ('louise', 'monacor', 8, '1988-07-11', 4100, true), ('patrick', 'cordier', 8, '1980-01-28', 4700, false), ('sébastien', 'grossein', 8, '1987-10-18', 3900, false) ;