6. Integridad en Sistemas de Bases de Datos Relacionales

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

Download "6. Integridad en Sistemas de Bases de Datos Relacionales"

Transcripción

1 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 los diferentes tipos de reglas de integridad de datos definidos por el estándar SQL-92 Conocer los mecanismos que proporciona SQL-92 para definir reglas o restricciones de integridad en un esquema de base de datos 1 6. Integridad en Sistemas de Bases de Datos Relacionales Contenidos 6.1 Reglas de integridad: consideraciones generales y componentes Reglas de integridad de dominio Reglas de integridad de tabla base Reglas de integridad generales 6.3 Comprobación de restricciones 2

2 6. Integridad en Sistemas de Bases de Datos Relacionales Bibliografía [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 7 y 8) [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 6 y 7) [DD 1996] Date, C.J.; Darwen, H.: A Guide to the SQL Standard. 4 th Edition. Addison-Wesley. (Cap. 14) [SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de datos. 3ª Edición. McGraw-Hill. (Cap. 6) 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 específicas de una BD (reglas del negocio), además de RI Entidad, RI Referencial Veremos las RI definidas sobre relaciones 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 a cualquier vista definida sobre ésta Podemos definir RI sobre relaciones derivadas (sobre vistas)? Sería deseable La vista heredaría toda RI de sus relaciones base y podría añadir nuevas (clave candidata nueva para la vista, p.ej.) Sólo consideraremos RI sobre relaciones base (por simplicidad) 4

3 6.1 Reglas de integridad Consideraciones generales (y 2) 3. Nos interesa soporte de RI declarativo No hablaremos de... - Procedimientos almacenados (stored procedures), ni de - Procedimientos disparados ( triggered procedures) 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 Catálogo del Sistema Subsistema de Integridad del SGBD: controla operaciones de usuario (INSERT,UPDATE,DELETE...) para asegurar que NO violan las reglas de integridad Reglas de integridad Componentes de una RI Nombre actor_cache_ok - Regla almacenada en el Catálogo del Sistema bajo 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 (o rehusar) 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

4 6.1 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? -Sí RI aceptada - el sistema la almacena en elcatálogo - la regla es activada (entra en vigor) SGBD controlará todo INSERT y UPDATE de caché en ACTOR -No RI rechazada Destrucción de reglas de integridad - el sistema elimina su definición del catálogo Las RIs pueden restringir los valores legales de... -Dominio -Atributo -Relación -Base de Datos 7 Categorías de reglas de integridad 1. Restricciones de integridad de Dominio Asociadas a un dominio de datos específico Aplicadas a cada columna definida sobre el dominio No limitadas a la enumeración de valores posibles del dominio» es una expresión de complejidad arbitraria que define un dominio 2. Restricciones de integridad de Tabla RIs de complejidad arbitraria incluidas en la definición de una tabla (relación) No limitadas a hacer referencia sólo a la tabla en la que son definidas Pueden ser restricciones de Atributo restricciones de Clave Candidata restricciones de Clave Externa restricciones de Comprobación Una relación vacía cumple cualquier RI de tabla, aunque esa RI sea esta tabla no puede estar vacía 8

5 Categorías de reglas de integridad (y 2) 3. Restricciones 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 Se aplican a cualquier combinación de columnas de cualquier nº de tablas La paga mínima de los actores que actúan en una película es de CREATE ASSERTION IR1_paga_mínima CHECK (SELECT MIN(paga) FROM Actua_en) ; Todo actor debe haber participado al menos en una película CREATE ASSERTION IR2_actor_en_película CHECK (NOT EXISTS (SELECT * FROM Actor WHERE coda NOT IN (SELECT actor FROM Actua_en))); Algunas RI generales pueden expresarse como RI de tabla 9 Consideraciones 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) Es útil ver la base de datos sujeta a una RI gigante... AND de todas las RI... - generales - de tabla - de dominio aplicadas a cada columna de las tablas»significado formal de la base de datos 10

6 Características adicionales (pseudo-ris) SQL rechaza todo intento de INSERT o UPDATE que viole una especificación de tipo de datos ejemplo: valor CHAR en columna definida como INTEGER Una especificación de tipo de datos puede verse como una «forma primitiva» de restricción de dominio Una violación de una RI de dominio 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) 11 Reglas de Integridad de Dominio Definición del conjunto de valores componentes de un dominio: - Enumeración de valores posibles: ( marrón, gris, azul, verde, negro ) - Expresión de definición: cache > 0 AND cache < 100 RI como parte de la sentencia de definición del dominio CREATE DOMAIN <nombre dominio> [ AS ] <tipo de datos> [ DEFAULT <valor defecto> ] [ [ CONSTRAINT <nomrestricción> ] CHECK (<condición>) ]+ ; donde <valor defecto> = { literal funciónsinargum NULL } y funciónsinargum es USER ó CURRENT_USER authorization-id actual SESSION_USER authorization-id de sesión SQL actual SYSTEM_USER ID del usuario del SO actual CURRENT_DATE fecha del día CURRENT_TIME hora actual CURRENT_TIMESTAMP marca de tiempo actual i ID=identificador 12

7 Reglas de Integridad de Dominio (2) CREATE DOMAIN Color AS VARCHAR(10) DEFAULT marrón CONSTRAINT color_válido CHECK ( VALUE IN ( marrón, gris, azul, verde, negro ) ); CREATE DOMAIN Estado_civil CHAR(1) CONSTRAINT estado_civil_ok CHECK ( VALUE IN ( S, C, V, D ) ) ; NOT NULL no es una restricción de dominio válida CREATE DOMAIN Estado_civil AS CHAR(1) NOT NULL Incorrecto CREATE DOMAIN Estado_civil AS CHAR(1) CHECK (VALUE IS NOT NULL) Correcto Alteración de un dominio ALTER DOMAIN <nomdominio>... ; Permite añadir y eliminar restricciones de integridad de dominio y valor por defecto 13 Reglas de Integridad de Dominio (y 3) Eliminación de un dominio DROP DOMAIN <nomdominio> { RESTRICT CASCADE } ; Opción RESTRICT - La eliminación falla si el dominio es referenciado en cualquier definición de columna en una tabla - En otro caso, tendrá éxito: el descriptor del dominio es eliminado del catálogo Opción CASCADE - El dominio es eliminado del catálogo - Las RI-dominio asociadas no son eliminadas, 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 14

8 Reglas de Integridad de Tabla Restricción asociada a una tabla específica la RI está definida como parte de la definición de la tabla, la RI no existe si la tabla asociada no existe y eliminar la tabla implica eliminar la RI Toda RI-tabla puede expresarse como una RI-general (excepto la parte de una RI de clave externa que indica la acción de mantenimiento de la integridad referencial) RI especificada dentro de CREATE TABLE CREATE TABLE <nombre tabla> ( <lista de elementos de tabla> ) ; donde los elementos pueden ser: - Definición de columna, que puede incluir RIs de atributo - Definición de... (precedida o no de CONSTRAINT <nombre restricción>) Restricción de clave candidata Restricción de clave externa Restricción de comprobación (CHECK) RI añadida/eliminada con ALTER TABLE <nombre tabla>... Puede afectar a varias tablas 15 Reglas de Integridad de Tabla (2) 1. Definición de Columna - RI de Atributo Especificación del dominio del atributo y otras RI de atributo No necesita sentencia de creación explícita: es parte de la definición de atributo, dentro de la sentencia de creación de la tabla: CREATE TABLE Actor ( nombre VARCHAR(30) NOT NULL, cache INT(9) NOT NULL DEFAULT 2000, colorojos Color NOT NULL, agencia CHAR(4),...) ; Toda RI-Atributo es comprobada inmediatamente: todo intento de INSERT o UPDATE (sobre el atributo) con un valorˇdominio, es rechazado al instante» La respuesta a un intento de violación siempre es RECHAZAR Si se especifica un dominio para un atributo, la comprobación es derivada hacia la comprobación de la restricción del dominio Una RI-atributo se destruye al eliminar el atributo de la tabla 16

9 Reglas de Integridad de Tabla (3) 2. Definición de Restricción de Clave Candidata Clave Primaria PRIMARY KEY (<lista atributos>) incluye RI Entidad Clave Alternativa UNIQUE (<lista atributos>) 3. Definición de Restricción de Clave Externa FOREIGN KEY (<atributos>) REFERENCES <tabla> (<atributos>) [ ON DELETE { NO ACTION CASCADE SET DEFAULT SET NULL } ] [ ON UPDATE { NO ACTION CASCADE SET DEFAULT SET NULL } ] acciones referenciales posibles Cualquier (combinación de) columna(s) puede ser clave externa SQL-92 permite que una clave ajena se refiera a una clave candidata ( no sólo PKs) Referencia desde FK de la tabla T1 a una CK de la tabla T2...» Asegurar que cada T2.FK contiene un valor existente en T2.CK es el problema de la integridad referencial 17 Reglas de Integridad de Tabla (4) 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 la FK en el CREATE TABLE La FK y la CK a la que referencia, deben... contener el mismo nº de componentes (columnas o atributos) y éstos estar definidos sobre los mismos dominios Si FK no es compuesta, no se necesita cláusula FOREIGN KEY... CREATE TABLE Actúa_en CREATE TABLE Actúa_en (actor..., (actor... REFERENCES Actor(codA)..., film..., film... REFERENCES Película(codP)..., papel..., papel..., PRIMARY KEY (actor, film), PRIMARY KEY (actor, film) FOREIGN KEY (actor)... ) ; REFERENCES Actor(codA)..., FOREIGN KEY (film) REFERENCES Película(codP) ) ; 18

10 Reglas de Integridad de Tabla (5) 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 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 y existe 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 CKa 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 20

11 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 Rechazo (NO ACTION) DELETE en T1 o UPDATE de T1.CK si alguna tupla de T2 le hace referencia Rechazo (NO ACTION) La definición de FK incluye ON DELETE o bien ON UPDATE... INSERT en T2 o UPDATE de T2.FK si el valor de T2.FK no existe en T1.CK Rechazo (NO ACTION) DELETE en T1 o UPDATE de T1.CK si alguna tupla de T2 le hace referencia ejecución de la acción referencial especificada en las cláusulas 21 Reglas de Integridad de Tabla (y 8) 4. Definición de Restricción de Comprobación (CHECK) Regla que se refiere únicamente a una tabla Puede especificar restricciones adicionales para algún atributo El cache de un actor siempre está entre 300 y 1200 CREATE TABLE ACTOR (..., CONSTRAINT actor_caché_ok CHECK ( cache > 300 AND cache < 1200 ),... ); Puede definir restricciones que involucran varios atributos de la tabla Toda película se estrena después de finalizar su rodaje CREATE TABLE PELICULA (..., CONSTRAINT película_fechas_ok CHECK ( fecha_fin_rodaje < fecha_estreno ),... ); Toda RI-Tabla base 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 22

12 Reglas de Integridad Generales (asertos) Restricción de complejidad arbitraria que involucra cualquier nº de columnas de cualquier nº de tablas Elemento de BD, independiente de tablas/vistas existentes Especifica restricciones de integridad que pueden no ser... de clave (primaria o alternativa) de integridad referencial (clave ajena) Tiene un nombre y consta de una condición (cláusula CHECK) Creación de una RI general (aserción o aserto) CREATE ASSERTION <nombre restricción> nombre obligatorio CHECK ( <condición> ) ; Si una tupla de la BD hace que condición=false, la restricción habrá sido violada Un estado de la BD satisface un aserto si ninguna combinación de tuplas de dicho estado viola la restricción que incluye 23 Reglas de Integridad Generales (2) Normalmente, <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 age1_cache_ok CHECK (NOT EXISTS (SELECT * FROM Actor WHERE agencia=1 AND cache<300)) ; Ninguna agencia representa a más de 40 actores CREATE ASSERTION num_actores_age_ok CHECK (NOT EXISTS (SELECT * FROM Actor GROUP BY codage HAVING COUNT(*) > 40)) ; Todo actor no protagonista de una película cobra menos que cq protagonista CREATE ASSERTION paga_actores_ok 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 )); 24

13 Reglas de Integridad Generales (3) Debe de existir al menos una distribuidora de películas CREATE ASSERTION existencia_distribuidora CHECK ( 0 < SELECT COUNT (*) FROM Distribuidora ) ; este aserto... - debe crearse una vez que ya exista alguna tupla en DISTRIBUIDORA - una operación DELETE puede o no violarlo, pero nunca lo hará un INSERT El código de los guiones es único ( si hay 2 guiones con igual código, son el mismo) CREATE ASSERTION guión_código_único NOT EXISTS (SELECT * FROM Guión G1, Guión G2 WHERE G1.codG = G2. codg AND NOT (G1.titulo=G2.titulo AND G1.descrip= G2.descrip) ); este aserto... - Equivale a especificar UNIQUE( codg ) en el CREATE TABLE 25 Reglas de Integridad Generales (y 4) Los actores y películas anotados en la relación ACTUA_EN deben existir CREATE ASERTION actúa_en_ok CHECK (NOT EXISTS (SELECT * FROM Actúa_en WHERE actor NOT IN (SELECT coda FROM Actor) OR film NOT IN (SELECT codp FROM Película))); este aserto... - Equivale a especificar... FOREIGN KEY (actor) REFERENCES Actor(codA)... y FOREIGN KEY (film) REFERENCES Película(codP) dentro del CREATE TABLE Actor (...) Eliminación de una RI general DROP ASSERTION <nomrestricción> ; Sin opción RESTRICT o CASCADE Elimina el aserto del catálogo 26

14 Disparadores - antiguas versiones de SQL En muchos casos conviene especificar una acción que ejecutar (disparar) 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 - Disparar otras actualizaciones»esto se consigue mediante los disparadores o triggers Definición de un disparador DEFINE TRIGGER <nombre> ON <lista tablas> : <condición> ACTION_PROCEDURE <llamada a procedimiento> Especifica una condición y la acción que realizar si ésta se cumple La ejecución del trigger se considera parte de la ejecución de la operación que intentó violar la RI 27 Disparadores - antiguas versiones de SQL (y 2) Si se detecta que algún actor en una película percibe una paga mayor que la de un protagonista, pedir confirmación para permitir dicho estado o no DEFINE TRIGGER Disp_Paga ON Actúa_en ACT, Actúa_en PROTA: ACT.film=PROTA.film AND ACT.papel <> protagonista AND PROTA.papel = protagonista AND ACT.paga >= PROTA.paga ACTION_PROCEDURE SolicitarAprobacion(...) ; Combinan los enfoques declarativo y procedimental - La condición del disparador es declarativa - Su acción opera por procedimientos 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 28

15 6.3 Comprobación de restricciones En general, el SGBD comprueba una RI de forma inmediata, como último paso de ejecución de operación o sentencia SQL Si la RI es violada, la operación o sentencia se cancela 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 T1 T2 Inicialmente, T1 y T2 están vacías CREATE TABLE T1 CREATE TABLE T2 ( atrib1..., ( atrib2..., FOREIGN KEY (atrib1) FOREIGN KEY (atrib2) REFERENCES T2 (...)..., REFERENCES T1 (...)...,... ) ;... ) ; - Con chequeo inmediato de estas FKs (RI referencial), toda inserción de filas en cualquier tabla fallaría, pues nunca encontraría la fila destino en la otra tabla 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 Restricción de atributo NOT NULL y Restricciones de clave candidata 30

16 6.3 Comprobación de restricciones Modos de comprobación (2) Una definición de restricción de integridad puede incluir [ INITIALLY { DEFERRED IMMEDIATE } ] [ [ NOT ] DEFERRABLE ] INITIALLY DEFERRED, o bien INITIALLY IMMEDIATE especifica el modo inicial de la RI, es decir, el modo en el que está tras de ser definida (creada) y al comienzo de cada transacción SQL DEFERRABLE, o bien NOT DEFERRABLE indica si la RI puede pasar a modo DEFERRED 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, se asume NOT DEFERRABLE Si se especifica INITIALLY DEFERRED, no puede indicarse NOT DEFERRABLE - Puede ponerse DEFERRABLE, aunque se supone Comprobación de restricciones Modos de comprobación (y 3) Sentencia SET CONSTRAINTS SET CONSTRAINTS {<restricciones> ALL} { DEFERRED IMMEDIATE} - Establece el modo para varias RIs respecto de la transacción SQL actual - Toda RI mencionada debe ser DEFERRABLE pues ALL todas las RIs diferibles DEFERRED hace que todas las RI (mencionadas) pasen a modo diferido IMMEDIATE hace que pasen a modo inmediato y son comprobadas: si falla la comprobación de alguna RI, falla SET CONSTRAINTS y ninguna RI cambia de modo COMMIT SET CONSTRAINTS ALL IMMEDIATE Si una comprobación de alguna RI falla COMMIT falla la transacción completa falla (rollback) 32

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

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

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

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

Más detalles

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

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

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

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

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

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

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

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

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

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

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

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

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

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

- 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

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

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

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

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

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

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

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

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

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

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

Más detalles

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

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

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

Más detalles

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

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

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

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

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

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

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

El modelo relacional

El modelo relacional El modelo relacional El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico

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

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

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

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

Diseño de bases de datos Diapositiva 1

Diseño de bases de datos Diapositiva 1 Diseño o de bases de datos Objetivos del Diseño Principios del Diseño de BD Proceso de Diseño Normalización Diseño de Tablas: Claves Relaciones Integridad referencial Convenciones de nomenclatura Diseño

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

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

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

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

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN Una compañía de materiales de construcción quiere automatizar su sistema de ventas y facturación. Para ello deciden contratar los servicios de una

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

UNIDAD 3. MODELO RELACIONAL

UNIDAD 3. MODELO RELACIONAL UNIDAD 3. MODELO RELACIONAL El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que el modelo relacional esté basado

Más detalles

select nombre from profesores where categoria='aso6';

select nombre from profesores where categoria='aso6'; 1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del

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

SINAUTO. (Captura Requirimientos) GRUPO 03

SINAUTO. (Captura Requirimientos) GRUPO 03 SINAUTO (Captura Requirimientos) GRUPO 03 Iker Jauregi ikerjauregivicente@hotmail.com Iñigo Arregui bateman2012@gmail.com Javier Arce arcjav@hotmail.com Jorge García. jgfand@gmail.com Patxi Campos.patxi948@wanadoo.es

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

Práctica 3. Consultas SQL

Práctica 3. Consultas SQL Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida

Más detalles

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

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

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

Bases de Datos. Sistemas de Gestión de Bases de Datos

Bases de Datos. Sistemas de Gestión de Bases de Datos Bases de Datos Sistemas de Gestión de Bases de Datos Banco de datos Conjunto de datos relacionados Ejemplo: archivos de las oficinas de una empresa, con fichas, carpetas, archivadores, armarios... La gestión

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

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

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

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

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

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

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

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

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

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

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

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

3. Modelo relacional: Estructura e integridad.

3. Modelo relacional: Estructura e integridad. Modelo relacional: Estructura e integridad 47 3. Modelo relacional: Estructura e integridad. 3.1. Introducción. El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

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

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra. Unidad IV: Seguridad 4.1 Tipos de usuario El objetivo de la creación de usuarios es establecer una cuenta segura y útil, que tenga los privilegios adecuados y los valores por defecto apropiados Para acceder

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

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

Más detalles

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

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

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

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

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

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

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

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

Modelos y Bases de Datos

Modelos y Bases de Datos Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 12 Nombre: Lenguaje SQL: Valores Nulos Contextualización Qué más ofrece el lenguaje SQL? Así como te has introducido en el desarrollo de la

Más detalles

4 Integridad de datos relacional: llaves candidatas y temas relacionados.

4 Integridad de datos relacional: llaves candidatas y temas relacionados. 4 Integridad de datos relacional: llaves candidatas y temas relacionados. 4.1 Introducción. 4.2 Llaves candidatas. 4.3 Llaves primarias y llaves alternas. 4.4 Llaves foráneas. 4.5 Reglas de llaves foráneas.

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

PRACTICA DE ADMINISTRACION DE BASES DE DATOS Depto. De Organización y Estructura de la Información Curso 2003/2004 Pág. 1 PRACTICA DE ADMINISTRACION DE BASES DE DATOS Una entidad bancaria gestiona datos relativos a operaciones bancarias de sus clientes

Más detalles

CONSULTAS BASICAS EN SQL SERVER

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

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Del MER al MR Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos MER a MR Introducción Agenda Conceptos MER a MR

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

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

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

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

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