M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T12

De wikiserver
Dreceres ràpides: navegació, cerca

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;