You are on page 1of 7

drop database mis_contactos;

#Creamos la base de datos
CREATE DATABASE mis_contactos;
#usamos la base creada
USE mis_contactos;
#creamos genero
CREATE TABLE genero (
id_genero int not null primary key,
genero varchar (15));
#creamos estado
CREATE TABLE estado(
id_estado int not null primary key,
estado varchar (15));
# creamos la tabla profesion
CREATE TABLE profesion(
id_profesion int not null primary key,
profesion varchar (15));
# creamos la tabla lugar_naciemiento
CREATE TABLE lugar_nacimiento(
id_ubicacion int not null primary key,
ciudad varchar (15),
provincia varchar (15) );
#Creamos con la tabal buscando
CREATE TABLE buscando(
id_buscando int not null primary key,
buscando varchar (30));
# creamos la tabla interes
CREATE TABLE interes(
id_interes int not null primary key,
interes varchar (30));

#creamos la tabla padre mis_contactos
CREATE TABLE mis_contactos (
id_contacto int not null primary key auto_increment,
nombre varchar (15),
apellido varchar (15),
fecha_nacimiento date,
telefono char(10),
correo varchar (30),
id_genero INT NOT NULL,
constraint id_genero
FOREIGN KEY(id_genero) references genero (id_genero),
id_profesion INT NOT NULL,
constraint id_profesion
FOREIGN KEY(id_profesion) references profesion (id_profesion),
id_estado INT NOT NULL,
constraint id_estado
FOREIGN KEY(id_estado) references estado (id_estado),
id_ubicacion INT NOT NULL,
constraint id_ubicacion
FOREIGN KEY(id_ubicacion) references lugar_nacimiento (id_ubicacion));

# creamos la tabla contacto_interes para romper la relación muchos a muchos
CREATE TABLE contacto_interes(
id_interes INT NOT NULL,
constraint id_interes
FOREIGN KEY(id_interes) references interes (id_interes),
id_contacto INT NOT NULL,
constraint id_contacto
FOREIGN KEY(id_contacto) references mis_contactos (id_contacto) );
#Creamos la tabla contacto_buscando para romper la relación muchos a muchos
CREATE TABLE contacto_buscando(
id_buscando INT NOT NULL,
constraint id_buscando
FOREIGN KEY(id_buscando) references buscando (id_buscando),
id_contacto int not null,
FOREIGN KEY(id_contacto) references mis_contactos (id_contacto) );
# creamos trabajo disponible
CREATE TABLE trabajo_disponible(
ID_trabajo int not null primary key,
titulo varchar (50),
salario int,
id_ciudad INT NOT NULL,
descripcion varchar (50));
# creamos trabajo actual
CREATE TABLE trabajo_actual(
id_contacto INT NOT NULL,
FOREIGN KEY(id_contacto) references mis_contactos (id_contacto),
titulo varchar (50),
salario int,
fecha_inicio date );
# creamos trabajo deseado
CREATE TABLE trabajo_deseado(
id_contacto INT NOT NULL,
FOREIGN KEY(id_contacto) references mis_contactos (id_contacto),
titulo varchar (50),
salario_bajo int,
salario_alto int,
disponibilidad varchar (50),
anios_experiencia int );
select
INSERT
INSERT
INSERT

* from genero;
INTO genero (id_genero,genero) VALUES (1,'M');
INTO genero (id_genero,genero) VALUES (2,'F');
INTO genero (id_genero,genero) VALUES (3,'O');

select * from estado;
INSERT INTO estado (id_estado,estado) VALUES (1,'solter@');
INSERT INTO estado (id_estado,estado) VALUES (2,'casad@');

INSERT INTO estado (id_estado,estado) VALUES (3,'vuid@');
INSERT INTO estado (id_estado,estado) VALUES (4,'divorciad@');
INSERT INTO estado (id_estado,estado) VALUES (5,'union libre');
select
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

* from profesion;
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)
INTO profesion (id_profesion,profesion)

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

(1,'medico');
(2,'electronico');
(3,'bombero');
(4,'policia');
(5,'piloto');
(6,'futbolista');
(7,'actor');
(8,'disenador web');

select * from lugar_nacimiento;
INSERT INTO lugar_nacimiento (id_ubicacion,ciudad,provincia)
PICHINCHA');
INSERT INTO lugar_nacimiento (id_ubicacion,ciudad,provincia)
L','GUAYAS');
INSERT INTO lugar_nacimiento (id_ubicacion,ciudad,provincia)
'AZUAY');
INSERT INTO lugar_nacimiento (id_ubicacion,ciudad,provincia)
OJA');
INSERT INTO lugar_nacimiento (id_ubicacion,ciudad,provincia)
'RIOBAMBA');
select
INSERT
INSERT
INSERT
INSERT
;
INSERT
INSERT

* from buscando;
INTO buscando (id_buscando,buscando)
INTO buscando (id_buscando,buscando)
INTO buscando (id_buscando,buscando)
INTO buscando (id_buscando,buscando)

select
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

* from interes;
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)
INTO interes (id_interes,interes)

VALUES
VALUES
VALUES
VALUES

VALUES (1,'QUITO','
VALUES (2,'GUAYAQUI
VALUES (3,'CUENCA',
VALUES (4,'LOJA','L
VALUES (5,'AMBATO',

(1,'mujeres');
(2,'hombres');
(3,'amig@s');
(4,'contactos profesionales')

INTO buscando (id_buscando,buscando) VALUES (5,'trabajo');
INTO buscando (id_buscando,buscando) VALUES (6,'negocios');

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

(1,'perros');
(2,'futbol');
(3,'nadar');
(4,'cine');
(5,'naturaleza');
(6,'leer');
(7,'karaoke');

select * from mis_contactos;
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (1,'jonathan','pin
zon',22/03/90,'0998684120','jona.pinzon.90@hotmail.com',1,1,1,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (2,'juan','perez',
02/03/80,'0998684110','jp.90@hotmail.com',1,2,1,2);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono

,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (3,'maria','ruiz',
20/02/92,'0998684120','mr.90@hotmail.com',2,3,3,4);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (4,'jonathan','sal
as',01/05/93,'0998384120','js.90@hotmail.com',1,4,1,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (5,'pedro','campos
',29/03/90,'0998684120','pc.90@hotmail.com',1,5,2,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (6,'luis','pinos',
09/06/85,'0998684150','lp.90@hotmail.com',1,1,3,2);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (7,'ana','arias',2
2/04/91,'0998684126','aa.90@hotmail.com',2,2,4,2);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (8,'jose','pinta',
25/03/90,'0998684170','jpin.90@hotmail.com',3,3,5,3);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (9,'daniel','pozo'
,25/03/90,'0998684820','dp.90@hotmail.com',3,4,1,3);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (10,'carlos','puen
te',27/03/90,'0998984120','cp.90@hotmail.com',1,5,2,4);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (11,'fernada','caj
as',07/03/90,'0998084120','fc.90@hotmail.com',2,1,3,4);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (12,'fernando','ol
eas',22/05/90,'0991684120','fo.90@hotmail.com',1,2,4,5);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (13,'paula','ortiz
',22/06/90,'0998682120','po.90@hotmail.com',2,3,5,5);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (14,'adriana','cep
eda',22/07/90,'0993684120','ac.90@hotmail.com',2,4,1,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (15,'santiago','lu
gue',22/08/90,'0994684120','sl.90@hotmail.com',1,5,3,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (16,'luz','pila',2
2/03/93,'0998684125','lp.90@hotmail.com',2,1,2,2);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (17,'adriana','cep
eda',22/07/90,'0993648120','ac.90@hotmail.com',2,8,1,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (18,'santiago','lu
gue',22/08/90,'0994681420','sl.90@hotmail.com',1,8,3,1);
INSERT INTO mis_contactos (id_contacto,nombre,apellido,fecha_nacimiento,telefono
,correo,id_genero,id_profesion,id_estado,id_ubicacion) VALUES (19,'luz','pila',2
2/03/93,'0998684125','lp.90@hotmail.com',2,8,2,2);
select
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

* from contacto_interes;
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)
INTO contacto_interes (id_interes,id_contacto)

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

(7,2);
(5,1);
(6,2);
(1,3);
(2,12);
(3,11);
(4,10);

INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO

contacto_interes
contacto_interes
contacto_interes
contacto_interes
contacto_interes

(id_interes,id_contacto)
(id_interes,id_contacto)
(id_interes,id_contacto)
(id_interes,id_contacto)
(id_interes,id_contacto)

VALUES
VALUES
VALUES
VALUES
VALUES

select
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

* from contacto_buscando;
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)
INTO contacto_buscando (id_buscando,id_contacto)

(5,15);
(6,10);
(5,8);
(4,9);
(3,1);

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

(3,1);
(4,11);
(5,12);
(6,3);
(1,10);
(2,8);
(3,9);
(4,15);

select * from trabajo_disponible;
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (1,'disenador web',230,1,'temporal');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (2,'disenador de modas',660,2,'fijo');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (3,'ingeniero electronico',729,3,'temporal');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (4,'ingeniero matematico',1330,1,'temporal');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (5,'licenciado de realciones humanas',390,4,'temporal');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (6,'geologo',230,1,'temporal');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (7,'ingeniero en petroleos',567,5,'fijo');
INSERT INTO trabajo_disponible (ID_trabajo,titulo,salario,id_ciudad,descripcion)
VALUES (8,'ingeniero en sistemas',789,1,'fijo');
select * from trabajo_actual;
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero en sistemas',789,'2015-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero en redes',534,'2000-09-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero matematico',630,'2010-03-09');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
disenador web',788,'2005-08-04');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero quimico',987,'2001-12-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero en sistemas',600,'2007-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero en sistemas',520,'2008-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
ingeniero en sistemas',423,'2009-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
'ingeniero en sistemas',650,'2010-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
'ingeniero en redes',1330,'2011-01-20');
INSERT INTO trabajo_actual (id_contacto,titulo,salario,fecha_inicio)
'ingeniero en telecomunicaciones',1330,'2009-01-20');

VALUES (8,'
VALUES (1,'
VALUES (2,'
VALUES (3,'
VALUES (4,'
VALUES (5,'
VALUES (6,'
VALUES (7,'
VALUES (10,
VALUES (11,
VALUES (12,

select * from trabajo_deseado;
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (10,'ingeniero en sistemas',650,789,'tiempo c
ompleto',5);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (10,'ingeniero civil',650,789,'tiempo complet
o',5);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (11,'ingeniero en sistemas',600,780,'tiempo c
ompleto',6);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (12,'ingeniero mecanico',650,899,'tiempo comp
leto',7);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (13,'ingeniero en sonido',500,800,'tiempo com
pleto',8);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (14,'ingeniero ambiental',650,990,'tiempo com
pleto',9);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (15,'ingeniero en finazas',620,1000,'tiempo c
ompleto',5);
INSERT INTO trabajo_deseado (id_contacto,titulo,salario_bajo,salario_alto,dispon
ibilidad,anios_experiencia) VALUES (16,'ingeniero electrico',650,790,'tiempo com
pleto',6);
#listar los titulos de los trabajo cuyos sean igual al salario
# mas alto de trabajo_disponible
select ta.titulo
from trabajo_actual ta
where salario = (
select MAX(SALARIO) FROM trabajo_disponible);
#listar el nombre y apellido de las personas con el salario mayor
# al salario promedio
select mc.nombre,mc.apellido
from mis_contactos mc
natural join trabajo_actual ta
where ta.salario > (
select avg(salario) from trabajo_actual);

# encuentre los disenadores web que tengan el mismo id ciudad
#que en el que se encuentra el trabajo disponible para disenadores web
select mc.nombre,mc.apellido,mc.correo,mc.telefono
from mis_contactos mc
natural join profesion pf
where pf.profesion = 'disenador web'
and mc.id_ubicacion = (select td.id_ciudad
from trabajo_disponible td
inner join profesion pf
on td.titulo=pf.profesion
where td.titulo = 'disenador web');

# listar a todas las perosnas que tengan el mismo id ciudad y de aquellos
# el que tenga el salario mas alto
select mc.id_ubicacion,max(ta.salario) from mis_contactos mc
natural join lugar_nacimiento u , trabajo_actual ta
where mc.id_ubicacion = u.id_ubicacion;