SlideShare una empresa de Scribd logo
Universidad De Cartagena
Ingeniería De Software
ACTIVIDAD ACADÉMICA - UNIDAD 1
SERGIO LUIS ARRIETA GONZALEZ
COD: 7521920002
Docente: Jhon Arrieta
AGO 10-2022
Cartagena De Indias – Bolívar
Contenido
INTRODUCCION......................................................................................................................... 3
OBJETIVOS................................................................................................................................ 4
ENUNCIADO DEL PROBLEMA...................................................................................................... 5
DIAGRAMA ENTIDAD RELACIÓN................................................................................................. 5
MODELO RELACIONAL............................................................................................................... 6
SCRIPT SQL CON LAS SENTENCIAS DDL........................................................................................ 6
SCRIPT SQL CON LAS INSTRUCCIONES DML................................................................................. 9
DESARROLLO DE PUNTOS .........................................................................................................11
BIBLIOGRAFIA ..........................................................................................................................18
INTRODUCCION
De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas
evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes
como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso
práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1),
continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta
primera actividad (Unidad 1) deben resolver los siguiente puntos sobre SubConsultas, Inner
Joins y su aplicación en los motores de bases de datos relacionales
OBJETIVOS
• Analizar los diagramas relacionales descritos en la actividad para posteriormente
realizar los ejercicios correspondientes.
• Crear las bases de datos junto a las tablas mencionadas en la actividad.
• Desarrollar las consultas descritas en el enunciado de la actividad.
ENUNCIADO DEL PROBLEMA
Los profesores de la asignatura de Bases de Datos de una Escuela Universitaria deciden crear una
base de datosque contengalainformaciónde losresultadosde laspruebasrealizadasalosalumnos.
Para realizar el diseño se sabe que:
• Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase.
• Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico:
o Exámenesescritos:cadaalumnorealizavariosalolargodel curso,y se definenporel n°de
examen,el n°de preguntasde que constaylafechade realización(lamismaparatodoslos
alumnosque realizanel mismoexamen).Evidentemente,esimportante almacenarlanota
de cada alumno por examen.
o Prácticas:se realizaunn°indeterminadode ellasduranteelcursoacadémico,algunasserán
en grupo y otras individuales. Se definenpor un código de práctica, título y el grado de
dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo
deseen, debiéndose almacenar la fecha y nota obtenida.
• En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: CI y
nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica
puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa,
además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente.
DIAGRAMA ENTIDAD RELACIÓN
MODELO RELACIONAL
SCRIPT SQL CON LAS SENTENCIAS DDL
CREATE DATABASE GestionExamenes
GO
USE GestionExamenes
GO
CREATE TABLE alumno(
numero_matricula varchar(3) NOT NULL,
nombre varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
numero_matricula ASC
)
)
GO
CREATE TABLE examen(
numero_examen int NOT NULL,
numero_pregunta int NOT NULL,
fecha_realizada datetime NOT NULL,
PRIMARY KEY CLUSTERED
(
numero_examen ASC
)
)
GO
CREATE TABLE examen_alum(
numero_matricula varchar(3) NOT NULL,
numero_examen int NOT NULL,
nota int NOT NULL
)
GO
CREATE TABLE practicas(
codiGO_practicas varchar(3) NOT NULL,
titulo varchar(20) NOT NULL,
grado_dificultad varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
codiGO_practicas ASC
)
)
GO
CREATE TABLE profesor_practicas(
cedula_profesor varchar(10) NULL,
codiGO_practicas varchar(3) NOT NULL,
fecha_practicas datetime NOT NULL
)
GO
CREATE TABLE profesores(
cedula_profesor varchar(10) NOT NULL,
nombre varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
cedula_profesor ASC
)
)
GO
CREATE TABLE tipo_practica(
numero_matricula varchar(3) NOT NULL,
codiGO_practicas varchar(3) NOT NULL,
fecha datetime NULL,
nota_obtenida int NULL
)
GO
ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_matricula)
REFERENCES alumno (numero_matricula)
GO
ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_examen)
REFERENCES examen (numero_examen)
GO
ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(cedula_profesor)
REFERENCES profesores (cedula_profesor)
GO
ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(codiGO_practicas)
REFERENCES practicas (codiGO_practicas)
GO
ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(codiGO_practicas)
REFERENCES practicas (codiGO_practicas)
GO
ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(numero_matricula)
REFERENCES alumno (numero_matricula)
GO
ALTER TABLE alumno ADD direccion varchar(20)
GO
ALTER TABLE alumno ADD apellido varchar(20)
GO
ALTER TABLE alumno ADD telefono varchar(9)
GO
alter table profesores add apellido varchar(20)
GO
alter table profesores add direccion varchar(20)
GO
alter table profesores add telefono varchar(9)
GO
SCRIPT SQL CON LAS INSTRUCCIONES DML
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('001','José','Sánchez','Cdla. Las Orquideas','093433578')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('002','Javier','Fernandez','Urdesa Central','095486972')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('003','Juan','Soto','Cdla. Huancavilca','098456792')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('004','Paul','Cucalon','Cdla. Alborada','094589786')
insert alumno(numero_matricula,nombre,apellido,direccion)
values ('005','Freddy','Garces','Cdla. Atarazana')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (1,10,'2004−06−10')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (2,20,'2005−10−14')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (3,10,'2005−07−21')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (4,15,'2005−08−28')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0922469878','Luis','Gomez','Cdla. Las Acacias','094254369')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0945369847','Carlos','Garcia','Los Almendros','094697815')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0925653438','Erick','Ramirez','Sauces 9','098264536')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0956421389','Henry','Marquez','Cdla. Las Fae','096457893')
insert profesores(cedula_profesor,nombre,apellido,direccion)
values ('0922468923','Marcelo','Silva','Geranios')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('001','Calculo','Alta')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('002','Comunicacion Social','Media')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('003','Internet','Alta')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('004','Ecologia','Baja')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0922469878','001','2005−06−12')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0945369847','002','2005−07−15')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0925653438','003','2005−08−19')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0956421389','004','2005−09−28')
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('001','001','2005−04−15',20)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('002','002','2005−05−14',18)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('003','003','2005−06−10',19)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('004','004','2005−06−15',20)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('001',1,20)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('002',2,18)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('003',3,19)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('004',4,17)
DESARROLLO DE PUNTOS
INFORMACIÓN SOBRE LA ACTIVIDAD ACADÉMICA - UNIDAD 1
De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas
evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes
como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso
práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1),
continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta
primera actividad (Unidad 1) deben resolver los siguiente puntos sobre SubConsultas, Inner
Joins y su aplicación en los motores de bases de datos relacionales OracleSQL. PostgreSQL
y SQLServer.
1. Qué es y qué problema resuelve el uso de Subconsulta
Una subconsultaesunainstrucciónSELECTdentrounainstrucciónSELECT,INSERT,UPDATE
o DELETE, o enotra subconsulta. sonutilizadasparadividirunaconsultacomplejayayudar
a resolver un problema con una única instrucción. Pueden ayudar cuando los datos
consultados dependen de los resultados de otra consulta.
2. Cuantos tipos o formas de Subconsultas existen y explique cada una
Se utilizan tres formas de sintaxis para crear una subconsulta:
Subconsultas de fila. Son aquellas que devuelven más de una columna, pero
una única fila.
Subconsultas de tabla. Son aquellas que devuelve una o varias columnas y
cero o varias filas.
Subconsultas escalares. Son aquellas que devuelven una columna y una fila.
3. Cual es la sintaxis general de cada tipo de subconsulta en los siguientes motores de
bases de datos:
Subconsultas de fila
SELECT [listacampos] FROM [tablaprincipal] WHERE [campocondicion] [=,<,<,<>,<=,>=] (
SELECT [campocomparacion] FROM[tabla] WHERE [condicion])
Subconsultas de tabla
SELECT [listacampos]FROM[tablaprincipal]WHERE [campocondicion][ANY,IN,ALL]( SELECT
[campocomparacion] FROM[tabla] WHERE [condicion])
Subconsultas escalares
SELECT [listacampos],(SELECT[campo] FROM[tabla] WHERE [condicion]) asnombrecampo
FROM[tablaprincipal] WHERE [campocondicion] =[condicion]
4. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1,
diseñar al menos 8 subconsultas (2 por cada una de las 4 formas que existen)
Subconsultas de fila
SELECT * FROM examen_alum WHERE numero_examen = ( SELECT numero_examen FROM
examen WHERE numero_examen=1)
select * from profesor_practicas where codigo_practicas > ( SELECT
codigo_practicas FROM tipo_practica WHERE codigo_practicas=1)
Subconsultas de tabla
SELECT * FROM examen_alum WHERE numero_examen > ANY ( SELECT numero_examen FROM
examen WHERE numero_examen=1)
select * from profesor_practicas where codigo_practicas IN ( SELECT
codigo_practicas FROM tipo_practica WHERE codigo_practicas=1)
Subconsultas escalares
SELECT numero_matricula, numero_examen, nota,(SELECT numero_pregunta
FROM examen WHERE (numero_examen=examen_alum.numero_examen)) AS
numero_pregunta FROM examen_alum
SELECT cedula_profesor, codiGO_practicas, fecha_practicas,(SELECT
numero_matricula FROM tipo_practica
WHERE(codiGO_practicas=profesor_practicas.codiGO_practicas)) AS
numero_matricula
FROM profesor_practicas
5. Qué es y qué problema resuelve el uso Inner Joins
Una sentencia JOIN de SQL (término inglés para “unión”) designa toda operación
en bases de datos relacionales que permite realizar consultas en varias bases de
datos. Las sentencias JOIN combinan datos guardados en diferentes tablas y los
presentan de forma filtrada en una tabla de resultados.
6. Cual es la sintaxis general de los 8 tipos de Inner Joins
* INNER JOIN
Select (campos)
From A Inner Join B
On A.Clave =
B.Clave
* CROSS JOIN
Select (campos)
From A Cross Join B
* LEFT JOIN
Select (campos)
From A Left Join B
On A.Clave =
B.Clave
* RIGHT JOIN
Select (campos)
From A Right Join B
On A.Clave =
B.Clave
* A LEFT JOIN B
Select (campos)
From A Left Join B
On A.Clave =
B.Clave
Where B.Clave is
Null
* RIGHT JOIN B
Select (campos)
From A Right Join B
On A.Clave =
B.Clave
Where A.Clave is
Null
* OUTER JOIN B
Select (campos)
From A Full Outer
Join B
On A.Clave =
B.Clave
* OUTER JOIN B
Select (campos)
From A Full Outer
Join B
On A.Clave =
B.Clave
Where (A.Clave is
Null) Or (B.Clave is
Null)
7. Cuales son las condiciones o caracteristicas que deben cumpliar las tablas y sus
columnas para que puedan ser utilizadas en en Inner Joins
Las combinaciones permiten recuperar datos de dos o más tablas según las
relaciones lógicas entre ellas. Las combinaciones indican cómo debe usar
SQL Server los datos de una tabla para seleccionar las filas de otra tabla.
Una condición de combinación define la forma en la que dos tablas se
relacionan en una consulta al:
Especificar la columna de cada tabla que debe usarse para la
combinación. Una condición de combinación típica especifica una
clave externa de una tabla y su clave asociada en otra tabla.
Puede especificar un operador lógico (por ejemplo, = o <>) que se
use para comparar los valores de las columnas.
8. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1,
diseñar al menos 8 subconsultas (2 por cada una de las 8 formas que existen) y
probarlas
--Inner Join
Select *
From profesores A Inner Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
SELECT *
FROM alumno A inner join examen_alum B
on a.numero_matricula=b.numero_matricula
--Cross Join
Select *
From profesores A Cross Join profesor_practicas B
SELECT *
FROM alumno A Cross Join examen_alum B
--left Join
Select *
From profesores A left Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
SELECT *
FROM alumno A left join examen_alum B
on a.numero_matricula=b.numero_matricula
Select *
From profesores A left Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
where B.cedula_profesor is null
SELECT *
FROM alumno A left join examen_alum B
on a.numero_matricula=b.numero_matricula
where b.numero_matricula is null
--right Join
Select *
From profesores A right Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
SELECT *
FROM alumno A right join examen_alum B
on a.numero_matricula=b.numero_matricula
Select *
From profesores A right Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
where A.cedula_profesor is null
SELECT *
FROM alumno A right join examen_alum B
on a.numero_matricula=b.numero_matricula
where a.numero_matricula is null
--full outer Join
Select *
From profesores A full outer Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
where A.cedula_profesor is null or B.cedula_profesor is null
SELECT *
FROM alumno A full outer join examen_alum B
on a.numero_matricula=b.numero_matricula
where a.numero_matricula is null or b.numero_matricula is null
9. Investigar para cual es el objetivo de los siguientes comandos de SQL y qué relación
tienen con el tema de Inner Join
a. UNION
b. UNION ALL
c. EXCEPT
d. INTERSECT
a. El operador UNION combina los resultados de dos o más consultas en un único
conjunto de resultados los mismos que incluyen todas las filas que pertenecen a
todas las consultas en la Unión. En términos simples, combina los dos o más
conjuntos de filas y mantiene los duplicados.
b.El propósito del Comando SQL UNION ALL es también combinar los resultados
de dos consultas juntas. La diferencia entre UNION ALL y UNION es que, mientras
UNION sólo selecciona valores distintos, UNION ALL selecciona todos los valores.
c. La operación EXCEPT/MINUS encuentra la diferencia entre las dos consultas y
el resultado comprime las filas que pertenecen únicamente a la primera consulta.
d. La operación INTERSECT combina los resultados de dos consultas en un único
resultado que comprime todas las filas comunes para ambas consultas.
10. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1,
diseñar al menos una consulta donde se evidencie la utilidad de los comandos del
punto anterior
Select * From profesores A left Join profesor_practicas B On A.cedula_profesor
= B.cedula_profesor where B.cedula_profesor is null
union all
Select * From profesores A right Join profesor_practicas B On A.cedula_profesor
= B.cedula_profesor where A.cedula_profesor is null
SELECT * FROM alumno A left join examen_alum B
on a.numero_matricula=b.numero_matricula where b.numero_matricula is null
union all
SELECT * FROM alumno A right join examen_alum B
on a.numero_matricula=b.numero_matricula where a.numero_matricula is null
BIBLIOGRAFIA
1. ITCA-FEPADE. Subconsultas. Disponible en:
https://virtual.itca.edu.sv/Mediadores/dbd/u23/4_subconsultas.html
[Consultado en 21/07/2022]
2. Sebastián Catalán A. Uso de Subconsultas para Resolver Consultas (PL/SQL).
Disponible en:
http://catalanseb.blogspot.com/2015/03/uso-de-subconsultas-para-resolver.html
[Consultado en 21/07/2022]
3. Anónimo. SQL JOIN: consultas a varias tablas de datos. Disponible en:
https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/sql-join/
[Consultado en 25/07/2022]
4. Anónimo. Operación INNER JOIN. Disponible en:
https://support.microsoft.com/es-es/office/operaci%C3%B3n-inner-join-b9e73ab6-884a-
403e-
9f22b502feae36a#:~:text=Combina%20los%20registros%20de%20dos,coincidentes%20e
n%20un%20campo%20com%C3%BAn.
[Consultado en 25/07/2022]
5. Wikipedia. Sentencia JOIN en SQL. Disponible en:
https://es.wikipedia.org/wiki/Sentencia_JOIN_en_SQL
[Consultado en 25/07/2022]
6. Microsoft. Combinaciones (SQL Server). Disponible en:
https://docs.microsoft.com/es-es/sql/relational-databases/performance/joins?view=sql-
server-ver16
[Consultado en 25/07/2022]

Más contenido relacionado

Similar a actividad_1_grupogestionexamenes_bd2_2021_SQLserver.docx

Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
Jagmch
 
Formato gestor de proyecto g 6 e
Formato gestor de proyecto g 6 eFormato gestor de proyecto g 6 e
Formato gestor de proyecto g 6 e
MIRIAMYANETH VALENCIA GAMBOA
 
Tarea1 u4 comptencias cd franco
Tarea1 u4 comptencias cd francoTarea1 u4 comptencias cd franco
Tarea1 u4 comptencias cd franco
Jesus Franco
 
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
VictorValencia94
 
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
VictorValencia94
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
Proyecto 2Proyecto 2
PROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACIONPROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACION
WILLLIAM RICARDO PAIRAZAMAN MATALLANA
 
PIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVAPIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVA
WILLLIAM RICARDO PAIRAZAMAN MATALLANA
 
02 red computacion2 slb
02 red computacion2 slb02 red computacion2 slb
02 red computacion2 slb
Francisco Arias Larrea
 
Rc oscar bravo
Rc oscar bravoRc oscar bravo
Rc oscar bravo
oscarbravoarrieta
 
ESTADÍSTICA INFERENCIAL.
ESTADÍSTICA  INFERENCIAL.ESTADÍSTICA  INFERENCIAL.
ESTADÍSTICA INFERENCIAL.
Vicente Marlon Villa
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf
JaidaryMejia1
 
Rc marly pajaro
Rc marly pajaroRc marly pajaro
Rc marly pajaro
Marly Pajaro del Rio
 
Rc marly pajaro
Rc marly pajaroRc marly pajaro
Rc marly pajaro
Marly Pajaro del Rio
 
Rc gamadiel sanchez
Rc gamadiel sanchezRc gamadiel sanchez
Rc gamadiel sanchez
Gamadiel Sanchez Alvarez
 
Rc_Luis_Sierra
Rc_Luis_SierraRc_Luis_Sierra
Rc_Luis_Sierra
luissico
 
Syllabus costos estandar
Syllabus costos estandarSyllabus costos estandar
Syllabus costos estandar
Alba Lucero Beltran Quiceno
 
Syllabus costos estandar
Syllabus costos estandarSyllabus costos estandar
Syllabus costos estandar
AVH AVH
 
Datamart
DatamartDatamart
Datamart
Maria Romero
 

Similar a actividad_1_grupogestionexamenes_bd2_2021_SQLserver.docx (20)

Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
 
Formato gestor de proyecto g 6 e
Formato gestor de proyecto g 6 eFormato gestor de proyecto g 6 e
Formato gestor de proyecto g 6 e
 
Tarea1 u4 comptencias cd franco
Tarea1 u4 comptencias cd francoTarea1 u4 comptencias cd franco
Tarea1 u4 comptencias cd franco
 
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
 
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
RVI N°062-2023-VI-UCV Aprueba Guía de elaboración de trabajos conducentes a g...
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
PROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACIONPROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACION
 
PIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVAPIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVA
 
02 red computacion2 slb
02 red computacion2 slb02 red computacion2 slb
02 red computacion2 slb
 
Rc oscar bravo
Rc oscar bravoRc oscar bravo
Rc oscar bravo
 
ESTADÍSTICA INFERENCIAL.
ESTADÍSTICA  INFERENCIAL.ESTADÍSTICA  INFERENCIAL.
ESTADÍSTICA INFERENCIAL.
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf
 
Rc marly pajaro
Rc marly pajaroRc marly pajaro
Rc marly pajaro
 
Rc marly pajaro
Rc marly pajaroRc marly pajaro
Rc marly pajaro
 
Rc gamadiel sanchez
Rc gamadiel sanchezRc gamadiel sanchez
Rc gamadiel sanchez
 
Rc_Luis_Sierra
Rc_Luis_SierraRc_Luis_Sierra
Rc_Luis_Sierra
 
Syllabus costos estandar
Syllabus costos estandarSyllabus costos estandar
Syllabus costos estandar
 
Syllabus costos estandar
Syllabus costos estandarSyllabus costos estandar
Syllabus costos estandar
 
Datamart
DatamartDatamart
Datamart
 

Último

Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
defola5717
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
DivergenteDespierto
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
diegozuniga768
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
silvanasotos
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
DieguinhoSalazar
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
MedTechBiz
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
mvargasleveau
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
WendyMLaura
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Emisor Digital
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 
3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
nahumrondanurbano
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
IrapuatoCmovamos
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
NereaMolina10
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
SantiagoMejia99
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
brayansangar73
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
IrapuatoCmovamos
 

Último (20)

Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 
3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
 

actividad_1_grupogestionexamenes_bd2_2021_SQLserver.docx

  • 1. Universidad De Cartagena Ingeniería De Software ACTIVIDAD ACADÉMICA - UNIDAD 1 SERGIO LUIS ARRIETA GONZALEZ COD: 7521920002 Docente: Jhon Arrieta AGO 10-2022 Cartagena De Indias – Bolívar
  • 2. Contenido INTRODUCCION......................................................................................................................... 3 OBJETIVOS................................................................................................................................ 4 ENUNCIADO DEL PROBLEMA...................................................................................................... 5 DIAGRAMA ENTIDAD RELACIÓN................................................................................................. 5 MODELO RELACIONAL............................................................................................................... 6 SCRIPT SQL CON LAS SENTENCIAS DDL........................................................................................ 6 SCRIPT SQL CON LAS INSTRUCCIONES DML................................................................................. 9 DESARROLLO DE PUNTOS .........................................................................................................11 BIBLIOGRAFIA ..........................................................................................................................18
  • 3. INTRODUCCION De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1), continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta primera actividad (Unidad 1) deben resolver los siguiente puntos sobre SubConsultas, Inner Joins y su aplicación en los motores de bases de datos relacionales
  • 4. OBJETIVOS • Analizar los diagramas relacionales descritos en la actividad para posteriormente realizar los ejercicios correspondientes. • Crear las bases de datos junto a las tablas mencionadas en la actividad. • Desarrollar las consultas descritas en el enunciado de la actividad.
  • 5. ENUNCIADO DEL PROBLEMA Los profesores de la asignatura de Bases de Datos de una Escuela Universitaria deciden crear una base de datosque contengalainformaciónde losresultadosde laspruebasrealizadasalosalumnos. Para realizar el diseño se sabe que: • Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase. • Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico: o Exámenesescritos:cadaalumnorealizavariosalolargodel curso,y se definenporel n°de examen,el n°de preguntasde que constaylafechade realización(lamismaparatodoslos alumnosque realizanel mismoexamen).Evidentemente,esimportante almacenarlanota de cada alumno por examen. o Prácticas:se realizaunn°indeterminadode ellasduranteelcursoacadémico,algunasserán en grupo y otras individuales. Se definenpor un código de práctica, título y el grado de dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y nota obtenida. • En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: CI y nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente. DIAGRAMA ENTIDAD RELACIÓN
  • 6. MODELO RELACIONAL SCRIPT SQL CON LAS SENTENCIAS DDL CREATE DATABASE GestionExamenes GO USE GestionExamenes GO CREATE TABLE alumno( numero_matricula varchar(3) NOT NULL, nombre varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( numero_matricula ASC ) ) GO
  • 7. CREATE TABLE examen( numero_examen int NOT NULL, numero_pregunta int NOT NULL, fecha_realizada datetime NOT NULL, PRIMARY KEY CLUSTERED ( numero_examen ASC ) ) GO CREATE TABLE examen_alum( numero_matricula varchar(3) NOT NULL, numero_examen int NOT NULL, nota int NOT NULL ) GO CREATE TABLE practicas( codiGO_practicas varchar(3) NOT NULL, titulo varchar(20) NOT NULL, grado_dificultad varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( codiGO_practicas ASC ) ) GO CREATE TABLE profesor_practicas( cedula_profesor varchar(10) NULL, codiGO_practicas varchar(3) NOT NULL,
  • 8. fecha_practicas datetime NOT NULL ) GO CREATE TABLE profesores( cedula_profesor varchar(10) NOT NULL, nombre varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( cedula_profesor ASC ) ) GO CREATE TABLE tipo_practica( numero_matricula varchar(3) NOT NULL, codiGO_practicas varchar(3) NOT NULL, fecha datetime NULL, nota_obtenida int NULL ) GO ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_matricula) REFERENCES alumno (numero_matricula) GO ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_examen) REFERENCES examen (numero_examen) GO ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(cedula_profesor) REFERENCES profesores (cedula_profesor)
  • 9. GO ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(codiGO_practicas) REFERENCES practicas (codiGO_practicas) GO ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(codiGO_practicas) REFERENCES practicas (codiGO_practicas) GO ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(numero_matricula) REFERENCES alumno (numero_matricula) GO ALTER TABLE alumno ADD direccion varchar(20) GO ALTER TABLE alumno ADD apellido varchar(20) GO ALTER TABLE alumno ADD telefono varchar(9) GO alter table profesores add apellido varchar(20) GO alter table profesores add direccion varchar(20) GO alter table profesores add telefono varchar(9) GO SCRIPT SQL CON LAS INSTRUCCIONES DML insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('001','José','Sánchez','Cdla. Las Orquideas','093433578') insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('002','Javier','Fernandez','Urdesa Central','095486972') insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
  • 10. values ('003','Juan','Soto','Cdla. Huancavilca','098456792') insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('004','Paul','Cucalon','Cdla. Alborada','094589786') insert alumno(numero_matricula,nombre,apellido,direccion) values ('005','Freddy','Garces','Cdla. Atarazana') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (1,10,'2004−06−10') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (2,20,'2005−10−14') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (3,10,'2005−07−21') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (4,15,'2005−08−28') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0922469878','Luis','Gomez','Cdla. Las Acacias','094254369') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0945369847','Carlos','Garcia','Los Almendros','094697815') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0925653438','Erick','Ramirez','Sauces 9','098264536') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0956421389','Henry','Marquez','Cdla. Las Fae','096457893') insert profesores(cedula_profesor,nombre,apellido,direccion) values ('0922468923','Marcelo','Silva','Geranios') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('001','Calculo','Alta') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('002','Comunicacion Social','Media') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('003','Internet','Alta')
  • 11. insert practicas(codigo_practicas,titulo,grado_dificultad) values ('004','Ecologia','Baja') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0922469878','001','2005−06−12') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0945369847','002','2005−07−15') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0925653438','003','2005−08−19') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0956421389','004','2005−09−28') insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('001','001','2005−04−15',20) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('002','002','2005−05−14',18) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('003','003','2005−06−10',19) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('004','004','2005−06−15',20) insert examen_alum(numero_matricula,numero_examen,nota) values ('001',1,20) insert examen_alum(numero_matricula,numero_examen,nota) values ('002',2,18) insert examen_alum(numero_matricula,numero_examen,nota) values ('003',3,19) insert examen_alum(numero_matricula,numero_examen,nota) values ('004',4,17) DESARROLLO DE PUNTOS INFORMACIÓN SOBRE LA ACTIVIDAD ACADÉMICA - UNIDAD 1
  • 12. De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1), continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta primera actividad (Unidad 1) deben resolver los siguiente puntos sobre SubConsultas, Inner Joins y su aplicación en los motores de bases de datos relacionales OracleSQL. PostgreSQL y SQLServer. 1. Qué es y qué problema resuelve el uso de Subconsulta Una subconsultaesunainstrucciónSELECTdentrounainstrucciónSELECT,INSERT,UPDATE o DELETE, o enotra subconsulta. sonutilizadasparadividirunaconsultacomplejayayudar a resolver un problema con una única instrucción. Pueden ayudar cuando los datos consultados dependen de los resultados de otra consulta. 2. Cuantos tipos o formas de Subconsultas existen y explique cada una Se utilizan tres formas de sintaxis para crear una subconsulta: Subconsultas de fila. Son aquellas que devuelven más de una columna, pero una única fila. Subconsultas de tabla. Son aquellas que devuelve una o varias columnas y cero o varias filas. Subconsultas escalares. Son aquellas que devuelven una columna y una fila. 3. Cual es la sintaxis general de cada tipo de subconsulta en los siguientes motores de bases de datos: Subconsultas de fila SELECT [listacampos] FROM [tablaprincipal] WHERE [campocondicion] [=,<,<,<>,<=,>=] ( SELECT [campocomparacion] FROM[tabla] WHERE [condicion]) Subconsultas de tabla SELECT [listacampos]FROM[tablaprincipal]WHERE [campocondicion][ANY,IN,ALL]( SELECT [campocomparacion] FROM[tabla] WHERE [condicion])
  • 13. Subconsultas escalares SELECT [listacampos],(SELECT[campo] FROM[tabla] WHERE [condicion]) asnombrecampo FROM[tablaprincipal] WHERE [campocondicion] =[condicion] 4. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1, diseñar al menos 8 subconsultas (2 por cada una de las 4 formas que existen) Subconsultas de fila SELECT * FROM examen_alum WHERE numero_examen = ( SELECT numero_examen FROM examen WHERE numero_examen=1) select * from profesor_practicas where codigo_practicas > ( SELECT codigo_practicas FROM tipo_practica WHERE codigo_practicas=1) Subconsultas de tabla SELECT * FROM examen_alum WHERE numero_examen > ANY ( SELECT numero_examen FROM examen WHERE numero_examen=1) select * from profesor_practicas where codigo_practicas IN ( SELECT codigo_practicas FROM tipo_practica WHERE codigo_practicas=1)
  • 14. Subconsultas escalares SELECT numero_matricula, numero_examen, nota,(SELECT numero_pregunta FROM examen WHERE (numero_examen=examen_alum.numero_examen)) AS numero_pregunta FROM examen_alum SELECT cedula_profesor, codiGO_practicas, fecha_practicas,(SELECT numero_matricula FROM tipo_practica WHERE(codiGO_practicas=profesor_practicas.codiGO_practicas)) AS numero_matricula FROM profesor_practicas 5. Qué es y qué problema resuelve el uso Inner Joins Una sentencia JOIN de SQL (término inglés para “unión”) designa toda operación en bases de datos relacionales que permite realizar consultas en varias bases de datos. Las sentencias JOIN combinan datos guardados en diferentes tablas y los presentan de forma filtrada en una tabla de resultados. 6. Cual es la sintaxis general de los 8 tipos de Inner Joins * INNER JOIN Select (campos) From A Inner Join B On A.Clave = B.Clave * CROSS JOIN Select (campos) From A Cross Join B * LEFT JOIN Select (campos) From A Left Join B On A.Clave = B.Clave * RIGHT JOIN Select (campos) From A Right Join B On A.Clave = B.Clave * A LEFT JOIN B Select (campos) From A Left Join B On A.Clave = B.Clave Where B.Clave is Null * RIGHT JOIN B Select (campos) From A Right Join B On A.Clave = B.Clave Where A.Clave is Null * OUTER JOIN B Select (campos) From A Full Outer Join B On A.Clave = B.Clave * OUTER JOIN B Select (campos) From A Full Outer Join B On A.Clave = B.Clave Where (A.Clave is Null) Or (B.Clave is Null)
  • 15. 7. Cuales son las condiciones o caracteristicas que deben cumpliar las tablas y sus columnas para que puedan ser utilizadas en en Inner Joins Las combinaciones permiten recuperar datos de dos o más tablas según las relaciones lógicas entre ellas. Las combinaciones indican cómo debe usar SQL Server los datos de una tabla para seleccionar las filas de otra tabla. Una condición de combinación define la forma en la que dos tablas se relacionan en una consulta al: Especificar la columna de cada tabla que debe usarse para la combinación. Una condición de combinación típica especifica una clave externa de una tabla y su clave asociada en otra tabla. Puede especificar un operador lógico (por ejemplo, = o <>) que se use para comparar los valores de las columnas. 8. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1, diseñar al menos 8 subconsultas (2 por cada una de las 8 formas que existen) y probarlas --Inner Join Select * From profesores A Inner Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor SELECT * FROM alumno A inner join examen_alum B on a.numero_matricula=b.numero_matricula --Cross Join Select * From profesores A Cross Join profesor_practicas B SELECT * FROM alumno A Cross Join examen_alum B --left Join
  • 16. Select * From profesores A left Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor SELECT * FROM alumno A left join examen_alum B on a.numero_matricula=b.numero_matricula Select * From profesores A left Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor where B.cedula_profesor is null SELECT * FROM alumno A left join examen_alum B on a.numero_matricula=b.numero_matricula where b.numero_matricula is null --right Join Select * From profesores A right Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor SELECT * FROM alumno A right join examen_alum B on a.numero_matricula=b.numero_matricula Select * From profesores A right Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor where A.cedula_profesor is null SELECT * FROM alumno A right join examen_alum B on a.numero_matricula=b.numero_matricula where a.numero_matricula is null --full outer Join Select * From profesores A full outer Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor where A.cedula_profesor is null or B.cedula_profesor is null
  • 17. SELECT * FROM alumno A full outer join examen_alum B on a.numero_matricula=b.numero_matricula where a.numero_matricula is null or b.numero_matricula is null 9. Investigar para cual es el objetivo de los siguientes comandos de SQL y qué relación tienen con el tema de Inner Join a. UNION b. UNION ALL c. EXCEPT d. INTERSECT a. El operador UNION combina los resultados de dos o más consultas en un único conjunto de resultados los mismos que incluyen todas las filas que pertenecen a todas las consultas en la Unión. En términos simples, combina los dos o más conjuntos de filas y mantiene los duplicados. b.El propósito del Comando SQL UNION ALL es también combinar los resultados de dos consultas juntas. La diferencia entre UNION ALL y UNION es que, mientras UNION sólo selecciona valores distintos, UNION ALL selecciona todos los valores. c. La operación EXCEPT/MINUS encuentra la diferencia entre las dos consultas y el resultado comprime las filas que pertenecen únicamente a la primera consulta. d. La operación INTERSECT combina los resultados de dos consultas en un único resultado que comprime todas las filas comunes para ambas consultas. 10. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1, diseñar al menos una consulta donde se evidencie la utilidad de los comandos del punto anterior Select * From profesores A left Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor where B.cedula_profesor is null union all Select * From profesores A right Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor where A.cedula_profesor is null SELECT * FROM alumno A left join examen_alum B on a.numero_matricula=b.numero_matricula where b.numero_matricula is null union all SELECT * FROM alumno A right join examen_alum B on a.numero_matricula=b.numero_matricula where a.numero_matricula is null
  • 18. BIBLIOGRAFIA 1. ITCA-FEPADE. Subconsultas. Disponible en: https://virtual.itca.edu.sv/Mediadores/dbd/u23/4_subconsultas.html [Consultado en 21/07/2022] 2. Sebastián Catalán A. Uso de Subconsultas para Resolver Consultas (PL/SQL). Disponible en: http://catalanseb.blogspot.com/2015/03/uso-de-subconsultas-para-resolver.html [Consultado en 21/07/2022] 3. Anónimo. SQL JOIN: consultas a varias tablas de datos. Disponible en: https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/sql-join/ [Consultado en 25/07/2022] 4. Anónimo. Operación INNER JOIN. Disponible en: https://support.microsoft.com/es-es/office/operaci%C3%B3n-inner-join-b9e73ab6-884a- 403e- 9f22b502feae36a#:~:text=Combina%20los%20registros%20de%20dos,coincidentes%20e n%20un%20campo%20com%C3%BAn. [Consultado en 25/07/2022] 5. Wikipedia. Sentencia JOIN en SQL. Disponible en: https://es.wikipedia.org/wiki/Sentencia_JOIN_en_SQL [Consultado en 25/07/2022] 6. Microsoft. Combinaciones (SQL Server). Disponible en: https://docs.microsoft.com/es-es/sql/relational-databases/performance/joins?view=sql- server-ver16 [Consultado en 25/07/2022]