Triggers
Triggers
TRABAJO 1
Tenemos la base de datos de un colegio que se encarga de gestionar las
matrculas de los alumnos, las asignaturas, los profesores, los alumnos, los ciclos y las
notas que obtienen los alumnos. La base de datos consta de las siguientes tablas
Matricula Alumnos
IdMatricula (int) IdAlumno (int)
Nombre (char) Nombre (char)
Apellidos (char) Apellidos (char)
idAlumno (int) NexamenesAprobados (int)
IdCiclo (int) NexamenesSuspensos (int)
Asignaturas NotaMedia (float)
IdAsignatura (int) Ciclo
NombreAsignatura (int) IdCiclo (int)
HorasSemanales (int) Nombre (char)
IdCiclo (int) TotalDeAlumnos (int)
NombreProfesor (char) Nota
Profesor Idnota (int)
IdProfesor (int) IdAlumno (int)
Nombre (char) IdAsignatura (int)
Apellidos (char) Nota (float)
a) Cuando se realiza una matrcula actualizar la tabla ciclo aadiendo al ciclo del
que procede la matrcula un alumno al total y aadir un nuevo alumno en la tabla
alumnos con la nota media igual a 0.
b) Cuando se actualicen los datos de un alumno en la tabla alumnos se deben
actualizar tambin los datos que tenga en comn con la tabla matrcula.
Pgina 1 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
c) Cada vez que se introduzca una nota a un alumno debe actualizarse la nota
media de dicho alumno en la tabla alumnos y sumar 1 al nmero de exmenes
aprobados o suspensos en funcin de la nota (si es mayor o igual que 0 y menor
que 5 sumamos 1 a los suspensos, y si es mayor o igual que 5 y menor o igual
que 10 a los aprobados)
d) Cuando se actualice la nota de un alumno debe actualizarse la nota media de
dicho alumno en la tabla alumnos y sumar 1 al nmero de exmenes aprobados
o suspensos en funcin de la nota (si es mayor o igual que 0 y menor que 5
sumamos 1 a los suspensos, y si es mayor o igual que 5 y menor o igual que 10 a
los aprobados) y restar 1 al nmero de exmenes aprobados o suspensos en
funcin de la nota que tena anteriormente (si es mayor o igual que 0 y menor
que 5 sumamos 1 a los suspensos, y si es mayor o igual que 5 y menor o igual
que 10 a los aprobados)
e) Cuando se borra una asignatura, borrar los datos de las tablas que estn
afectadas.
f) Cuando se elimine un alumno de la tabla alumnos eliminar las notas de dicho
alumno, eliminar un alumno del ciclo y eliminar la matrcula del alumno.
Pgina 2 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
TRABAJO 2
Tenemos la base de datos de una inmobiliaria que se encarga de gestionar los
clientes, los empleados, los inmuebles y las operaciones de alquiler de los inmuebles.
La estructura de las tablas es la siguiente:
Clientes Inmuebles
IdCliente (int) IdInmueble (int)
Nombre (varchar) IdPropietario (int)
Direccin (varchar) IdTipo (int)
Fecha de nacimiento (date) Direccin (varchar)
Propietarios Precio (float)
IdPropietario (int) Alquiler
Nombre (varchar) CodAlquiler (Int)
Direccin (varchar) CodCliente (Int)
N_propiedades (int) CodEmpleado (Int)
Empleados IdInmueble (Int)
IdEmpleado (varchar) Tipos
Nombre (varchar) IdTipo (Int)
Direccin (varchar) Nombre (decimal)
Fecha de nacimiento (date) Cantidad (int)
Sueldo (decimal) MediaPrecio (float)
Crea los siguientes triggers que se encarguen de gestionar los datos de la empresa:
Pgina 3 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
Pgina 4 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
TRABAJO 3
Tenemos la base de datos de un casino que se encarga de gestionar los clientes,
los juegos, las partidas y los premios obtenidos en cada una de las partidas. La
estructura de las tablas es la siguiente:
Clientes Partidas
IdCliente (int) IdPartida (int)
Nombre (varchar) IdJuego (int)
Direccin (varchar) IdCliente (int)
Fecha de nacimiento (date) Premios
Capital (float) IdPremio (int)
Juegos IdPartida (int)
Idjuego (int) Cantidad (float)
Nombre (varchar) Prstamos
N_partidas (int) idPrestamo (int)
Coste_por_partida (int) IdCliente (int)
Media_de_los_premios (float) Saldo (float)
Pgina 5 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
Pgina 6 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
TRABAJO 4
Tenemos la base de datos de una empresa que tiene varios hospitales privados
repartidos por toda Espaa y que se encarga de gestionar los enfermos, los mdicos,
los enfermeros, las consultas y las recetas a los pacientes. La estructura de las tablas
es la siguiente:
Receta
Hospital IdReceta (int)
IdHospital (int) IdConsulta (int)
Direccin (varchar) IdMedicamento (int)
Saldo (float) Enfermeros
Enfermos InEnfermero (int)
IdEnfermo (int) Nombre (varchar)
IdHospital (int) Direccin (int)
Nombre (varchar) Sueldo (int)
Direccin (varchar) Pacientes_atendidos (int)
Fecha de nacimiento (date) Consultas
Capital (float) IdConsulta (int)
Mdicos IdMedico (int)
IdMedico (int) IdEnfermero (int)
Nombre (varchar) IdEnfermo (int)
Direccin (int) IdHospital (int)
Sueldo (int) Coste_consulta (float)
Pacientes_atendidos (int) Medicamentos
IdMedicamento (int)
Nombre (varchar)
Precio (float)
Pgina 7 de 8
Centro de Formacin Mdulo: Bases de datos
Profesional Curso: 2016-2017
Mara Auxiliadora Disparadores (Triggers)
www.cmaleon.es
Pgina 8 de 8