Bases de Datos
Bases de Datos
Ejercicios de SQL
1. Descripción del modelo de datos
El modelo de datos que se usará para las consultas está reflejado en el siguiente modelo E-R.
EMPNO ENAME JOB
DEPTNO
DNAME (0,N) (0,1)
HIREDATE
DEPT
EMP
LOC
SAL
(0,N) (0,1)
Es Jefe
COMM
Subordinado de
Transformado a relacional, la base de datos almacena dos tablas: DEPT y EMP, cuyos campos se
describen a continuación.
DEPT
Campo Tipo Descripción
DEPTNO NUMBER(2) NOT NULL Número o código del departamento.
Es la clave primaria de la tabla.
DNAME VARCHAR2(14) Nombre del departamento.
LOC VARCHAR2(13) Localidad (o ciudad) donde el departamento está ubicado.
EMP
Campo Tipo Descripción
EMPNO: NUMBER(4) NOT NULL Número o código del empleado.
Es la clave primaria de la tabla.
ENAME VARCHAR2(10) Nombre del empleado
JOB VARCHAR2(9) Trabajo del empleado
MGR NUMBER(4) Código del jefe del empleado.
Clave foránea que referencia (cı́clicamente) la tabla EMP
HIREDATE DATE Fecha de contratación.
SAL NUMBER(7, 2) Salario mensual del empleado
COMM NUMBER(7, 2) Comisión
DEPTNO NUMBER(2) Código del departamento al que el empleado está adscrito.
Clave foránea que referencia la tabla DEPT
Notas
La base de datos usada es un ejemplo que Oracle incorpora en su instalación, por lo que tanto los
nombres de los campos como sus valores están en inglés. Ası́, un vendedor tendrá en el atributo JOB
el valor SALESMAN, o el departamento de investigación es RESEARCH. Además, todos los nombres (de
empleado, departamento, trabajo) están almacenados en mayúsculas.
En cuanto a la definición de las tablas, aunque todos los campos excepto las claves primarias
admiten valores nulos, consideraremos especialmente los siguientes casos:
COMM: Si tiene un valor nulo, indica que el empleado no tiene comisión.
MGR: Si tiene un nulo, indica que el empleado no tiene jefe.
Bases de Datos
2. Datos almacenados en las tablas
El contenido de la tabla DEPT es el siguiente:
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
4 filas seleccionadas.
Y el contenido de la tabla EMP, el siguiente:
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
------ ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 <Nulo> 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 <Nulo> 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 <Nulo> 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 <Nulo> 10
7788 SCOTT ANALYST 7566 09-DEC-82 3000 <Nulo> 20
7839 KING PRESIDENT <Nulo> 17-NOV-81 5000 <Nulo> 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83 1100 <Nulo> 20
7900 JAMES CLERK 7698 03-DEC-81 950 <Nulo> 30
7902 FORD ANALYST 7566 03-DEC-81 3000 <Nulo> 20
7934 MILLER CLERK 7782 23-JAN-82 1300 <Nulo> 10
14 filas seleccionadas.