Integridad en sistemas de bases de datos relacionales

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

Download "Integridad en sistemas de bases de datos relacionales"

Transcripción

1 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 los diferentes tipos de reglas de integridad definidos por el estándar SQL-92 1 Integridad en Sistemas de Bases de Datos Relacionales Contenidos Reglas de integridad: consideraciones generales y componentes Reglas de integridad de dominio Reglas de integridad de tabla Reglas de integridad generales y Disparadores Comprobación de restricciones 2 1

2 Integridad en sistemas de bases de datos relacionales Bibliografía más relevante [DD 1996] capítulo 14; [EN 2002] capítulos 7 y 8; [SKS 2002] capitulo 6; [CB 2005] capítulo 6 3 Reglas de integridad Integridad: consistencia o corrección de datos en la base de datos Las reglas de integridad (RI) no son específicas para cada usuario Consideraciones generales 1. Nos interesan las reglas de integridad id d específicas de una BD (reglas del negocio), además de RI Entidad, RI Referencial Veremos las RI definidas sobre tablas base - Por estar restringidas a contener datos correctos (reflejar la realidad) La regla los títulos de las películas son únicos se aplica a la tabla base PELICULA, y también a cualquier vista definida sobre ésta - Podemos definir RI sobre una vista (tabla derivada)? Sería deseable La vista heredaría toda RI de sus tablas base y podría añadir nuevas (ejemplo: clave primaria o alternativa nueva para la vista) Sólo consideraremos RI sobre tablas base (por simplicidad) 4 2

3 Reglas de integridad Consideraciones generales (y 2) 3. Nos interesa soporte de RI declarativo No nos centraremos en... - Procedimientos o funciones almacenados, - Disparadores (triggers) 4. Una BD en un estado de integridad es correcta: No viola ninguna RI conocida por el SGBD, es decir, Satisface AND lógico de todas las RI definidas en su esquema 5. La integridad es importante en... DISEÑO (estructuras de datos y reglas de integridad adecuadas) EJECUCIÓN (corrección de la información) 6. RI son mantenidas en el INFORMATION_SCHEMA del catálogo Subsistema de Integridad del SGBD: controla operaciones de usuario (INSERT,UPDATE,DELETE...) para asegurar que NO violan las reglas de integridad 5 Reglas de integridad Componentes de una RI Nombre actor_cache_ok - Regla almacenada en INFORMATION_SCHEMA del catálogo con ese nombre - Aparecerá en diagnósticos, producidos por el sistema como respuesta a intentos de violación de la regla (mensajes de error al usuario) Restricción NOT EXISTS ( SELECT * FROM ACTOR WHERE cache 0 ) - Expresión booleana Restricción de Integridad Regla de Integridad - La regla... se satisface la restricción es TRUE es violada la restricción es FALSE Respuesta a un intento de violación de la regla - Indica al SGBD qué hacer si se intenta una operación que viola la RI - Por defecto RECHAZAR, que implica... Deshacer los posibles daños causados por la operación Mostrar información de diagnóstico (mensaje) - Podría ser un procedimiento de complejidad arbitraria: tratarerr(...) 6 3

4 Reglas de integridad Creación, destrucción y tipos Creación de una regla de integridad... (en cualquier momento) SGBD comprueba: el estado actual de la BD satisface RI? - No RI rechazada - Sí RI aceptada - Es almacenada en el INFORMATION_SCHEMA del catálogo - La regla es activada (entra en vigor) * Para la RI del ejemplo, actor_cache_ok, el SGBD controlará todo INSERT INTO ACTOR y UPDATE ACTOR SET cache = Destrucción de reglas de integridad - el sistema elimina su definición del INFORMATION_SCHEMA Las RIs pueden restringir los valores legales de... - Dominio - Tabla, Columna - Base de datos 7 Categorías de reglas de integridad 1. Reglas de integridad de Dominio Asociadas a un dominio de datos específico Es una expresión de complejidad arbitraria que define un dominio 2. Reglas de integridad de Tabla RIs de complejidad arbitraria incluidas en la definición de una tabla Pueden ser restricciones de Columna restricciones de Clave Candidata restricciones de Clave Externa restricciones de Comprobación Una tabla vacía cumple cualquier RI de tabla, aunque esa RI sea esta tabla no puede estar vacía 3. Reglas de integridad Generales RIs de complejidad arbitraria no incluidas en la definición de ninguna tabla Son otro elemento más de la BD, al mismo nivel que una tabla o vista 8 4

5 Otras consideraciones Es útil ver la base de datos sujeta a una RI gigante... resultado del AND de todas las RI... - generales -detabla - de dominio aplicadas a cada columna de las tablas Significado formal de la base de datos Una regla de integridad es independiente de cualquier aplicación específica que acceda a la base de datos - No contiene parámetros ni variables host (referencias a variables de los programas de aplicación) 9 Reglas de Integridad de Dominio Definición del conjunto de valores componentes de un dominio: - Enumeración de valores posibles: ( marron, gris, azul, verde, negro ) - Expresión de definición: edad 0 AND edad 120 RI como parte de la sentencia de definición del dominio CREATE DOMAIN <nombre dominio> [ AS ] <tipo de datos> [ DEFAULT <valor defecto> ] [ [ CONSTRAINT <nombre restricción> ] CHECK (<condición>) ]+ ; -<valor defecto> suele contener un literal (perteneciente al dominio) o NULL Aplicada a cada columna (de cualquier tabla) definida sobre el dominio CREATE DOMAIN Color_ojos AS VARCHAR(10) DEFAULT marron CONSTRAINT color_valido CHECK ( VALUE IN ( marron, gris, azul, verde, negro ) ); 10 5

6 Reglas de Integridad de Dominio (2) NOT NULL no es una restricción de dominio válida CREATE DOMAIN Estado_civil AS CHAR(1) NOT NULL Incorrecto CONSTRAINT estado_civil_ok ok CHECK ( VALUE IN ( S, C C, V V, D ) D) ) ; CREATE DOMAIN Estado_civil AS CHAR(1) CHECK (VALUE IS NOT NULL) Correcto CONSTRAINT estado_civil_ok CHECK ( VALUE IN ( S, C, V, D ) ) ; Alteración de un dominio ALTER DOMAIN <nombre dominio> <acción>... ; Permite añadir y eliminar restricciones de integridad de dominio y valor por defecto Explicado en el tema anterior 11 Reglas de Integridad de Dominio (y 3) Eliminación de un dominio DROP DOMAIN <nombre dominio> { RESTRICT CASCADE } ; Opción RESTRICT - La eliminación falla si el dominio es referenciado en cualquier definición de columna en una tabla, de vista o restricción de integridad - En otro caso, éxito: el descriptor del dominio es eliminado del INFORMATION_SCHEMA del catálogo Opción CASCADE -El dominio es eliminado del INFORMATION_SCHEMA, junto con toda vista y RI cuya definición hace referencia al dominio - Las RI de dominio i asociadas no son eliminadas, i sino que cada columna definida sobre el dominio... Es definida directamente sobre el tipo de datos subyacente al dominio Si no tiene DEFAULT explícito, toma el del dominio (si éste lo tenía) Hereda toda restricción de integridad asociada al dominio, - convertida en una restricción de tabla, - sustituyendo VALUE por el nombre de la columna 12 6

7 Reglas de Integridad de Tabla Restricción asociada a una tabla específica - No existe si la tabla no existe y - Eliminar la tabla implica eliminar la RI RIespecificada dentro de CREATE TABLE CREATE TABLE <nombre tabla> ( <lista de elemento de tabla> ) ; donde elemento puede ser: - Definición de columna, que puede incluir RIs de columna - Definición de... (precedida o no de CONSTRAINT <nombre restricción>) Restricción de clave candidata puede hacer referencia a otras tablas, además de a la que la incluye Restricción de clave externa Restricción de comprobación (CHECK) RIañadida/eliminada con ALTER TABLE <nombre tabla>... Toda RI de tabla es comprobada inmediatamente: Una operación de modificación sobre la tabla incluye el chequeo de todas sus RI (como paso final de la operación)+(una posible) acción 13 Reglas de Integridad de Tabla (2) 1. Definición de Columna - RI de Columna Especificación ió del tipo de datos o dominio i y otras RI de columna No necesita sentencia de creación explícita: es parte de la definición de columna, dentro de la sentencia de creación de la tabla CREATE TABLE Actor ( nombre VARCHAR(30) NOT NULL, cache INT(9) DEFAULT 2000 NOT NULL, ojos Color_ojosojos NOT NULL, agencia CHAR(4),...) ; Si se especifica un dominio para una columna, la comprobación es derivada hacia la comprobación de la restricción de dominio Una RI de columna se destruye al eliminar la columna de la tabla 14 7

8 Reglas de Integridad de Tabla (3) 2. Definición de Restricción de Clave Candidata Clave Primaria PRIMARY KEY (<lista columnas>) incluye RI Entidad Clave Alternativa UNIQUE (<lista columnas>) 3. Definición de Restricción de Clave Externa FOREIGN KEY (<lista columnas>) REFERENCES <tabla> (<lista columnas>) [ ON DELETE { NO ACTION CASCADE SET DEFAULT SET NULL } ] [ ON UPDATE { NO ACTION CASCADE SET DEFAULT SET NULL } ] Posibles Acciones de Mantenimiento de la Integridad Referencial (explicadas en el tema anterior) 15 Reglas de Integridad de Tabla (4) Recordemos sobre las claves externas que Cualquier (combinación de) columna(s) puede ser clave externa SQL-92 permite que una clave externa (FK) se refiera a una clave candidata (CK): clave primaria o clave alternativa Una clave externa y la clave candidata a la que referencia Deben contener el mismo nº de componentes (columnas) y Las columnas correspondientes deben estar definidas sobre el mismo dominio o tipo de datos Referencia desde una FK de la tabla T2 a una CK de la tabla T1...» Asegurar que cada T2.FK contiene un valor existente en T1.CK es el problema de la integridad referencial Pueden existir ciclos referenciales y auto-referencias SQL-92 permite ( por supuesto!) que una FK pueda contener NULL salvo si se especifica NOT NULL para dicha FK en el CREATE TABLE 16 8

9 Reglas de Integridad de Tabla (y 5) 4. Definición de Restricción de Comprobación (CHECK) Regla que se refiere únicamente a la tabla que la contiene Puede especificar restricciones adicionales para una columna *El caché de un actor siempre está entre 300 y 1200 CREATE TABLE ACTOR (..., CONSTRAINT actor_cache_ok CHECK ( cache 300 AND cache 1200 ),... ); Puede definir restricciones que involucran varias columnas *Toda película se estrena después de finalizar su rodaje CREATE TABLE PELICULA (..., CONSTRAINT pelicula_fechas_ok CHECK ( fecha_fin_rodaje < fecha_estreno ),... ); 17 Resumen Cuáles son los componentes de una restricción de integridad A qué elementos relacionales se puede aplicar RI Distinguir los diferentes tipos de RI sobre tablas y dominios Definir una regla de integridad 18 9

10 Reglas de Integridad Generales (Asertos) Predicado que expresa una condición que la BD debe satisfacer siempre Puede involucrar cualquier número de columnas de cualquier cantidad de tablas Es un elemento de BD, independiente de tablas y vistas existentes Especifica restricciones de integridad que pueden no ser... de clave (primaria o alternativa) de integridad referencial (clave externa) Tiene un nombre y consta de una condición (CHECK) 19 Reglas de Integridad Generales (2) Satisfacción y violación de una RI general Si alguna fila de la BD hace falsa la condición, el aserto es violado Un estado de la BD satisface un aserto si ninguna (combinación ió de) fila(s) de dicho estado viola la condición que incluye Creación de una RI general CREATE ASSERTION <nombre restricción> CHECK ( <condición> ) ; nombre obligatorio Eliminación de una RI general DROP ASSERTION <nomrestricción> ; Elimina el aserto del INFORMATION_SCHEMA del catálogo Sin opción RESTRICT o CASCADE 20 10

11 Reglas de Integridad Generales (3) Normalmente, la <condición> se expresa en negativo: todo X satisface Y ningún X satisface NO( Y ) *Todo actor representado por la agencia 1 debe cobrar 300 o más CREATE ASSERTION RI1_age1_cache CHECK (NOT EXISTS (SELECT * FROM Actor WHERE agencia=1 AND cache<300)) ; *La paga mínima de los actores que actúan en una película es de CREATE ASSERTION RI2_paga_minima CHECK (SELECT MIN(paga) FROM Actua_en) ; *Toda agencia representa a un máximo de 40 actores CREATE ASSERTION RI3_num_actores_age CHECK (NOT EXISTS (SELECT * FROM Actor GROUP BY codage HAVING COUNT(*) > 40)) ; 21 Reglas de Integridad Generales (4) *Todo actor debe haber participado al menos en una película CREATE ASSERTION RI4_actor_en_pelicula CHECK (NOT EXISTS (SELECT * FROM Actor WHERE coda NOT IN (SELECT actor FROM Actua_en))); *Todo actor no protagonista de una película cobra menos que cualquier protagonista CREATE ASSERTION RI5_paga_actores CHECK (NOT EXISTS (SELECT * FROM Actua_en ACT WHERE papel<> protagonista AND paga >= ANY (SELECT paga FROM Actua_en PROTA WHERE ACT.film=PROTA.film AND PROTA.papel= protagonista )); *Debe de existir al menos una distribuidora de películas CREATE ASSERTION RI6_existe_distribuidora CHECK ( 0 < SELECT COUNT (*) FROM Distribuidora ) ; este aserto... - debe crearse una vez que ya exista alguna fila en DISTRIBUIDORA - una operación DELETE puede violarlo, pero nunca lo hará un INSERT 22 11

12 Reglas de Integridad Generales (5) Algunas RI generales pueden ser expresadas como RI de tabla *El código de los guiones es único ( si hay 2 guiones con igual código, son el mismo) CREATE ASSERTION RI7_guion_codigo_unico CHECK ( NOT EXISTS ( SELECT * FROM Guion G1 WHERE G1.codG IN (SELECT codg FROM Guion G2 WHERE G1.titulo<>G2.titulo OR G1.resumen<>G2.resumen OR G1.nomAutorPpal<>G2.nomAutorPpal OR G1.fechaFin<>G2.fechaFin OR G1.fechaEntrega<>G2.fechaEntrega) g )));) ); este aserto... - Equivale a especificar UNIQUE( codg ) en el CREATE TABLE Guion ( ) 23 Reglas de Integridad Generales (y 6) Y viceversa: algunas RI de tabla pueden ser expresadas como RI generales - Excepto la parte de una RI de clave externa que indica la acción de mantenimiento de la integridad referencial (ON DELETE ON UPDATE ) *Los actores y películas anotados en la tabla ACTUA_EN deben existir CREATE ASERTION RI8_actua_en_ok CHECK (NOT EXISTS (SELECT * FROM Actua_en WHERE actor NOT IN (SELECT coda FROM Actor) OR film NOT IN (SELECT codp FROM Pelicula))); este aserto... - Equivale a especificar... FOREIGN KEY (actor) REFERENCES Actor(codA)... y FOREIGN KEY (film) REFERENCES Pelicula(codP) dentro del CREATE TABLE Actor (...) 24 12

13 Disparadores - versión SQL:1999 En muchos casos conviene especificar una acción que ejecutar tras la violación de una restricción: - Abortar la transacción que provoca la violación, o - Informar de ello al usuario (mensaje), o - Ejecutar cierto procedimiento, o - Realizar otras actualizaciones en la base de datos... Esto se consigue mediante los disparadores o triggers Un disparador se ejecuta de forma automática como efecto secundario de cierta modificación de la BD Los SGBDR usan ampliamente los disparadores, pero no formaron parte del estándar hasta la versión SQL:1999 cada SGBDR los implementó con su propia sintaxis Los disparadores SQL:1999 son similares a los de Oracle 25 Disparadores - versión SQL:1999 (2) Para diseñar un disparador, se debe especificar : - Las condiciones en las que se debe ejecutar: Evento que causa la comprobación del disparador Condición que se debe cumplir para ejecutarlo -La Acción que se realizará cuando se ejecute Es el modelo de disparadores evento-condición-acción La BD almacena los disparadores, por lo que... - son persistentes y - están accesibles para todas las operaciones de BD ElSGBD ejecuta automáticamente un disparador cada vez que ocurre el evento especificado y se cumple la condición correspondiente La ejecución del disparador se considera parte de la ejecución de la operación que provoca su activación 26 13

14 Disparadores - versión SQL:1999 (3) Definición de un disparador CREATE TRIGGER <nombre_disparador> { BEFORE AFTER } { INSERT UPDATE [OF <lista columnas>] DELETE } ON <nombre_tabla> [ REFERENCING OLD [ ROW TABLE ] [ AS ] <nombre> [ NEW [ ROW TABLE ] [ AS ] <nombre> ] ] Evento Parametrización [ FOR EACH ROW FOR EACH STATEMENT ] Granularidad [ WHEN <condición> ] Condición BEGIN ATOMIC... END; Acción 27 Disparadores - versión SQL:1999 (4) * Antes de que un usuario elimine una o varias filas de la tabla PELICULA, el sistema debe anotar dicha acción en una tabla DIARIO_BORRADOS, indicando el usuario y el momento concreto en el que se realiza dicha operación. CREATE TRIGGER anotacion_borrado_pelicula BEFORE DELETE ON PELICULA FOR EACH STATEMENT INSERT INTO Diario_Borrados VALUES( PELICULA, CURRENT_USER, CURRENT_TIMESTAMP); Si la acción del trigger sólo consiste en una sentencia SQL, no es necesario utilizar las palabras reservadas BEGIN ATOMIC ni END Este trigger está escrito en SQL:1999, y no en SQL de Oracle 28 14

15 Disparadores - versión SQL:1999 (5) * Si un actor no protagonista de una película percibe una paga no inferior que la de un protagonista, asignarle el mínimo cobrado por un protagonista menos CREATE TRIGGER PagaNoProta En Oracle este trigger tendría el AFTER UPDATE OF paga ON ACTUA_EN problema de la tabla mutante REFERENCING NEW ROW AS nueva Se verá en las prácticas de PL/SQL FOR EACH ROW WHEN nueva.papel <> protagonista AND nueva.paga (SELECT MAX ( paga ) FROM ACTUA_EN WHERE film = nueva.film AND papel = protagonista ) BEGIN ATOMIC UPDATE ACTUA_EN SET paga = (SELECT MIN( paga ) FROM ACTUA_EN WHERE film = nueva.film AND papel = protagonista ) WHERE actor = nueva.actor AND film = nueva.film END; 29 Disparadores - versión SQL:1999 (y 6) Los disparadores combinan los enfoques declarativo y procedimental -El evento y la condición ió del disparador son declarativos -Su acción opera por procedimientos Comparación ASSERTION vs. TRIGGER - ASSERTION prohibe realizar una actualización que viola el aserto (es decir, que hace FALSE la condición) - TRIGGER puede permitir la actualización que cumple la condición (es decir, que viola una RI), pero ejecuta una acción (que puede reparar la violación, dejando consistente la BD) Las condiciones especificadas en una y otro son inversas 30 15

16 Características adicionales (pseudo-ris) SQL rechaza todo intento de INSERT o UPDATE que viole una especificación de tipo de datos Ejemplo: introducción de valor CHAR en columna definida como INTEGER - Una especificación de tipo de datos puede verse como una forma primitiva de restricción de integridad de dominio - Una violación de una RI de dominio o de tipo de datos se detecta en tiempo de ejecución SQL rechaza todo intento de INSERT o UPDATE sobre una vista, si viola la condición de definición de la vista - Siempre que se haya especificado la opción de verificación en la definición de la vista (WITH CHECK OPTION) 31 Comprobación de restricciones En general, el SGBD comprueba una RI de inmediato, como último paso de la ejecución de una sentencia SQL Si la RI es violada por la sentencia, ésta es cancelada y no tiene efecto sobre la base de datos A veces es necesario que ciertas restricciones no sean comprobadas hasta pasado un tiempo, pues si se hiciera de inmediato siempre fallarían Ciclo referencial EMP DEP Inicialmente, EMP y DEP están vacías CREATE TABLE EMP CREATE TABLE DEP ( cod_emp... ( cod_dep..., depto..., jefe e..., FOREIGN KEY ( depto ) FOREIGN KEY ( jefe ) REFERENCES DEP ( cod_dep )..., REFERENCES EMP ( cod_emp )...,... ) ;... ) ; - Con chequeo inmediato de las RI de clave externa (RI referencial), todo INSERT de una fila en EMP o en DEP fallaría, pues nunca encontraría la fila destino (referenciada) en la otra tabla 32 16

17 Comprobación de restricciones Modos de comprobación En un momento dado, dentro de cierta transacción SQL, toda restricción de integridad debe estar en modo... - INMEDIATE: será comprobada inmediatamente, o - DEFERRED: será chequeada al final de la transacción (diferida) Para algunas restricciones de integridad, la comprobación diferida no tiene sentido: Restricciones de dominio y tipo de datos Restricción de columna NOT NULL y Restricciones de clave candidata (UNIQUE, PRIMARY KEY) 33 Comprobación de restricciones Modos de comprobación (2) Una definición de RI puede incluir estas dos cláusulas [ INITIALLY {IMMEDIATE DEFERRED} ] [ [ NOT ] DEFERRABLE ] - Modo inicial de la RI: INITIALLY DEFERRED o INITIALLY IMMEDIATE Especifica el modo en el que está la RI tras de ser definida (creada) y al comienzo de cada transacción SQL - Opción de cambio de modo: DEFERRABLE o NOT DEFERRABLE Indica si la RI puede pasar a modo DEFERRED - Vl Valores asumidos por omisión: ió Si no se indica ningún modo inicial, se asume INITIALLY IMMEDIATE Si se especifica INITIALLY IMMEDIATE (o se asume)... - Si no se indica DEFERRABLE ni NOT DEFERRABLE, asume NOT DEFERRABLE Si se especifica INITIALLY DEFERRED, no puede indicarse NOT DEFERRABLE - Puede ponerse DEFERRABLE, aunque se supone 34 17

18 Comprobación de restricciones Modos de comprobación (y 3) SentenciaSET CONSTRAINTS SET CONSTRAINTS {<lista restricciones> ALL} { DEFERRED IMMEDIATE} - Etbl Establece el modo para varias RIs para la transacción actual - Toda RI mencionada debe ser DEFERRABLE De hecho ALL todas las RIs diferibles - DEFERRED: toda RI mencionada pasa a modo diferido - IMMEDIATE: cada RI pasa a modo inmediato y es comprobada - si falla la comprobación de alguna RI,, falla SET CONSTRAINTS y ninguna RI cambia de modo Ejecutar COMMIT implica realizar SET CONSTRAINTS ALL IMMEDIATE - Si la comprobación de alguna RI falla COMMIT falla la transacción completa falla (rollback) 35 Reglas de Integridad de Tabla (5) Claves externas: acciones referenciales (recordatorio) Mantenimiento de integridad referencial ante intentos de violación Ejecución de operaciones adicionales que dejan la BD consistente ON DELETE... Indica la regla de borrado para filas de T1 respecto de T2.FK Qué ocurre si se intenta eliminar una fila r1 de T1 y existe alguna fila r2 en T2 que le hace referencia (e.d. contiene un valor r2.fk = r1.ck) Acciones referenciales posibles: a. NO ACTION (opción por omisión) Rechazar la operación de eliminación sobre T1 b. CASCADE Eliminar junto con r1 toda fila r2 de T2 que se refiera a r1 (propagación) c. SET DEFAULT Asignar su valor por defecto a cada componente de la FK en toda fila r2, y eliminar r1» Debe existir una fila en T1 con cada componente de CK a su valor por defecto d. SET NULL Asignar NULL a cada componente de la FK en todas las filas r2, y eliminar r1» Cada componente de la FK debe tener nulos permitidos 36 18

19 Reglas de Integridad de Tabla (6) ON UPDATE... Indica la regla de actualización para T1.CK respecto de T2.FK Qué ocurre si se intenta modificar la clave candidata dentro de una fila r1 de T1 yexiste alguna fila r2 en T2 que le hace referencia (contiene valor r2.fk = r1.ck) Acciones referenciales posibles: a. NO ACTION (opción por omisión) Rechazar la actualización sobre T1.CK b. CASCADE Propagar la actualización de CK a toda fila r2 de T2 que se refiera a r1 c. SET DEFAULT Asignar su valor por defecto a los componentes de FK que corresponden a componentes modificados de T1.CK, en todas las filas r2, y actualizar r1» Debe existir una fila en T1 con cada componente de CK a su valor por defecto d. SET NULL Asignar NULL a los componentes de la FK correspondientes a componentes modificados en T1.CK, en todas las filas r2, y actualizar r1» Tales componentes de la FK debe tener nulos permitidos 37 Reglas de Integridad de Tabla (7) Comportamiento ante una operación de manipulación de datos, en función de la acción referencial especificada Sea T2.FK una clave externa hacia la clave candidata T1.CK... La definición de FK no incluye ON DELETE ni ON UPDATE... INSERT en T2 o UPDATE de T2.FK si el valor de T2.FK no existe en T1.CK Rechazar (NO ACTION) DELETE en T1 o UPDATE de T1.CK si alguna fila de T2 le hace referencia Rechazar (NO ACTION) La definición de FK incluye ON DELETE obienon UPDATE... INSERT en T2 o UPDATE de T2.FK si el valor de T2.FK no existe en T1.CK Rechazar (NO ACTION) DELETE en T1 o UPDATE de T1.CK si alguna fila de T2 le hace referencia ejecución de la acción referencial especificada en las cláusulas 38 19

20 Resumen Explicar la función de los asertos Distinguir entre aserto y disparador Distinguir los modos de comprobación de la integridad Escribir asertos y disparadores 39 20

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

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

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

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

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

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

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

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

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

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

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

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

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

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

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

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

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

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

Disparadores en ORACLE

Disparadores en ORACLE Diseño de Bases de Datos y Seguridad de la Información PL/SQL-1 PL/SQL: lenguaje de programación estructurado en bloques Bloques: unidad mínima en PL/SQL Soportan DML y DDL Anónimos / Con nombre Disparadores

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

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

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

2.5.- El lenguaje estándar SQL

2.5.- El lenguaje estándar SQL 25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características

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

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

Oracle Básico PL/SQL

Oracle Básico PL/SQL Oracle Básico PL/SQL Creación de un Esquema de Base de Datos El objetivo de este ejercicio es la ejecución de sentencia SQL de tipo DDL. Contenido Caso a Desarrollar...2 Modelo Lógico... 2 Modelo Físico...

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

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

Í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

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

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

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

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

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

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

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

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

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

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

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

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

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

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

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

- 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

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

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 SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

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

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

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

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

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

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005)

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Disparadores en ORACLE Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Oracle Database Application Developer's Guide Fundamentals 10g Release 2 (10.2) (Noviembre 2005) Óscar

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

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved.

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. 11 Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir constraints Crear y mantener

Más detalles

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo

Más detalles

BASES DE DATOS AVANZADAS Transacciones en MYSQL

BASES DE DATOS AVANZADAS Transacciones en MYSQL Ejercicio Transacciones mysql> CREATE TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB; Query OK, 0 rows affected (0.10 sec) mysql> INSERT INTO innotest VALUES(1); Query OK, 1 row affected

Más detalles

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL) OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:

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

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

2.4 Manipulación de datos

2.4 Manipulación de datos 2.4 Manipulación de datos 2.4.3. El lenguaje relacional SQL-92 Structured Query Language (lenguaje estructurado de consulta) Primer lenguaje de BD de alto nivel. Años 70. Diseñado e implementado en el

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas:

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas: Guía de Disparadores Un disparador (o trigger) es un procedimiento almacenado asociado a una tabla que se ejecuta al realizar una operación básica (INSERT, un DELETE o un UPDATE) sobre ésta. La operación

Más detalles

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009)

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009) APELLIDOS: NOMBRE: DNI: EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009) MAÑANA TARDE Autorizo la publicación de la nota del examen junto a mi número de matrícula, tanto en la Web

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

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

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

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

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

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

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

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

El rol del lenguaje SQL en los SGBDR y en la implementación del Modelo Relacional.

El rol del lenguaje SQL en los SGBDR y en la implementación del Modelo Relacional. Página 1 de 13 El rol del lenguaje SQL en los SGBDR y en la implementación del Modelo Relacional. Claudia Jiménez, Thomas Armstrong cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen El presente artículo

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

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

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Implementación de Triggers en Firebird/Interbase SQL Server

Implementación de Triggers en Firebird/Interbase SQL Server Implementación de Triggers en Firebird/Interbase SQL Server Objetivos: Que el alumno comprenda las opciónes de implementación que tiene toda base de datos y sus implicancias. Que el alumno sea capaz de

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

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ÍNDICE INTRODUCCIÓN 3 PASOS PARA IMPLEMENTAR UNA BD 5 CREAR UNA BD 6 SENTENCIA CREATE 8 LIGADURAS 9 ELIMINACIÓN DE TABLAS 14 SENTENCIA

Más detalles

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1 Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores

Más detalles

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

FIREBIRD: SQL PROCEDIMENTAL (PSQL) FIREBIRD: SQL PROCEDIMENTAL (PSQL) Vicente Tejero Trueba Pag 1 IES Pedro Espinosa FIREBIRD: SQL PROCEDIMENTAL (PSQL) 1.- INTRODUCCION...1 2.- EXTENSIONES DEL LENGUAJE...2 2.1.- Terminadores...2 2.2.- Variables...3

Más detalles

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl Contenido ACERCA DE LOS AUTO RES..................................... III AGRADECIMIENTOS........................................... xi INTRODUCCION............................................... Xl Introduccion

Más detalles

INST Estándar Codificación SQL y PL-SQL

INST Estándar Codificación SQL y PL-SQL INST Estándar Codificación SQL y PL-SQL Convenciones de nombres y estándares de codificación para SQL y PL/SQL Objetivo: Establecer pautas para estandarizar los nombres de objetos Oracle y la confección

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

Expresiones Join SQL2

Expresiones Join SQL2 Expresiones Join SQL2 En SQL2 hay varias clases de operadores Join disponibles. Las expresiones Join, al producir relaciones, pueden ser usadas en la cláusula FROM de una expresión Seleccione-De-Cuando.

Más detalles

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalació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

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

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

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears Estándar de desarrollo de aplicaciones del Govern de les Illes Balears BASE DE DATOS Versión 5.0 Fecha Revisión: 28/05/09 Índice de contenidos INTRODUCCIÓN... 3 NOMENCLATURA DE BASE DE DATOS... 4 2.1.

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

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