Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. DROP DATABASE IF EXISTS employees;
  2. CREATE DATABASE IF NOT EXISTS employees;
  3. USE employees;
  4.  
  5. DROP TABLE IF EXISTS dept_emp,
  6. dept_manager,
  7. titles,
  8. salaries,
  9. employees,
  10. departments;
  11.  
  12. CREATE TABLE employees (
  13. emp_no INT NOT NULL,
  14. birth_date DATE NOT NULL,
  15. first_name VARCHAR(14) NOT NULL,
  16. last_name VARCHAR(16) NOT NULL,
  17. gender ENUM ('M','F') NOT NULL,
  18. hire_date DATE NOT NULL,
  19. PRIMARY KEY (emp_no)
  20. );
  21.  
  22.  
  23. CREATE TABLE departments (
  24. dept_no CHAR(4) NOT NULL,
  25. dept_name VARCHAR(40) NOT NULL,
  26. PRIMARY KEY (dept_no),
  27. UNIQUE KEY (dept_name)
  28. );
  29.  
  30. CREATE TABLE dept_manager (
  31. emp_no INT NOT NULL,
  32. dept_no CHAR(4) NOT NULL,
  33. from_date DATE NOT NULL,
  34. to_date DATE NOT NULL,
  35. FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
  36. FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE,
  37. PRIMARY KEY (emp_no,dept_no)
  38. );
  39.  
  40. CREATE TABLE dept_emp (
  41. emp_no INT NOT NULL,
  42. dept_no CHAR(4) NOT NULL,
  43. from_date DATE NOT NULL,
  44. to_date DATE NOT NULL,
  45. FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
  46. FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE,
  47. PRIMARY KEY (emp_no,dept_no)
  48. );
  49.  
  50. CREATE TABLE titles (
  51. emp_no INT NOT NULL,
  52. title VARCHAR(50) NOT NULL,
  53. from_date DATE NOT NULL,
  54. to_date DATE,
  55. FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
  56. PRIMARY KEY (emp_no,title, from_date)
  57. );
  58.  
  59. CREATE TABLE salaries (
  60. emp_no INT NOT NULL,
  61. salary INT NOT NULL,
  62. from_date DATE NOT NULL,
  63. to_date DATE NOT NULL,
  64. FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
  65. PRIMARY KEY (emp_no, from_date)
  66. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement