Está en la página 1de 4

Universidad Católica del Norte

Escuela de Ingenierı́a

Prueba 1
Bases de datos
Eric Ross

Nombre: Fecha: 5 de Junio 2021

Una Universidad local requiere el desarrollo de un sistema que permita tomar la asistencia a sus miles de
estudiantes. Actualmente los profesores toman la asistencia usando el método tradicional de llamadas a viva voz
y anotaciones en papel, pero se requiere un método que permita ahorrar tiempo y no utilice recursos, más allá del
computador de estudiantes y profesores.

La idea de funcionamiento de este sistema es que el profesor, al terminar una clase, active la asistencia y
comparta con sus estudiantes una URL a la que los estudiantes se conecten. Al momento de activar la asistencia,
el profesor podrá seleccionar el “tipo” de asistencia que quiere tomar. En el sistema se pueden registrar diferentes
tipos de asistencia, cada uno definido de diferente forma, ya que el proceso de tomar asistencia se utilizará también
para encuestar a los estudiantes respecto a la calidad de la clase recibida.

Cada “tipo” de asistencia está compuesta de varias preguntas, las que pueden ser de varios tipos:

1. Pregunta tipo nota: En este tipo de pregunta, el estudiante contesta con un valor numérico entre 1 y 7.

2. Pregunta tipo Si/No: En este tipo, el estudiante solo puede responder SI o NO.

3. Pregunta abierta: En este tipo, el estudiante puede responder un texto abierto

Solo una vez que los tipos de encuestas están configurados, un profesor puede pasar la asistencia seleccionando
dicho tipo. Por ejemplo, un profesor podrı́a elegir para la clase de hoy la asistencia de tipo “Solo Nota” (que, por
ejemplo, solamente podrı́a contener una pregunta: la nota que el estudiante le pone a la clase), mientras que en la
clase de mañana podrı́a elegir “Evaluación completa” (que además de incluir una pregunta para ponerle nota a la
clase, podrı́a también preguntar respecto a la hora de inicio y término de la clase, entre otras cosas). Se pueden
definir muchos tipos de asistencia.

Como se puede esperar, cuando un estudiante contesta la asistencia, se registran sus respuestas y el estudiante
queda presente en la clase. Una clase se identifica por el código del ramo, el paralelo, la fecha de la clase y la hora
de inicio de dicha clase.

Trabajo a realizar

A partir de la descripción del problema, y considerando todos los requerimientos mencionados, realice las
siguientes acciones:

1. Construcción del modelo de entidad y relaciones

2. Construcción del modelo relacional

3. Construcción del diccionario de datos, donde para cada tabla se describa:

a) Nombre de la tabla
b) Propósito
c) Todas sus columnas, indicando
1) Nombre de la columna
2) Tipo de dato
3) Restricciones (PK, FK, NotNull, Unique)

4. Generar el SQL para crear todas las tablas y sus relaciones

1
5. Generar el SQL para realizar las siguientes acciones:1

a) Generar el SQL para poblar las tablas con este tipo de asistencia (esta será la asistencia tipo 1)

b) Generar el SQL para poblar las tablas con este tipo de asistencia (esta será la asistencia tipo 2)

c) Generar el SQL para poblar las tablas con estos estudiantes:


RUT Nombre
111 Juanita
222 Pedro
333 Ximena
444 Pablo
d) Generar el SQL para poblar las tablas con estas asignaturas y paralelos:
1 Es posible que cada requerimiento necesite más de una sentencia SQL. En ese caso, escriba todas las que sean necesarias para satisfacer

el requerimiento

2
Asignatura Paralelo Nombre
X1 1 Fı́sica Moderna
X1 2 Álgebra
X2 1 Termodinámica
X3 1 Cálculo
e) Generar el SQL para poblar las tablas con estos profesores:
RUT Nombre
P1 Mauricio
P2 Diego
P3 Carolina
P4 Janet
f ) Generar el SQL para indicar que el profesor P2 abrió una asistencia de tipo 1 en la asignatura X1
paralelo 2, el dia 5 de junio 2020 a las 10:00, y que en dicha asistencia los siguientes estudiantes
respondieron:

RUT Nota R1 R2 R3 R4
111 7 Nada Ninguno Ninguno Ninguno
222 5.5 Newton Movimiento de Bonito ppt Mala conexión del
Parábolas profe
444 4 Movimiento circu- Movimiento de El profe habla cla- El profe no explica
lar Parábolas rito bien
g) Generar el SQL para indicar que el profesor P3 abrió una asistencia de tipo 2 en la asignatura X3
paralelo 1, el dia 4 de junio 2020 a las 18:00, y que en dicha asistencia los siguientes estudiantes
respondieron:
RUT Nota R1 R2 R3 R4 R5 R6 R7
222 4 SI SI SI SI SI SI SI
444 4 NO NO SI NO SI SI NO
h) Generar el SQL para indicar que el profesor P3 abrió una asistencia de tipo 1 en la asignatura X3
paralelo 1, el dia 3 de junio 2020 a las 17:00, y que en dicha asistencia los siguientes estudiantes
respondieron:

RUT Nota R1 R2 R3 R4
222 6.7 Nada Ninguno Ninguno Ninguno
333 5.5 Movimiento uni- Aceleraciónde El profe le pone Pero no le resulta
forme empeño
i) Generar el SQL que indique, por cada estudiante, la cantidad de veces que asistió a cada asignatu-
ra/paralelo:
RUT Curso Paralelo Asistencias
111 X1 2 1
222 X1 2 1
444 X1 2 1
222 X3 1 2
333 X3 1 1
444 X3 1 1
j) Generar el SQL que indique, por cada asignatura/paralelo la cantidad de veces que se tomó asistencia:
Curso Paralelo Cantidad
X1 2 1
X3 1 2
k) Generar el SQL que indique el % de asistencia de cada estudiante a cada asignatura/paralelo:
RUT Curso Paralelo %
111 X1 2 100
222 X1 2 100
444 X1 2 100
222 X3 1 100
333 X3 1 50
444 X3 1 50

3
l) Generar el SQL que indique la cantidad de veces que cada profesor tomó asistencia
m) Generar el SQL que indique, por profesor, el promedio de todas las notas indicadas por los estudiantes

Use su criterio y si tiene que trabajar sobre algún supuesto, especifı́quelo. En todos los casos anteriores, muestre
información apropiada como resultado de las consultas.

Observaciones

1. En esta universidad el proceso de inscripción de asignaturas está separado del proceso de asistencia. En este
sentido, cualquier estudiante puede marcar asistencia en cualquier asignatura.

2. Las respuestas que ingresan los estudiantes se deben guardar de forma anónima, de manera que no se pueda
identificar quién escribe los comentarios.

Lo que tiene que entregar

1. Para los modelos, puede diagramarlos usando cualquier herramienta. Lo importante es que como resultado,
tiene que entregar archivos PDF.

2. El diccionario de datos puede ser un archivo de texto o un word. Lo importante es que el nombre del archivo
sea “diccionario”.

3. Todo el SQL generado debe estar en un solo archivo, especificando cláramente la letra (a-m) que corresponde
a cada SQL.

4. Todos los archivos anteriores se deben comprimir en un solo archivo .zip, y el archivo resultando se subirá a
Campus Virtual.

También podría gustarte