Examen Parcial II YBBDII

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Instituto de Enseñanza Superior Tafi Viejo – Ext.

Áulica Yerba Buena

Tecnicatura Superior en Desarrollo de Software

Ing. Roberto Elias

Alumnos:

Asignatura: Bases de Datos II

Fecha: 1/10/2024

Fecha de entrega primera parte: 8/10/2024

Fecha de entrega y defensa segunda parte: 15/10/24 – 22/10/2024

Fecha de examen Teórico parcial II, 3ra Parte: 29/10/2024

Examen Parcial II

1) Dado el siguiente diagrama Entidad – Relación, con su respectivo Script desarrollar el mismo utilizando la
herramienta correspondiente. MySQL Workbench

Bases de Datos: Universidad

Modelo entidad/relación

Script Base de datos para MySQL


DROP DATABASE IF EXISTS universidad;
CREATE DATABASE universidad CHARACTER SET utf8mb4;
USE universidad;

CREATE TABLE departamento (


id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL
);

CREATE TABLE persona (


id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nif VARCHAR(9) UNIQUE,
nombre VARCHAR(25) NOT NULL,
apellido1 VARCHAR(50) NOT NULL,
apellido2 VARCHAR(50),
ciudad VARCHAR(25) NOT NULL,
direccion VARCHAR(50) NOT NULL,
telefono VARCHAR(9),
fecha_nacimiento DATE NOT NULL,
sexo ENUM('H', 'M') NOT NULL,
tipo ENUM('profesor', 'alumno') NOT NULL
);

CREATE TABLE profesor (


id_profesor INT UNSIGNED PRIMARY KEY,
id_departamento INT UNSIGNED NOT NULL,
FOREIGN KEY (id_profesor) REFERENCES persona(id),
FOREIGN KEY (id_departamento) REFERENCES departamento(id)
);

CREATE TABLE grado (


id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);

CREATE TABLE asignatura (


id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
creditos FLOAT UNSIGNED NOT NULL,
tipo ENUM('básica', 'obligatoria', 'optativa') NOT NULL,
curso TINYINT UNSIGNED NOT NULL,
cuatrimestre TINYINT UNSIGNED NOT NULL,
id_profesor INT UNSIGNED,
id_grado INT UNSIGNED NOT NULL,
FOREIGN KEY(id_profesor) REFERENCES profesor(id_profesor),
FOREIGN KEY(id_grado) REFERENCES grado(id)
);

CREATE TABLE curso_escolar (


id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
anyo_inicio YEAR NOT NULL,
anyo_fin YEAR NOT NULL
);

CREATE TABLE alumno_se_matricula_asignatura (


id_alumno INT UNSIGNED NOT NULL,
id_asignatura INT UNSIGNED NOT NULL,
id_curso_escolar INT UNSIGNED NOT NULL,
PRIMARY KEY (id_alumno, id_asignatura, id_curso_escolar),
FOREIGN KEY (id_alumno) REFERENCES persona(id),
FOREIGN KEY (id_asignatura) REFERENCES asignatura(id),
FOREIGN KEY (id_curso_escolar) REFERENCES
curso_escolar(id)
);

Script Datos

Acceder al script SQL para la creación de la base de datos y la inserción de datos: universidad_a.sql.

Consultas sobre una tabla

1- Devuelve un listado con el apellido, y el nombre de todos los alumnos. El listado deberá estar

ordenado alfabéticamente de menor a mayor por el apellido y nombre.

2- Averigua el nombre y los dos apellidos de los alumnos que no han dado de alta su número de

teléfono en la base de datos.

3- Devuelve el listado de los alumnos que nacieron en 1999.

4- Devuelve el listado de las asignaturas que se imparten en el primer cuatrimestre, en el tercer

curso del grado que tiene el identificador 7.

Consultas multitabla (Composición interna)

1- Devuelve un listado con los datos de todas las alumnas que se han matriculado alguna vez en

el Grado en Ingeniería Informática (Plan 2015).


2- Devuelve un listado con todas las asignaturas ofertadas en el Grado en Ingeniería

Informática (Plan 2015).

3- Devuelve un listado de los profesores junto con el nombre del departamento al que están

vinculados. El listado debe devolver cuatro columnas, primer apellido, segundo apellido, nombre

y nombre del departamento. El resultado estará ordenado alfabéticamente de menor a mayor

por los apellidos y el nombre.

4- Devuelve un listado con el nombre de todos los departamentos que tienen profesores que

imparten alguna asignatura en el Grado en Ingeniería Informática (Plan

2015).

5- Devuelve un listado con todos los alumnos que se han matriculado en alguna asignatura durante

el curso escolar 2018/2019.

Consultas multitabla (Composición externa)

Resuelva todas las consultas utilizando las cláusulas LEFT JOIN y RIGHT JOIN.

1- Devuelve un listado con los nombres de todos los profesores y los departamentos que tienen

vinculados. El listado también debe mostrar aquellos profesores que no tienen ningún

departamento asociado. El listado debe devolver cuatro columnas, nombre del departamento,

primer apellido, segundo apellido y nombre del profesor. El resultado estará ordenado

alfabéticamente de menor a mayor por el nombre del departamento, apellidos y el nombre.

2- Devuelve un listado con los profesores que no están asociados a un departamento.

3- Devuelve un listado con los departamentos que no tienen profesores asociados.

4- Devuelve un listado con los profesores que no imparten ninguna asignatura.

5- Devuelve un listado con las asignaturas que no tienen un profesor asignado.

Consultas Extras

1- Devuelve el número total de alumnas que hay.

2- Devuelve un listado con el nombre de todos los grados existentes en la base de datos y el

número de asignaturas que tiene cada uno. Tenga en cuenta que pueden existir grados que no

tienen asignaturas asociadas. Estos grados también tienen que aparecer en el listado. El

resultado deberá estar ordenado de mayor a menor por el número de asignaturas.


3- Devuelve un listado con el nombre de todos los grados existentes en la base de datos y el

número de asignaturas que tiene cada uno, de los grados que tengan más de 40 asignaturas

asociadas.

4- Devuelve un listado que muestre cuántos alumnos se han matriculado de alguna asignatura en

cada uno de los cursos escolares. El resultado deberá mostrar dos columnas, una columna con

el año de inicio del curso escolar y otra con el número de alumnos matriculados.

5- Devuelve un listado con el número de asignaturas que imparte cada profesor. El listado debe

tener en cuenta aquellos profesores que no imparten ninguna asignatura. El resultado mostrará

cinco columnas: id, nombre, primer apellido, segundo apellido y número de asignaturas. El

resultado estará ordenado de mayor a menor por el número de asignaturas.

Subconsultas

1- Devuelve todos los datos del alumno más joven.

2- Devuelve un listado con los profesores que no están asociados a un departamento.

3- Devuelve un listado con los departamentos que no tienen profesores asociados.

4- Devuelve un listado con los profesores que tienen un departamento asociado y que no

imparten ninguna asignatura.

5- Devuelve un listado con las asignaturas que no tienen un profesor asignado.

2) Dado el siguiente problema realizar la normalización correspondiente para el mismo.


3) Realizar una Monografía y luego previa exposición de las Bases de Datos NO

relacionales.(sistema de administración de bases de datos a realizar Mongo DB, Cassandra,

Redis, Azure Cosmos, Couch DB, Amazon Dynamodb, Cloud Bigtable, Neo4j Aura, Apache

HBase)

La misma deberá contener.

- Índice

- Introducción

- Breve reseña histórica

- Cuerpo

- Arquitectura funcional

- Ejemplo

- Conclusión

Nota: Examen Parcial II está divido en 3 tramos

 Primer tramo: Parte práctica completa correspondiente al ejercicio1 (Consultas

avanzadas SQL) y 2(Normalización). (Grupo hasta 3 personas)

 Segundo Tramo: Exposición Bases de datos No relacionales correspondiente al

ejercicio número 3(Bases de datos No Relacionales). (Grupo hasta 3 personas)

 Tercer tramo: Examen individual escrito (Individual)

 Condiciones mínimas para regularizar: Haber presentado el tramo I en su

totalidad, realizar de manera correcta la exposición, aprobar tramo número 3 con nota

mínima 5.
 Instancia Recuperación: 05/11/2024

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy