M2 - Bases de dades / Exercicis UF2: Llenguatges SQL

De wikiserver
La revisió el 20:32, 3 des 2013 per Administrador (Discussió | contribucions) (T1: Escriptura bàsica de sentències)
Dreceres ràpides: navegació, cerca

Presentació Taules Usuari SCOTT

     Nom Usuari: scott
     contrassenya: tiger

SQL>DESC emp

                           
Nombre                         Nulo     Tipo 
------------------------------ -------- ----------------
EMPNO                          NOT NULL NUMBER(4)       Codi d'empleat.
ENAME                                   VARCHAR2(10)    Cognom. 
JOB                                     VARCHAR2(9)     Ofici.
MGR                                     NUMBER(4)       Codi del cap de l'empleat.
HIREDATE                                DATE            Data de contractació.
SAL                                     NUMBER(7,2)     Salari.
COMM                                    NUMBER(7,2)     Comissió del empleats comercials (SALESMAN).
DEPTNO                                  NUMBER(2)       Codi del departament de l'empleat.

SQL>SELECT * FROM emp

EMPNO   ENAME   JOB         MGR   HIREDATE   SAL    COMM  DEPTNO 
------  ------  ---------  -----  ---------  ----  -----  ------
7369	SMITH	CLERK	   7902	  17/12/80    800  (null)     20
7499 	ALLEN	SALESMAN   7698	  20/02/81   1600    300      30
7521 	WARD	SALESMAN   7698	  22/02/81   1250    500      30
7566	JONES	MANAGER	   7839	  02/04/81   2975  (null)     20
7654 	MARTIN	SALESMAN   7698	  28/09/81   1250   1400      30
7698	BLAKE	MANAGER	   7839	  01/05/81   2850  (null)     30
7782	CLARK	MANAGER	   7839	  09/06/81   2450  (null)     10
7788	SCOTT	ANALYST	   7566	  19/04/87   3000  (null)     20
7839	KING	PRESIDENT (null)  17/11/81   5000  (null)     10
7844	TURNER	SALESMAN   7698	  08/09/81   1500      0      30
7876	ADAMS	CLERK	   7788	  23/05/87   1100  (null)     20
7900	JAMES	CLERK	   7698	  03/12/81    950  (null)     30
7902	FORD	ANALYST	   7566	  03/12/81   3000  (null)     20
7934	MILLER	CLERK	   7782	  23/01/82   1300  (null)     10

SQL>DESC dept

                           
Nombre                         Nulo     Tipo 
------------------------------ -------- ----------------
DEPTNO                          NOT NULL NUMBER(2)       Codi departament
DNAME                                    VARCHAR2(14)    Nom departament.  
LOC                                      VARCHAR2(13)    Localització. 

SQL>SELECT * FROM dept

DEPTNO      DNAME      LOC         
------  -----------   ----------
    10	ACCOUNTING    NEW YORK
    20	RESEARCH      DALLAS
    30	SALES	      CHICAGO
    40	OPERATIONS    BOSTON

SQL>DESC salgrade

                           
Nombre                         Nulo     Tipo 
------------------------------ -------- ------------
GRADE                                   NUMBER      Nivell salarial. Cada empleat pertany a un nivell en funció del seu salari.
LOSAL                                   NUMBER      Salari mínim del nivell.  
HISAL                                   NUMBER      Salari màxim del nivell. 

SQL>SELECT * FROM salgrade

GRADE  LOSAL   HISAL         
-----  -----   -----   
1	 700	1200
2	1201	1400
3	1401	2000
4	2001	3000
5	3001	9999

Disseny de la BD SCOTT simple

BD SCOTT SIMPLE.png


La taula SALGRADE presenta un cas especial en el que una taula queda "connectada" a la resta mitjançant un non equi join (en aquest cas mitjançant un rang de valors de salaris).

T1: Escriptura bàsica de sentències

1. Inicii una sessió de SQL*Plus utilitzant l'ID d'usuari i password facilitat pel professor.

2. Les comandes SQL*PLUS accedeixen a la base de dades.

Cert / Fals

3. S'executarà correctament la sentència SELECT?

      SQL> SELECT rownum, ename, job, sal Salary
        2  FROM   emp;

5. Hi ha tres errors de codi en aquesta sentència. Pots identificar-los?

      SQL> SELECT empno, ename, salary x 12 ANNUAL SALARY
        2  FROM   emp;

6. Mostra l'estructura de la taula DEPT. Selecciona totes les dades de la taula DEPT.

7. Mostra l'estructura de la taula EMP. Fes una consulta per visualitzar el número d'empleat, cognom, ofici i data d'alta. Guarda la sentència SQL en un fitxer anomenat plq7.sql.

8. Executeu la consulta del fitxer plq7.sql.

9. Fes una consulta per visualitzar només els oficis de la taula EMP.

            JOB
            -----------
            ANALYST
            CLERK
            MANAGER
            PRESIDENT
            SALESMAN

10. Carrega plq7.sql en el búfer SQL. Posa-li nom als encapçalaments: Emp #, Employee, Job i Hire Date.

            Emp # Employee  Job        Hire Date
            ----- --------- ---------- ---------------
             7839 KING      PRESIDENT  17-NOV-81
             7698 BLAKE     MANAGER    01-MAY-81
             ...

11. Visualitza el nom concatenat amb l'ofici, separat per una coma i i un espai i etiquete la columna amb Employee and Title.

            Employee and Title
            -------------------
            KING, PRESIDENT 
            BLAKE, MANAGER   
            ...

12. Fes una consulta per visualitzar totes les dades de la taula EMP. Separa cada columna amb una coma. Etiqueta la columna com THE_OUTPUT.

            THE_OUTPUT
            ---------------------------------------------
            7839,KING,PRESIDENT,,17-NOV-81,5000,,10
            7698,BLAKE,MANAGER,7839,01-MAY-81,2850,,30  
            ...

T2: Restricció i classificació de les dades

1. Fes una consulta per visualitzar el nom i el salari dels empleats que guanyen més de 2850$. Guarda la sentència SQL en un fitxer anomenat p2q1.sql. Executa la consulta.

2. Fes una consulta per visualitzar el nom del empleat i el codi del departament per l'empleat amb codi 7566.

3. Modifica p2q1.sql per visualitzar el nom i el salari de tots els empleats que tinguin un salari entre 1500$ i 2850$. Guarda a questa sentència SQL en un fitxer anomenat p2q3.sql. Executa la consulta.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.


T3: Funcions a nivell de fila

T4: Visualització de dades a partir de varies taules

T5: Dades agregades. Funcions de grup

T6: Subconsultes

T7: Subconsultes multicolumna

T8: Generació d'informes

T9: Manipulació de dades

T10: Creació i gestió de taules

T11: Restriccions

T12: Creació de vistes

T13: Altres objectes de la base de dades

T14: Exercici Resum