You are on page 1of 27

JONATHAN STEVE MESTIZO CARO

DESARROLLO LABORATORIO N 12

Aplicando Sentencias SQL para la definicin y


manipulacin de la Base de Datos

FAVA- Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


Aplicando Sentencias SQL para la definicin y manipulacin de la BD

LABORATORIO 12.
Aplicando Sentencias SQL para la definicin
y manipulacin de la Base de Datos

DESARROLLO LABORATORIO N 12

Actividad de Proyecto: CONSTRUIR SENTENCIAS SQL PARA LA


DEFINICIN Y MANIPULACIN DEL MODELO DE BASE DE DATOS

Ejercicios:

Utilizando instrucciones SQL, realice las siguientes actividades:

1. Cree una base de datos llamada laboratorio SQL.

2. Ubicado en la base de datos que acab de crear, construya las


siguientes tablas con los respectivos campos y tipos de datos.

2
FAVA- Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
-- Table `laboratoriosql`.`profesor`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`profesor` (

`doc_prof` VARCHAR(11) NOT NULL COMMENT


'',

`nom_prof` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`ape_prof` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`cate_prof` INT(11) NULL DEFAULT


NULL COMMENT '',

`sal_prof` INT(11) NULL DEFAULT NULL


COMMENT '',

PRIMARY KEY (`doc_prof`) COMMENT '')

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;

USE `laboratoriosql` ;
-- Table `laboratoriosql`.`curso`

--
-----------------------------------------------------
CREATE TABLE IF NOT EXISTS
`laboratoriosql`.`curso`
(

`cod_curs` INT(11) NOT NULL


AUTO_INCREMENT
COMMENT '',

`nom_curs` VARCHAR(100) NULL DEFAULT NULL


COMMENT '',

`horas_cur` INT(11) NULL DEFAULT NULL


COMMENT '',

`valor_cur` INT(11) NULL DEFAULT NULL


'',COMMENT

PRIMARY KEY (`cod_curs`) COMMENT '')

ENGINE = InnoDB

AUTO_INCREMENT = 345672
DEFAULT CHARACTER SET =
utf8;

-- Table `laboratoriosql`.`estudiante`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`estudiante` (

`doc_est` VARCHAR(11) NOT NULL


DEFAULT '' COMMENT '',

`nom_est` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`ape_est` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`edad_est` INT(11) NULL DEFAULT NULL


COMMENT '',

PRIMARY KEY (`doc_est`) COMMENT

'') ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;

-- Table `laboratoriosql`.`estudiantexcurso`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`estudiantexcurso` (

`cod_cur_estcur` INT(11) NULL DEFAULT


NULL COMMENT '',

`doc_est_estcur` VARCHAR(30) NULL


DEFAULT NULL COMMENT '',
`fec_ini_estcur` DATE NULL DEFAULT
NULL COMMENT '',

INDEX `cod_cur_estcur` (`cod_cur_estcur`


ASC) COMMENT '',

INDEX `doc_est_estcur` (`doc_est_estcur`


ASC) COMMENT '',

CONSTRAINT `estudiantexcurso_ibfk_1`

FOREIGN KEY (`cod_cur_estcur`)

REFERENCES `laboratoriosql`.`curso`

(`cod_curs`), CONSTRAINT

`estudiantexcurso_ibfk_2`

FOREIGN KEY (`doc_est_estcur`)

REFERENCES `laboratoriosql`.`estudiante`
(`doc_est`))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;


-- Table `laboratoriosql`.`cliente`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`cliente` (

`id_cli` VARCHAR(11) NOT NULL


DEFAULT '' COMMENT '',

`nom_cli` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`ape_cli` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`dir_cli` VARCHAR(100) NULL DEFAULT


NULL COMMENT '',

`dep_cli` VARCHAR(20) NULL DEFAULT


NULL COMMENT '',

`mes_cum_cli` VARCHAR(10) NULL DEFAULT


NULL COMMENT '',

PRIMARY KEY (`id_cli`) COMMENT '')

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;


-- Table `laboratoriosql`.`articulo`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`articulo` (

`id_art` INT(11) NOT NULL


AUTO_INCREMENT COMMENT '',

`tit_art` VARCHAR(100) NULL DEFAULT


NULL COMMENT '',

`aut_art` VARCHAR(100) NULL DEFAULT


NULL COMMENT '',

`edi_art` VARCHAR(300) NULL DEFAULT


NULL COMMENT '',

`prec_art` INT(11) NULL DEFAULT NULL


COMMENT '',

PRIMARY KEY (`id_art`) COMMENT '')

ENGINE = InnoDB

AUTO_INCREMENT = 5

DEFAULT CHARACTER SET = utf8;


-- Table `laboratoriosql`.`pedido`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`pedido` (

`id_ped` INT(11) NOT NULL


AUTO_INCREMENT COMMENT '',

`id_cli_PED` VARCHAR(11) NULL DEFAULT


NULL COMMENT '',

`fec_ped` DATE NULL DEFAULT NULL COMMENT


`val_ped` INT(11) NULL DEFAULT NULL
COMMENT '',

PRIMARY KEY (`id_ped`) COMMENT


'',

INDEX `id_cli_PED` (`id_cli_PED` ASC) COMMENT

'', CONSTRAINT `pedido_ibfk_1`

FOREIGN KEY (`id_cli_PED`)

REFERENCES `laboratoriosql`.`cliente` (`id_cli`))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;

-- Table
`laboratoriosql`.`articuloxpedido`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`articuloxpedido` (

`idped` INT(11) NULL DEFAULT NULL COMMENT


'',

`idart` INT(11) NULL DEFAULT NULL COMMENT


'',

`canart` INT(11) NULL DEFAULT NULL COMMENT


'',

`valven` INT(11) NULL DEFAULT NULL COMMENT


'',

INDEX `idped` (`idped` ASC) COMMENT '',

INDEX `idart` (`idart` ASC) COMMENT '',

CONSTRAINT `articuloxpedido_ibfk_1`

FOREIGN KEY (`idped`)

REFERENCES `laboratoriosql`.`pedido` (`id_ped`),

CONSTRAINT `articuloxpedido_ibfk_2`

FOREIGN KEY (`idart`)


-- Table `laboratoriosql`.`compaia`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`compaia` (

`comnit` VARCHAR(11) NOT NULL


DEFAULT '' COMMENT '',

`comnombre` VARCHAR(30) NULL DEFAULT


NULL COMMENT '',

`comaofun` INT(11) NULL DEFAULT


NULL COMMENT '',

`comrelplegal` VARCHAR(100) NULL DEFAULT


NULL COMMENT '',

PRIMARY KEY (`comnit`) COMMENT

'') ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;

-- Table `laboratoriosql`.`tiposautomotores`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`tiposautomotores` (

`auttipo` INT(11) NOT NULL DEFAULT '0'


COMMENT '',

`auttipo` INT(11) NOT NULL DEFAULT '0'


COMMENT '',

`autnombre` VARCHAR(45) NOT NULL DEFAULT


'0' COMMENT '',

PRIMARY KEY (`auttipo`) COMMENT

'') ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;


-- Table `laboratoriosql`.`automotores`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`automotores` (

`autoplaca` VARCHAR(6) NOT NULL


DEFAULT '' COMMENT '',

`automarca` VARCHAR(6) NULL DEFAULT


NULL COMMENT '',

`autotipo` INT(11) NULL DEFAULT NULL


COMMENT '',

`automodelo` INT(11) NULL DEFAULT


NULL COMMENT '',

`autonumpasajeros` INT(11) NULL DEFAULT


NULL COMMENT '',

`autocilindraje` INT(11) NULL DEFAULT


NULL COMMENT '',

`autonumchasis` VARCHAR(20) NULL


DEFAULT NULL COMMENT '',

PRIMARY KEY (`autoplaca`) COMMENT '',

INDEX `autotipo` (`autotipo` ASC)

COMMENT '', CONSTRAINT

`automotores_ibfk_1`

FOREIGN KEY (`autotipo`)

REFERENCES `laboratoriosql`.`tiposautomotores`
(`auttipo`))

ENGINE
-- Table = InnoDB
`laboratoriosql`.`aseguramientos`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`aseguramientos` (

`asecodigo` INT(6) NOT NULL


AUTO_INCREMENT COMMENT '',

`asefechainicio` DATE NULL DEFAULT


`asefechaexpedicion` DATE NULL DEFAULT
NULL COMMENT '',

`asevalorasegurado` INT(11) NULL DEFAULT


NULL COMMENT '',

`aseestado` VARCHAR(45) NULL DEFAULT


NULL COMMENT '',

`asecosto` INT(11) NULL DEFAULT NULL


COMMENT '',

`aseplaca` VARCHAR(6) NULL DEFAULT


NULL COMMENT '',

PRIMARY KEY (`asecodigo`) COMMENT '',

INDEX `aseplaca` (`aseplaca` ASC)

COMMENT '', CONSTRAINT

`aseguramientos_ibfk_1` FOREIGN KEY

(`aseplaca`)

REFERENCES `laboratoriosql`.`automotores`
(`autoplaca`))

ENGINE = InnoDB

DEFAULT
-- CHARACTER SET = utf8;
Table `laboratoriosql`.`incidentes`

--

-----------------------------------------------------

CREATE TABLE IF NOT EXISTS


`laboratoriosql`.`incidentes` (

`incicodigo` INT(11) NOT NULL


AUTO_INCREMENT COMMENT '',

`incifecha` DATE NULL DEFAULT NULL COMMENT


'',

`inciplaca` VARCHAR(6) NULL DEFAULT


NULL COMMENT '',

`inciligar` VARCHAR(40) NULL DEFAULT


NULL COMMENT '',

`incicantheridos` INT(11) NULL DEFAULT


NULL COMMENT '',

`incicantfatalidades` INT(11) NULL DEFAULT


NULL COMMENT '',

`inciautos` INT(11) NULL DEFAULT NULL

1
FAVA- Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
PRIMARY KEY (`incicodigo`) COMMENT '',

INDEX `inciplaca` (`inciplaca` ASC)

COMMENT '', CONSTRAINT

`incidentes_ibfk_1`

FOREIGN KEY (`inciplaca`)

REFERENCES `laboratoriosql`.`automotores`
(`autoplaca`))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8;

3. Inserte los siguientes registros segn las tablas que se presentan a continuacin

INSERT INTO `laboratoriosql`.`profesor` (`doc_prof`, `nom_prof`, `ape_prof`, `cate_prof`,


`sal_prof`) VALUES ('63502720', 'Martha ', 'Rojas', '2', '690000');

INSERT INTO `laboratoriosql`.`profesor` (`doc_prof`, `nom_prof`, `ape_prof`, `cate_prof`,


`sal_prof`) VALUES ('91216904', 'Carlos', 'Perez', '3', '950000');

INSERT INTO `laboratoriosql`.`profesor` (`doc_prof`, `nom_prof`, `ape_prof`, `cate_prof`,


`sal_prof`) VALUES ('13826789', 'Maritza', 'Angarita', '1', '550000');

INSERT INTO `laboratoriosql`.`profesor` (`doc_prof`, `nom_prof`, `ape_prof`, `cate_prof`,


`sal_prof`) VALUES ('1098765789', 'Alejandra', 'Torres', '4', '1100000');
INSERT INTO `laboratoriosql`.`curso` (`cod_curs`, `nom_curs`, `horas_cur`, `valor_cur`)
VALUES ('149842', 'fundamentos BD', '40', '500000');

INSERT INTO `laboratoriosql`.`curso` (`cod_curs`, `nom_curs`, `horas_cur`, `valor_cur`)


VALUES ('250067', 'fundamentos sql', '20', '700000');

INSERT INTO `laboratoriosql`.`curso` (`cod_curs`, `nom_curs`, `horas_cur`, `valor_cur`)


VALUES ('289011', 'manejo sql', '45', '550000');

INSERT INTO `laboratoriosql`.`curso` (`cod_curs`, `nom_curs`, `horas_cur`, `valor_cur`)


VALUES ('345671', 'fundamentos oracle', '60', '3000000');
INSERT INTO `laboratoriosql`.`estudiante` (`doc_est`, `nom_est`, `ape_est`, `edad_est`)
VALUES ('1098765678', 'Carlos', 'Martinez', '19');

INSERT INTO `laboratoriosql`.`estudiante` (`doc_est`, `nom_est`, `ape_est`, `edad_est`)


VALUES ('63502720', 'Maria', 'Perez', '23');

INSERT INTO `laboratoriosql`.`estudiante` (`doc_est`, `nom_est`, `ape_est`, `edad_est`)


VALUES ('91245678', 'Carlos Jose', 'Lopez', '25');
INSERT INTO `laboratoriosql`.`articulo` (`id_art`, `tit_art`, `aut_art`, `edi_art`, `prec_art`)
VALUES ('1', 'redes cisco', 'Ernesto Arigasello', 'AlfaOmega Rama', '60000');

INSERT INTO `laboratoriosql`.`articulo` (`id_art`, `tit_art`, `aut_art`, `edi_art`, `prec_art`)


VALUES ('2', 'Facebook y twitter para adultos', 'Veloso Claudio', 'AlfaOmega', '52000');

INSERT INTO `laboratoriosql`.`articulo` (`id_art`, `tit_art`, `aut_art`, `edi_art`, `prec_art`)


VALUES ('3', 'Creacion de un portal con php y musql', 'Jacovo Pavn Puertas', 'AlfaOmega
Rama', '40000');

INSERT INTO `laboratoriosql`.`articulo` (`id_art`, `tit_art`, `aut_art`, `edi_art`,


`prec_art`) VALUES ('4', 'Administracion de sistemas operativos', 'Julio gomez Lopez', 'Alfa
Omega Rama', '55000');

INSERT INTO `laboratoriosql`.`pedido` (`id_ped`, `id_cli_PED`, `fec_ped`, `val_ped`)


VALUES ('1', '63502718', '2012-02-25', '120000');

INSERT INTO `laboratoriosql`.`pedido` (`id_ped`, `id_cli_PED`, `fec_ped`, `val_ped`)


VALUES ('2', '77191956', '2012-01-30', '55000');
INSERT INTO `laboratoriosql`.`pedido` (`id_ped`, `id_cli_PED`, `fec_ped`, `val_ped`)
VALUES ('3', '63502718', '2011-12-10', '260000');

INSERT INTO `laboratoriosql`.`pedido` (`id_ped`, `id_cli_PED`, `fec_ped`, `val_ped`)


VALUES ('4', '1098765789', '2012-02-25', '1800000');
INSERT INTO `laboratoriosql`.`compaia` (`comnit`, `comnombre`, `comaofun`,
`comrelplegal`) VALUES ('800890890-2', 'SEGUROS ATLANTA', '1998', 'CARLOS LOPEZ');

INSERT INTO `laboratoriosql`.`compaia` (`comnit`, `comnombre`, `comaofun`,


`comrelplegal`) VALUES ('899999999-1', 'ASEGURADORA ROJAS', '1991', 'LUIS FERNANDO
ROJAS');

INSERT INTO `laboratoriosql`.`compaia` (`comnit`, `comnombre`, `comaofun`,


`comrelplegal`) VALUES ('899999999-5', 'SEGUROS DEL ESTADO', '2001', 'MARIA MARGARITA
PEREZ');
INSERT INTO `laboratoriosql`.`tiposautomotores` (`auttipo`, `autnombre`) VALUES ('1',
'Automoviles');

INSERT INTO `laboratoriosql`.`tiposautomotores` (`auttipo`, `autnombre`) VALUES ('2',


'Camperos');

INSERT INTO `laboratoriosql`.`tiposautomotores` (`auttipo`, `autnombre`) VALUES ('3',


'Camiones');

INSERT INTO `laboratoriosql`.`automotores` (`autoplaca`, `automarca`, `autotipo`,


`automodelo`, `autonumpasajeros`, `autocilindraje`, `autonumchasis`) VALUES ('DKZ820',
'RENAULT STEPWAY', '1', '2008', '5', '1600', 'WYWWZZ157KK009D45');

INSERT INTO `laboratoriosql`.`automotores` (`autoplaca`, `automarca`, `autotipo`,


`automodelo`, `autonumpasajeros`, `autocilindraje`, `autonumchasis`) VALUES ('FLL420',
'CHEVROLET CORSA', '1', '2003', '5', '1400', 'WYWZZZ167KK009D25');

INSERT INTO `laboratoriosql`.`automotores` (`autoplaca`, `automarca`, `autotipo`,


`automodelo`, `autonumpasajeros`, `autocilindraje`, `autonumchasis`) VALUES ('KJQ920',
'KIA SPORTAGE', '2', '2009', '7', '2000', 'WYWZZZ157KK009D25');
INSERT INTO `laboratoriosql`.`aseguramientos` (`asecodigo`, `asefechainicio`,
`asefechaexpedicion`, `asevalorasegurado`, `aseestado`, `asecosto`, `aseplaca`) VALUES
('1', '2012-09-30', '2013-09-30', '30000000', 'VIGENTE', '500000', 'FLL420');

INSERT INTO `laboratoriosql`.`aseguramientos` (`asecodigo`, `asefechainicio`,


`asefechaexpedicion`, `asevalorasegurado`, `aseestado`, `asecosto`, `aseplaca`) VALUES
('2', '2012-09-27', '2013-09-27', '35000000', 'VIGENTE', '600000', 'DKZ820');

INSERT INTO `laboratoriosql`.`aseguramientos` (`asecodigo`, `asefechainicio`,


`asefechaexpedicion`, `asevalorasegurado`, `aseestado`, `asecosto`, `aseplaca`) VALUES
('3', '2011-09-28', '2012-09-28', '50000000', 'VENCIDO', '800000', 'KJQ920');

INSERT INTO `laboratoriosql`.`incidentes` (`incicodigo`, `incifecha`, `inciplaca`, `incilugar`,


`incicantheridos`, `incicantfatalidades`, `inciautos`) VALUES ('1', '2012-09-30', 'DKZ820',
'BUCARAMANGA', '0', '0', '2');

INSERT INTO `laboratoriosql`.`incidentes` (`incicodigo`, `incifecha`, `inciplaca`, `incilugar`,


`incicantheridos`, `incicantfatalidades`, `inciautos`) VALUES ('2', '2012-09-27', 'FLL420',
'GIRON', '1', '0', '1');

INSERT INTO `laboratoriosql`.`incidentes` (`incicodigo`, `incifecha`, `inciplaca`, `incilugar`,


`incicantheridos`, `incicantfatalidades`, `inciautos`) VALUES ('3', '2011-09-28', 'FLL420',
'BUCARAMANGA', '1', '0', '1');
4. Realice las siguientes consultas:

Muestre los salarios de los profesores ordenados por categora.

Muestre los cursos cuyo valor sea mayor a $500.000.

Cuente el nmero de estudiantes cuya edad sea mayor a 22.

Muestre el nombre y la edad del estudiante ms joven.

Calcule el valor promedio de los cursos cuyas horas sean mayores a


40.

Obtener el sueldo promedio de los profesores de la categora 1.

2
FAVA- Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Muestre todos los campos de la tabla curso en orden ascendente segn
el valor.

Muestre el nombre del profesor con menor sueldo.

Visualizar todos los estudiantes (cdigo y nombre) que iniciaron cursos


el 01/02/2011, del curso debe mostrarse el nombre, las horas y el valor.

Visualice los profesores cuyo sueldo este entre $500.000 y


$700.000.
Visualizar el nombre, apellido y direccin de todos aquellos clientes que
hayan realizado un pedido el da 25 /02/2012.

Listar todos los pedidos realizados incluyendo el nombre del artculo.

Visualizar los clientes que cumplen aos en marzo.


Visualizar los datos del pedido 1, incluyendo el nombre del cliente, la
direccin del mismo, el nombre y el valor de los artculos que tiene
dicho pedido.

Visualizar el nombre del cliente, la fecha y el valor del pedido ms


costoso.

Mostrar cuantos artculos se tienen de cada editorial.

Mostrar los pedidos con los respectivos artculos (cdigo, nombre,


valor y cantidad pedida).

Visualizar todos los clientes organizados por apellido.


Visualizar todos los artculos organizados por autor.

Visualizar los pedidos que se han realizado para el articulo con id 2, el


listado debe mostrar el nombre y direccin del cliente, el respectivo nmero de pedido y la cantidad solicitada.

Visualizar los datos de las empresas fundadas entre el ao 1991 y


1998.
Listar los todos datos de los automotores cuya pliza expira en octubre
de 2013, este reporte debe visualizar la placa, el modelo, la marca,
nmero de pasajeros, cilindraje nombre de automotor, el valor de la
pliza y el valor asegurado.

Si fuera septiembre

Visualizar los datos de los incidentes ocurridos el 30 de septiembre de 2012, con su respectivo nmero de pliza, fecha de inicio

Visualizar los datos de los incidentes que han tenido un (1) herido, este
reporte debe visualizar la placa del automotor, con los respectivos datos
de la pliza como son fecha de inicio, valor, estado y valor asegurado.
Visualizar todos los datos de la pliza ms costosa.

Visualizar los incidentes con el mnimo nmero de autos involucrados,


de este incidente visualizar el estado de la pliza y el valor asegurado.

Visualizar los incidentes del vehculo con placas " FLL420", este reporte
debe visualizar la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio la de expiracin de la pliza y el valor ase

Visualizar los datos de la empresa con nit 899999999-5.


Visualizar los datos de la pliza cuyo valor asegurado es el ms costoso,
este reporte adems de visualizar todos los datos de la pliza, debe
presentar todos los datos del vehculo que tiene dicha pliza.

Visualizar los datos de las plizas de los automotores tipo 1, este reporte debe incluir placa, marca, modelo, cilindraje del vehcu

You might also like