A continuación se presentan las principales responsabilidades del Administrador de Bases de datos:

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "A continuación se presentan las principales responsabilidades del Administrador de Bases de datos:"

Transcripción

1 1. ADMINISTRACION DE UNA BASE DE DATOS 1. PRINCIPALES FUNCIONES DEL ADMINISTRADOR A continuación se presentan las principales responsabilidades del Administrador de Bases de datos: Definir procedimientos de respaldo y de recuperación de las Bases de datos. Definir los esquemas de seguridad y de integridad que tendrán las bases de datos. Supervisar el desempeño de las aplicaciones que corren bajo la base de datos. Colaborar con el equipo de desarrollo en la definición del modelo lógico y físico que tendrá la Base de datos, identificando las entidades que interesan a la empresa y que atributos tendrán, restricciones que se implementarán, niveles de seguridad, sistema de concurrencia, entre otros aspectos. Asesorar al usuario canalizando sus inquietudes acerca de los datos contenidos en las tablas y la forma de accederlos, concediendo o revocando los permisos necesarios para manejar estos datos. Asesorar a la empresa en la adquisición de nueva tecnología como: generadores de informes más ágiles, graficadores y herramientas de desarrollo. La seguridad se refiere a la protección que se deberá tener contra accesos de usuarios no autorizados a la información contenida allí. La integridad se refiere a los controles que se deben diseñar para que las transacciones que realicen los usuarios cumplan con condiciones preestablecidas y eviten posibles inconsistencias o errores de digitación para impedir que la base de datos tome estados inválidos. El administrador de una base de datos, como recién se expresó, debe supervisar el desempeño de las aplicaciones sobre la base de datos para que el usuario final tenga la información en forma oportuna. Hay muchos factores que pueden incidir en una baja en el desempeño, como por ejemplo: Una organización física inadecuada de la base de datos. El crecimiento acelerado de las tablas que la componen. Un sistema de concurrencia mal diseñado. Cambios en el hardware o en el software. Por lo anterior, el administrador debe estar monitoreando la base de datos constantemente para hacer los ajustes necesarios.

2 La Integridad La integridad implica asegurarse de que la información contenida en la base de datos está correcta. Se debe verificar que las transacciones que realicen los usuarios autorizados para ello, cumplan con unas precondiciones o postcondiciones que mantengan la base de datos en un estado válido. La integridad se puede clasificar en: Integridad de dominio: significa que debemos velar porque cada valor o instancia de un atributo esté en el dominio o conjunto de valores posibles para ese atributo. El dominio puede ser: Continuo: se dice que un atributo tiene un dominio continuo cuando toma cualquier valor en un rango dado. Ejemplos: el peso de un producto, el tiempo de calentamiento y la demanda de energía. Discreto: se dice que un atributo tiene un dominio discreto cuando puede tomar valores de una lista dada. Ejemplos: el estado civil, el sexo, la profesión y la dependencia donde trabaja un empleado. El dominio también puede subdividirse en: Dinámico: Se caracteriza porque puede variar a través del tiempo. Ejemplo: dependencia, sueldo. Estático: No varían con el tiempo. Ejemplos: el sexo (hay casos excepcionales) o la cédula. Para velar por la integridad de dominio podemos apoyarnos en el tipo de datos que le asociemos a cada atributo y en las funciones de chequeos que se puedan definir con el DBMS utilizado. Cuando tengamos atributos con dominio dinámico y discreto lo más aconsejable para velar por la integridad de dominio, consiste en crear tablas de referencia y luego se crean restricciones de clave foránea. Cuando se trate de un dominio dinámico y continuo, se pueden definir variables dentro de paquetes que se usan dentro de disparadores o triggers. Integridad de entidad: este tipo de integridad vigila que toda instancia de una entidad se distinga de las demás, inequívocamente. Las entidades dentro de una base de datos corresponden a entidades del mundo real donde sus instancias son completamente diferenciables; por ello, cada instancia debe

3 poseer un identificador único y no nulo denominado clave primaria en el modelo relacional. El mecanismo empleado por casi todos los DBMS para garantizar la integridad de entidad es la restricción impuesta a los atributos que forman parte del identificador único de la entidad con la cláusula PRIMARY KEY cuando se define una tabla. Otros identificadores únicos, que no se reconocen en el modelo E-R extendido por Barker, se convierten en claves candidatas en el modelo relacional y se vigilan con la restricción UNIQUE cuando se define una relación o tabla. Integridad Referencial: Este tipo de integridad vigila que un dato que sirva de referencia en una relación o tabla del modelo relacional, de verdad exista en la tabla referenciada. El dato (o conjunto de datos) de referencia es llamado clave foránea y es clave primaria en otra entidad. No todos los DBMS nos permiten definir la integridad referencial en el momento de creación de una tabla, a través de la cláusula FOREIGN KEY que se añade al atributo que es una clave foránea. Entonces, en ese caso, es necesario crear una pieza de código o trigger que permita definir la regla de integridad necesaria. Adicionalmente, se debe definir de antemano cómo vamos a proceder cuando se deba eliminar o actualizar cuando existe una clave foránea. Por ejemplo: Qué sucedería si se tuviese que eliminar a un proveedor que por lo menos tiene un pedido a su nombre? Hay tres alternativas: - El rechazo: La transacción será rechazada si al menos existe un pedido. Esto significa que no se podrá eliminar un proveedor que tenga pedidos. - La eliminación en cascada: se eliminan los pedidos que corresponden a éste y a continuación, se elimina al proveedor. - Asignación de nulos a los pedidos que tiene éste y posteriormente se elimina al proveedor; pero esto no se podría hacer si previamente se ha fijado que ningún pedido podrá estar en el sistema sin tener un proveedor asociado.

4 Se escogerá en cada caso particular, obviamente, la alternativa que más se ajuste a las reglas de la organización. ORACLE, admite que cuando especifiquemos un atributo como clave foránea podamos elegir entre las opciones de rechazar la eliminación con la palabra RESTRICT que se coloca como calificador de una clave foránea cuando se crea una tabla, que por defecto es la activa, o la eliminación en cascada con la palabra CASCADE. En la siguiente definición de la tabla de empleados, por ejemplo, se han definido varias reglas de integridad: CREATE TABLE estudiante ( cc VARCHAR2(8) PRIMARY KEY, nombre VARCHAR2(40) NOT NULL, idcarrera CHAR(2) NOT NULL, fecha_ing DATE NOT NULL, telefono VARCHAR2(7), sexo CHAR(1) NOT NULL CONSTRAINT CHECK IN ( F, M ), CONSTRAINT cfcarrera (idcarrera) FOREIGN KEY REFERENCES carrera(id) ON DELETE CASCADE); Así mismo, como en el caso de la eliminación, debemos decidir que acción tomar cuando se actualiza un atributo clave foránea. Se debe especificar el rechazo o la actualización en cascada. A continuación se muestra un ejemplo de cómo sería una actualización en cascada implementada con un trigger o disparador elaborado con PL/SQL para una base de datos ORACLE. CREATE TRIGGER cambio_cascada BEFORE UPDATE OF id ON depto FOR EACH ROW BEGIN UPDATE emp SET iddepto = :new.id WHERE iddepto = :old.id; END; Integridad Definida por el Usuario: son reglas establecidas por el propio diseñador de la base de datos y que corresponden a políticas o normas de la empresa. Algunas de estas reglas se pueden especificar en la base de datos, sin tener que definirlas en las aplicaciones. Esto sería lo ideal no sólo para velar por la integridad de la base de datos, sin importar el ambiente desde el cual se esté teniendo acceso a la base de datos, sino por la reutilización de código que además permite una mayor adaptabilidad del sistema a los cambios organizacionales.

5 Ejemplos: CREATE TRIGGER cambios_confiables BEFORE INSERT OR UPDATE OR DELETE ON emp FOR EACH ROW BEGIN IF (TO_CHAR (SYSDATE,'DY') IN ('SAT', 'SUN') OR (TO_NUMBER (SYSDATE,'HH24') NOT BETWEEN 8 AND 18 THEN RAISE_APPLICATION_ERROR (-20504, 'Solo pueden cambiar datos a los empleados en las horas hábiles del negocio'); END IF; END; CREATE TRIGGER chequeo_sueldo BEFORE INSERT OR UPDATE OF sueldo ON emp FOR EACH ROW WHEN (:new.cargo <> '01') /*exceptuando al presidente*/ DECLARE v_min guia_salarial.minimo%type; v_max guia_salarial.maximo%type; BEGIN SELECT minimo,maximo INTO v_min,v_max FROM guia_salarial WHERE cargo = :new.cargo; IF :new.sueldo < v_min or :new.sueldo > v_max THEN RAISE_APPLICATION_ERROR (-20505, 'El sueldo ' TO_char (:new.sueldo) ' está fuera del permitido para el empleado con id ' :new.id); END IF; END; Seguridad La seguridad se refiere a la protección de los datos contra acceso no autorizado. El objeto de datos que puede requerir protección, va desde la base de datos completa, de algunas tablas hasta una celda específica de una tabla. El alcance de la protección se conoce como granularidad. Diferentes usuarios pueden tener diferentes derechos sobre los mismos objetos. Los manejadores de bases de datos relacionales permiten que el administrador pueda restringir el acceso a ciertos datos que no competen con las funciones del usuario.

6 La seguridad se logra utilizando básicamente dos mecanismos: Vistas: Permite que se limite la visión del usuario a ciertas columnas o filas de determinadas tablas. El sistema de privilegios: el cual el administrador puede conceder o revocar privilegios sobre los objetos de la base de datos a los distintos usuarios. La definición de estos derechos, no es competencia del administrador, es más parte de las políticas de la empresa, él es un ejecutor y auditor de las mismas. Los DBMS tienen los mecanismos que le permiten al administrador implementar estas seguridades, usando principalmente ordenes SQL. Otros dos mecanismos para la protección del acceso no autorizado, que también debe ser tenidos en cuenta, son: La criptografía: que consiste en cifrar los datos para hacerlos ilegibles mediante algoritmos altamente sofisticados de tal manera que sólo los usuarios autorizados puedan descifrarlos. Para encriptar o cifrar los datos, entonces, se necesita de un algoritmo de encriptamiento y de otro para el desencriptamiento. El control de la inferencia: consiste en impedir que un usuario pueda deducir información, sin tener autorización, a partir de los datos a los que sí tiene acceso. A continuación se detallarán los mecanismos de seguridad mediante vistas y privilegios. VISTAS Del mismo modo que una cámara solo captura una parte del escenario, una vista es una presentación restringida de los datos en una base de datos. Una vista es una orden de

7 consulta de datos almacenada que selecciona datos guardados en tablas. Esto es, una vista es una orden SELECT sin la cláusula ORDER BY. La vista no guarda datos, lo que almacena realmente es el texto SQL de la orden SELECT. El formato para la creación de una vista es el siguiente: CREATE VIEW <nombre vista> [ (nombrecol1, nombrecol2...) ] AS SELECT... [WITH CHECK OPTION] Algunos ejemplos son: CREATE VIEW EMPLEADO AS SELECT NOMBRE, CARGO, FECHA_ING FROM EMP; CREATE VIEW V_VUELOS (PROCEDENCIA, DESTINO, DURACION) AS SELECT ORIGEN, DESTINO, FECHA_INI - FECHA_FIN FROM VUELOS WHERE ORIGEN NOT LIKE 'IB%' WITH CHECK OPTION Obsérvese, en el último ejemplo, que en las vistas se pueden cambiar los nombres de los atributos especificando los nuevos entre paréntesis, después del nombre de la vista. En Oracle, se puede utilizar el comando SQL*PLUS DESC, para describir una vista. Los tipos de datos serán los mismos de las tablas bases. Cuando se crea un vista, se puede usar en una orden SQL como una tabla básica: SELECT * FROM V_VUELOS WHERE ORIGEN<>'MADRID'; Sin embargo, el DBMS la interpreta esta misma orden, como aparece a continuación. SELECT * FROM (SELECT ORIGEN, DESTINO FROM VUELOS WHERE NUM_VUELO NOT LIKE 'IB%' ) WHERE ORIGEN<>'MADRID'; Para la eliminación de una vista se usa el comando DROP; así, por ejemplo: DROP VIEW V_VUELOS;

8 Las vistas se utilizan principalmente con el propósito de ver datos pero también permiten la actualización de datos en las tablas básicas, dependiendo como hayan sido construidas. Bajo ninguna circunstancia se puede borrar una tupla desde una vista. Las vistas son útiles, además, por otras razones: Para simplificar comandos. Si los usuarios no saben plantear ordenes SQL complejas o necesitan ver frecuentemente datos calculados o derivados, una vista puede ser muy útil. Para lograr independencia lógica de datos, ocultando como está guardada la información. El sistema de privilegios Para poder tener acceso a una base de datos, el DBA debe crear usuarios que serán validados con una contraseña, cada vez intenten conectarse. Un nombre-de-usuario (username) es el conjunto nominado de objetos que un usuario guarda juntos; llamado también esquema. Cuando se crea un objeto en un esquema, los demás no tienen acceso a él, a no ser que se concedan privilegios. En Oracle existen tres roles predefinidos, según el tipo de usuario que se desee crear: CONNECT para un usuario final que no tiene que crear o eliminar objetos en la base de datos, RESOURCE para aquellos que si tienen este derecho y DBA que es tipo de usuarios que pueden no sólo crear o destruir objetos propios sino también los objetos de los demás usuarios. Estos permisos se deben dar en orden ascendente; esto es, para dar el permiso RESOURCE, se debe haber concedido previamente el permiso CONNECT y para ser usuario DBA, que es privilegio más alto, se deben haber concedido los dos anteriores. Un usuario se crea con la orden SQL CREATE USER. Su sintaxis es: CREATE USER <nombre-usuario> IDENTIFIED BY <contraseña>; También es posible crear ROLES propios (papeles) y PROFILES (perfiles) para facilitar la administración de los privilegios. Si se tienen definidos varios grupos de usuarios a quienes se les deben conceder los mismos privilegios, estas dos opciones son muy recomendables. Por ejemplo: CREATE ROLE analista identified by an0020;

9 CREATE ROLE seguri_admin IDENTIFIED BY mencha; Ahora, para conceder privilegios o roles a los usuarios, se utiliza la orden GRANT, cuya sintaxis aparece en la página siguiente. GRANT <lista de permisos roles> ON <tabla vista> TO <lista de usuarios o roles PUBLIC> [WITH GRANT OPTION] Donde lista de permisos puede ser una serie de permisos separados por comas. Además de los roles ya enunciados, se tienen entre otros, los permisos o roles siguientes: SELECT INSERT DELETE UPDATE ALL (para abreviar) INDEX ALTER CREATE USER CREATE PROFILE CREATE ROLE IMP_FULL_DATABASE (importar o cargar datos de respaldos) EXP_FULL_DATABASE (hacer respaldos) EXECUTE (ejecutar un procedimiento) Ejemplos: GRANT SELECT, DELETE ON empleados TO analista WITH GRANT OPTION; GRANT ALL ON notas TO jefe; GRANT create profile, alter profile, drop profile, create role, drop any role, grant any role, audit any, audit system, create user, alter user, drop user TO seguri_admin; GRANT imp_full_database TO claudia; GRANT seguri_admin TO claudia; GRANT seguri_admin TO analista;

10 Para conocer cuales privilegios se han concedido se puede consultar la tabla dba_sys_privs del usuario sys. SELECT * FROM sys.dba_sys_privs; Un usuario puede conceder privilegios a los roles, o a los usuarios sobre los objetos de su esquema o de otros usuarios a los que se le hayan dado privilegios con la opción WITH GRANT OPTION. También es posible restringir un privilegio de inserción o de actualización de sólo unas columnas (las restantes deben admitir valores nulos o tener predefinidos valores por defecto), por ejemplo: GRANT INSERT (nombre, cargo) ON emp TO analista, jorge; GRANT INSERT, UPDATE (act_nro) ON cuentas TO contador; Para quitar los permisos concedidos, se utiliza la orden REVOKE, que tiene la sintaxis siguiente: REVOKE <privilegios> ON <tabla vista>from <usuarios roles>; Las Transacciones Una transacción es una unidad lógica de trabajo que corresponde directamente a una sola actividad de la organización. Un sistema de bases de datos puede tener diferentes clases de transacciones, desde actualizaciones simples de manera interactiva hasta transacciones altamente complejas que incluyen miles de operaciones; pero la característica en común que deben tener éstas es que no pueden dejar ninguna de ellas, la base de datos en un estado inconsistente. Esto significa que las operaciones realizadas deben conducir de un estado consistente a otro que también lo sea; aunque después de realizar algunas de las operaciones existan estados intermedios que pueden ser inconsistentes. Por lo tanto, para garantizar la consistencia de la base de datos, se requiere que las operaciones dentro de una transacción se efectúen todas o ninguna de ellas (las transacciones deben considerarse atómicas). Una transacción que no se hizo completamente, debido a una falla en software o en el hardware, debe ser devuelta a su estado inicial y cualquier cambio que se haya grabado debe ser deshecho. En ORACLE los comandos SQL COMMIT y ROLLBACK son usados para finalizar una transacción y comenzar otra (COMMIT hace los cambios permanentes y ROLLBACK deshace todos los cambios hechos en esa transacción).

11 Una unidad lógica de trabajo o transacción se da por finalizada en los siguientes casos: Cuando se da un comando COMMIT o ROLLBACK explícitamente. Cuando se da una orden de definición de datos. La salida del sistema ("exit" hace Commit y "quit" hace Rollback) Una terminación anormal. Para el manejo de las transacciones los DBMS, como ORACLE, construyen automáticamente los archivos imágenes anteriores (before image file, BI) donde se guardan los valores "viejos" de los datos afectados por una transacción y de imágenes posteriores (after image file, AI) donde se guardan los valores "nuevos". Es decir, las bases de datos necesitan un lugar en donde guardar la información para deshacer una transacción cuando se requiera. Cuando una transacción se confirma (se da la orden COMMIT), ya sea implícitamente o explícitamente, se graban todos los valores anteriores de los bloques que no aún se habían escrito en el archivo de imágenes anteriores; luego, los bloques actualizados se escriben en la base de datos, la transacción se marca como completa y, por último, se liberan los bloqueos que se tengan a las filas y a las tablas afectadas por la transacción. El archivo BI copia los bloques antes de la transacción para poder facilitar que un usuario se arrepienta y pueda deshacer los cambios. Esto haría que los bloques del archivo BI sean vuelvan a escribir en la base de datos, deshaciendo efectivamente la transacción. Hasta que el trabajo del usuario no se comprometa, los otros usuarios que consulten los mismos datos, los leerán del archivo BI. Adicionalmente, en ORACLE, se pueden definir marcas de puntos de grabación (savepoint markers) para deshacer una transacción hasta un punto específico de ella con el comando SAVEPOINT. Por ejemplo, en el programa siguiente se colocan varias marcas. BEGIN INSERT INTO emp VALUES( 10, JARAMILLO, LUIS, ANALISTA, ); SAVEPOINT A; INSERT INTO emp VALUES ( 11, VELASQUEZ, ANA, ANALISTA, ); SAVEPOINT B;

12 INSERT INTO emp VALUES ( 12, ARANGO, JULIO, DIGITADOR, );... ROLLBACK TO SAVEPOINT B; COMMIT; END; En este ejemplo quedarían en la tabla emp, sólo los registros de Luis y Ana. CONCURRENCIA Las bases de datos relacionales poseen un sistema de manejo de concurrencia, que permite que múltiples usuarios compartan los mismos recursos al mismo tiempo. Los recursos son objetos de la base de datos. Los objetivos de un sistema de concurrencia son: - Que el acceso a los objetos en forma simultánea, por los usuarios, sea coordinado. - Consistencia de los datos: Un usuario siempre debe tener una vista consistente de los datos que está manipulando. Cuando varias transacciones son ejecutadas concurrentemente en una base de datos compartida, sus ejecuciones deben ser sincronizadas. Esto es, el efecto de una transacción debe ser el mismo que sería si no existiera ninguna otra transacción que se estuviera ejecutando concurrentemente. El efecto de ejecutar varias transacciones al tiempo, debe ser el mismo que si fueran ejecutadas en serie con algún orden. Si esto se puede lograr, se dice que las transacciones son serializables. La necesidad de un control de la concurrencia se ilustra con el siguiente ejemplo: Suponga una compañía de viajes que mantiene una base de datos con la información de los vuelos y alguien llama a reservar un número dado de asientos para determinada fecha. Esta transacción implica mirar la tabla de vuelos para ver cuál cantidad de asientos disponibles existe, luego registrar los nuevos pasajeros y por último actualizar los asientos disponibles. Una dificultad que se puede presentar con esta transacción es que otra persona también esté haciendo otra reservación y se pueda sobrecargar el vuelo. Los tipos de problemas que pueden surgir, se pueden describir así:

13 La actualización perdida. Considere la siguiente secuencia de eventos, donde las transacciones T1 y T2 se están ejecutando concurrentemente, que aparece a continuación. 1. T1 lee el objeto O de la base de datos. 2. T2 lee el objeto O de la base de datos. 3. T1 actualiza el objeto O y lo compromete. 4. T2 actualiza el objeto O y lo compromete. El resultado de estos eventos es que la actualización hecha por T1 se pierde. La lectura desactualizada. Considere la siguiente secuencia de eventos: 1. T1 lee el objeto O de la b.d con el propósito de actualizarlo. 2. T2 lee el objeto O de la b.d con el propósito de mirarlo. 3. T1 modifica el objeto O y lo compromete. El resultado de estos eventos es que T2 ha traído un objeto desactualizado. La solución obvia a estos problemas sería permitirle a una transacción bloquear un objeto durante una actualización y liberarlo apenas culmine. Sin embargo, el mecanismo de bloqueo puede él mismo, generar serios problemas en el sistema y por lo tanto debe ser monitoreado y controlado cuidadosamente. Los mecanismos de control de concurrencia son, entonces, los bloqueos (también llamados candados) que son usados para alcanzar dos objetivos importantes: la consistencia y la integridad de la base de datos. Se pueden diferenciar dos clases de bloqueos: 1. Un bloqueo de lectura que da acceso de sólo lectura a un objeto y evita que cualquier otra transacción actualice el objeto. Esta clase de bloqueo se llama, a menudo, de lectura compartida puesto que varias transacciones pueden tener este tipo de bloqueo al mismo tiempo. 2. Un bloqueo de escritura que otorga un acceso exclusivo de lecto-escritura y previene a la fuerza que otras transacciones lean o escriban sobre el mismo objeto. Un ítem de dato, por supuesto, no necesariamente se requiere bloquear durante toda duración de la transacción y el nivel de concurrencia podría incrementarse

14 bloqueándolo únicamente durante el acceso real al objeto; aunque este procedimiento incrementaría la probabilidad de que ocurra un bloqueo mutuo (deadlock). Bloqueo Mutuo o Abrazo Mortal Considere el siguiente ejemplo: 1. T1 efectúa un bloqueo de escritura al objeto A. 2. T2 efectúa un bloqueo de escritura al objeto B. 3. T1 solicita un bloqueo sobre el objeto B pero debe esperar porque T2 lo tiene bloqueado. 4. T2 solicita un bloqueo sobre el objeto A pero debe esperar porque T1 lo tiene bloqueado. En este punto ni T1 ni T2 pueden proceder porque están bloqueadas mutuamente. La estrategia para resolver este tipo de conflicto consiste en permitir que los bloqueos mutuos ocurran, detectarlos y resolverlos. Para detectarlos el sistema mantiene un grafo en cuyos nodos mantiene las transacciones concurrentes y cuyos arcos son determinados de la siguiente manera: Si la transacción Ti solicita un bloqueo sobre el objeto bloqueado por Tj, se dibuja un arco del nodo Ti al Tj, el arco se quita cuando Tj libera el objeto. Un bloqueo mutuo se observa como un ciclo en el grafo. La técnica de detección de un bloqueo mutuo puede ser muy costosa si el nivel de granularidad es alto en el sistema. T 1 Tj T 2 Para resolver el conflicto de bloqueo mutuo se pueden emplear diferentes técnicas pero la más usual es deshacer alguna de las transacciones en conflicto. En ORACLE se escoge aquella que tenga la menor cantidad de trabajo realizado. Es general, el propósito es reducir la contención de los recursos. Específicamente es deseable minimizar el tiempo entre una actualización y un COMMIT o ROLLBACK y los bloqueos mutuos también pueden evitarse si los procesos hacen bloqueos a estas tablas en el mismo orden cada uno ya sean implícitos o explicítos.

15 El bloqueo en ORACLE y en otros DBMS es completamente automático y no requiere intervención del usuario. No obstante, también se le permite al usuario bloquear cuando lo considere necesario, desahabilitando el bloqueo por defecto. La forma de hacerlo es: LOCK TABLE tabla1 [, tabla2,...] IN { SHARE SHARE UPDATE EXCLUSIVE } MODE [NOWAIT] IN SHARE MODE impide que otra transacción actualice los datos de la tabla que ha sido bloqueada para lectura hasta que haya una orden COMMIT, ROLLBACK o con otra terminación de la transacción, como se expresó anteriormente. IN EXCLUSIVE MODE permite cambiar los datos de la tabla e impide, a otra transacción cualquiera, actualizar los datos al mismo tiempo; pero si le permite verlos excluyendo otros bloqueos. IN SHARE UPDATE MODE permite a otras transacciones consultar la tabla o bloquearla en modo SHARE UPDATE reservándose el derecho de actualizar una(s) fila(s) en una tabla e impidiendo a las otras cambiar las mismas filas; tampoco permite bloqueos exclusivos. La transacción se termina cuando se le hace un commit en cuyo caso actualiza la base de datos y libera las llaves o candados que tiene reservadas. La transacción se deshace cuando se le efectúa un rollback en cuyo caso también libera los candados que tenga asignados. Candados: Impide que la transacción t2 accede un ítem reservado previamente por la transacción t1, hasta que t1 lo libere. Granularidad: Es el tamaño del ítem sobre el cual se ejerce un bloqueo. Este ítem puede ser una página, bloque, una tabla o toda la base de datos. Alcance de los candados: - Exclusivo: Prohíbe el compartir un recurso. La primera transacción que asigna esta llave puede accederlo, mientras que la segunda debe esperar hasta que éste sea liberado. - Compartidos: Dependiendo de las operaciones involucradas permite que los recursos sean compartidos por varios usuarios.

16 Detección de situaciones de abrazo mortal (deadlock ): Esta situación se presenta cuando una transacción t1 está esperando por un recurso que tiene la transacción t2 y ésta a su vez está esperando por un recurso que tiene la t1. Ejemplo: Transacción 1 (t1) Transacción 2 (t2) update socio update socio set fecha_nac = '18-Aug-1960' set fecha_ing = '1-aug-1996' where código = 200; where código = 245; update socio update socio set fecha_nac = '11-Sep-1961' set fecha_ing = '5-May-1995' where código = 245; where código = 200; Muchos manejadores de bases de datos, optan por deshacer la transacción que tenga menos instrucciones y le informa al usuario que se ha detectado una situación de este tipo. Cada aplicación deberá manejar estas situaciones dentro de su programación Respaldo En todo sistema manejador de base de datos existe la posibilidad de que ocurran fallas que generen pérdida de información, estas fallas pueden ocurrir por: Errores del usuario: Como por ejemplo, - Actualización indebida de una tabla. - Fallas en el Hardware: Como por ejemplo un aterrizaje de discos. - Fallas en el software: Errores en el código de una aplicación. Todos los manejadores de bases de datos ofrecen mecanismos de respaldo, que permite hacer copias totales, parciales o increméntales de la base de datos.

17 Los respaldos pueden ser: En línea: Mientras se está respaldando, los datos sigue estando disponible para los usuarios. Esto es muy útil para bases de datos que deben estar en servicio las 24 horas. Fuera de línea: Requiere que la base de datos esté fuera de servicio, mientras se está respaldando Recuperación El sistema de recuperación que ofrecen los manejadores de bases de datos, permite, que en el caso de que ocurra una falla, la base de datos pueda ser restaurada, con un mínimo impacto para el usuario; es decir, que se puedan recuperar todas las transacciones que se habían hecho, hasta momentos antes de que la falla haya ocurrido. Esta recuperación puede ser: - Estática: Es decir la base de datos se restaura hasta el estado en que se encontraba cuando se tomó la última copia. - Dinámica: No sólo restaura la base desde la copia más reciente que se tenga, sino que también es capaz de recuperar las transacciones que se hayan hecho desde ese entonces.

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso

Más detalles

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de

Más detalles

Tema 6. Restricciones a la Base de Datos: Integridad y seguridad

Tema 6. Restricciones a la Base de Datos: Integridad y seguridad Tema 6. Restricciones a la Base de Datos: Integridad y seguridad Juan Ignacio Rodríguez de León Resumen Las restricciones desde el punto de vista de integridad de bases de datos. se presentan dependencias

Más detalles

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas Tema 1. Bases de datos activas Diseño de Sistemas de Bases de Datos Merche Marqués 18 de marzo de 2002 Índice 1. Introducción 1 2. El modelo evento condición acción 1 2.1. Definición y uso de disparadores

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

Manejo de Transacciones

Manejo de Transacciones Bases de Datos Transacciones 1 Manejo de Transacciones Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos Transacciones 2 Transacciones Hasta ahora el modelo de operación en la BD

Más detalles

Tema 6. Transacciones y seguridad

Tema 6. Transacciones y seguridad Tema 6. Transacciones y seguridad Las aplicaciones de bases de datos a gran escala, con bases de datos de gran tamaño y con cientos de usuarios concurrentes, como los sistemas de reservas, los bancos,

Más detalles

CONTROL DE ACCESO. curso 2008

CONTROL DE ACCESO. curso 2008 BASES DE DATOS I CONTROL DE ACCESO curso 2008 Control de Acceso Seguridad: proteger los datos contra usuarios no autorizados Comandos usados por el BDA o el propietario para conceder/revocar permisos de

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN 1. En el SGBD Oracle. Cuál de las siguientes afirmaciones es correcta? a) Los usuarios con el rol de administrador de la base de datos son SYS,

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

Integridad en sistemas de bases de datos relacionales

Integridad en sistemas de bases de datos relacionales Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

Seguridad y Auditoría de Bases de Datos Oracle

Seguridad y Auditoría de Bases de Datos Oracle Página 1 de 10 1. Objetivo y Alcance Describir los aspectos necesarios para garantizar la seguridad y la realización de las auditorías a las. Esta guía comprende desde Introducción a la Seguridad, hasta

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002 SEGURIDAD 1 Bibliografía Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002 Índice Aspectos generales Gestión de usuarios creación modificación Gestión de perfiles

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

El Manejador de Bases de Datos Relacionales ORACLE

El Manejador de Bases de Datos Relacionales ORACLE El Manejador de Bases de Datos Relacionales ORACLE Como la segunda empresa vendedora de software a nivel mundial, ORACLE provee una plataforma completa para desarrollar aplicaciones que utilicen el recurso

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas Bases de Datos / Elementos de Bases de Datos 2011 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Que es un Stored

Más detalles

PRÁCTICA B2. Definición y modificación de datos en SQL

PRÁCTICA B2. Definición y modificación de datos en SQL 3º Ingeniero Técnico en Informática de Sistemas Facultad de Informática Asignatura: Fundamentos de Bases de Datos Curso: 2007/08 PRÁCTICA B2. Definición y modificación de datos en SQL Objetivos Construir

Más detalles

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 Manejo de Concurrencia en Mysql Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 InnoDB y TRANSACTION ISOLATION LEVEL... 3 Lecturas consistentes que no

Más detalles

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle GUÍA DE LABORATORIO Nº 10 Actividad de Proyecto No. 5: Desarrollar mantenimiento preventivo, correctivo o proactivo para garantizar niveles de

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

Más detalles

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS; 1. Conectarse como usuario SYSTEM a la base y crear un usuario llamado administrador autentificado por la base de datos con contraseña admin. Indicar como "tablespace" por defecto USERS y como "tablespace"

Más detalles

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html 1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir

Más detalles

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS Ejemplo del Lado del servidor Aplicación de conceptos: Se hizo referencia a los elementos que poseen los Sistemas de Gestión de Bases de Datos (SGBD)

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

MANUAL BÁSICO DE ORACLE

MANUAL BÁSICO DE ORACLE MANUAL BÁSICO DE ORACLE ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. TIPOS DE DATOS... 4 1.1 TIPOS DE DATOS ALFANUMÉRICOS...

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos.

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos. Sistemas de Datos PROTECCIÓN DE DATOS Niveles de Control de acceso. Criptografía. Aspectos legales y éticos. Esquema de la Clase Importancia de la Información/Datos Req. Seguridad Amenazas Niveles y Medidas

Más detalles

11. Seguridad en sistemas de bases de datos

11. Seguridad en sistemas de bases de datos 11. Seguridad en sistemas de bases de datos Objetivos Comprender la necesidad de controlar el acceso a la información almacenada por parte de usuarios no autorizados Conocer las posibilidades que puede

Más detalles

Otros objetos de Base de Datos

Otros objetos de Base de Datos Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Secuencias Triggers Vistas Código almacenado

Más detalles

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES UNIANDES Facultad de Sistemas Mercantiles Carrera de Sistemas de Informática Tema: ORACLE 9i. Autor: Muñoz Vivero Álvaro Andrés Ibarra 2010 Introducción La arquitectura

Más detalles

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING. INFORMÁTICA Base de Datos Usuario A Programa de Aplicación Bodega Usuario B Usuario N Insumo Proveedor Profesor: José Miguel

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

3. El catálogo 26. Laboratorio de Bases de Datos

3. El catálogo 26. Laboratorio de Bases de Datos ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................

Más detalles

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X TÍTULO: El Control de Transacciones como mecanismo de seguridad en Bases de Datos Oracle. AUTORES: Osmani Miranda

Más detalles

Temario Curso Bases de Datos

Temario Curso Bases de Datos Temario Curso Bases de Datos TEMA 1. INTRODUCCION A LAS BASES DE DATOS 1. Cualidades De La Información 2. Sistemas de Información 2.1. Componentes de un Sistema de Información 3. Niveles de Gestión de

Más detalles

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP Seguridad de la Información Permisos Permisos Para mantener la seguridad de la base de datos existen permisos que permiten: utilizar la B. D. utilizar tablas de la B. D. utilizar columnas de la B. D. utilizar

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva INDICE Prólogo XXIII Por qué este libro es para usted XXVII Primera Parte. Panorámica general de SQL 1 1. Introducción 3 El lenguaje SQL 3 El papel de SQL 6 Características y beneficios de SQL 7 Independencia

Más detalles

5 Objetos de base de datos

5 Objetos de base de datos 5 Objetos de base de datos Una consulta SQL, restringiendo las filas resultantes, agrupando valores a nivel de grupos de datos, realizando conversiones de datos, etc., puede ser almacenada en la base de

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

2. ESTUDIO DE INDICES

2. ESTUDIO DE INDICES Asignatura de Administración de Bases de Datos Curso 2011/2012 Pág. 1 PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Una compañía de salud gestiona datos relativos a las consultas médicas a pacientes por

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Modulo 1.- CONFIDENCIALIDAD DE LOS DATOS El objetivo de esta parte de la práctica es comprender los distintos mecanismos que se pueden utilizar en ORACLE 10g

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

ACCESS 2010 OFIMÁTICA AULA MENTOR

ACCESS 2010 OFIMÁTICA AULA MENTOR ACCESS 2010 OFIMÁTICA AULA MENTOR Módulo I: Introducción UNIDADES DIDÁCTICAS: 1. Unidad didáctica 1 2 Introducción a las Bases de Datos 2. Unidad didáctica 2 10 Comenzar a trabajar con Access Página 1

Más detalles

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

Haga clic para PostgreS cambiar el estilo

Haga clic para PostgreS cambiar el estilo Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

Más detalles

DataBase Administration

DataBase Administration DataBase Administration 1. FUNCIONES DE UN DBA (Data Base Administrator) El rol de DBA involucra las siguientes tareas: Creación de Bases y Tablas Base de Datos Verificar el lugar de creación, en los espacios

Más detalles

1. Arquitectura y estructura interna de un gestor de bases de datos.

1. Arquitectura y estructura interna de un gestor de bases de datos. 1. Arquitectura y estructura interna de un gestor de bases de datos. Descripción de los procesos de usuario Cuando un usuario ejecuta un programa de aplicación (como un programa Pro * C) o una herramienta

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS 5 ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS Contenido: 5.1 Conceptos Generales Administración de Bases de Datos Distribuidas 5.1.1 Administración la Estructura de la Base de Datos 5.1.2 Administración

Más detalles

Bases de Datos / Elementos de Bases de Datos 2015

Bases de Datos / Elementos de Bases de Datos 2015 Bases de Datos / Elementos de Bases de Datos 2015 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Stored Procedures

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER Proyecto de administración avanzada Alejandro Romero Abadía 1 Este proyecto consiste en una explicación de las funciones que ofrece la consola web de administración

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004 2do. Cuatrimestre de 2004 Elementos de Bases de Datos Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 14 1er. Cuatrimestre

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

Más detalles

AUDITANDO EN LAS BASES DE DATOS

AUDITANDO EN LAS BASES DE DATOS UNICIENCIA UNICIENCIA 22, 2008 22 pp. 135-140 2008 AUDITANDO EN LAS BASES DE DATOS Johnny Villalobos Murillo Facultad de Ciencias Exactas y Naturales, Escuela de Informática, Universidad Nacional de Costa

Más detalles

BASES DE DATOS curso 2002/3

BASES DE DATOS curso 2002/3 3º Ingeniero en Informática BASES DE DATOS curso 2002/3 Anexos del tema 14.- Control de la concurrencia Algunas notas interesantes acerca del significado y propósito de los niveles de aislamiento de transacciones

Más detalles

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g El temario se divide en tres partes: Parte I. Lenguaje SQL Lenguaje SQL Objetivos Conocer los componentes de las bases de datos relacionales Obtener los conocimientos del lenguaje SQL para el manejo de

Más detalles

DICCIONARIO DE DATOS

DICCIONARIO DE DATOS DICCIONARIO DE DATOS Diccionario de datos El diccionario de datos es la fuente de información centralizada de todo el sistema SAP, allí se encuentra (y almacena) todos los datos que se procesan en el sistema;

Más detalles

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

Más detalles