Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Integridad, programacin y seguridad de base de datos con SQL Server 2005
UIVERSIDAD ACIOAL
MICAELA BASTIDAS DE APURMAC
FACULTAD DE IGEIERA
SISTEMA GESTI DE
BASE DE DATOS II
Integridad, Programacin y
Seguridad de Base de Datos
con SQL Server 2005
Resultados
Resultados
Transact-SQL
Transact
Transact-SQL
Aplicacin
Aplicacin
Sistema
Acadmico
Elaborado por:
Ing. Marleny Peralta Ascue
ABACAY - PER
Universidad acional Micaela Bastidas de Apurmac
Escuela Acadmico Profesional de Ingeniera Informtica y Sistemas
Pgina 0 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Funciones.
Implementacin de Vistas y
Procedimientos Almacenados.
Creacin de vistas.
Creacin de una vista a partir de otra.
Procedimientos almacenados sin parmetros.
Procedimientos almacenados con parmetros de entrada.
Procedimientos almacenados con parmetros de salida.
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Creacin de
Creacin de
Creacin de
Creacin de
Implementacin de Triggers o
desencadenadores.
Transacciones.
BEGIN TRANSACTION.
COMMIT TRANSACTION.
ROLLBACK TRANSACTION.
Sentencias de procesamiento de transacciones en un trigger.
Pgina 2 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
TMATRICULA
ID Matricula
TESCUELAPROFESIONAL
Codigo de Escuela Profesional
TIENE
Nombre de Escuela Profesional
Observacin
TSEMESTRE
Codigo del Semestre
TIENE /
PERTENECE
TDOCENTE
Fecha de Inicio
Fecha de Termino
Observacion
PROGRAMA
TIENE
PROGRAMA
GENERA
TASIGNATURAPROGRAMADA
TDETALLEMATRICULA
ID de Asignatura Programada
Codigo de la Asignatura (FK)
Codigo del Semestre (FK)
Codigo del Docente (FK)
Codigo de Escuela Profesional (FK)
Observacion
TIENE ASIGNADA
ID Matricula (FK)
ID de Asignatura Programada (FK)
Fecha de entrega de Actas
Nota
Observacion
TIENE
TIENE
TALUMNO
Codigo del Alumno
TASIGNATURA
Codigo de la Asignatura
TREQUISITO
Codigo del Requisito
Codigo de la Asignatura (FK)
TIENE
Nombre de la Asignatura
Numero de Creditos
Horas de Teora
Horas de Practica
Horas de Laboratorio
Categoria de la Asignatura
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 4 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
TESCUELAPROFESIONAL
CodEscuelaProfesional: char(2)
CodAlumno: numeric(6)
CodEscuelaProfesional: char(2)
CodSemestre: char(4)
FechaMatricula: datetime
TotalCreditos: smallint
Observacion: varchar(50)
NomEscuelaProfesional: varchar(45)
Observacin: varchar(50)
TSEMESTRE
CodSemestre: char(6)
FechaInicio: datetime
FechaTermino: datetime
Observacion: varchar(50)
TDOCENTE
CodDocente: numeric(6)
CodEscuelaProfesional: char(2)
NomDocente: varchar(20)
ApellidoPaternoDocente: varchar(20)
ApellidoMaternoDocente: varchar(20)
DireccionDocente: varchar(45)
TelefonoDocente: char(10)
Sexo: char(1)
FechaNacimiento: datetime
DNIDocente: numeric(8,0)
CategoriaDocente: char(12)
CondicionDocente: char(1)
TASIGNATURAPROGRAMADA
IDAsignaturaProgramada: int
CodAsignatura: char(5)
CodSemestre: char(4)
CodDocente: numeric(7)
CodEscuelaProfesional: char(2)
Observacion: varchar(50)
TDETALLEMATRICULA
IDMatricula: int
IDAsignaturaProgramada: int
FechaActas: datetime
Nota: smallint
Observacion: varchar(35)
TALUMNO
CodAlumno: numeric(6)
TASIGNATURA
TREQUISITO
CodAsignatura: char(5)
Codigo_del_Requisito: char(5)
CodAsignatura: char(5)
NomAsignatura: varchar(50)
NumeroCreditos: smallint
HorasTeoricas: smallint
HorasPractica: smallint
HorasLaboratorio: smallint
CategoriaAsignatura: char(4)
NombreAlumno: varchar(20)
ApellidoPaternoAlumno: varchar(20)
ApellidoMaternoAlumno: varchar(20)
DNIAlumno: numeric(8,0)
FechaNacimiento: datetime
DireccionAlumno: varchar(45)
Sexo: char(1)
TelefonoAlumno: char(10)
Tipo_de_Alumno: varchar(15)
Pgina 5 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 6 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N
N 01
DISEO DE INTEGRIDAD DE DATOS DECLARATIVA
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Crear restricciones DEFAULT, CHECK, PRIMARY KEY, UNIQUE y FOREIGN
KEY.
Determinar que restricciones y que mtodo implementar la integridad de datos.
Utilizar la propiedad IDENTITY en la definicin de una tabla.
II.- TRABAJO PREPARATORIO
Conocer el lenguaje de definicin de datos.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
1. TIPOS DE ITEGRIDAD
Integridad de dominio.
La integridad de dominio (o columna) especifica un conjunto de valores de
datos que son vlidos para una columna y determina si se permiten valores
nulos.
Integridad de entidad.
La integridad de entidad (o tabla) requiere que todas las filas de una tabla
tengan un identificador exclusivo, conocido como clave principal.
Integridad referencial.
La integridad referencial asegura que siempre se mantienen las relaciones entre
las claves principales (en la tabla a la que se hace referencia) y las claves
externas (en las tablas que hacen referencia).
Pgina 7 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Tipo de Integridad
Tipo de Restriccin
DEFAULT
DOMINIO
Descripcin
Especifica el valor que se
proporciona para la columna
cuando no se especifica
explcitamente
en
una
instruccin INSERT.
CHECK
REFERENTIAL
PRIMARY KEY
ENTIDAD
UNIQUE
Identifica
de
forma
exclusiva cada una de las
filas; asegura que los
usuarios no escriban valores
duplicados y que se cree un
ndice para aumentar el
rendimiento. No se permiten
valores nulos.
Impide la duplicacin de
claves
alternativas
(no
principales) y asegura que
se cree un ndice para
aumentar el rendimiento. Se
permiten valores nulos.
Pgina 8 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
FOREIGN KEY
CHECK
REFERENCIAL
SITAXIS:
Creacin de un CONSTRAINT.
ALTER TABLE tabla [WITH CHECK WITH NOCHECK]
ADD CONSTRAINT nombre_constraint <Tipo de Constraint>
Donde:
WITH CHECK WITH NOCHECK: Son aplicables a restricciones CHECK y
FOREIGN KEY
Eliminacin de un CONSTRAINT.
Pgina 9 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 10 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 11 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
______________________________
Pgina 12 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N
N 02
02
DISEO DE INTEGRIDAD DE DATOS DECLARATIVA
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Crear tipos de datos definidos por el usuario.
Crear y utilizar objetos: DEFAULTS y RULES.
II.- TRABAJO PREPARATORIO
Conocer el lenguaje de definicin de datos.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
1. TIPO DE DATOS DEFIIDO POR EL USUARIO: Los tipos de datos definidos
por el usuario estn basados en tipos predefinidos por el sistema en SQL Server,
pueden ser usados en varias tablas que deban guardar el mismo tipo de dato en una
columna y cuando se necesita asegurar que estas columnas tengan exactamente el
mismo tipo de dato, longitud y capacidad de aceptar nulos.
SITAXIS:
SP_DROPTYPE nombre_tipodato
Pgina 13 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
nombre_rule
AS @condicin de expresin
nombre_rule ,
nombre_rule
Donde:
El nombre del objeto puede ser una columna de una tabla (tabla.columna) o un tipo
de datos definido por el usuario.
Pgina 14 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
type_telefono
RULES).
Agregar una columna estado civil del docente a la tabla TDocente
ALTER TABLE TDocente ADD ecivil varchar(12)
Crear un valor predeterminado para la columna ecivil cuyo valor debe asumir
soltero
CREATE DEFAULT Df_ecivil AS 'soltero'
Enlazamos el DEFAULT a la columna ecivil de la tabla TDocente.
SP_BINDEFAULT Df_ecivil, 'TDocente.ecivil'
Pgina 15 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
SP_HELPCONSTRAINT nombre_de_la_tabla
SP_HELP nombre_del_objeto
SP_HELPTEXT nombre_del_objeto
Pgina 16 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N 03
03
FUNCIONES
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Ejecutar consultas utilizando funciones de fecha.
Ejecutar consultas utilizando funciones de cadena de caracteres.
II.- TRABAJO PREPARATORIO
Conceptos bsicos para formular consultas simples y complejas.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Devuelve
un
valor
datetime Nuevo que se
basa en la suma de un int.
Devuelve un entero que
representa la parte de la
fecha especificada.
Devuelve la
desde
especificadas.
diferencia
fechas
Convierte a Maysculas
Convierte a Minsculas
Permite
reemplazar
caracteres de acuerdo a lo
indicado.
Invierte el orden de los
caracteres
SELECT REVERSE(12345)
SELECT REPLICATE(Hola , 3)
SELECT REPLACE(NEOYSTEM,S,OS)
SELECT REPLACE('MARLEN','N','NY')
Pgina 18 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
SELECT STR(YEAR(GETDATE()),4)
Pgina 19 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
AOTACIOES:
Pgina 20 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N 04
04
IMPLEMENTACION DE VISTAS Y PROCEDIMIENTOS
PROCEDIMIENTOS ALMACENADOS
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Crear vistas a partir de tablas
Crear vistas a partir de otras vistas
Crear, ejecutar, modificar y eliminar un procedimiento almacenado.
Crear procedimientos almacenados que acepten parmetros.
II.- TRABAJO PREPARATORIO
Conceptos bsicos para formular consultas simples y complejas.
Conocer funciones de texto y fechas.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
1. VISTA: Es una forma alternativa de ver los datos de una o ms tablas. Es una tabla
virtual cuyo contenido instrucciones de consulta que actan sobre columnas y filas de
una o ms tablas o vistas. No existe como conjunto de datos almacenado en una base
de datos. Una vista acta como filtro de las tablas subyacentes a las que se hacen
referencia en ella.
SITAXIS:
Pgina 21 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Donde:
Encripta las filas almacenadas en la tabla de sistema
syscomments, correspondientes a la vista.
AS
:
Precede a las sentencias SQL
WITH CHECK OPTIO: Asegura que los datos estarn visibles en la vista, despus
de que se haya realizado modificaciones de datos a travs de la vista.
ECRYPTIO:
Donde:
umero
:
Es un
entero
que se usa para agrupar procedimientos
almacenados con el mismo nombre; de forma que sea fcil eliminarlos con una sola
instruccin.
@parametro
VARYIG
:
Define el conjunto de resultados como un parmetro
de salida y se utiliza para el tipo de datos cursos.
OUTPUT
:
Indica que el parmetro o argumento es de retorno. El valor se
devuelve al procedimiento que lo llama.
Pgina 22 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
RECOMPILE :
Significa que el procedimiento almacenado se recompilara cada
vez que se ejecute.
ECRYPTIO :
Indica a SQL Server que encripte las filas almacenadas en la
tabla de sistema syscomments, correspondientes al procedimiento almacenado.
FOR REPLICATIO: Significa que los procedimientos almacenados creados
especficamente para replicacin no podrn ser ejecutados en un servidor suscriptor.
AS
Para ejecutar los procedimientos almacenados con parmetros de salida se debe seguir
los siguientes pasos:
1. Creacin de Vistas.
Cree una vista llamada v_ListadodeAlumnos, que visualice a todos los alumnos de
la Universidad matriculados a partir del ao 2009, detallando su cdigo, nombre
completo y escuela profesional a la que pertenece.
CREATE VIEW v_ListadeAlumnos
AS
SELECT DISTINCT m.CodAlumno Codigo , Nombre_Completo
=ApellidoPaternoAlumno + ' ' +
ApellidoMaternoAlumno +
' ' + NombreAlumno,NomEscuelaProfesional Escuela_Profesional
FROM
TAlumno a INNER JOIN TMatricula m ON
a.CodAlumno = m.CodAlumno INNER JOIN TEscuelaProfesional e
ON m.CodEscuelaProfesional= e.CodEscuelaProfesional
WHERE substring(CodSemestre,1,4)>=2009
Curso: Sistema Gestin de Base de Datos II
Elaborado por: Ing. Marleny Peralta Ascue
Pgina 23 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
3. Procedimientos Almacenados
Procedimientos Almacenados sin parmetros
Pgina 24 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
AND
CodSemestre='2009-2'
ORDER BY 2, 1
Ejecutando:
usp_Alumnosmatriculado2009_2
Ejecutando:
EXEC usp_CargaAcademicaDocente '10802','2009-2'
Crear un procedimiento almacenado que liste a los alumnos matriculados en un
semestre y carrera profesional especfica.
CREATE PROCEDURE usp_AlumnosxEscuelaProfesional
@CodSemestre char(6), @CodEscuela char(3)
AS
SELECT a.CodAlumno Codigo , Nombre_Completo =ApellidoPaternoAlumno
+' '+ ApellidoMaternoAlumno
+' '+ NombreAlumno
FROM
TAlumno a INNER JOIN TMatricula m
ON a.CodAlumno=m.CodAlumno
WHERE CodSemestre=@CodSemestre
AND
m.CodEscuelaProfesional=@CodEscuela
ORDER BY 2
Ejecutando:
Curso: Sistema Gestin de Base de Datos II
Elaborado por: Ing. Marleny Peralta Ascue
Pgina 25 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 26 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 27 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
AOTACIOES:
Paso de valores por el nombre del parmetro
Paso de valores por posicin.
Pgina 28 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N 05
05
IMPLEMENTACI
IMPLEMENTACIN DE TRIGGERS O
DESENCADENADORES
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Definir triggers por actualizacin, insercin y eliminacin.
Modificar y eliminar un trigger.
Utilizar triggers para mantener la integridad de referencia.
II.- TRABAJO PREPARATORIO :
Conocer el lenguaje de manipulacin de datos.
Conocer funciones de texto y fechas.
Leer el marco terico de la presente gua.
III.- MARCO TERICO:
1. DEFINICIN DE TRIGGER:
TRIGGER: Un trigger o desencadenador es un caso
especial de procedimiento almacenado, que se ejecuta automticamente
cuando se produce un evento en el servidor de la base de datos. As,
si por ejemplo se ejecuta una insercin, una actualizacin, o una
eliminacin de una tabla, se ejecutaran las sentencias definidas
para el trigger en concreto de esa tabla especfica.
Los usos principales de un trigger son los siguientes:
Mantener las reglas de integridad de los datos que van ms all de la simple
integridad referencial.
Mantener actualizados los totales dinmicos.
Mantener actualizada una columna actualizada
Implementar una accin referencial, como las eliminaciones en cascada.
Invocar una accin externa
Pgina 29 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 30 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Tabla Deleted: est disponible en las operaciones UPDATE y DELETE, estn los
valores anteriores a la ejecucin de la actualizacin y borrado. Es decir, los datos que
sern borrados. Deleted estar vaca en una operacin INSERT.
3. ELIMIACI DE U TRIGGER.
Pgina 31 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
FOR DELETE
AS
UPDATE Tmatricula
SET Totalcreditos = Totalcreditos - (SELECT numerocreditos FROM Tasignatura a
INNER JOIN Tasignaturaprogramada ap ON ap.codasignatura =
a.codasignatura INNER JOIN DELETED d
ON ap.idasignaturaprogramada = d.Idasignaturaprogramada),
Observacion = 'Matricula modificada Reg.16346'
FROM Tmatricula m INNER JOIN Deleted d ON m.Idmatricula=d.Idmatricula
Comprobando:
Eliminamos el registro que hemos ingresado en la tabla detalle de matrcula:
INSERT INTO Tdetallematricula VALUES (9,12,null,00,'')
La siguiente instruccin de eliminacin sobre la tabla detalle matricula provocar
que el trigger se ejecute.
DELETE Tdetallematricula
WHERE Idasignaturaprogramada=12
AND Idmatricula= 9
Verificamos que el total de crditos mantiene la consistencia de los datos.
SELECT * FROM Tmatricula
envi un mensaje:
Pgina 32 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Verificando:
SELECT * FROM Talumno
V.- EJERCICIOS DE EXTESI
1. Crear un Trigger que actualice el campo observacin de la tabla detalle de
matricula, si el alumno tiene como nota ms de diez (10) actualizar como
aprobado, asimismo debe de actualizar la fecha de entrega de actas.
Pgina 33 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
AOTACIOES:
Pgina 34 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N 06
06
PROGRAMACI
PROGRAMACIN EN SQL SERVER
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Conocer el lenguaje de control de flujo
Utilizar el lenguaje de control de Flujo
II.- TRABAJO PREPARATORIO
Conocer el lenguaje de manipulacin de datos.
Conocer estructuras de control de datos.
Conocer funciones de texto y fechas.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
1. LEGUAJE DE COTROL DE FLUJO: Permite controlar el flujo de ejecucin
de las instrucciones. El Lenguaje de control de flujo se puede utilizar en instrucciones
sencillas como lotes, procedimientos almacenados y triggers.
El Lenguaje de control de flujo proporciona una serie de herramientas que permiten el
control de flujo como en cualquier lenguaje de programacin.
1.1.
1.2.
Pgina 35 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Donde:
Expresin Boleana puede incluir el nombre de una columna, una constante,
cualquier combinacin de nombres de columnas y constantes conectados por
operadores aritmticos, o una subconsulta, siempre que devuelva un solo valor.
1.3.
1.4.
Sentencia BREAK y COTIUE: BREAK sale del final del siguiente bucle
WHILE ms exterior y CONTINUE, reinicia el bucle WHILE.
1.5.
1.6.
1.7.
1.8.
1. Uso de IF..ELSE
Si existe el procedimiento almacenado usp_ingresoregistros y usp_docente
eliminarlo de la tabla sysobjects.
IF EXISTS(SELECT * FROM sysobjects WHERE Type='P'
AND name='usp_ingresoregistros')
DROP PROC usp_ingresoregistros
IF (SELECT COUNT(*) FROM sysobjects WHERE
name ='usp_docente')=1
DROP PROC usp_docente
Universidad acional Micaela Bastidas de Apurmac
Escuela Acadmico Profesional de Ingeniera Informtica y Sistemas
Pgina 36 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
2. Uso de DECLARE
Declarar una variable local y luego visualizarla
DECLARE @Nombre varchar(35)
SET @Nombre= 'Jose Luis'
SELECT @Nombre AS Nombre
4. Uso de WHILE
Hallar la suma acumulativa de los 10 primeros nmeros
DECLARE @num int
DECLARE @suma int
SET @num=0
SET @suma=0
WHILE (@num<10)
BEGIN
SET @num=@num+1
PRINT @num
SET @suma=@suma+@num
END
PRINT 'la suma es:' + str(@suma)
Pgina 37 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
5. Uso de CASE
DECLARE @numdia INT
SET @numdia=DATEPART(dw,getdate())
SELECT CASE @numdia
WHEN 1 THEN 'lunes'
WHEN 2 THEN 'martes'
WHEN 3 THEN 'miercoles'
WHEN 4 THEN 'jueves'
WHEN 5 THEN 'viernes'
WHEN 6 THEN 'sabado'
WHEN 7 THEN 'domingo'
END AS 'Dia de la semana'
Pgina 38 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
UPDATE tdetallematricula
SET nota=10
WHERE idmatricula=9 and idasignaturaprogramada=10
Crear un trigger que actualice el estado del alumno de forma tal que el estudiante
que se encuentra en PRE-GRADO cambia de estado a EGRESADO, siempre y
cuando haya aprobado todos los crditos exigidos del plan de estudios (220 cr.)
CREATE TRIGGER tr_updateestadoalumno
ON tdetallematricula
FOR UPDATE
AS
BEGIN
DECLARE @codalumno varchar(9)
SET @codalumno=(SELECT DISTINCT codalumno
FROM tmatricula m INNER JOIN inserted i
ON i.idmatricula= m.idmatricula)
IF UPDATE(nota)
IF (SELECT sum(numerocreditos)
FROM tmatricula m INNER JOIN tdetallematricula dm
ON m.idmatricula = dm.idmatricula
INNER JOIN tasignaturaprogramada ap
ON dm.idasignaturaprogramada = ap.idasignaturaprogramada
INNER JOIN tasignatura a
ON a.codasignatura = ap.codasignatura
WHERE nota >10 and m.codalumno= @codalumno)=220
UPDATE talumno
SET EstadoAlumno='EGRESADO'
FROM inserted i INNER JOIN tmatricula m
ON i.idmatricula=m.idmatricula INNER JOIN talumno al
ON m.codalumno=al.codalumno
END
Compruebe: Actualice las notas de un alumno que est terminando sus estudios y
esto har que el trigger se ejecute.
Pgina 39 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 40 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 41 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
AOTACIOES:
Pgina 42 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N 07
07
TRANSACCIONES
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Definir una transaccin.
Entender el funcionamiento de las sentencias COMMIT y ROLLBACK.
II.- TRABAJO PREPARATORIO
Implementar procedimientos almacenados con estructuras de control de datos.
Implementar triggers con estructuras de control de datos.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
1. TRASACCI: Una transaccin es un conjunto de operaciones que van a ser
tratadas como una nica unidad de trabajo. Estas transacciones deben cumplir 4
propiedades fundamentales comnmente conocidas como ACID (atomicidad,
coherencia, asilamiento y durabilidad), si una transaccin tiene xito, todas las
modificaciones de los datos realizadas durante la transaccin se confirman y se
convierten en una parte permanente de la base de datos. Si una transaccin encuentra
errores y debe cancelarse o deshacerse, se borran todas las modificaciones de los
datos.
2. TIPOS DE TRASACCIOES:
Pgina 43 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 44 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 45 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 46 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
LABORATORIO N
N 08
08
SEGURIDAD DE LA BASE DE DATOS
I.- OBJETIVOS
Luego de completar este laboratorio usted ser capaz de:
Administrar usuarios y grupos de usuarios a travs de roles
Asignar permisos para el acceso de los datos.
II.- TRABAJO PREPARATORIO
Conocer definiciones de seguridad y administracin de base de datos.
Leer el marco terico de la presente gua.
III.- MARCO TERICO
2. TIPOS DE SEGURIDAD:
Seguridad Fsica: Aquella que persigue salvaguardar los datos de
agresiones externas, como por ejemplo la destruccin de la base de
datos por un incendio o inundacin.
Seguridad Lgica: Aquella que afecta a la proteccin de los datos
de accesos u operaciones no deseados, como por ejemplo, una
Pgina 47 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
2.
AUTENTICACION:
: Proceso por el cual un servidor se registra
AUTENTICACION
el sistema
y
este lo valida.
Existen dos formas de autenticar a los
usuarios:
en
AUTHENTICATION
AUTHENTICATION
Windows
WindowsNT
NT
Verifica
VerificaPassword
Password
Windows
WindowsNT
NT
Windows
WindowsNT
NT
Gropos
GroposooUsuarios
Usuarios
OR
SQL
SQLServer
Server
SQL Server
Verifica Password
SQL
SQLServer
Server
Cuenta
Cuentade
deUsuario
Usuario
3. VALIDACI DE PERMISOS.
Tipos De Permisos.
OBJETOS
OBJETOS
CREATE
CREATEDATABASE
DATABASE
CREATE
CREATETABLE
TABLE
CREATE
CREATEVIEW
VIEW
CREATE
CREATEPROCEDURE
PROCEDURE
DECLARACIONES
DECLARACIONES
SELECT
SELECT
INSERT
INSERT
UPDATE
UPDATE
DELETE
DELETE
REFERENCES
REFERENCES
CREATE
CREATERULE
RULE
CREATE
CREATEDEFAULT
DEFAULT
BACKUP
BACKUPDATABASE
DATABASE
SELECT
SELECT
UPDATE
UPDATE
REFERENCES
REFERENCES
BACKUP
BACKUPLOG
LOG
EXEC
EXEC
Pgina 48 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Concesin de privilegios.
La sentencia que permite otorgar privilegios es:
GRANT sentencia TO USUARIOS
GRANT permisos [(Columnas)] ON tabla TO usuarios
Revocacin de privilegios.
La sentencia que permite quitar los permisos a los usuarios sobre un objeto es:
REVOQUE sentencia FROM USUARIOS
REVOQUE permisos [(Columnas)] ON tabla FROM usuarios
Denegacin de permisos.
La sintaxis que deniega permisos es:
DENY sentencia TO USUARIOS
DENY permisos [(atributos)] ON Tabla TO USUARIOS
Pgina 49 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 50 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Password
David
Eva
Christian
Usuario
David Veneros
Eva Palomino
Christian Aliaga
Grupo
SOPORTE
USUARIO
ADMINISTRADOR
2. Asignacin de Permisos
Agregando usuarios a la base de datos :
1.
2.
3.
4.
Pgina 51 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Asignando permisos.
1. Estando en la ventana de creacin de nuevo usuario de la base de datos,
selecionar la pgina asegurables (Securables)
2. Seleccionar el objeto para asignarles los permisos, en nuestro caso
seleccionaremos las tablas.
3. Hacer clic en Ok.
Pgina 52 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 53 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 54 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 55 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 56 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 57 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
Pgina 58 de 57
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.