VISTAS,FUNCIONES,TRIGERS Y PROCEDIMIENTOS ALMACENADOS EN SQL_SERVER.
Enviado por Juan Andrade • 12 de Julio de 2016 • Práctica o problema • 2.157 Palabras (9 Páginas) • 425 Visitas
Examen Final de Base de Datos II
Indicaciones:
- Las preguntas resueltas (código SQL) se copiarán a este mismo documento, en los recuadros en blanco debajo de las preguntas, asimismo es responsabilidad del alumno copiar el código de las preguntas al último cuadro (Para que el docente pueda ejecutar el código SQL del alumno una sola vez en el SQL Server 2012).
- Guardar el avance del examen constantemente y, de ser posible, sacar copias de respaldo del presente documento (No se admiten excusas de apagado de PC, corte de fluido, USB malogrado u otros).
- Se evaluará además de la ejecución el orden del código SQL para las respuestas.
- Crear una base de datos llamada BD_Final con las siguientes tablas y columnas
- t_docente (dni (PK), nombres, apellidos)
- t_administrativo(dni (PK), nombres, apellidos)
- t_usuario (us_user(PK), us_password, us_nivel)
- Nivel será “doc” para docentes y “adm” para administrativos.
- us_user será el dni y us_password el nombre del docente o administrativo del cual se cree usuario.
- t_alumno (dni (PK), nombres, apellidos, nota1, nota2, nota3)
create database BD_Final ------------------------------------------------- use BD_Final go ------------------------------------------------- create table t_docente ( dni varchar(8) primary key, nombres varchar(20), apellidos varchar(20) ) create table t_administrativo ( dni varchar(8) primary key, nombres varchar(20), apellidos varchar(20) ) create table t_usuario ( us_user varchar(20) primary key, us_password varchar(10), us_nivel varchar(5) ) create table t_alumno ( dni varchar(8) primary key, nombres varchar(20), apellidos varchar(20), nota1 int, nota2 int, nota3 int ) insert into t_docente values('72884713','JUAN','MORALES PEREZ') insert into t_docente values('72884567','MIJAIL','QUISPE MAMANI') insert into t_docente values('72883456','LUIS','CASTAÑEDA LOSSI0') select * from t_docente --------------------------------------------------------- insert into t_administrativo values('72884710','ALAN','GARCIA PEREZ') insert into t_administrativo values('72883456','FERNANDO','BELAUNDE TERRY') select * from t_administrativo ------------------------------------------------------------ insert into t_alumno values('72884715','JEFFERSON','MORALES ZAVALETA',13,14,15) select * from t_alumno |
- Crear los disparadores necesarios para que al insertar un docente en t_docente o administrativo en t_administrativo, se cree automáticamente un usuario para el nuevo docente o nuevo administrativo (en la tabla t_usuario). El usuario del nuevo cliente será su dni y la contraseña su nombre. El nivel del usuario será “doc” para docentes y “adm” para administrativos.
/*TABLA DOCENTE*/ create trigger Insertar_docente on t_docente for insert as begin declare @us_user varchar(8),@us_password varchar(10),@us_nivel varchar(5) set @us_user=(select dni from inserted) set @us_password=(select nombres from inserted) set @us_nivel=(select dni from inserted)
insert into t_usuario values(@us_user,@us_password,'doc') end insert into t_docente values('72884890','JORGE','RODRIGUEZ PEREZ') select * from t_docente select * from t_usuario ------------------------------------------------------------------------------------ /*TABLA ADMINISTRATIVO*/ create trigger Insertar_administrativo on t_administrativo for insert as begin declare @us_user varchar(8),@us_password varchar(10),@us_nivel varchar(5) set @us_user=(select dni from inserted) set @us_password=(select nombres from inserted) set @us_nivel=(select dni from inserted)
insert into t_usuario values(@us_user,@us_password,'admin') end insert into t_administrativo values('72881243','PEDRO','SANCHEZ CACEREZ') select * from t_administrativo select * from t_usuario |
...