alggebra-relacion_sql

......NORMALIZACION...
DEPARTAMENTO {(__dept_no__,nombre,loc)}

EMPELADO {(__emp_no__,apellido,oficio,dir,fecha-alt,salario,comision, __dept_no)}__

EJERCICIO

create database consultas; create table departamento(dept_no int not null,dnombre nchar(20) not null,loc nchar(10) not null, ) create table empleados(emp_no int not null,apellido varchar(20) not null,oficio varchar(20) not null,dir varchar(10) not null,fecha_alt date not null,salario money not null,comision money not null,dept_no int not null, ) /*llaves primarias*/alter table departamento add primary key(dept_no);alter table empleados add primary key(emp_no); /*llaves foraneas*/ alter table empleados add foreign key (dept_no) references departamento(dept_no);

insert into departamento values(10,'CONTABILIDAD','SEVILLA') insert into departamento values(20,'INVESTIGRACION','MADRID') insert into departamento values(30,'VENTAS','BARCELONA') insert into departamento values(40,'PRODUCCION','BILBAO') insert into empleados values(7369, 'SANCHEZ','EMPLEADO','7902', '1980/12/17', 104000, '', 20) insert into empleados values(7499, 'ARROYO','VENDEDOR','7698', '1980/02/20', 208000, '39000', 30) insert into empleados values(7521, 'SALA','VENDEDOR','7698', '1981/02/22', 162500, '162500', 30) insert into empleados values(7566, 'JIMENEZ','DIRECTOR','7839', '1981/04/02', 386750, '', 20) insert into empleados values(7654, 'MARTIN','VENDEDOR','7698', '1981/09/29', 162500, '182000', 30) insert into empleados values(7698, 'NEGRO','DIRECTOR','7839', '1981/05/01', 370500, '', 30) into empleados values(7788, 'GIL','ANALISTA','7566', '1981/11/09', 390000, '', 20) insert into empleados values(7839, 'REY','PRESIDENTE',, '1981/11/17', 650000, , 10) insert into empleados values(7844, 'TOVAR','VENDEDOR','7698', '1981/09/08', 195000, '0', 30) insert into empleados values(7876, 'ALONSO','EMPLEADO','7788', '1981/09/23', 143000, '', 20) insert into empleados values(7900, 'JIMENO','EMPLEADO','7698', '1981/12/03', 1235000, '', 30) insert into empleados values(7902, 'FERNANDEZ','ANALISTA','7566', '1981/12/03', 390000, '', 20) insert into empleados values(7934, 'MUÑOZ','EMPLEADO','7782','1982/01/23', 169000, '', 10)

/*1 Mostrar el apellido, oficio y número de departamento de cada empleado.*/
 * SQL ** = select apellido, oficio, dept_no from empleados
 * ALGEBRA RELACIONAL = **π (apellido) y(oficio) y(dept_no) (**empleado**)

/*2 Mostrar el número, nombre y localización de cada departamento.*/
 * SQL ** = select dept_no, dnombre, loc from departamento
 * ALGEBRA RELACIONAL= **π (dept_no) y(dnombre) y(loc) (**departamento**)

/*8 Mostrar los datos de los empleados cuyo salario sea mayor que 2000000.*/
 * SQL ** = select * from empleados where salario>2000000
 * ALGEBRA RELACIONAL = **π (**empleado**) (σ (salario>2000000)(**empelado**))

**/***16. Seleccionar de la tabla EMPLE los empleados cuyo apellido empiece por ‘A’.

/* **2**4. Datos de los empleados cuyo oﬁcio sea ‘EMPLEADO’, tengan un salario superior a 200 y pertenezcan al departamento número 10.
 * SQL = s **elect * from emple where apellido like 'A%';
 * ALGEBRA RELACIONAL = **π (**empleado**) (σ (apellido 'A%')(**empleado**))

** SQL = ** ﻿ ﻿ ﻿﻿select * from emp where oficio ** = **'empleado' and salario>200 and dept_no=10;
**/*10. ** Seleccionar el apellido y oﬁcio de los empleados del departamento número 20.
 * ALGEBRA RELACIONAL **** = **π (**empleado**) (σ ﻿ (oficio='empleado')y(salario>200)y(dept_no=10)(**empleado**))
 * SQL = ** select apellido, oficio from emple where dept_no=20
 * ALGEBRA RELACIONAL = **π (apellido)y(oficio)(**empl**) (σ (dept_no='20')(**departamento**))

**/*11** Mostrar todos los datos de los empleados ordenados por apellido.*/


 * SQL= **select * from empleados order by apellido
 * ALGEBRA RELACIONAL= ** p ( empleado.) (σ (empleados )(**apellido**))

**/*17** Seleccionar de la tabla EMPLE los empleados cuyo apellido termine por Z.*/


 * SQL= **select * from empleados where apellido like '%Z%'
 * ALGEBRA RELACIONAL = **π (**empleado**) (<span class="TextRun SCX81814818" style="font-family: Calibri,sans-serif; font-size: 24px;">σ (apellido 'Z%')(**empleado**))

**/*6** Datos de los empleados ordenados por número de departamento

descendentemente y dentro de cada departamento ordenados por apellido ascendentemente.*/


 * SQL = **select * from empleados order by dept_no desc, apellido asc


 * ALGEBRA RELACIONAL **