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

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

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

Transcripción

1 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 funcionales, integridad referencial y otros mecanismos para mantenimiento de integridad, tales como disparadores y afirmaciones. El objetivo es la protección de la base de datos de accidentes. Restricciones de los dominios. Integridad referencial. Asertos (asserts). Disparadores (triggers). Seguridad y autorización. Autorización en SQL. Cifrado y autenticación Índice 1. Restricciones de los dominios 3 2. Integridad referencial Integridad referencial en el modelo E-R Modificación de la base de datos Integridad referencial en SQL Asertos 6 4. Disparadores (triggers) Necesidad de los disparadores Disparadores en SQL Cuando no deben usarse disparadores Seguridad y autorización Violaciones de la seguridad Autorizaciones Autorizaciones y vistas Concesión de privilegios El concepto de papel (rol) Trazas de auditoría

2 ÍNDICE 2 6. Autorización en SQL privilegios en SQL Papeles o roles El privilegio de conceder privilegios Otras características Cifrado y autenticación Técnicas de cifrado Autenticación

3 1 RESTRICCIONES DE LOS DOMINIOS 3 En este tema se tratarán las restricciones a la base de datos. Las restricciones son limitaciones que deseamos imponer en nuestra sistema, de forma que sea imposible almacenar datos incorrectos. Algunas de las restricciones ya se han visto, por ejemplo, la limitación de los valores posibles de los atributos a un subconjunto, lo que denominábamos dominio del atributo. 1. Restricciones de los dominios Las restricciones de los dominios son la forma más simple de restricción de integridad. El sistema las verifica fácilmente siempre que se introduce en la base de datos un nuevo elemento de datos. La cláusula create domain se puede usar para definir nuevos dominios. Por ejemplo, las instrucciones: create domain Euros numeric(12,2) create domain Dólares numeric(12,2) Un intento de asignar un valor de tipo Dólares a una variable de tipo Euros resultaría en un error sintáctico, aunque ambos tengan el mismo tipo numérico. SQL también proporciona las cláusulas drop domain y alter domain para borrar o modificar dominios que se hayan declarado anteriormente. La cláusula check de SQL permite restringir aun más los dominios; permite al diseñador del esquema especificar un predicado que debe satisfacer cualquier valor para poder pertenecer al dominio. Véase, como ejemplo: create domain sueldo-por-hora numeric(5,2) constraint comprobación-valor-sueldo check (value 4.00) El dominio sueldo-por-hora tiene una restricción que asegura que el sueldo por hora sea mayor que 4,00. También puede utilizarse para restringir un dominio para que no contenga valores nulos, o se puede limitar para que contenga sólo un conjunto especificado de valores usando la cláusula in. las condiciones check permiten subconsultas que se refieren a otras relaciones. Por ejemplo, esta restricción se podría especificar sobre la relación préstamo: check (nombre-sucursal in (select nombre-sucursal from sucursal))

4 2 INTEGRIDAD REFERENCIAL 4 La condición check verifica que nombre-sucursal en cada tupla en la relación préstamo es realmente el nombre de una sucursal de la relación cuenta. Así, la condición no sólo se debe comprobar cuando se inserte o modifique préstamo, sino también cuando cambie la relación sucursal (en este caso, cuando se borre o modifique la relación cuenta). La restricción anterior es realmente un ejemplo de una clase de restricción muy habitual denominadas restricción de integridad referencial. En el Apartado 2 se estudian estas restricciones y como especificarlas en SQL. Las condiciones check complejas pueden ser útiles cuando se desee asegurar la integridad de los datos, pero se deben usar con cuidado, dado que pueden ser costosas de comprobar. 2. Integridad referencial A menudo se desea asegurar que un valor que aparece en una relación para un conjunto de atributos determinado aparezca también en otra relación para un cierto conjunto de atributos. Esta condición se denomina integridad referencial. El caso más normal es cuando queremos garantizar que el valor almacenado en una clave externa está también como clave primaria en la relación referenciada. En caso contrario, se dice que la tupla de la relación referenciante está colgante. Las tuplas colgantes pueden ser aceptables o no, dependiendo del modelo de datos. En el caso de que no sean aceptables, hay que imponer una integridad referencial o dependencia de subconjunto Integridad referencial en el modelo E-R Si se obtiene el esquema de la base de datos relacional creando tablas a partir de los diagramas E-R, cada relación que proceda de un conjunto de relaciones tendrá restricciones de integridad referencial. Otra fuente de restricciones de integridad referencial son los conjuntos de entidades débiles; el esquema de la relación de cada conjunto de entidades débiles incluye una clave externa, lo que lleva a una restricción de integridad referencial Modificación de la base de datos La modificación de la base de datos puede ocasionar violaciones de la integridad referencial. Las comprobaciones a realizar son sencilla al insertar un dato, simplemente se exige la existencia de las claves primarias relacionadas.

5 2 INTEGRIDAD REFERENCIAL 5 El borrar se da un caso más interesante. Si borramos de la tabla que contiene la clave primaria, pueden existir tuplas dependientes en otras relaciones. En ese caso, se pueden tomar tres opciones diferentes: Impedir la operación. Realizar la operación, y borrar las tuplas de las relaciones dependientes, de forma que se garanticé la consistencia de los datos. Las operaciones de borrados que se realizan en respuesta al borrado inicial se denominan borrados en cascada. Realizar la operación, y poner en la clave externa de las tuplas de las relaciones dependientes, o bien valores nulos, o bien valores predefinidos, de forma que se garantice la consistencia de los datos. Las operaciones de actualización que se realizan en respuesta al borrado inicial se denominan actualizaciones en cascada. Para las actualizaciones, hay que considerar dos casos, las actualizaciones en la tabla referenciada o maestra y las realizadas en la tabla referenciante o de detalle. Si se modifica la clave externa, en la tabla de detalles, el nuevo valor debe existir en la tabla maestra. En caso contrario, se cancela la operación. Si se modifica la clave primaria, en la tabla maestra, se debe realizar una comprobación similar a la realizada en el borrado, que puede incluir también la cancelación de la operación o la realización de actualizaciones en cascada 2.3. Integridad referencial en SQL Las claves externas pueden especificarse como parte de la instrucción create table de SQL usando la cláusula foreign key. De manera predeterminada, una clave externa referencia los atributos que forman la clave primaria de la tabla referenciada (SQL también soporta una versión de la cláusula references, donde se puede especificar explícitamente una lista de atributos de la relación referenciada). Se usa la siguiente sintaxis para declarar que un atributo forma una clave externa: foreign key (A 1 [, A 2,..., A n ]) references R Cuando se viola una restricción de integridad referencial, el procedimiento normal es rechazar la acción que provocó la violación. Sin embargo,

6 3 ASERTOS 6 la cláusula foreign key puede especificar las acciones a tomar para restaurar la integridad referencial. La cláusula on delete cascade asociada con la declaración de la clave externa, provoca que el borrado se realice en cascada. La cláusula on update cascade, de forma similar realiza una actualización en cascada, si se modifica la clave primaria. SQL también permite una acción diferente: establecer a nulo o darle un valor predeterminado a los atributos de la clave externa, de forma que se mantenga la integridad referencial, con la cláusula set default. Si hay una cadena de dependencias de claves externas entre varias relaciones, un borrado o una actualización en uno de sus extremos puede propagarse por toda la cadena, de ahí la denominación de actualizaciones o borrados en cascada. Las transacciones pueden consistir en varios pasos, y las restricciones de integridad se pueden violar temporalmente dentro de una transacción. Las restricciones de integridad se comprueban sólo al final de la transacción, no en los pasos intermedios. 3. Asertos Un aserto es un predicado que expresa una condición que se desea que la base de datos satisfaga siempre. Las restricciones de dominio y las de integridad referencial son formas especiales de los asertos. Se les ha prestado una atención especial porque se pueden verificar con facilidad y se aplican a una gran variedad de aplicaciones de bases de datos. Sin embargo, hay muchas restricciones que no se pueden expresar utilizando únicamente estas formas especiales. Ejemplos de estas restricciones pueden ser: La suma de todos los importes de los préstamos de cada sucursal debe ser menor que la suma de todos los saldos de las cuentas de esa sucursal. Cada préstamo tiene al menos un cliente que tiene una cuenta con un saldo mínimo de Euros. En SQL los asertos adoptan la forma: create assertion <nombre-aserto> check <predicado> Cuando se crea un aserto el sistema comprueba su validez. Si el aserto es válido, sólo se permiten las modificaciones posteriores de la base de datos que no hagan que se viole el aserto. Esta comprobación puede introducir una sobrecarga importante si se han realizado asertos complejos. Por tanto, los asertos deben utilizarse con precaución.

7 4 DISPARADORES (TRIGGERS) 7 4. Disparadores (triggers) Un disparador es una orden que el sistema ejecuta de manera automática como efecto secundario de la modificación de la base de datos. Para diseñar un mecanismo disparador hay que cumplir dos requisitos: Especificar las condiciones en las que se va a ejecutar el disparador. Esto se descompone en un evento que causa la comprobación del disparador y una condición que se debe cumplir para ejecutar el disparador. Especificar las acciones que se van a realizar cuando se ejecute el disparador. Este modelo de disparadores se denomina modelo evento condición acción. Una vez se almacena un disparador en la base de datos, el sistema de base de datos asume la responsabilidad de ejecutarlo cada vez que ocurra el evento especificado y se satisfaga la condición correspondiente Necesidad de los disparadores Los disparadores son mecanismos útiles para alertar a los usuarios o para realizar de manera automática ciertas tareas cuando se cumplen determinadas condiciones. Obsérvese que los sistemas de disparadores en general no pueden realizar actualizaciones fuera de la base de datos, 4.2. Disparadores en SQL Los sistemas de bases de datos SQL usan ampliamente los disparadores, aunque antes de SQL:1999 no fueron parte de la norma. Por desgracia, cada sistema de bases de datos implementó su propia sintaxis para los disparadores, conduciendo a incompatibilidades (La sintaxis SQL:1999 para los disparadores es similar a la sintaxis de los sistemas de bases de datos DB2 de IBM y de Oracle). El disparador debe especificar sobre que tabla se va a activar, y que operación lo dispara: insert, update o delete (No hay disparadores en los select porque estos no modifican los datos). Además debe indicar, cuando se va a ejecutar, antes (before) o después (after) de la operación). También se puede especificar una predicado de condición necesario para la activación del trigger, mediante la cláusula when. Para las actualizaciones, el disparador puede especificar aquellas columnas cuya actualización cause la ejecución del disparador.

8 5 SEGURIDAD Y AUTORIZACIÓN 8 El código que se ejecuta en el disparador puede necesitar los valores de los atributos antes y después de ser modificados. para ello se utilizan las cláusulas referencing new row as y referencing old row as. Los valores nuevos son accesibles en disparadores de inserción o actualización, y los valores antiguos en disparadores de actualización o borrado. Estos disparadores pueden servir como restricciones extras que pueden evitar actualizaciones no válidas. Por ejemplo, si no se desea permitir descubiertos, se puede crear un disparador before que retroceda la transacción si el nuevo saldo es negativo. En lugar de realizar una acción por cada fila afectada, se puede realizar una acción única para la instrucción SQL completa que causó la inserción, borrado o actualización. Para hacerlo se usa la cláusula for each statement en lugar de for each row. Las cláusulas referencing old table as o referencing new table as se pueden usar entonces para hacer referencia a tablas temporales (denominadas tablas de transición) conteniendo todas las filas afectadas. Las tablas de transición no se pueden usar con los disparadores before, pero sí con los after, independientemente de si son disparadores de instrucciones (statement) o de filas (row) Cuando no deben usarse disparadores No se deben usar disparadores para resolver problemas que ya tiene otro mecanismo de resolución, es decir, no se deben usar disparadores para limitar el rango de valores de un atributo (Para eso se usan los dominios), o para preservar la integridad referencial, por ejemplo. A veces se utilizan también para proporcionar datos consolidados o resumidos, obtenidos a partir de los datos reales. Si el sistema gestor lo permite, es mejor utilizar vistas materializadas. Otro uso típico que se puede evitar es el uso de disparadores para realizar copias de los datos, usando los disparadores para marcar los registros que se hayan modificador, creado o borrado desde la última copia. La mayor parte de los sistemas gestores modernos permiten realizar estas réplicas bajo el control del gestor. Por último, las bases de datos orientadas o objetos incluyen varios mecanismos de encapsulamiento que también pueden sustituir y mejorar la funcionalidad que nos pueden dar los disparadores. 5. Seguridad y autorización 5.1. Violaciones de la seguridad Existen varias formas de acceso que pueden ser mal utilizadas. Concretamente hay que impedir las operaciones de lectura no autorizada, las modificaciones no autorizadas, y la destrucción de datos no autorizada

9 5 SEGURIDAD Y AUTORIZACIÓN 9 Para proteger la base de datos hay que adoptar medidas de seguridad en varios niveles: A nivel de Base de datos, a nivel de Sistema operativo, de redes, seguridad física y por último, pero no menos importante, a nivel humano. Las dos últimas son especialmente importantes, ya que romper la seguridad a esos niveles más bajos normalmente conlleva el poder saltársela a niveles más altos. Piénsese, por ejemplo, lo que podría hacer un intruso que obtuviera, mediante engaños, el identificador de usuario y la contraseña del administrador, o con acceso físico a las máquinas y a los discos que gestionan y almacenan la base de datos Autorizaciones Un esquema de seguridad muy utilizado es el autorizaciones, que permitiría realizar (o no) determinadas operaciones sobre los datos. Por ejemplo, podemos tener una autorización para lectura, otra para inserción, otra para modificación y otro para borrado. Se le pueden asignar a un usuario todos los tipos de autorización, ninguno o una combinación de ellos. Además de estas autorizaciones, se pueden tener autorizaciones para trabajar con índices, modificar el esquema, etc... La capacidad de crear nuevas relaciones queda regulada mediante la autorización de recursos. El usuario con la autorización de recursos que crea una relación nueva recibe automáticamente todos los privilegios sobre la misma. La forma superior de autoridad es la concedida al administrador de la base de datos. El administrador de la base de datos puede autorizar usuarios nuevos, reestructurar la base de datos, etcétera. Esta forma de autorización es análoga a la proporcionada al superusuario u operador del sistema operativo Autorizaciones y vistas Como se vio en el tema 3, se pueden utilizar vistas para ocultar determinada información, que el usuario de la vista no desea o no deba ver. La creación de vistas no requiere la autorización de recursos. El usuario que crea una vista no recibe necesariamente todos los privilegios sobre la misma. Sólo recibe los privilegios que no añaden nuevas autorizaciones a las que ya posee. Por ejemplo, un usuario no puede recibir la autorización de actualización sobre una vista si no tiene la autorización de actualización sobre las relaciones utilizadas para definir la vista.

10 5 SEGURIDAD Y AUTORIZACIÓN Concesión de privilegios Un usuario al que se le ha concedido una autorización puede ser autorizado a transmitirla a otros usuarios. Sin embargo, hay que tener cuidado con el modo en que se hace, para poder asegurar que la misma pueda retirarse en el futuro. La transmisión de la autorización de un usuario a otro puede representarse mediante un grafo. Los nodos de este grafo son los usuarios. Un arco U i U j indica que el usuario U i concede una autorización a U j. La raíz de todos los grafos será el administrador de la base de datos. Un usuario tiene autorización si y sólo si hay un camino desde el administrador de la base de datos hasta el nodo que representa a ese usuario. Esto se hace así para evitar que un par de usuarios eludan las reglas de retirada de autorizaciones concediéndose autorización mutuamente El concepto de papel (rol) Los papeles o roles son una forma de simplificar la asignación de autorizaciones a los usuarios. Las autorizaciones se conceden a los papeles, de igual modo que se conceden a usuarios individuales. En la base de datos se crea un conjunto de papeles. Se concede uno o varios papeles a cada usuario de la base de datos. Una alternativa similar, pero menos preferible, sería crear un identificador de usuario cajero y permitir que cada cajero se conectase a la base de datos usando este identificador. El problema con este esquema es que no sería posible identificar exactamente al cajero que ha realizado una determinada transacción, conduciendo a problemas de seguridad Trazas de auditoría Una traza de auditoría es un registro histórico de todos los cambios (inserciones, borrados o actualizaciones) de la base de datos, junto con información sobre quién realizó el cambio y cuando. Es posible crear una traza de auditoría definiendo disparadores (usando variables definidas del sistema que identifican el nombre de usuario y la hora). Sin embargo, muchos sistemas de bases de datos proporcionan mecanismos incorporados para crear trazas de auditoría, que son más convenientes de utilizar.

11 6 AUTORIZACIÓN EN SQL Autorización en SQL 6.1. privilegios en SQL La norma SQL incluye los privilegios delete, insert, select y update. SQL también incluye un privilegio references que permite a un usuario o papel declarar claves externas al crear relaciones. Si la relación que se va a crear incluye una clave externa que hace referencia a atributos de otra relación, el usuario o papel debe haber recibido el privilegio references sobre esos atributos. El lenguaje de definición de datos de SQL incluye órdenes para conceder y retirar privilegios. La instrucción grant se utiliza para conferir autorizaciones. grant <lista de privilegios> on <nombre de relación o de lista> to <lista de usuarios/papeles> Para retirar una autorización se utiliza la instrucción revoke. Adopta una forma casi idéntica a la de grant: revoke <lista de privilegios> on <nombre de relación o de vista> from <lista de usuarios o papeles> [restrict cascade] Las autorización update e insert puede concederse sobre todos los atributos de la relación o sólo sobre algunos. la lista de atributos sobre los que se va a conceder la autorización opcionalmente aparece entre paréntesis justo después de la palabra clave update o insert. Si se omite la lista de atributos se concede sobre todos los atributos de la relación. El privilegio SQL references también se concede con grant. La siguiente instrucción grant permite al usuario U 1 crear relaciones que hagan referencia a la clave nombre-sucursal de la relación sucursal como si fuera una clave externa: grant references (nombre-sucursal) on sucursal to U 1 En un principio puede parecer que no hay ningún motivo para evitar que los usuarios creen claves externas que hagan referencia a otra relación. Sin embargo, hay que recordar que las restricciones de las claves externas pueden limitar las operaciones de borrado y de actualización sobre la relación a la que hacen referencia. El privilegio all privileges puede utilizarse como una forma abreviada de todos los privilegios que se pueden conceder. De manera parecida, el nombre de usuario public hace referencia a todos los usuarios presentes y futuros del sistema.

12 6 AUTORIZACIÓN EN SQL Papeles o roles Los papeles se pueden crear como sigue: create role cajero Se pueden conceder privilegios a los papeles al igual que a los usuarios, como se ilustra en la siguiente instrucción grant select on cuenta to cajero Los papeles se pueden asignar a los usuarios, así como a otros papeles, como muestran estas instrucciones. grant cajero to Juan create role gestor grant cajero to gestor grant gestor to maría Nótese que esto puede generar una cadena de papeles. Los privilegios efectivos consisten en todos los privilegios concedidos directamente más los concedidos indirectamente. Debido a esto, la retirada de un privilegio a un usuario o papel puede hacer que otros usuarios o papeles también lo pierdan. Este comportamiento se denomina retirada en cadena El privilegio de conceder privilegios Un usuario o papel al que se le concede un privilegio no está autorizado de manera predeterminada a concederlo. Si se desea conceder un privilegio a un usuario y permitirle que lo transmita a otros usuarios hay que añadir la cláusula with grant option a la orden grant correspondiente. Por ejemplo, si se desea conceder a U 1 el privilegio select sobre sucursal y que pueda transmitirlo a otros, hay que escribir grant select on sucursal to U 1 with grant option Otras características El creador de un objeto (relación, vista o papel) obtiene todos los privilegios sobre el objeto, incluyendo el privilegio de conceder privilegios a otros.

13 7 CIFRADO Y AUTENTICACIÓN Cifrado y autenticación Para información extremadamente reservada es necesario cifrar los datos. Los datos cifrados no se pueden leer a menos que el lector sepa la manera de descifrarlos. El cifrado también forma la base de los buenos esquemas para la autenticación de usuarios en una base de datos Técnicas de cifrado Una buena técnica de cifrado tiene las propiedades siguientes: Es relativamente sencillo para los usuarios autorizados cifrar y descifrar los datos. El esquema de cifrado no depende de lo poco conocido que sea el algoritmo, sino más bien de un parámetro del algoritmo denominado clave de cifrado. Es extremadamente difícil para un intruso determinar la clave de cifrado. Los esquemas como DES, TripleDES o Rijndael son esquemas de cifrado simétricos (Se usa la misma clave para cifrar que para descifrar). Para que este esquema funcione los usuarios autorizados deben proveerse de la clave de cifrado mediante un mecanismo seguro, por lo que el esquema es tan seguro como lo sea este mecanismo. Los cifrados de clave pública utilizan claves distintas para el cifrado y para el descifrado, por lo que puede evitar en parte el problema de la distribución de la clave. Cada usuario U i tiene una clave pública C i y una clave privada D i. Las claves públicas, como su nombre indica, son de dominio público: cualquiera puede verlas. La clave privada, por el contrario, sólo es conocida por el usuario al que pertenece. Si el usuario U 1 desea guardar datos cifrados, los cifra utilizando su clave pública C 1. Descifrarlos requiere la clave privada D 1 (Que sólo el conoce). Como la clave de cifrado de cada usuario es pública es posible intercambiar información de manera segura. Si el usuario U 1 desea compartir los datos con U 2 los codifica utilizando C 2, la clave pública de U 2. Dado que sólo U 2 conoce la manera de descifrar los datos, la información se transmite de manera segura. Para que el cifrado de clave pública funcione debe haber un esquema de cifrado que pueda hacerse público sin permitir a la gente descubrir el esquema de descifrado. En otros términos, debe ser difícil deducir la clave privada dada la clave pública.

14 7 CIFRADO Y AUTENTICACIÓN 14 Pese a que el cifrado de clave pública es seguro, también es costoso en cuanto a cálculo. Se suele utilizar un esquema híbrido para la comunicación segura: Se establece una clave de sesión, utilizando cifrado simétrico, por ejemplo DES. las claves se trasmite mediante un cifrado de clave pública y posteriormente se utiliza el cifrado DES para los datos transmitidos Autenticación La autenticación se refiere a la tarea de verificar la identidad de una persona o software que se conecte a una base de datos. La forma más simple consiste en una contraseña o password que se debe presentar cuando se abra una conexión a la base de datos. Sin embargo, el uso de contraseñas tiene algunos inconvenientes, especialmente en una red. Un esquema más seguro es el sistema de desafío/respuesta. El sistema de bases de datos envía una cadena de desafío al usuario. El usuario cifra la cadena de desafío usando una contraseña secreta como clave de cifrado y devuelve el resultado. El sistema de bases de datos puede verificar la autenticidad del usuario descifrando la cadena, y comparando el resultado con la cadena de desafío original. La ventaja de este sistema es que las contraseñas no circulen por la red. Los sistemas de clave pública también se pueden usar para cifrar en un sistema de desafío/respuesta. se cifra la cadena de desafío usando la clave pública del usuario y se le envía al usuario. Éste descifra la cadena con su clave privada y devuelve el resultado al sistema de bases de datos. El sistema de bases de datos comprueba entonces la respuesta. Este esquema tiene la ventaja añadida de no almacenar la contraseña en la base de datos.

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

Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones

Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones CAPÍTULO 6 INTEGRIDAD Y SEGURIDAD Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones hechas a la base de datos por los usuarios autorizados no provoquen la pérdida

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

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

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

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

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

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

Aseveraciones. Disparadores. Ejemplo de aseveración. Ejemplo de disparador. Ejemplo de disparador en SQL:1999

Aseveraciones. Disparadores. Ejemplo de aseveración. Ejemplo de disparador. Ejemplo de disparador en SQL:1999 Tema 4: Otros conceptos de diseño de bases de datos relacionales Aseveraciones Disparadores (triggers) Seguridad Autorización NORMALIZACIÓN Primera forma normal Problemas en el diseño lógico relacional

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

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

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

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

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

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

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

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

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

Seguridad en SQL Server 2005

Seguridad en SQL Server 2005 Seguridad en SQL Server 2005 Tabla de contenidos Modelo de Seguridad en SQL Server Inicios de Sesión - Usuarios Esquemas de Base de Datos Usuarios de Base de Datos Contexto de Ejecución Permisos a sentencias

Más detalles

Pequeños apuntes de SQL *

Pequeños apuntes de SQL * Escuela Universitaria de Ingeniería Técnica en Informática de Oviedo 1 SQL Pequeños apuntes de SQL * En estas hojas se exponen de manera concisa algunos aspectos adicionales del SQL, así como ejemplos

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

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

Bases de Datos I. Cursada 2008. Clase 3: Restricciones de Integridad (de tablas y generales)

Bases de Datos I. Cursada 2008. Clase 3: Restricciones de Integridad (de tablas y generales) Bases de Datos I Cursada 2008 Clase 3: Restricciones de Integridad (de tablas y generales) Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. RESTRICCIONES DE INTEGRIDAD (RI) Una

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

TEMA 5: El lenguaje SQL III: Creación de bases de datos y seguridad.

TEMA 5: El lenguaje SQL III: Creación de bases de datos y seguridad. El lenguaje SQL III: Creación de bases de datos TEMA 5: El lenguaje SQL III: Creación de bases de datos y seguridad 51 Introducción Hasta el momento hemos visto sentencias SQL (SELECT INSERT etc) que permiten

Más detalles

Tutorial Oracle SQL Developer 1.2.1

Tutorial Oracle SQL Developer 1.2.1 Tutorial Oracle SQL Developer 1.2.1 Departamento de Informática Índice Í0. Introducción...3 1. Conexión y desconexión de la base de datos...3 2. Ejecución de sentencias SQL...4 3. Creación de tablas...6

Más detalles

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional Tema 7: Modelo Relacional 1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional Dominios, Atributos, Relaciones Representación del esquema relacional Características 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

6. Integridad en Sistemas de Bases de Datos Relacionales

6. Integridad en Sistemas de Bases de Datos Relacionales 6. Integridad en Sistemas de Bases de Datos Relacionales Objetivos Apreciar la necesidad de garantizar la integridad o corrección de la información almacenada en una base de datos Distinguir e identificar

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

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

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

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

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

Restricciones (constraints) FOREIGN KEY

Restricciones (constraints) FOREIGN KEY INSTITUTO DE EDUCACION TECNICA PROFESIONAL INTEP 1 Restricciones (constraints) FOREIGN KEY InnoDB también soporta restricciones de claves foráneas. La sintaxis para definir una restricción de clave foránea

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

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

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

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona 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

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

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

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

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

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

Fundamentos de Oracle

Fundamentos de Oracle Fundamentos de Oracle Introducción Este curso de 40 horas de duración ofrece a los asistentes los conocimientos necesarios para trabajar con el servidor de bases de datos empresarial Oracle 10g, centrándose

Más detalles

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES 1. REGLAS DE TRANSFORMACIÓN DEL ESQUEMA CONCEPTUAL AL LÓGICO ESTÁNDAR Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

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

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

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

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 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

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

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

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

RESTRICCIONES DE DOMINIOS

RESTRICCIONES DE DOMINIOS RESTRICCIONES DE DOMINIOS - Cargo del personal de la inmobiliaria: create domain cargo_personal as character20 check value in Venta, Alquiler, Gerencial - Categoría del barrio: create domain categoría

Más detalles

Tema 3 Modelo relacional

Tema 3 Modelo relacional Contenido: Bases de Datos y Sistemas de Información Ing. Informática GRUPO A Tema 3 Modelo relacional 3.1 Terminología del modelo relacional 3.2 Paso del modelo ER al modelo relacional 3.3 Creación de

Más detalles

Consulta y manipulación de datos. El lenguaje SQL

Consulta y manipulación de datos. El lenguaje SQL Bloque 2 Consulta y manipulación de datos. El lenguaje SQL Como ya hemos visto en el bloque anterior, una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna

Más detalles

Optimización de consultas Resumen del capítulo 14

Optimización de consultas Resumen del capítulo 14 Optimización de consultas Resumen del capítulo 14 Libro: Fundamentos de Bases de Datos Silberschatz et al. 5ed. Dr. Víctor J. Sosa Agenda 1. Visión general 2. Estimación de las estadísticas de los resultados

Más detalles

Tema 3. El modelo Relacional

Tema 3. El modelo Relacional Tema 3. El modelo Relacional Juan Ignacio Rodríguez de León Resumen Presenta el modelo entidad-relación. Visión de alto nivel de las cuestiones referentes a diseño de bases de datos y los problemas encontrados

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

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

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

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

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

A continuación se presentan las principales responsabilidades del Administrador de Bases de datos: 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

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

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Lenguaje de manipulación de datos El lenguaje de manipulación de datos (DML) es una parte central de SQL. Cuando necesite agregar, actualizar o eliminar un dato en la base de datos, se ejecuta una sentencia

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

Sistemas Informáticos I Resumen

Sistemas Informáticos I Resumen Sistemas Informáticos I Resumen Alejandro Bellogín Kouki 20 de enero de 2007 1. Modelo Entidad-Relación y tablas 1.1. Modelo E-R Entidad rectángulo Relaciones rombos Uno a uno! Uno a muchos! Muchos a muchos

Más detalles

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS 1.- INTRODUCCIÓN...1 2.- BASE DE DATOS (DATABASE)...2 3.- DOMINIOS (DOMAIN)...4 4.- TABLAS (TABLE)...6 5.- INDICES (INDEX)...15

Más detalles

Implementación de la integridad de datos

Implementación de la integridad de datos Implementación de la integridad de datos Contenido Introducción 1 Tipos de integridad de datos 2 Exigir integridad de los datos 3 Definición de restricciones 4 Tipos de restricciones 9 Deshabilitación

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 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

Curso de MySQL y Java

Curso de MySQL y Java Curso de MySQL y Java Introducción: instalación, arranque y primeros pasos 1. Material En este curso vamos a trabajar con el servidor mysql versión 4.0.18. También utilizaremos una herramienta llamada

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

Cuando el pedido se entrega al cliente, se genera la factura correspondiente.

Cuando el pedido se entrega al cliente, se genera la factura correspondiente. (-(5&,&,26&$3Ë78/2 Una empresa compra a una serie de es diferentes piezas que posteriormente venderá a sus clientes, debiendo llevar a cabo el control de almacén (nº de piezas existentes de cada una de

Más detalles

Cómo abrir las bases de datos en Aspel-COI 6.0?

Cómo abrir las bases de datos en Aspel-COI 6.0? Cómo abrir las bases de datos en Aspel-COI 6.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

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

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

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

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

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

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

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

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

Introducción. 1.1 Aplicaciones de los sistemas de bases de datos C A P Í T U L O 1

Introducción. 1.1 Aplicaciones de los sistemas de bases de datos C A P Í T U L O 1 C A P Í T U L O 1 Introducción Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos,

Más detalles

1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar

1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar 1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar 3.- 4.- Reglas concernientes a las extensiones del modelo E/R Transformación

Más detalles

2 Diseño lógico: Modelo Relacional

2 Diseño lógico: Modelo Relacional 2 Diseño lógico: Modelo Relacional 2.1 Introducción al modelo relacional... 2 2.1.1 Elementos Básicos... 3 2.1.2 Tipos de Claves... 4 2.1.3 Restricciones del modelo relacional... 4 2.1.4 Notación... 7

Más detalles

Cómo abrir las bases de datos de Aspel-NOI 5.0?

Cómo abrir las bases de datos de Aspel-NOI 5.0? Cómo abrir las bases de datos de Aspel-NOI 5.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Cómo abrir la base de datos de Aspel-SAE 5.0?

Cómo abrir la base de datos de Aspel-SAE 5.0? Cómo abrir la base de datos de Aspel-SAE 5.0? 1 Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde la

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. 2.2.1 Integridad. 2.2.2 Integridad referencial declarativa. 2.3 Creación de índices ISC Ing. Felipe

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

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

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles