Advertisement
YOYOPAPANG

LAB10(DBII)

Mar 31st, 2020
566
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.45 KB | None | 0 0
  1. ----------------------------LAB10-----------------------------------
  2. ------------------------------1-----------------------------
  3. CREATE TABLE JOB_DIM (
  4.  JOB_ID      VARCHAR2(10) PRIMARY KEY,
  5.  JOB_TITLE   VARCHAR2(35),
  6.  TOTAL       VARCHAR2(10)) ;
  7.  
  8. ------------------------------2------------------------
  9. INSERT INTO JOB_DIM
  10.  SELECT JOB_ID, JOB_TITLE, 'TOTAL' FROM HR.jobs;
  11.  
  12. select * from job_dim;
  13.  
  14. ----------------------------------3---------------------
  15. DROP TABLE EMP_FACT ;
  16.  
  17.  
  18. CREATE TABLE DEPT_DIM (
  19.  DEPARTMENT_ID NUMBER(4) PRIMARY KEY,
  20.  TOTAL VARCHAR2(25),
  21. REGION VARCHAR2(25),
  22.  COUNTRY VARCHAR2(25),
  23.          CITY VARCHAR2(25),
  24.          DEPARTMENT VARCHAR2(30));
  25.          
  26. INSERT INTO DEPT_DIM
  27.  SELECT D.DEPARTMENT_ID, 'TOTAL', R.REGION_NAME ,
  28.  C.COUNTRY_NAME, L.CITY, D.DEPARTMENT_NAME
  29.  FROM HR.DEPARTMENTS D
  30.  JOIN HR.LOCATIONS L ON D.LOCATION_ID = L.LOCATION_ID
  31.  JOIN HR.COUNTRIES C ON C.COUNTRY_ID = L.COUNTRY_ID
  32.  JOIN HR.REGIONS R ON R.REGION_ID = C.REGION_ID
  33.  GROUP BY D.DEPARTMENT_ID,'TOTAL', R.REGION_NAME,
  34.              C.COUNTRY_NAME, L.CITY, D.DEPARTMENT_NAME
  35.  ORDER BY 2,3,4,5,6;
  36.  
  37.  --------------------------------4-----------------------------
  38.  CREATE TABLE EMP_FACT(
  39.   DEPARTMENT_ID NUMBER(4),
  40.   JOB_ID  VARCHAR2(10),
  41.   NUM_EMP NUMBER(6) ,
  42.   TOTAL_SALARY  NUMBER(10,2),
  43.   CONSTRAINT EMP_FACT_PK PRIMARY KEY (DEPARTMENT_ID, JOB_ID),
  44.   CONSTRAINT EMP_FACT_DEPT_ID_FK FOREIGN KEY (DEPARTMENT_ID)
  45.          REFERENCES DEPT_DIM  ,
  46.   CONSTRAINT EMP_FACT_JOB_ID_FK FOREIGN KEY (JOB_ID)
  47.          REFERENCES JOB_DIM  ) ;
  48.  
  49. -------------------------------5----------------------------        
  50. insert into emp_fact
  51. SELECT DEPARTMENT_ID, JOB_ID,
  52.        COUNT(*),
  53.        SUM(SALARY)
  54. FROM HR.EMPLOYEES
  55. GROUP BY DEPARTMENT_ID, JOB_ID ;
  56.  
  57. select * from emp_fact;
  58. select 'TOTAL',sum(num_emp),sum(total_salary) from emp_fact e
  59.     join dept_dim d on e.department_id = d.department_id
  60.     group by 'TOTAL';
  61.  
  62. ------------------------------------6-----------------------------
  63. select * from jobs;
  64.  
  65. select j.job_title,sum(num_emp),sum(total_salary) from emp_fact e
  66.     join job_dim j on j.job_id = e.job_id
  67.     GROUP BY j.job_title;
  68.    
  69. ------------------------------------7-----------------------------------------
  70. select * from dept_dim;
  71. select j.job_title,d.region,sum(num_emp),sum(total_salary) from emp_fact e
  72.     join dept_dim d on e.department_id = d.department_id
  73.     join job_dim j on j.job_id = e.job_id
  74.     group by j.job_title,d.region;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement