Вы находитесь на странице: 1из 15

Elemento de competencia 2: Emplear correctamente las sentencias de SQL

para la, administración eficiente de bases de datos, aplicando sus


fundamentos técnicos.

Ruta de aprendizaje

Fuente: Oralia Cortés G. (2013). Módulo de Diseño de Base de Datos 2

Resultados esperados del aprendizaje


Al terminar el estudio de los temas, el estudiante deberá estar en capacidad de:

A) En cuanto a habilidades

 Aplicar sentencias de SQL para administrar bases de datos.


 Aplicar vistas, Trigger, procedimientos y funciones para dar integridad a la
base de datos.
 Aplicar procedimientos y funciones para facilitar el acceso a los datos.
 Utilizar operaciones del administrador de bases de datos para garantizar
su seguridad.

B) En cuanto a conocimientos
 Identificar sentencias de SQL para el control y administración de bases de
datos.
 Interpretar Vistas, Trigger, procedimientos y funciones para la integridad de
la base de datos.
 Conceptualizar los Procedimientos y funciones para el acceso a los datos.
 Identificar operaciones del administrador para garantizar la seguridad de
 Las bases de datos.

C) En cuanto a actitudes:
 Analítico para representar las necesidades y requerimientos que definen
las situaciones propuestas.
 Asertivo para comprobar el grado de eficiencia de los proyectos y
prácticas que se definen y se diseñan.
 Creativo para seleccionar los medios y mecanismos más adecuados en
cada situación.
 Atento en cada fase de desarrollo de la base de datos.
 Organizado y ético en el manejo de la información
 Persistente en el logro de resultados exitosos
 Responsable, frente al desarrollo de situaciones propuestas de bases de
datos del medio que lo rodea.
 Asertivo en la aplicación de estrategias para la solución de problemas que
requieren como solución bases de datos

Introducción
Las bases de datos se conciben como un elemento importante y fundamental en
el medio Informático, teniendo en cuenta que la información se considera como el
activo de mayor valor, tanto a nivel particular como corporativo lo cual hace
necesario implementar soluciones viables mediante el uso de las bases de datos
complementadas con otras herramientas.

En el elemento de competencia 2 se verifica la manipulación, integridad,


administración y seguridad de las base de datos en el contexto de la Ingeniería de
Software como son los desencadenantes, procedimientos almacenados, funciones
y operaciones sobre la administración y seguridad de las base de datos
relacionales.

Desarrollo temático
Fuente: Oralia Cortés G. (2013). Módulo de Diseño de Base de Datos 2

Tema 1: Vistas y Trigger, para la integridad de la base de datos.

Vistas: “Una vista es una tabla virtual cuyo contenido está definido por una
consulta. Al igual que una tabla real, una vista consta de un conjunto de columnas
y filas de datos con un nombre. Sin embargo, a menos que esté indexada, una
vista no existe como conjunto de valores de datos almacenados en una base de
datos. Las filas y las columnas de datos proceden de tablas a las que se hace
referencia en la consulta que define la vista y se producen de forma dinámica
cuando se hace referencia a la vista”. Tomada de la Web el 28 de septiembre de
2013.
http://www.gradodigital.edu.sv/menu_gd/content/MSSQL2008/MODULO6.pdf
En el documento Vistas.pdf se puede complementar el tema de las vistas.
Obtenido en Internet el 23 de octubre de 2013 de
http://www.gradodigital.edu.sv/menu_gd/content/MSSQL2008/MODULO6.pdf

Sintaxis

CREACIÓN DE VISTAS.
CREATE VIEW <nombre_vista>
AS
(<sentencia_select>);

Ejemplo

CREATE VIEW V_CURSOS


AS
(select *
from curso
where (n_horas between 20 and 80) and valor >all(select valor
from curso
where nom_c in('diseño grafico','circuitos') ))

Trigger: Son bloques de programación que se ejecutan cuando un usuario intenta


realizar instrucciones del DML como INSERT, UPDATE o DELETE en una tabla o
en una vista o del DDL con instrucciones CREATE, ALTER y DROP. Son
procedimientos almacenados, también se llaman desencadenantes o
disparadores.

Fuente: Oralia Cortés G. (2013). Módulo de Diseño de Base de Datos 2


Trigger DML: Se ejecutan cuando un usuario intenta modificar datos mediante un
evento de lenguaje de manipulación de datos (DML).

 INSERT: invoca al trigger cuando una nueva fila es insertada en la tabla


asociada con el trigger.

 DELETE: invoca al trigger cuando una fila asociada a la tabla es borrada.

 UPDATE: invoca al trigger cuando una fila asociada a la tabla es


actualizada

Trigger DDL: Se ejecutan en respuesta a una variedad de eventos de lenguaje de


definición de datos (DDL). Ayuda a la seguridad de la base de datos.

Limitaciones de los trigger

Solo se pueden aplicar a una tabla específica, es decir, un trigger no sirve para
dos o más tablas.

Operaciones con los trigger

 CREATE TRIGGER
Syntax
Create trigger nombre_trigger
On table
For insert, delete, update
Update table
As select

 DISABLE(deshabilitar):
alter table tblnombretabla DISABLE TRIGGER tr_nombre_trigger

 ENABLE(Habilitar):
alter table tblnombretabla enable TRIGGER tr_nombre_trigger

 ALTER (alterar): ALTER TRIGGER tr_ nombre_trigger


 DROP(borrar): DROP TRIGGER tr_ nombre_trigger
Los trigger DML utilizan dos tablas especiales denominadas inserted y deleted,
estas toman la misma estructura que la tabla que ha desencadenado la
ejecución del trigger.

La primera tabla (inserted) solo está disponible en las operaciones INSERT y


UPDATE y en ella están los valores resultantes después de la inserción o
actualización. Es decir, los datos insertados. Inserted estará vacía en una
operación DELETE.

En la segunda (deleted), disponible en las operaciones UPDATE y DELETE,


están los valores anteriores a la ejecución de la actualización o borrado. Es decir,
los datos que serán borrados. Deleted estará vacía en una operación INSERT.

¿No existe una tabla UPDATED? No, hacer una actualización es lo mismo que
borrar (deleted) e insertar los nuevos (inserted). La sentencia UPDATE es la
única en la que inserted y deleted tienen datos simultáneamente.

Ejemplo

/*Controlar mediante trigger el saldo de la cuenta teniendo en cuenta que si tipo


es C una consignacion y si es R es un retiro

create database DB_cuentamovimientos


use DB_cuentamovimientos

create table tblcuenta(


cod_cuenta int identity(1,1) not null,
fecha datetime default getdate() not null,
saldo decimal not null
primary key (cod_cuenta)
)

insert into tblcuenta values (getdate(),25000)


insert into tblcuenta values (getdate(),10000)
insert into tblcuenta values (getdate(),5000)
insert into tblcuenta values (getdate(),15000)
insert into tblcuenta values (getdate(),20000)

create table tblmovimiento(


cod_movimiento int identity(1,1) not null,
fecha datetime default getdate() not null,
tipo varchar(1) not null,
valor decimal not null,
cod_cuenta int not null,
check (tipo in('C','R')),
primary key (cod_movimiento),
foreign key (cod_cuenta) references tblcuenta(cod_cuenta))

/******/
create trigger tr_i_retiro_consignacion
on tblmovimiento
for insert
as
declare @tipo varchar(2)
select @tipo=tipo
from tblcuenta inner join inserted
on tblcuenta.cod_cuenta = inserted.cod_cuenta
if (@tipo = 'C')
begin
update tblcuenta
set tblcuenta.saldo = tblcuenta.saldo + inserted.valor
from tblcuenta inner join inserted
on tblcuenta.cod_cuenta = inserted.cod_cuenta
end
else
begin
update tblcuenta
set tblcuenta.saldo = tblcuenta.saldo - inserted.valor
from tblcuenta inner join inserted
on tblcuenta.cod_cuenta = inserted.cod_cuenta
end
/*Provocar el evento con la operación de inserción*/

select * from tblcuenta


select * from tblmovimiento
insert into tblmovimiento values (getdate(),'C', 25000,1)
insert into tblmovimiento values (getdate(),'R', 25000,1)

En el siguiente documento Trigger transact SQL.pdf puede complementar más el


tema de los trigger tomado de:
http://www.devjoker.com/contenidos/catss/278/Triggers-en-Transact-
SQL.aspx Obtenido en Internet el 23 de octubre de 2013.

Tema 2: Procedimientos y funciones para el acceso a los datos.


Un procedimiento almacenado (store procedure): Es una secuencia ordenada
de instrucciones T-SQL, que pueden recibir y proporcionar parámetros provistos
por el usuario y se pueden guardar en el servidor con un nombre, para
posteriormente se invocados y ejecutados.

Sintaxis

CREATE procedure ( ) nombre_procedure

Declaración de variables

As

(-- Sentencia Transact SQL)

Función: Las funciones en línea son las funciones que devuelven resultados
correspondientes a la ejecución de una sentencia SELECT.

Sintaxis

CREATE FUNCTION Function_NameFunctionName ( -- Lista de parámetros

<@param1, sysname, @p1> <Data_Type_For_Param1, , int>,... )

RETURNS tipo TABLE

AS

RETURN valores

(-- Sentencia Transact SQL)

El documento Procedimientos y funciones.pdf hace referencia a las


operaciones de control sobre la base de datos, que ayudan a la conservación de
los datos como procedimientos almacenados y funciones, se da la sintaxis para su
creación y ejemplos. Texto obtenido el 28 de septiembre de 2013 del sitio Web de
“SQL Server Tech Center” http://technet.microsoft.com/es-
es/library/ms191236.aspx
Tema 3: Operaciones del administrador para garantizar la seguridad de las
bases de datos.

El diseñador en la creación de la base de datos debe tener en cuenta el volumen


de las transacciones, restricciones y especificaciones para poder tener acceso a
los datos; esto permitirá que solo usuarios autorizados por el DBA sean quienes
visualicen la información adecuada.
La base de datos debe tener un buen esquema de seguridad para protegerla de
frente a intrusos no autorizados que puedan ingresar a la base de datos alterando
su integridad, este esquema de seguridad se da permitiendo usuarios con unos
roles ya definidos por el DBA.

Con los PERMISOS dados por el DBA se define quienes pueden ingresar a la
base de datos y que tareas pueden realizar o le están permitidas. Las tareas
pueden estar definidas sobre las tablas, vistas, procedimientos, y todos los objetos
que se crean dentro de la base de datos.

La figura muestra el esquema de seguridad en el DBGS SQL Server.


Tomado de: http://www.canalvisualbasic.net/manual/sql-server/

Los permisos concedidos sobre una base de datos se le llama ROL, muchas
veces los DBGS ya los traen establecidos como son los de administrador y el de
usuario con unas tareas ya establecidas de acuerdo al rol con el que se ingrese a
la base datos, por ejemplo que se pueda crear alterar y borrar tablas, para otro
grupo que puede realizar consultas sobre las tablas y las vistas.

El enlace a la presentación muestra las diferentes formas de seguridad que se


pueden aplicar en una base de datos.
Presentación obtenida el 28 de septiembre de 2013 del sitio Web de “Integridad Y
Seguridad En Las Bases De Datos”:
http://www.slideshare.net/Drakonis11/integridad-y-seguridad-en-las-bases-de-
datos-presentation

Esta lectura contextualiza frente a los mecanismos qué se deben tener en cuenta
al momento de dar seguridad a los datos: Seguridad TSQL SQL server 2008.pdf

Texto obtenido el 28 de septiembre de 2013 del sitio Web de “Escuela Técnica


Superior de Ingenieros Industriales y de Telecomunicación”:
http://personales.unican.es/zorrillm/Dise%C3%B1oAdmonBD/temas/seguridad%20
TSQL%20SQL%20server%202008.pdf

Copias de respaldo y recuperación de datos

Qué importancia tiene la tarea de sacar las copias de seguridad?

Analice el siguiente caso:

“Imagínate a ti mismo llegando a tu lugar de trabajo. Entras, saludas al resto


de la gente, dejas tus cosas y te dispones a comenzar la jornada laboral.
Enciendes el ordenador, pero… algo parece que no funciona bien… Un
escalofrío recorre tu cuerpo y gritas ¡¡Horror!! ¡Se han borrado todos los
datos! Repites continuamente, exclamando ¡Pero si yo dejé el ordenador
apagado ayer y todo estaba perfecto! LLamas al informático, revisa la
máquina y te contesta: Ya he localizado el problema. Comprendo lo que
dices, pero es que el disco duro está muerto. Probablemente un pico de
tensión lo ha quemado y… Comienza el que puede ser el peor día de tu
vida.” Tomada del sitio Web “La importancia (vital) de hacer copias de seguridad
de nuestros datos” obtenido el 28 de septiembre de 2011.
http://www.pymesyautonomos.com/tecnologia/la-importancia-vital-de-hacer-
copias-de-seguridad-de-nuestros-datos
Una de las tareas más importantes que no debe faltar al administrar una base de
datos son las copias de seguridad, son la forma de evitar contratiempos que
pueden ocurrir con los sistemas de bases de datos. Todo negocio establece
mecanismos que le permitan proteger los datos frente a pérdidas no
intencionadas o sabotajes. La forma de solucionar estos problemas se logran con
la copia de seguridad. Realizar la copia periódicamente y guardarla en diferentes
sitios le garantizan a la empresa la recuperación de los datos en caso de pérdida
de los mismos.
La ilustración muestra cómo funciona la copia de seguridad en el DBGS SQL
server.

Imagen tomada de: http://technet.microsoft.com/es-


es/library/cc263427(office.12).aspx

El documento que se presenta a continuación guía paso a paso como realizar la


copia de seguridad de la base de datos utilizando SQL server en una versión 2005
siendo igual para la versión 2008. copiaSeguridadRestauracion.pdf
Texto obtenido el 28 de septiembre de 2013 del sitio Web “ADO.NET - SQL
Server 2005 Express”
http://www.elguille.info/NET/ADONET/SQL2005Express/crear_restaurar_copias_s
eguridad_SQLMangementStudio.htm#copiar#copiar
Observemos el siguiente video que muestra cómo se puede realizar la copia de
seguridad y restauración de la base de datos.
Video obtenido el 28 de septiembre de 2013 del sitio Web de “Backup y Restore
SQL server 2008”
http://www.youtube.com/watch?v=rL3TH-Ax2bs&feature=related

FUENTES DE ESTUDIO
Vistas.pdf: En este documento puede complementar el tema de las vistas.
Obtenido en Internet el 23 de octubre de 2013 de
http://www.gradodigital.edu.sv/menu_gd/content/MSSQL2008/MODULO6.pdf

Transact SQL.pdf: En el siguiente documento puede complementar más el


tema de los trigger tomado de:
http://www.devjoker.com/contenidos/catss/278/Triggers-en-Transact-
SQL.aspx Obtenido en Internet el 23 de octubre de 2013.

Procedimientos y funciones.pdf: El documento hace referencia a las


operaciones de control sobre la base de datos, que ayudan a la
conservación de los datos como procedimientos almacenados y funciones,
se da la sintaxis para su creación y ejemplos. Texto obtenido el 28 de
septiembre de 2013 del sitio Web de “SQL Server Tech Center”
http://technet.microsoft.com/es-es/library/ms191236.aspx

Seguridad TSQL SQL server 2008.pdf:


Esta lectura contextualiza frente a los mecanismos qué se deben tener en
cuenta al momento de dar seguridad a los datos: Texto obtenido el 28 de
septiembre de 2013 del sitio Web de “Escuela Técnica Superior de
Ingenieros Industriales y de Telecomunicación”:
http://personales.unican.es/zorrillm/Dise%C3%B1oAdmonBD/temas/segurida
d%20TSQL%20SQL%20server%202008.pdf

CopiaSeguridadRestauracion.pdf: El documento que se presenta a


continuación guía paso a paso como realizar la copia de seguridad de la
base de datos utilizando SQL server en una versión 2005 siendo igual para la
versión 2008.
Texto obtenido el 28 de septiembre de 2013 del sitio Web “ADO.NET - SQL
Server 2005 Express”
http://www.elguille.info/NET/ADONET/SQL2005Express/crear_restaurar_copias_s
eguridad_SQLMangementStudio.htm#copiar#copiar

http://issuu.com/ngiraldo/docs/basesdatos: Aquí encuentra un módulo de base


de datos perteneciente a un proyecto PAV(proyecto de Aprendizaje Virtual) donde
Oralia Cortés Grajales participó con los contenidos y se dejó en la web para apoyo
a todos los temas de bases de datos.

Conclusión

Se concluye en esta competencia que el estudiante administra la base de datos


utilizando vistas, trigger, procedimientos, funciones y seguridad para la gestión de
los datos almacenados, para la aplicación de situaciones reales, es muy
importante tener claros las peticiones que hace el usuario ya que por medio de las
estructura creada y las vistas, trigger, procedimientos, funciones y seguridad se
pueden satisfacer esta necesidades planteadas inicialmente por el cliente. Estos le
proporcionan la infraestructura requerida para la elaboración de los sistemas de
apoyo a la toma de decisiones y para los sistemas de información que requieren
de bases de datos.

Referencias

Copia de Seguridad y Restauración. Web “ADO.NET - SQL Server 2005 Express”.


Recuperado de
http://www.elguille.info/NET/ADONET/SQL2005Express/crear_restaurar_copias_segurida
d_SQLMangementStudio.htm#copiar#copiar

Date, C.J. (1993). Introducción a los Sistemas de Bases de Datos. México: Addison-
Wesley.

Hansen, G., & Hansen, J. (1997). Diseño y administración de Bases de Datos. México:
Prentice Hall.

Korth, H., Silbershatz, A., & Sudarshan, S. (2006). Fundamentos de Bases de Datos.
Madrid: McGraw-Hill.
Procedimientos y funciones. “SQL Server Tech Center”. Recuperado de
http://technet.microsoft.com/es-es/library/ms191236.aspx

Proyecto P.A.V. Plataforma de Aprendizaje Virtual. Recuperado de


http://es.scribd.com/doc/44997183/BasesdeDatos
Seguridad TSQL SQL server 2008. Recuperado de “Escuela Técnica Superior de
Ingenieros Industriales y de Telecomunicación”: Recuperado de
http://personales.unican.es/zorrillm/Dise%C3%B1oAdmonBD/temas/seguridad%20TSQL
%20SQL%20server%202008.pdf

Transact SQL. Devjoker.com. Recuperado de


http://www.devjoker.com/contenidos/catss/278/Triggers-en-Transact-SQL.aspx

Tutorial desde 0: Crear base de datos en SQL Server 2005/2008 usando SQL Server
Management Studio Express. Recuperado de
http://webtelematica.wordpress.com/2010/02/16/tutorial-desde-0-crear-base-de-datos-en-
sql-server-20052008-usando-sql-server-management-studio-express/

Vistas en SQL server 2008. Recuperado de


http://www.gradodigital.edu.sv/menu_gd/content/MSSQL2008/MODULO6.pdf

Вам также может понравиться