diff --git a/source/fk/performance.dept_emp.sql b/source/fk/performance.dept_emp.sql new file mode 100644 index 0000000000000000000000000000000000000000..9a1df210f631798c86ebcfad06ec85950511fe26 --- /dev/null +++ b/source/fk/performance.dept_emp.sql @@ -0,0 +1,7 @@ +use performance; + +ALTER TABLE dept_emp +ADD FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE; + +ALTER TABLE dept_emp +ADD FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE; diff --git a/source/fk/performance.dept_manager.sql b/source/fk/performance.dept_manager.sql new file mode 100644 index 0000000000000000000000000000000000000000..6cb110541a127e71c1eeb23e2e5aa72381660c06 --- /dev/null +++ b/source/fk/performance.dept_manager.sql @@ -0,0 +1,7 @@ +use performance; + +ALTER TABLE dept_manager +ADD FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE; + +ALTER TABLE dept_manager +ADD FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE; diff --git a/source/setup.sql b/source/setup.sql new file mode 100644 index 0000000000000000000000000000000000000000..cf4beefd0fc043afd9333f66b0bc86baaa5936d3 --- /dev/null +++ b/source/setup.sql @@ -0,0 +1 @@ +create database performance; \ No newline at end of file diff --git a/source/tables/performance.departments.sql b/source/tables/performance.departments.sql new file mode 100644 index 0000000000000000000000000000000000000000..6ea827208de2d0889f7554a377d7c780e1429635 --- /dev/null +++ b/source/tables/performance.departments.sql @@ -0,0 +1,8 @@ +use performance; + +CREATE TABLE departments ( + dept_no CHAR(4) NOT NULL, + dept_name VARCHAR(40) NOT NULL, + PRIMARY KEY (dept_no), + UNIQUE KEY (dept_name) +); \ No newline at end of file diff --git a/source/tables/performance.dept_emp.sql b/source/tables/performance.dept_emp.sql new file mode 100644 index 0000000000000000000000000000000000000000..c65f4c5e526c8955b8a77ed631eb7067d83514fc --- /dev/null +++ b/source/tables/performance.dept_emp.sql @@ -0,0 +1,9 @@ +use performance; + +CREATE TABLE dept_emp ( + emp_no INT NOT NULL, + dept_no CHAR(4) NOT NULL, + from_date DATE NOT NULL, + to_date DATE NOT NULL, + PRIMARY KEY (emp_no,dept_no) +); \ No newline at end of file diff --git a/source/tables/performance.dept_manager.sql b/source/tables/performance.dept_manager.sql new file mode 100644 index 0000000000000000000000000000000000000000..e0738fe5354db65af9b3aa78ecc5744690f909f9 --- /dev/null +++ b/source/tables/performance.dept_manager.sql @@ -0,0 +1,9 @@ +use performance; + +CREATE TABLE dept_manager ( + emp_no INT NOT NULL, + dept_no CHAR(4) NOT NULL, + from_date DATE NOT NULL, + to_date DATE NOT NULL, + PRIMARY KEY (emp_no,dept_no) +); \ No newline at end of file diff --git a/source/tables/performance.employees.sql b/source/tables/performance.employees.sql new file mode 100644 index 0000000000000000000000000000000000000000..b6b1bc4e8c64dee3c2325bab3e1a7b527953ef88 --- /dev/null +++ b/source/tables/performance.employees.sql @@ -0,0 +1,11 @@ +use performance; + +CREATE TABLE employees ( + emp_no INT NOT NULL, + birth_date DATE NOT NULL, + first_name VARCHAR(14) NOT NULL, + last_name VARCHAR(16) NOT NULL, + gender ENUM ('M','F') NOT NULL, + hire_date DATE NOT NULL, + PRIMARY KEY (emp_no) +); \ No newline at end of file diff --git a/source/tables/performance.titles.sql b/source/tables/performance.titles.sql new file mode 100644 index 0000000000000000000000000000000000000000..b31335411e7e66d9d27d6a7d71b600e6c504eed6 --- /dev/null +++ b/source/tables/performance.titles.sql @@ -0,0 +1,9 @@ +use performance; + +CREATE TABLE titles ( + emp_no INT NOT NULL, + title VARCHAR(50) NOT NULL, + from_date DATE NOT NULL, + to_date DATE, + PRIMARY KEY (emp_no,title, from_date) +); \ No newline at end of file