Sei sulla pagina 1di 17

1

Nombre de la Evidencia

Lenguaje Estructurado de Consultas SQL.

Actividad de Proyecto

AP6. Desarrollar la estructura de datos y la interfaz de usuario del sistema de


información.

Fase del Proyecto

DESARROLLO

Programa de Formación

Tecnólogo en Análisis y Desarrollo de sistema de Información

Ficha: 1792921

APRENDICES
XXXXXXXXXXX
XXXXXXXXXXXXX
XXXXXXXXXXXX

Resultado(s) de aprendizaje
2

22050100703. Interpretar el informe técnico de diseño, para determinar el plan

de trabajo durante la fase de construcción del software, de acuerdo con las

normas y protocolos.

22050100705. Construir la interfaz de usuario, apoyado en la evaluación del

prototipo, determinando las entradas y salidas requeridas en el diseño y

definiendo los lineamientos para la navegación, de acuerdo con las necesidades

del usuario.

22050100707. Construir la base de datos, a partir del modelo de datos

determinado en el diseño del sistema, utilizando sistemas de gestión de base de

datos, según los protocolos establecidos en la organización.

22050103303. Aplicar políticas y mecanismos de control en el diseño del

sistema de información, mediante el análisis de la vulnerabilidad de la

información, siguiendo los parámetros establecidos por la organización.

22050103501. Aplicar los estándares de calidad involucrados en los procesos de

desarrollo de software, siguiendo el plan establecido para mantener la integridad

de los productos de trabajo definidos, según las prácticas de configuración

establecidas por la empresa.


3

Descripción de la evidencia

Para presentar la evidencia se deben seguir los siguientes pasos:

Paso 1. Con base en las técnicas aprendidas en el Objeto de Aprendizaje

“Lenguaje Estructurado de Consultas SQL” disponibles en el material de estudio,

empiece a realizar un documento con los ejercicios de la Base de Datos

propuesta en el proyecto en desarrollo.

Paso 2. Hacer el diseño y análisis de las tablas usadas en el proyecto de

desarrollo en curso, realizando en cualquiera de las herramientas MySQL,

Oracle Express, SQL Server Express.

Paso 3. Realizar consultas y construir las sentencias para la utilización de

Procedimientos Almacenados, Funciones y Desencadenadores o Triggers.

Paso 4. Generar un archivo en procesador de texto con el código SQL, en

formato .txt con el nombre Solucion_evidencia_SQL y subirlo a la plataforma.


4

LO QUE DEBE CONTENER LA EVIDENCIA

Para el Desarrollo del proyecto en curso tenga en cuenta el siguiente

procedimiento:

1. Leer detenidamente cada enunciado.

2. Crear las Tablas.

3. Identificar las entidades con sus campos.

4. Responder las consultas propuestas utilizando el lenguaje estructurado de

consultas SQL con la solución a cada ejercicio empleando la sintaxis definida.

5. Copiar el código SQL, en un único documento, el cual debe contener el

enunciado y la solución de cada enunciado.

6. Guardar el archivo con el código SQL, en formato .txt con el nombre

Solucion_evidencia_SQL.
5

Contenido

Para presentar la evidencia se deben seguir los siguientes pasos:

Paso 1. Con base en las técnicas aprendidas en el Objeto de Aprendizaje

“Lenguaje Estructurado de Consultas SQL” disponibles en el material de estudio,

empiece a realizar un documento con los ejercicios de la Base de Datos

propuesta en el proyecto en desarrollo.

-- ----------Crear Base de Datos -------------------------

Create Database LaboratorioSQL;


-- Drop Database LaboratorioSQL; /*Eliminar Base de Datos*/
Use LaboratorioSQl;
/*Usar Base de Datos*/

-- --------------EJERCICIO 1 -----------------------
Create Table Profesor(
doc_prof varchar(11) not null,
nom_prof varchar(30) not null,
ape_prof varchar(30) not null,
cate_prof int not null,
sal_prof int not null,

Primary Key(doc_prof)
);

Create Table Curso(


cod_curs int auto_increment,
nom_curs varchar(100) not null,
horas_cur int not null,
valor_cur int not null,

Primary Key(cod_curs)
);

Create Table Estudiante(


doc_est varchar(11) not null,
nom_est varchar(30) not null,
ape_est varchar(30) not null,
6

edad_est int not null,

Primary Key(doc_est)
);

Create Table Estudiantexcurso(


cod_cur_estcur int(11),
doc_est_estcur varchar(11),
fec_ini_estcur date,

Constraint Foreign Key(cod_cur_estcur) References Curso(cod_curs),


Constraint Foreign Key(doc_est_estcur) References Estudiante(doc_est)
);

-- Drop table Estudiantexcurso;


-- --------------Crear Tablas -----------------------
Create Table Cliente(
id_cli varchar(11) not null,
nom_cli varchar(30) not null,
ape_cli varchar(30) not null,
dir_cli varchar(100) not null,
dep_cli varchar(20) not null,
mes_cum_cli varchar(10) not null,

Primary Key(id_cli)
);

Create Table Articulo(


id_art int auto_increment,
tit_art varchar(100) not null,
aut_art varchar(100) not null,
edi_art varchar(300) not null,
prec_art int not null,

Primary Key(id_art)
);

Create Table Pedido(


id_ped int auto_increment,
id_cli_ped varchar(11) not null,
fec_ped date,
val_ped int not null,

Primary key(id_ped),
7

Constraint foreign key(id_cli_ped) References Cliente(id_cli)


);

Create Table Articuloxpedido(


id_ped_artped int not null,
id_art_artped int not null,
can_art_artped int not null,
val_ven_art_artped int not null,

Constraint Foreign Key(id_ped_artped) References Pedido(id_ped),


Constraint Foreign Key(id_art_artped) References Articulo(id_art)
);

Create Table Compañia(


comnit varchar(11) not null,
comnombre varchar(30) not null,
comañofun int not null,
comreplegal varchar(100),

Primary Key(comnit)
);
-- ---------Crear Tables-------------------------------------------

Create Table TiposAutomotores(


autotipo int not null,
autonombre varchar(100) not null,
Primary Key(autotipo)
);

Create Table Automotores(


autoplaca varchar(6) not null,
automarca varchar(30) not null,
autotipo int not null,
automodelo int not null,
autopasajeros int not null,
autocilindrajes int not null,
autonumchasis varchar(20) not null,

Primary key(autoplaca),
Constraint Foreign Key(autotipo) References TiposAutomotores(autotipo)
);

Create Table Aseguramientos(


asecodigo int(6) auto_increment,
8

asefechainicio date,
asefechaexpiracion date,
asevalorasegurado int not null,
aseestado varchar(100) not null,
asecosto int not null,
aseplaca varchar(6),

Primary key(asecodigo),
constraint Foreign Key(aseplaca) References Automotores(autoplaca)
);

Create Table Incidentes(


iniciocodigo int auto_increment,
incifecha date,
inciplaca varchar(6),
incilugar varchar(40) not null,
inciantheridos int not null,
incianfatalidades int not null,
incianautosinvolucrados int not null,

Primary Key(iniciocodigo),
Constraint Foreign Key(inciplaca) References Automotores(autoplaca)
);

-- --------------------Ejercicio 2--------------------------------------------------------

insert into Profesor(doc_prof, nom_prof, ape_prof, cate_prof, sal_prof)


Values ('63.502.720', 'Martha', 'Rojas', 2, 690000),
('91.216.904', 'Carlos', 'Perez', 3, 950000),
('13.826.789', 'Maritza', 'Angarita', 1, 550000),
('1098765789','Alejandra', 'Torres', 4, 1100000);

insert into Curso(cod_curs, nom_curs, horas_cur, valor_cur)


Values (149842, 'Fundamentos de bases de datos', 40, 500000),
(250067, 'Fundamentos de SQL', 20, 700000),
(289011, 'Manejo de Mysql', 45, 550000),
(345671, 'Fundamentals of Oracle', 60, 3000000);

insert into Estudiante(doc_est, nom_est, ape_est, edad_est)


Values ('63.502.720', 'Maria', 'Perez', 22),
('91.245.678', 'Carlos Jose', 'López', 33),
('1098098097', 'Jonatan', 'Ardila', 11),
('1098765679', 'Carlos', 'Martinez', 44);
9

insert into Estudiantexcurso(cod_cur_estcur, doc_est_estcur, fec_ini_estcur)


Values (289011, '1098765679', '2011-01-02'),
(250067, '63.502.720', '2011-01-03'),
(289011, '1098098097', '2011-01-02'),
(345671, '63.502.720' , '2011-01-04');

insert into Cliente(id_cli, nom_Cli, ape_cli, dir_cli, dep_cli, mes_cum_cli)


Values ('63502718', 'Maritza', 'Rojas', 'Calle 34 N° 14-45', 'Santander',
'Abril'),
('13890234', 'Roger', 'Ariza', 'Cra 30 N° 13-45', 'Antioquia', 'Junio'),
('77191956', 'Juan Carlos', 'Arenas', 'Diagonal 23 Bo 12-34', 'Valle', 'Marzo'),
('1098765789', 'Catalina', 'Zapata', 'Av El Libertador No 30-14', 'Cauca',
'Marzo');

insert into Articulo(id_art, tit_art, aut_art, edi_art, prec_art)


Values (1, 'Redes cisco', 'Ernesto Arigasello', 'Alfaomega - Rama', 60000),
(2, 'Facebook y twitter para adultos', 'Veloso Claudio', 'Alfaomega',
52000),
(3, 'Creacion de un portal con php y Mysql', 'Juan Pavón Puertas',
'Alfaomega - Rama', 40000),
(4, 'Administracion de Sistemas Operativos', 'Julio Gomez Lopez',
'Alfaomega - Rama', 55000);

insert into Pedido(id_ped, id_cli_ped, fec_ped, val_ped)


Values (1, '63502718', '2012-02-25', 120000),
(2, '77191956', '2012-04-30', 55000),
(3, '63502718', '2011-12-10', 260000),
(4, '1098765789', '2012-02-25', 1800000);

insert into Articuloxpedido(id_ped_artped, id_art_artped, can_art_artped,


val_ven_art_artped)
Values (1, 3, 5, 40000),
(1, 4, 12, 55000),
(2, 1, 5, 65000),
(3, 2, 10, 55000),
(3, 3, 12, 45000),
(4, 1, 20, 65000);

insert into Compañia(comnit, comnombre, comañofun, comreplegal)


Values ('800089089-2', 'Seguros Atlantida', 1998, 'Carlos López'),
('899999999-1', 'Aseguradora Rojas', 1991, 'Luis fernando Rojas'),
('999999999-5', 'Seguros del Estado', 2001, 'Maria Margarita Pérez');
10

insert into TiposAutomotores(autotipo, autonombre)


Values (1, 'Automoviles'),
(2, 'Camperos'),
(3, 'Camiones');

insert into Automotores(autoplaca, automarca, autotipo, automodelo,


autopasajeros, autocilindrajes, autonumchasis)
values ('FLL420', 'chevrolet corsa', 1, 2003, 5, 1400, 'wywzzz167kk009d25'),
('DKZ820', 'renauld dtepway', 1, 2008, 5, 1600,
'wywwzz157kk009d45'),
('KJQ920', 'kia sportage', 2, 2009, 7, 2000, 'wywzzz157kk009d25');

insert into Aseguramientos(asecodigo, asefechainicio, asefechaexpiracion,


asevalorasegurado, aseestado, asecosto, aseplaca)
values (1, '2012-09-30', '2013-09-30', 30000000, 'Vigente', 500000, 'FLL420'),
(2, '2012-09-27', '2013-09-27', 35000000, 'Vigente', 600000,
'DKZ820'),
(3, '2011-09-28', '2012-09-28', 50000000, 'Vigente', 800000, 'KJQ920');

insert into incidentes


values (1, '2012-09-30', 'DKZ820', 'Bucaramanga', 0, 0, 2),
(2, '2012-09-27', 'FLL420', 'Girón', 1, 0, 1),
(3, '2011-09-28', 'FLL420', 'Bucaramanga', 1, 0, 2);

-- ------Ejercicio
4-----------------------------------------------------------------------------------------------------
-- Mostrar los salarios de los profesores ordenados por categoría.
Select cate_prof, sal_prof, doc_prof, nom_prof, ape_prof from Profesor order by
cate_prof ASC;

-- Mostrar los cursos cuyo valor sea mayor a $500.000.


Select * from Curso where valor_cur >= 500000 order by valor_cur ASC;

-- Contar el número de estudiantes cuya edad sea mayor a 22.


select edad_est, doc_est, nom_est, ape_est from Estudiante where edad_est >=
22 order by edad_est ASC;

-- Mostrar el nombre y la edad del estudiante más joven


select nom_est, min(edad_est) from Estudiante;

-- Calcular el valor promedio de los cursos cuyas horas sean mayores a 40.
select avg(valor_cur), horas_cur from curso where horas_cur >= 40;
11

-- Obtener el sueldo promedio de los profesores de la categoría 1


Select avg(sal_prof) from Profesor where cate_prof =1;

-- Mostrar todos los campos de la tabla curso en orden ascendente según el


valor
Select * from Curso order by valor_cur ASC;

-- Mostrar el nombre del profesor con menor sueldo


Select nom_prof, min(sal_prof) from Profesor;

-- Visualizar los profesores cuyo sueldo este entre $500.000 y $700.000


Select * from Profesor where sal_prof between 500000 and 700000;

-- Listar todos los pedidos realizados incluyendo el nombre del artículo


Select id_ped, id_cli_ped, fec_ped, val_ped, tit_art from Pedido
inner join Articulo On Pedido.id_ped = Articulo.id_art;

-- Visualizar los clientes que cumplen años en marzo


Select * From Cliente where mes_cum_cli = 'marzo';

/* Visualizar los datos del pedido 1, incluyendo el nombre del cliente,


la dirección del mismo, el nombre y el valor de los artículos que tiene dicho
pedido.*/

Select id_ped, id_cli_ped, fec_ped, val_ped, nom_Cli, dir_cli, tit_art, prec_art


from pedido
inner join Cliente on Pedido.id_cli_ped = Cliente.id_cli
inner join Articulo on Pedido.id_ped = Articulo.id_art
where id_ped = 1;

-- Visualizar el nombre del cliente, la fecha y el valor del pedido más costoso

-- Mostrar los pedidos con los respectivos artículos(código, nombre, valor y


cantidad pedida).
Select id_ped_artped, id_art_artped, can_art_artped, val_ven_art_artped, tit_art
from Articuloxpedido
inner join Articulo
On Articuloxpedido.id_art_artped = Articulo.id_art
order by id_ped_artped asc;

-- Visualizar todos los clientes organizados por apellido.


Select * from Cliente order by ape_cli ASC;
12

-- Visualizar todos los artículos organizados por autor


select * from Articulo order by aut_art asc;

/* Visualizar los pedidos que se han realizado para el articulo con id 2, el listado
debe
mostrar el nombre y dirección del cliente, el respectivo número de pedido y la
cantidad
solicitada.*/

Select id_art_artped, nom_Cli, dir_cli, id_ped, can_art_artped


from Articuloxpedido
inner join Pedido
On Articuloxpedido.id_ped_artped=Pedido.id_ped
inner join Cliente
On Pedido.id_cli_ped=Cliente.id_cli
where id_art_artped=2;

-- Visualizar los datos de las empresas fundadas entre el año 1991 y 1998
Select * from Compañia where comañofun between 1991 and 1998;

/*Listar los todos datos de los automotores cuya póliza expira en octubre de
2013, este
reporte debe visualizar la placa, el modelo, la marca, número de pasajeros,
cilindraje
nombre de automotor, el valor de la póliza y el valor asegurado*/

select asefechaexpiracion, autoplaca, automodelo, automarca, autopasajeros,


autocilindrajes, autonombre, asecosto, asevalorasegurado
from Automotores
inner join TiposAutomotores
On TiposAutomotores.autotipo = Automotores.autotipo
inner join Aseguramientos
On Aseguramientos.aseplaca = Automotores.autoplaca
where asefechaexpiracion <= '2013-10-31';

/*Visualizar los datos de los incidentes ocurridos el 30 de septiembre de 2012,


con su
respectivo número de póliza, fecha de inicio de la póliza, valor asegurado y valor
de
la póliza.*/

Select iniciocodigo, incifecha, asefechainicio, asevalorasegurado, asecosto


from Aseguramientos
13

inner join incidentes


On Aseguramientos.asecodigo = incidentes.iniciocodigo
where incifecha = '2012-09-30';

/*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 póliza como
son fecha de inicio,
valor, estado y valor asegurado.*/

Select inciantheridos, autoplaca, asefechainicio, asecosto, aseestado,


asevalorasegurado
from Aseguramientos
inner join Automotores
On Aseguramientos.aseplaca = Automotores.autoplaca
inner join incidentes
On Aseguramientos.aseplaca = incidentes.inciplaca
where inciantheridos =1;

-- Visualizar todos los datos de la póliza más costosa.


Select asecodigo, asefechainicio, asefechaexpiracion, asevalorasegurado,
aseestado, MAX(asecosto), aseplaca
from Aseguramientos;

-- Visualizar los incidentes con el mínimo número de autos involucrados, de este


incidente
Select iniciocodigo,incifecha,inciplaca,incilugar,inciantheridos, incianfatalidades,
MIN(incianautosinvolucrados)
from incidentes;

-- Visualizar el estado de la póliza y el valor asegurado.


Select aseestado, asevalorasegurado
from Aseguramientos;

/* Visualizar los incidentes del vehículo con placas " FLL420", este reporte debe
visualizar
la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio la de
expiración
de la póliza y el valor asegurado.*/
Select inciplaca, incifecha, incilugar, inciantheridos, asefechainicio,
asefechaexpiracion,asevalorasegurado
From Aseguramientos
inner join incidentes
On Aseguramientos.aseplaca = incidentes.inciplaca
14

where inciplaca = 'FLL420';

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


Select * from Compañia
where comnit ='999999999-5';

/* Visualizar los datos de la póliza cuyo valor asegurado es el más costoso, este
reporte
además de visualizar todos los datos de la póliza, debe presentar todos los
datos del
vehículo que tiene dicha póliza.*/

Select Max(asevalorasegurado), asecodigo, asefechainicio, asefechaexpiracion,


aseestado, asecosto, aseplaca,
autoplaca, automarca, autotipo, automodelo, autopasajeros, autocilindrajes,
autonumchasis
from Automotores
inner join Aseguramientos
On Automotores.autoplaca = Aseguramientos.aseplaca
where asevalorasegurado >= 50000000;

/* Visualizar los datos de las pólizas de los automotores tipo 1, este reporte debe
incluir
placa, marca, modelo, cilindraje del vehículo junto con la fecha de inicio, de
finalización
y estado de la póliza.*/

Select autotipo, autoplaca, automarca, automodelo, autocilindrajes,


asefechainicio, asefechaexpiracion, aseestado
from Aseguramientos
inner join Automotores
On Aseguramientos.aseplaca = Automotores.autoplaca
where autotipo ='1';
15

Paso 2. Hacer el diseño y análisis de las tablas usadas en el proyecto de

desarrollo en curso, realizando en cualquiera de las herramientas MySQL,

Oracle Express, SQL Server Express.

Paso 3. Realizar consultas y construir las sentencias para la utilización de

Procedimientos Almacenados, Funciones y Desencadenadores o Triggers.


16

Paso 4. Generar un archivo en procesador de texto con el código SQL, en

formato .txt con el nombre Solucion_evidencia_SQL y subirlo a la plataforma.

Solucion_Evidencia_Sql.sql
17

PRODUCTO(S) ENTREGABLE(S)

1. Documento con el código SQL, en formato .txt con el nombre

Solucion_evidencia_SQL.

El documento debe aplicar las Normas APA para Trabajos Escritos y

Documentos de Investigación.

Potrebbero piacerti anche