M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T12
1. Crea una vista anomenada EMP_VU basada en el número d'empleat, nom de l'empleat i número de departament des de la taula EMP. Canvia la capçalera del nom del empleat a EMPLOYEE.
CREATE VIEW emp_vu AS SELECT empno, ename employee, deptno FROM emp;
2. Mostra el contingut de la vista EMP_VU.
SELECT * FROM emp_vu;
3. Mostra el nom de la vista (columna view_name) i el text de la vista anterior emmagatzemada en el diccionari de dades (USER_VIEWS).
COLUMN view_name FORMAT A30 COLUMN text FORMAT A50 SELECT view_name, text FROM user_views;
4. Fes una consulta que mostri el nom dels empleats i els números de departament, mitjançant la vista EMP_VU.
SELECT employee, deptno FROM emp_vu;
5. Crea una vista anomenada DEPT20 que contingui el número d'empleat, nom d'empleat i número de departament de tots els empleats del departament 20. Etiqueta les columnes de la vista com EMPLOYEE_ID, EMPLOYEE i DEPARTMENT_ID. No permetis que un empleat pugui ser assignat a un altra departament mitjançant la vista.
CREATE VIEW dept20 AS SELECT empno employee_id, ename employee, deptno department_id FROM emp WHERE deptno = 20 WITH CHECK OPTION CONSTRAINT emp_dept_20;
6. Mostra l'estructura i el contingut de la vista DEPT20.
DESCRIBE dept20 SELECT * FROM dept20;
7. Intenta assignar a Smith al departament 30.
UPDATE dept20 SET department_id = 30 WHERE employee = 'SMITH';
8. Crea una vista anomenada SALARY_VU basada e el nom de l'empleat, nom del departament, salari i grau de salari de tots els empleats. Etiqueta les columnes com Employee, Departament, Salary i Grade, respectivament.
CREATE VIEW salary_vu AS SELECT ename employee, dname department, sal salary, grade FROM emp e, dept d, salgrade s WHERE e.deptno = d.deptno AND e.sal BETWEEN s.losal AND s.hisal;