Modelo Relacional de Datos

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

Download "Modelo Relacional de Datos"

Transcripción

1 Modelo Relacional de Datos Competencias específicas a adquirir (I) Describir la terminología y principios fundamentales del modelo de datos relacional formal. Describir los conceptos de integridad de entidad, integridad referencial y nulos en el modelo relacional. Construir consultas de bases de datos empleando las sentencias del álgebra relacional y del cálculo relacional de tuplas, así como del lenguaje estándar SQL Modelo Relacional de Datos Competencias específicas a adquirir (I) Construir, depurar y ejecutar sentencias SQL de obtención y modificación de información almacenada en una base de datos relacional. Construir y ejecutar sentencias SQL de definición de datos, es decir, de creación, alteración y eliminación de los elementos que componen un esquema de bases de datos relacional: esquema, tablas, vistas, restricciones, etc. Construir, depurar y ejecutar programas para el acceso y gestión de la información almacenada en una base de datos (procedimientos, funciones, disparadores, SQL embebido, entornos de cuarta generación, etc Acceder a las bases de datos relacionales desde un lenguaje de programación 2 1

2 Modelo relacional de datos Contenidos Presentación y orígenes del modelo relacional Estructura de datos relacional Características generales de integridad de datos Manipulación de datos: lenguajes relacionales Álgebra relacional Cálculo relacional de tuplas SQL-92 Programación con SQL 3 Modelo relacional de datos Bibliografía [D 2001] capítulos 2 y 9; [EN 2007] capítulos 5 a 9; [CB 2005] capítulos 3 a 7; [SKS 2002] capítulos 3 y 4; [ACPT 1999] capítulos 2 y 4; [DD 1996] capítulos 7 a

3 1 Presentación y orígenes del MR Introducido por Codd, 1970 Es un Modelo de Datos Lógico - de Representación - (basado en registros) El modelo más usado en las aplicaciones comerciales de procesamiento de datos convencional Dividido en 3 partes: 1. Estructura de Datos 2. Integridad de Datos (características generales) 3. Manipulación de Datos 5 2 Estructura de datos relacional Base de Datos = Conjunto de Relaciones Relación Estructura de datos fundamental del modelo Tiene un nombre y representa una entidad genérica Conjunto de tuplas Cada tupla representa una entidad concreta Compuesta de atributos con nombre (y dominio) Cada atributo representa un atributo de la entidad Representada mediante una tabla con filas y columnas Modelo basado en Teoría matemática Analogía entre Relación (concepto matemático) y Tabla Teoría de Conjuntos y Lógica de Predicados de 1 er orden» Sólida Base Formal 6 3

4 2 Estructura de datos relacional do ominios La relación PELICULA Géneros Años Países Títulos Nombres Ciencia-ficción, 2002, 1997, Italia,Argentina, Drama,Thriller, 1999, 2001, España, EEUU, - - Comedia , Francia,Japón título director género rodaje nacionalidad duración Tiempo inalidad cardi Amores Perros A. González Drama 2000 México 145 The Matrix A. Wachowsky Ciencia-ficción 1999 EEUU 138 Torrente S. Segura Comedia 1997 España 110 Nos miran N. López Policiaco i 2001 España 118 Amelie J. P. Jeunet Comedia 2001 Francia 122 Los lunes al sol F. León Drama 2002 España 117 tuplas atributos grado 7 2 Estructura de datos relacional Términos básicos Formal Modelo Relacional SQL-92 Relación Tabla Fichero Procesamiento de Ficheros Tupla Si la tupla t está en la relación R, entonces t R Fila Registro concreto Atributo Debe tener un nombre único dentro de cada relación cabecera de Columna Nombre de Campo de registro Cardinalidad d nº de tuplas en una relación = Grado nº atributos en una relación = Dominio colección de valores permitidos para ciertos atributos = 8 4

5 2 Estructura de datos relacional Definiciones formales: DOMINIO Conjunto de valores atómicos del mismo tipo, donde toman su valor los atributos La definición de dominios forma parte de la definición de la BD Cada atributo definido sobre un ÚNICO dominio OBLIGATORIO Si A, B representan un mismo concepto, A y B con mismo dominio Dominio D puede contener valores no tomados por ningún atributo {valores de A} Dominio(A) Comparaciones Restringidas a Dominio La comparación de dos atributos sólo tiene sentido si ambos toman valores del mismo dominio Si el SGBD soporta dominios, podrá detectar este tipo de errores 9 2 Estructura de datos relacional Definiciones formales: RELACIÓN (1) Una relación R, sobre conjunto de dominios D 1, D 2... D n se compone de dos partes: Esquema o Cabecera Conjunto de pares Atributo:Dominio { (A 1 :D 1 ), (A 2 :D 2 )... (A n :D n ) } Cada A j tiene asociado sólo un D j LosD i no tienen por qué ser distintos entre sí i Estado, Cuerpo o Instancia Conjunto de tuplas que contiene en un instante concreto tupla = conjunto de pares Atributo:Valor { { (A 1 :v i1 ), (A 2 :v i2 )... (A n :v in ) } }, donde i=1..m 10 5

6 2 Estructura de datos relacional Definiciones formales: RELACIÓN (2) Un esquema de relación: PELICULA (titulo:titulos, duracion:tiempo, director:nombres, estreno:fechas) Un estado de la relación: { { (titulo:torrente), (duracion:110), (director:s.segura), (estreno:1997) } { (titulo:the Matrix), (duracion:138), (director:a.wachowski), (estreno:1999) }... } El estado de una relación es variable en el tiempo nuevas tuplas, modificación o borrado de existentes El esquema no suele variar costoso: reescritura de miles de tuplas valores de nuevos atributos para tuplas ya existentes? Suele incluir un conjunto de Reglas de Integridad (se verá) 11 2 Estructura de datos relacional Definiciones formales: RELACIÓN (3) Propiedades de una Relación 1. No eitent existen tuplas repetidas 2. Las tuplas no están ordenadas estado = conjunto matemático de tuplas 3. Los atributos no están ordenados esquema = conjunto de pares Atributo:Dominio 4. Los valores de atributos son Atómicos dominio = conjunto de valores atómicos Intersección fila/columna = un solo valor (no lista de valores) Si R cumple esta propiedad, R está en 1FN 12 6

7 2 Estructura de datos relacional Definiciones formales: RELACIÓN (4) FORMAS NORMALES R está en <determinada> FN si cumple <cierto> conjunto de condiciones o restricciones necesarias para estar bien diseñada de acuerdo con el modelo relacional de datos. Toda relación ha de estar en 1FN (estructura de datos simple) 13 2 Estructura de datos relacional Definiciones formales: RELACIÓN (5) Relación vs. Tabla Relación: Representación abstracta de un elemento de datos Tabla: Representación concreta de tal elemento abstracto Ventajas Representación muy sencilla (tabla) del elemento abstracto básico (relación) del Modelo Relacional Fácil de utilizar, entender, razonar... Inconveniente Aparente orden entre filas y entre columnas de la tabla 14 7

8 2 Estructura de datos relacional Definiciones formales: BD RELACIONAL (1) Percibida por usuarios como una colección de relaciones de diversos grados (nº de atributos) que varían con el tiempo (nº de tuplas, estado) Las relaciones (tablas) son la estructura lógica de la BD Niveles externo y conceptual ANSI/X3/SPARC Toda BDR cumple el Principio de Información: Todo contenido de información de la BD está representado de una y sólo una forma: como valores explícitos dentro de posiciones de columnas dentro de filas dentro de tablas Conexión lógica entre Relaciones (vínculo o interrelación) Representada mediante valores No existen punteros (visibles al usuario) 15 2 Estructura de datos relacional Definiciones formales: BD RELACIONAL (2) En una BDR distinguimos... Esquema de base de datos Descripción de la base de datos Conjunto de esquemas de relación PELICULA ( titulo:títulos, director:nombres, género:géneros, rodaje:años, nacionalidad:países, duración:tiempo ) ACTOR ( nombre:nombres, nombreartistico: Nombres, agente:nombres, cache:dinero ) DIRECTOR ( nombre:nombres, b nacionalidad:países, d operaprima:títulos Pi )... Estado o instancia de base de datos Visión del contenido de la base de datos en cierto instante Conjunto de estados de relación 16 8

9 Recopilando Qué es una Relación Qué es un Dominio Cuáles son las propiedades de una Relación Diferencias entre Relación y Tabla Rol de las relaciones en la arquitectura ANSI/SPARC 17 3 Características generales de integridad de datos Todo estado de BD refleja la realidad es un modelo de una porción del mundo real (minimundo) Algunas configuraciones de valores NO tienen SENTIDO pues no representan ningún estado posible del minimundo 2 personas distintas con el mismo DNI Un empleado sin NSS Un alumno con -29 años Una película sin director Definición de la BD (esquema) necesita incluir REGLAS DE INTEGRIDAD 18 9

10 3 Características generales de integridad de datos Reglas de integridad Informan al SGBD de restricciones del mundo real Aí Así, el lsgbd evita configuraciones i de datos dt imposibles ibl Aumentan la capacidad expresiva del modelo relacional Cumplen que: Forman parte de la base de datos Se cumplen para cualquier estado de la BD No varían con el tiempo Son específicas de cada BD particular, pero el Modelo Relacional incluye... características generales de integridad importantes y necesarias en toda BD Claves Candidatas y Primarias Claves Ajenas (o foráneas o externas) 19 3 Características generales de integridad de datos Superclave y Clave de una relación Sea R una relación R(A 1 :D 1, A 2 :D 2,... A n :D n ) Una superclave de R es un subconjunto SK de atributos tal que cumple la restricción de Unicidad: No existen dos tuplas distintas con la misma combinación de valores para SK Una clave de R es una superclave tal que cumple la restricción de Irreductibilidad: Ningún subconjunto de CK cumple la r. Unicidad Clave Simple (1 atributo) o Compuesta (varios atributos) Cada clave es una restricción de integridad 20 10

11 3 Características generales de integridad de datos Superclave y Clave: Ejemplos Claves como restricción de integridad CLIENTE (codcliente, nombre, ciudad, telefono,...) Qué implicaciones tiene establecer como clave... a) CK = {codcliente, ciudad} b) CK = {codcliente}? Varias claves en una relación «Relación para registrar las visitas de pacientes a sus médicos de familia. Un mismo paciente puede visitar it a su médico varias veces en un mismo día» VISITAMEDICA (nsspaciente, historial, fecha, hora, numvisita, medico, observ) Claves (VISITAMEDICA)={ {nsspaciente, numvisita}, {nsspaciente, fecha, hora}, {historial, numvisita}, {historial, fecha, hora} } 21 3 Características generales de integridad de datos Clave Candidata, Primaria y Alternativa Si R tiene varias claves Claves Candidatas Claves (ACTOR) = { {nombre}, {nombreartistico} } Claves (EMPLEADO) = { {dni}, {nombre, fechanac}, {nss} } La Clave Primaria (Primary Key, PK ) es la clave candidata elegida para identificar las tuplas de R Clave Primaria (ACTOR) = {nombreartistico} Clave Primaria (EMPLEADO) = {nss} Las Claves Alternativas (Alternative Keys, AK) son el resto de claves candidatas Claves Alternativas (ACTOR) = {nombre} Claves Alternativas (EMPLEADO) = { {dni}, {nombre, fechanac} } 22 11

12 3 Características generales de integridad de datos Clave Ajena (Externa o Foránea) Conjunto de atributos FK de una relación R2, tal que: 1. Existe otra relación R1 con clave primaria PK, y 2. Cada valor de FK en R2 es idéntico al de PK en alguna tupla de R1 Conjunto de atributos de una relación que hace referencia a la clave primaria de otra relación (o la misma) PELICULA (título, género, duración, director,...) DIRECTOR (nombre, nacionalidad,...) EMPLEADO (codemp, nombre, jefe, nss,...) LIBRO (título, isbn, autor, editorial, edición, año,...) ESCRITOR (dni, nombre,...) ARTICULO (título, tema, autor, revista, página,...) 23 3 Características generales de integridad de datos Clave Ajena (Externa o Foránea) (2) Cada componente de una FK debe estar definido sobre el mismo dominio que el correspondiente atributo de la PK a la que referencia PACIENTE (nss, nombre, dirección,...) HISTORIAL (nss, especialidad, fechaapert,...) VISITA (nss, especialidad, numvisita, fecha,...) Clave Ajena Simple o Compuesta El uso de Claves Ajenas facilita... Eliminación de la Redundancia: Integridad entre ficheros Mecanismo del Modelo Relacional de datos para establecer VÍNCULOS ENTRE RELACIONES 24 12

13 3 Características generales de integridad de datos Clave Ajena (Externa o Foránea) (3) Cada cliente sólo puede tener una cuenta a su nombre. Una cuenta puede tener más de un cliente como titular. CUENTA número saldo CLIENTE nombre dirección ciudad cuenta García, A Gran Vía, 6 Murcia 200 López, B Ronda Norte, 3 Murcia 821 Azorín, C Paseo Nuevo, 9 Valencia 505 Pérez, C Plaza Mayor, 2 Valencia Vínculo Cliente- Cuenta 25 3 Características generales de integridad de datos Clave Ajena (Externa o Foránea) (4) Restricción de Integridad Referencial Todo valor de una FK debe coincidir con un valor en la correspondiente PK La BD no debe contener claves ajenas sin correspondencia: Si una tupla en una relación hace referencia a otra relación, debe referirse a una tupla existente en esa relación ARTICULO FK ESCRITOR Puede existir algún valor de PK al que NO haga referencia ningún valor de la FK ESCRITOR que no haya escrito artículos: ninguna tupla de ARTICULO hará referencia a la tupla correspondiente a dicho escritor 26 13

14 3 Características generales de integridad de datos Clave Ajena (Externa o Foránea) (y 5) Diagrama Referencial Expresión de la existencia i de Claves Ajenas Camino Referencial LIBRO título isbn autor editorial... EDITORIAL nombre dirección... ESCRITOR dni nombre... editorial ARTICULO título tema autor revista pág... EMPL codemp... dep DEPTO coddep... dire Ciclo Referencial Camino que empieza y acaba en la misma relación Caso especial: Autorreferencia EMPLEADO codemp... jefe 27 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial Las operaciones que no satisfacen violan la Integridad Referencial, dejan la BD en un estado incorrecto Ejemplo de un Hotel: Qué pasaría si se eliminara la tupla (501, D,...) en HABITACIÓN? Y si se eliminara la tupla (100, D,...)? Y si se anotara la ocupación de la habitación 900? OCUPACIÓN codclie habit... CLI CLI CLI CLI HABITACIÓN numhabit tipo I 420 I 100 D 304 D 405 I 501 D 28 14

15 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (2) Cómo evita el SGBD esos estados incorrectos? El SGBD puede... Rechazar toda operación que pueda provocar un estado ilegal, o Aceptar (y ejecutar) tales operaciones, pero realizar acciones que restauren la integridad de los datos Diseñador de la BD puede especificar al SGBD Acciones de Mantenimiento de la Integridad Referencial para que la BD SIEMPRE alcance un estado final legal 29 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (3) R2 R1 Operación: Eliminar una tupla t de R1 que es referenciada por otras de R2 Ejemplo: Eliminar la tupla (100, D,...) de HABITACIÓN Acciones posibles: 1. Rechazar la operación (acción por defecto) Sólo permite borrar t si ninguna otra tupla hace referencia a t 2. Cascada. Propagar la eliminación 1º Borrar todas las tuplas de R2 que referencian a t 2º Eliminar t 3. Establecer nulos (* se verá después *) 30 15

16 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (4) R2 R1 Operación: Modificar el valor de una FK a un valor no existente en la PK de R1 Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACIÓN Acción: 1. Rechazar la operación (SIEMPRE) Intento de violación de la restricción de Integridad Referencial 31 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (5) Operación: Modificar el valor de la PK de una tupla t de R1 que es referenciada por otras tuplas de R2 Ejemplo: Modificar la tupla (100, D,...) a (130, D,...) en HABITACIÓN Acciones posibles: 1. Rechazar la operación (acción por defecto) Sólo permite modificar la PK de t si ninguna tupla referencia a t 2. Cascada. Propagar la modificación - Toda tupla de R2 que referencia a t seguirá haciendolo: modificar su valor de FK al nuevo valor de la PK de t - Modificar el valor de la clave primaria de t 3. Establecer nulos (* se verá después *) 32 16

17 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (6) R2 R1 Operación: Inserción de una tupla t en R2 cuyo valor de FK no se corresponde con ningún valor de la PK en ninguna tupla de R1 Ejemplo: Insertar una tupla (CLI03, 555,...) en OCUPACIÓN Acciones posibles: - Rechazar a la aopeacó operación (SIEMPRE) Intento de violación de la restricción de Integridad Referencial 33 3 Características generales de integridad de datos Mantenimiento de la Integridad Referencial (y 7) Encadenamiento de eliminaciones (análogo para Modificación) R2 R1, Acción de Eliminación en Cascada R3 R2 R1 R3 R2, Acción de Eliminación X - Eliminar una tupla de R1 eliminar tuplas de R2 que la referencian - Pero existen tuplas en R3 que referencian esas tuplas de R2... cómo afecta la Acción de Eliminación X en esta operación? Si X = en CASCADA, no-problemo! eliminar esas tuplas de R3 Si X = RECHAZAR La operación completa fallará Las operaciones de actualización en una BD son siempre atómicas: se realiza TODO o NADA PROFESOR ÁREA DEPARTAMENTO ASIGNATURA TITULACIÓN UNIVERSIDAD 34 17

18 3 Características generales de integridad de datos Nulos En el mundo real existe... información perdida fechanacimiento desconocida ausencia de información tiene teléfono? valores no aplicables a ciertos atributos fechjubilac a empleado activo Para representar estas situaciones en los sistemas de BD se utiliza el NULO (null) Si una tupla tiene un atributo que contiene un nulo, significa que el valor real de tal atributo es desconocido Es posible especificar si un atributo puede o no contener nulo nulo no es un valor en sí mismo, sino un indicador de ausencia de información No hay dos nulos iguales (num_telefono NULL edad NULL) 35 3 Características generales de integridad de datos Implicaciones de los nulos en la integridad Nulo y Claves Primarias Restricción de Integridad de Entidad: Ningún atributo componente de una clave primaria puede contener nulo EMPLEADO (codemp, nss, nombre, telefono, depto, jefe...) Qué pasaría si codemp pudiera contener NULO? Nulo y Claves Ajenas El Modelo Relacional permite nulo como valor de clave ajena depto = null empleados no asignados a ningún departamento jefe = null empleados sin jefe 36 18

19 3 Características generales de integridad de datos Implicaciones de los nulos en la integridad (2) Hemos de extender la definición de clave ajena Sea R2 una relación. FK es una clave ajena en R2 si es un subconjunto de sus atributos tal que: 1. Existe otra relación R1 con clave primaria PK y 2. En todo momento, cada valor de FK en R2 a) es NULO, o b) es idéntico a un valor de PK en alguna tupla de R1 Restricción de Integridad Referencial La Base de Datos no debe contener valores no nulos de clave ajena sin correspondencia 37 3 Características generales de integridad de datos Implicaciones de los nulos en la integridad (3) Hay que extender algunas acciones de mantenimiento de la Integridad d Referencial: R2 R1 Operación: Eliminar una tupla t de R1 que es referenciada por otras de R2 Acciones posibles: 1. Rechazar la operación (acción por defecto) 2. Cascada. Propagar la eliminación 3. Establecer nulos Sólo si la FK de R2 permite NULO - Toda tupla de R2 que referencia a t pasa a contener NULL en FK - Eliminar la tupla t 38 19

20 3 Características generales de integridad de datos Implicaciones de los nulos en la integridad (y 4) R2 R1 Operación: Modificar el valor de la PK de una tupla t de R1 que es referenciada por otras tuplas de R2 Acciones posibles: 1. Rechazar la operación (acción por defecto) 2. Cascada. Propagar la modificación 3. Establecer nulos Sólo si la FK de R2 permite NULO - Toda tupla de R2 que referencia a t pasa a contener NULL en FK - Modificar el valor de la PK de t 39 3 Características generales de integridad de datos Resumiendo, el SGBD se encarga de... Comprobar las claves candidatas (primaria y alternativas): No existen dos tuplas distintas con igual valor para una clave Definición de BD : indicar los Atributos Componentes de las Claves Candidatas Comprobar la restricción de Integridad de entidad Ningún atributo componente de una clave primaria contiene nulo Definición de BD : indicar los Atributos Componentes de la Clave Primaria Comprobar la restricción de Integridad Referencial... El valor de la clave ajena en cualquier tupla, o es nulo, o coincide con un valor de clave primaria de alguna tupla en la relación referenciada Definición de BD : indicar los Atributos Componentes de las Claves Ajenas... y mantenerla frente operaciones que puedan violar la integridad Definición de BD : indicar Acciones de Mantenimiento de la Integridad Referencial 40 20

21 Recopilando Definir la restricción de integridad de entidad Definir la restricción de integridad referencial Explicar el papel desempeñado por los valores nulos y sus implicaciones en la integridad 41 Dominio Definición del Dominio CODPEL enteros(3) CODGUI enteros(3) CODDIR enteros(3) CODDIS enteros(2) CODACT enteros(4) CODAGE enteros(2) SEXOS { M, F } TEXTO cadena caracteres variable (500) PORCENT enteros (2) DINERO enteros(9) NIF cadena caracteres fija (12) TITULOS cadena caracteres variable (120) GENEROS {comedia,drama,terror,suspense,accion,romantica,gore,pulp,roadmovie} PAISES {españa,francia,gran_bretaña,eeuu,australia,alemania,la_india,argentina} AÑOS AÑO FECHAS FECHA NOMBRES cadena caracteres variable (35) APELLIDOS cadena caracteres variable (80) DOMICILIOS cadena caracteres variable (50) TELEFONOS cadena caracteres variable (15) TIPO_PAPEL {protagonista, secundario, reparto, figuracion} 42 21

22 Esquema PRODUCTORA PELICULA DIRECTOR DIREC_FOTOG (codp:codpel, titulo:titulos, año:año, genero:generos, guion:codgui, director:coddir, directorfotog:coddir, distrib:coddis, nacio:paises, estreno:fecha, numoscar:enteros(2), taquilla:dinero) (coddir:coddir, nombre:nombres, apellidos:apellidos, nacio:paises, fechanacim:fecha, operaprima:codpel) (coddf:coddir, nombre:nombres, apellidos:apellidos, nacionalidad:paises, fechanacim:fecha, ulttrabajo:codpel) GUION (codg:codgui, titulo: TITULOS, resumen: TEXTO, nomautorppal:nombres, fechafin:fecha, fechaentrega:fecha) DISTRIBUIDORA (coddis:coddis, nombre:nombres, cif:nif, direccion:domicilio, telefono:telefonos, porcentaje:porcent) ACTOR AGENCIA ACTUA_EN (coda:codact, nombre:nombres, nomreal:nombres, nacionalidad:paises, fechanacim:fecha, sexo:sexos, agencia:codage, cache:dinero) (codag:codage, nombre:nombres, direccion:domicilio, telefono:telefonos) (actor:codact, film:codpel, papel:tipo_papel, paga:dinero) 43 4 Manipulación de datos 4.1. Álgebra Relacional Definida por Codd, 1972 Colección de operadores que toman relaciones como operandos y devuelven relaciones como resultado Operadores tradicionales sobre conjuntos unión intersección diferencia producto cartesiano Los operandos son relaciones, y NO conjuntos arbitrarios operaciones adaptadas a relaciones (tipo especial de conjuntos) Operadores relacionales especiales restricción proyección reunión ( join ) división 44 22

23 Álgebra Relacional Clausura relacional El resultado de cualquier operación del álgebra relacional es otra relación la salida de una operación puede ser entrada (operando) de otra Expresiones Anidadas Sus operandos son otras expresiones del álgebra (en lugar de nombres de relación) 45 Álgebra Relacional Compatibilidad de tipos (o con la unión) En matemáticas, A B = { e / e A y-o e B } Relación = conjunto de tuplas es posible hacer la unión de dos relaciones R y S R S = { t / t R y-o t S } Conjunto de todas las tuplas que están en R y/o en S Sin embargo... PELICULA DIRECTOR es un conjunto, pero no es una relación Las relaciones deben ser homogéneas: no pueden contener mezcla de tuplas de distintos tipos Ha de mantenerse la Propiedad de Clausura: el resultado de la operación DEBE ser una relación» Las relaciones de entrada deben ser de tipos compatibles 46 23

24 Álgebra Relacional Compatibilidad de tipos (y 2) Sean R ( r 1, r 2,..., r n ), S ( s 1, s 2,..., s n ) Relaciones R y S compatibles en tipo si tienen el mismo esquema, es decir: 1. Igual número de atributos: grado(r) = grado(s) = n 2. Atributos correspondientes definidos sobre el mismo dominio: dom(r i ) = dom(s i ),, i = 1, 2,..., n Ejemplo: DIRECTOR y DIR_FOTOG son de tipos compatibles UNIÓN, INTERSECCIÓN, DIFERENCIA necesitan operandos compatibles en tipo PRODUCTO CARTESIANO no necesita compatibilidad de tipo en sus operandos 47 Álgebra Relacional Unión de relaciones R S, con R y S compatibles en tipo, es una relación tal que: Esquema: el de R (o S) Estado: conjunto de tuplas que están en R, en S o en ambas Las tuplas repetidas se eliminan (por definición) Ejemplo: DIRECTOR DIR_FOTOG Intersección de relaciones R S,, con R y S compatibles en tipo, es una relación tal que: Esquema: el de R (o S) Estado: conjunto de tuplas que están a la vez en R y en S Ejemplo: DIRECTOR DIR_FOTOG 48 24

25 Álgebra Relacional Diferencia entre relaciones R S, con R y S compatibles en tipo, es una relación tal que: Esquema: el de R (o S) Estado: conjunto de tuplas que están en R, pero NO en S operación con «cierta direccionalidad», como la resta aritmética Ejemplo: DIRECTOR DIR_FOTOG Secuencias de operaciones La propiedad de clausura relacional permite aplicar una operación tras otra Sean R, S, T relaciones de tipos compatibles, Única expresión: expresiones anidadas R ( S T ) Varias expresiones: relaciones intermedias con nombre A S T B R A 49 Álgebra Relacional Renombramiento de atributos Por defecto, los atributos de la relación resultado de una operación heredan los nombres de los del operando más a la izquierda DIR DIRECTOR DIR_FOTOG Los atributos de DIR tienen los mismos nombres que los de DIRECTOR Se puede indicar una lista con nuevos nombres para los atributos de la relación resultado: DIR(codDir,nomDir,apeDir,nacDir,fechaNac,pelic) nacdir pelic) DIRECTOR DIR_FOTOG 50 25

26 Álgebra Relacional Producto Cartesiano entre relaciones En matemáticas, A Χ B = { (a,b) / a A y b B } Relación = conjunto de tuplas, es posible el producto cartesiano entre relaciones R y S R Χ S= {(t R,t S ) / t R R y t S S } Conjunto de pares ordenados de tuplas de R y S Pero ha de conservarse la Propiedad de Clausura:» El resultado debe ser un conjunto de tuplas (no de pares de) Producto Cartesiano Ampliado, pues cada par ordenado es sustituido por la tupla resultante de la combinación de las dos tuplas origen 51 Álgebra Relacional Producto Cartesiano entre relaciones (2) R Χ S, con R y S cualesquiera, es una relación tal que: Esquema: combinación (unión) de los esquemas de R y S Estado: conjunto de todas las tuplas formadas por las posibles combinaciones de cada tupla de R con cada tupla de S Ejemplo: PELICULA Χ DIRECTOR Obtiene un conjunto de tuplas tales que cada una es la combinación de una tupla de PELICULA y otra de DIRECTOR Operación sin demasiada importancia práctica No se tiene más información a la salida que a la entrada pero es necesaria para definir la operación REUNIÓN (JOIN) 52 26

27 Álgebra Relacional Producto Cartesiano entre relaciones (y 3) El esquema de la relación resultante de R Χ S debe estar bien formado (nombres de atributos únicos) Si R y S tienen atributos con igual nombre, R Χ S tendría dos atributos nombrados igual! ko! ACTOR Χ AGENCIA colisión de nombres en atributo nombre Soluciones posibles: 1. Renombrar atributos de una relación, antes del producto AGENCIA_2(codAge, nomage, direccion, telefono) AGENCIA RESULTADO ACTOR Χ AGENCIA_2 2. Prefijar atributos con el nombre de su tabla, en la tabla resultado RESULTADO(codA, ACTOR.nombre, nomreal,..., codag, AGENCIA.nombre,...) ACTOR Χ AGENCIA 53 Álgebra Relacional Propiedades de los operadores relacionales R, S, T relaciones de tipos compatibles Asociativa ( R S ) T R ( S T ) R S T ( R S ) T R ( S T ) R S T ( R Χ S ) Χ T R Χ ( S Χ T) R Χ S Χ T Conmutativa R S S R R S S R R Χ S S Χ R La diferencia no cumple ninguna de estas propiedades El producto cartesiano normal no las cumple, pero sí el ampliado 54 27

28 Álgebra Relacional Restricción de una relación Obtener un subconjunto de las tuplas de una relación para las cuales se satisface una condición de selección σ σ<condición> (<relación>) Resultado: Relación (conjunto de tuplas) con atributos de <relación> <condición> es una expresión booleana Especificada en términos de atributos de <relación> Compuesta por una o más cláusulas,, del tipo: <nomatrib> <opcomp> <cte> o bien <nomatrib> <opcomp> <nomatrib> <opcomp> operador de comparación {=, <,, >,, } <cte> valor constante dominio del atributo <nomatrib> Cláusulas conectadas por operadores booleanos AND, OR, NOT 55 Álgebra Relacional Restricción de una relación (2) Ejemplos: * Tuplas de actores representados por la agencia número 2 σ agencia=2 (ACTOR) * Actores cuyo caché rebasa los σ cache>30000 (ACTOR) * Actores representados por la agencia número 2, cuyo cache no llega a los , o bien por la agencia 4 y con caché superior a σ (agencia=2 AND cache<25000) OR (agencia=4 AND cache>35000) (ACTOR) 56 28

29 Álgebra Relacional Restricción de una relación (3) Mecanismo de selección del sistema Aplica <condición> a cada tupla individual de <relación>, sustituyendo cada atributo t por su valor en la tupla Si <condición> es TRUE, la tupla se selecciona para el resultado Operador Restricción: Unario Sólo se aplica a UNA relación Nunca puede seleccionar tuplas de más de una relación Se aplica a UNA sola tupla a la vez <condición> nunca se refiere a más de una tupla Grado(Relación Resultado) = Grado(Relación Origen) Tienen los mismos atributos Nº Tuplas(Relación Resultado) Nº Tuplas(Relación Origen) 57 Álgebra Relacional Restricción de una relación (y 4) La operación restricción es conmutativa σ cond1 (σ cond2 (R)) σ cond2 (σ cond1 (R)) Esto permite Secuencia de restricciones (selecciones) en cualquier orden Combinación de una secuencia de restricciones en una única restricción con una condición conjuntiva: σ cond1 (σ cond2 (...(σ condn (R))...)) σ cond1 AND cond2 AND...AND condn (R) 58 29

30 Álgebra Relacional Proyección de una relación Sólo interesan algunos atributos de una relación Se proyecta la relación sobre esos atributos Restricción ió vs. Proyección : σ selecciona algunas tuplas de la relación y desecha otras selecciona ciertos atributos y desecha los demás <listatrib> (<relación>) Resultado: Relación (conjunto de tuplas) cuyos atributos son sólo los de <listatrib> y en ese orden <listatrib> lista de nombres de atributos de <relación> * Obtener el código, nombre y el caché de todos los actores coda, nombre, cache (ACTOR) 59 Álgebra Relacional Proyección de una relación (2) Si <listatrib> no contiene atributos clave tuplas repetidas! * Obtener la agencia y la nacionalidad d de todos los actores agencia, nacionalidad (ACTOR)» Eliminación implícita de duplicados Resultado relación válida Grado(Relación Resultado) = Nº atributos(<listatrib>) Nº Tuplas(Relación Resultado) Nº Tuplas(Relación Origen) y es igual (=) si <listatrib> contiene una clave candidata 60 30

31 Álgebra Relacional Proyección de una relación (y 3) La operación proyección no es conmutativa lista1 ( lista2 (R)) lista2 ( lista1 (R)) Además, siempre que lista1 lista2, entonces... lista1 ( lista2 (R))= lista1 (R) 61 Álgebra Relacional Ejercicios 62 31

32 Álgebra Relacional Reunión o Join entre dos relaciones Combina las tuplas relacionadas de dos relaciones en una sola tupla Permite procesar vínculos entre relaciones * Datos de películas junto con los de su director correspondiente Es necesario combinar cada tupla de PELÍCULA, p, con la tupla DIRECTOR, d, tal que el valor de coddir en d coincida con el de director en p Se consigue aplicando la operación REUNIÓN a las dos relaciones R1 PELICULA director=coddir DIRECTOR 63 Álgebra Relacional Reunión o Join entre dos relaciones (2) PELICULA ( codp, título, año, genero, guión, director, directorfotog, distrib, nacio, estreno, numoscar, taquilla ) DIRECTOR ( coddir, nombre, apellido, nacio, fechanacim, óperaprima ) * Títulos de películas junto con nombre y apellido de su director Se consigue aplicando la operación REUNIÓN a las dos relaciones Y proyectando el resultado sobre los atributos requeridos R2 titulo,nombre,apellido (PELICULA DIRECTOR) director=coddir R2 titulo nombre apellido La caja 507 Enrique Urbizu Mensaka Salvador Gª Ruiz El viaje de Carol Imanol Uribe Airbag Juanma Bajo Ulloa 64 32

33 Álgebra Relacional Reunión o Join entre dos relaciones (3) Forma General para relaciones A(a1, a2,... an) y B(b1, b2,... bm): A < di ió d ió >B <condición de reunión>b Resultado: Relación con n+m atributos (a1, a2,... an, b1, b2,... bm) Esquema: unión de las cabeceras de A y B Estado: conjunto de tuplas, una por cada combinación de tuplas (una de A y otra de B) que satisface <condición de reunión> Reunión vs. Producto Cartesiano En el Producto Cartesiano aparecen todas las combinaciones posibles de tuplas de A y de B 65 Álgebra Relacional Reunión o Join entre dos relaciones (4) <condición de reunión> Expresión booleana especificada en términos de atributos de A y B Evaluada para cada combinación (par) de tuplas: Si la cumplen, forman una nueva tupla de la relación resultado Es de la forma: <condición> AND <condición> AND... AND <condición> donde: <condición> tiene la forma ai θ bj (condición de reunión general), y ai es un atributo de A; bj es un atributo de B, Dominio(ai) = Dominio(bj), θ (theta) cumple que θ {=, <,, >,, } Reunión con condición de reunión general REUNIÓN THETA 66 33

34 Álgebra Relacional Reunión o Join entre dos relaciones (5) La reunión más común es la que implica comparación de igualdad ( θ = ) EQUI-REUNIÓN (o REUNIÓN, a secas) * Actores y agencias que los representan ACTOR agencia=codag AGENCIA Problema: colisión de nombres de atributos Existen atributos nombrados igual en ACTOR y AGENCIA Resultado con varios atributos de igual nombre ko! Dos soluciones alternativas posibles: 1. Previo renombramiento de atributos de una relación AGENC(codAg, nomag, dirag, tel) AGENCIA R nombre, nomag (ACTOR agencia=codag AGENC) 2. Prefijar atributos con el nombre de su tabla R ACTOR.nombre,AGENCIA.nombre (ACTOR agencia=codag AGENCIA) 67 Álgebra Relacional Reunión o Join entre dos relaciones (6) Las tuplas cuyos atributos de reunión son nulos, NO aparecen en la relación resultado Los actores que se auto-representan tienen NULL en atributo agencia Sus tuplas no aparecen en ACTOR agencia=codag AGENC Las tuplas de una relación que no encuentran correspondencia en la otra, tampoco aparecen en la relación resultado Los actores que no han actuado en ninguna película, no aparecen en ninguna tupla de la tabla ACTUA_EN Sus tuplas no aparecen en ACTOR coda=actor ACTUA_EN 68 34

35 Álgebra Relacional Reunión o Join entre dos relaciones (y 7) En general, sea A con n A tuplas y B con n B tuplas, entonces R A <condición de reunión> B cumple que 0 n R n A *n B Si ninguna combinación de tuplas de A y B cumple la <condición de reunión>, entonces Relación Resultado = Relación vacía (cero tuplas) Si NO se especifica <condición de reunión>, entonces la <condición de reunión> es TRUE para todas las tuplas, y Χ (REUNIÓN PROD. CARTESIANO REUNIÓN CRUZADA) 69 Álgebra Relacional Reunión natural entre relaciones A B Caso particular de reunión, quizá el más importante No «necesita» especificar condición de reunión, pues iguala todos los pares de atributos con igual nombre en A y B Es una EQUI-REUNIÓN + eliminación de atributos superfluos Sólo conserva un atributo de reunión La definición estándar de reunión natural exige que los atributos de reunión deben tener nombre idéntico en ambas relaciones operando Si no es así, aplicar antes un renombramiento de atributos deben tener el mismo dominio 70 35

36 Álgebra Relacional Reunión natural entre relaciones (2) R a b c S b d R(a, b, c) S(b, d) T1 R R.b=S.b S, tiene el esquema T1 ( a, R.b, c, S.b, d ) T1 a R.b c S.b d T2 R S, tiene el esquema T2 ( a, b, c, d ) T2 a b c d Álgebra Relacional Reunión natural entre relaciones (y 3) Ejemplos: 1. Título de todas las películas junto con el título y resumen de su guión GUIO(guion, titguion,, resumen, nomautorppal, fechafin, fechaentrega) GUION RESUMEN titulo, titguion, resumen (PELICULA GUIO) 2. Títulos de películas junto con el nombre y apellidos de su director DIREC(director, nombre, apellidos, nacio, fechanacim, operaprima) DIRECTOR PELI_DIRE titulo, nombre, apellidos (PELICULA DIREC) 3. Nombre de actores y de las agencias que los representan AGENC(agencia, nomag, direccion, telefono) AGENCIA ACT_AGEN nombre, nomag (ACTOR AGENC) A qué se debe el renombramiento en cada caso? 72 36

37 Álgebra Relacional División entre relaciones Sean las relaciones A(a1, a2,... an, b1, b2,... bm) y B(b1, b2,...bm) A B es una relación tal que: Esquema: Relación con los atributos no comunes R( a1, a2,... an ) Estado: Conjunto de tuplas { (a i 1, a i 2,... a i n) } tal que existe en A una tupla (a i 1, a i 2,... a i n, b j 1, b j 2,... b j m) para TODAS las tuplas (b j 1, b j 2,... b j m)de B Poco común. Útil para consultas especiales ocasionales Nombres de los actores que trabajan en todas las películas dirigidas por los hermanos Cohen Para que una tupla t aparezca en el resultado, los valores de t deben aparecer en A en combinación con todas las tuplas de B 73 Álgebra Relacional División entre relaciones (y 2) A a b y1 x1 y1 x2 y1 x3 y1 x4 y2 x1 y2 x3 y3 x2 y3 x3 y3 x4 y4 x1 y4 x2 y4 x3 B b x1 x2 x3 R a y1 y4 y1, y4 aparecen en A en combinación con las 3 tuplas de B,,por eso están en el resultado R = A B El resto de valores de y en A, no aparecen con todas las tuplas de B y no son seleccionadas: y2 no aparece con x2, e y3 no aparece con x

38 Álgebra Relacional Otras operaciones del Álgebra Relacional Algunas consultas comunes no pueden expresarse con las operaciones estándar del Álgebra Relacional Ampliación ió de su poder expresivo con operaciones adicionales i Incluidas en la mayoría de los lenguajes de consulta relacionales comerciales Funciones de agregados Funciones matemáticas de agregados sobre colecciones de valores de la base de datos Valor medio del caché de todos los actores Número de películas (almacenadas en la BD) Máximo porcentaje de comisión de las distribuidoras de películas Mínima recaudación en taquilla Cantidad total pagada a los actores de cierta película 75 Álgebra Relacional Funciones de agregados Funciones aplicadas a un conjunto de tuplas SUMA PROMEDIO MÁXIMO MÍNIMO CUENTA (número de tuplas en una relación) Agrupación de tuplas según valor de ciertos atributos Puede aplicarse una función agregada a cada grupo por separado * Media del caché de los actores agrupados por agencias Solución? Agrupar actores según su agencia representante (valor de atributo agencia)» Cada grupo incluye tuplas de actores representados por la misma agencia Cálculo del caché medio de cada grupo (función PROMEDIO) El resultado es una relación R(agencia, PROMEDIO_caché) 76 38

39 Álgebra Relacional Funciones de agregados (2) AG1 a1 a4 a7 ACTOR a9 AG8 a2 AG2 a10 a8 a5 a3 AG3 a6 R PROMEDIO_cache Media del cache de a1... a10 R agencia PROMEDIO_cache AG8 Media del cache de a9 y a2 AG3 Media del cache de a5, a6 y a3 AG1 Media del cache de a7, a1 y a4 AG2 Media del cache de a8 y a10 77 Álgebra Relacional Funciones de agregados (3) <atributos de agrupación> F <lista funciones> (<relación>) <atributos de agrupación> Lista de nombres de atributos de <relación> Indican atributos con los que construir los grupos Puede estar vacía la relación es un (único) grupo <lista funciones> Lista de pares <función> <atributo> donde <función> {SUMA, PROMEDIO, MÁXIMO, MÍNIMO, CUENTA} y <atributo> es uno de los atributos de <relación> Resultado: una relación R, tal que Esquema: atributos de <atributos de agrupación> + un atributo por cada elemento de <lista funciones> Cuerpo: conjunto de tuplas tal que existe una por cada grupo 78 39

40 Álgebra Relacional Funciones de agregados (4) Ejemplos: 1. Códigos de Películas, número de actores en cada película y su paga media R(codpeli, numactores, pagamedia) film F CUENTA actor,promedio paga (ACTUA_EN) 2. Códigos de agencias, número de actores en cada agencia y caché medio R(codAg, numactores, cachemedio) agencia F CUENTA coda,promedio cache (ACTOR) Si no se indican nombres para los atributos de la relación resultado R, dicha relación incluirá... un atributo por cada atributo incluido en <atributos de agrupación>, con el mismo nombre, y un atributo por cada función incluida en <lista funciones>, denominado FUNCIÓN_atributo Los esquemas de las relaciones resultado de los ejemplos anteriores serían: 1. R(film,CUENTA_actor, PROMEDIO_paga) 2. R(agencia, CUENTA_codA, PROMEDIO_cache) 79 Álgebra Relacional Funciones de agregados (y 5) Si no se especifican atributos de agrupación Toda la relación es un único grupo Las funciones se aplican a todas las tuplas La relación resultado tendrá una sola tupla * Número de películas y recaudación media F CUENTA codp,promedio taquilla (PELICULA) El resultado de aplicar una función agregada siempre es una relación, no un nº escalar, aunque tenga un único valor R MAXIMO_taquilla * Recaudación máxima obtenida F MÁXIMO taquilla (PELICULA) 80 40

41 Álgebra Relacional Operaciones de cierre recursivo No pueden expresarse en el Álgebra Relacional Se aplican a una referencia recursiva entre tuplas del mismo tipo (empleadol d y jefe en la relación EMPLEADO) * Códigos de los empleados que tienen como superior a e, en todos los niveles e e 1 1e e 1 n e e 2 m e 2 p Nivel 1 Nivel 2 e e 3 q... e 3 r e 3 t Nivel 3... etc. 81 Álgebra Relacional Operaciones de cierre recursivo (y 2) En Álgebra Relacional es sencillo especificar empleados cuyo jefe es e en cierto nivel conocido, pero no en todos los niveles Ejemplo para el nivel 2: código de los empleados cuyo jefe directo es e o bien su jefe es un empleado cuyo jefe es e EMP_JEF(codE, codj) codemp, codjefe (EMPLEADO) EMP_1(cod) code (σ codj= e (EMP_JEF)) Empleados de nivel 1 EMP_2(cod) code (EMP_JEF codj=cod (EMP_1)) Empleados de nivel 2 RESULTADO EMP_1 EMP_

42 Álgebra Relacional Reunión externa (Outer-join) entre relaciones Extensión de la operación REUNIÓN Permiten conservar todas las tuplas en A o B o ambas, aunque... No tengan tuplas coincidentes Contengan nulos en los atributos de reunión * Nombres de actores y de sus agencias representantes, si tienen AGEN(codAg, nomag, direccion,telefono) AGENCIA TEMP (ACTOR agencia=codag AGEN) RESULTADO nombre, nomag (TEMP) 83 Álgebra Relacional Reunión externa entre relaciones (2) REUNIÓN EXTERNA IZQUIERDA R = A B Conserva en R todas las tuplas de A Si no encuentra una tupla coincidente en B, cada atributo de R (correspondiente a B) es NULO REUNIÓN EXTERNA DERECHA R = A B Conserva en R todas las tuplas de B Si no encuentra una tupla coincidente en A, cada atributo de R (correspondiente a A) es NULO REUNIÓN EXTERNA COMPLETA R = A B Conserva en R todas las tuplas de A y de B Cuando no encuentra tuplas coincidentes, rellena con NULO 84 42

43 Álgebra Relacional Reunión externa entre relaciones (3) ACTOR nomac... agencia... Carmelo Gómez A23 María Pujalte A03 Pere Ponce A10 Javier Bardem NULL AGENCIA codag nomag... A10 AgeRep A30 ReprActors A03 ActorsMngr A23 ARA * Nombres de agencias y de los actores a los que representan, incluyendo las agencias que no representan a ningún actor R1= π nomac, nomag (ACTOR agencia=codag AGENCIA) 2.- los actores que no tienen agencia de representación R2 = π nomac, nomag ( ACTOR agencia=codag AGENCIA 3.- tanto las agencias que no representan a ningún actor, como los actores que no tienen agencia R3 = π nomac, nomag ( ACTOR agencia=codag AGENCIA 85 Álgebra Relacional Reunión externa entre relaciones (y 4) ACTOR AGENCIA nomac nomag Carmelo Gómez ARA María Pujalte ActorsMngr Pere Ponce AgeRep NULL ReprActors ACTOR AGENCIA nomac nomag Carmelo Gómez ARA María Pujalte ActorsMngr Pere Ponce AgeRep Javier Bardem NULL ACTOR AGENCIA nomac nomag Carmelo Gómez ARA María Pujalte ActorsMngr Pere Ponce AgeRep Javier Bardem NULL NULL ReprActors 86 43

44 Álgebra Relacional Ejercicios II 87 Manipulación de datos Cálculo Relacional Lenguaje formal para BD Relacionales Basado en Cálculo de Predicados de Primer Orden (rama de Lógica Matemática) Cálculo Relacional vs. Álgebra Relacional - Expresiones Declarativas (lenguaje no procedimental)»no se indica CÓMO evaluar la consulta, sino QUÉ se desea obtener» Describe la información deseada sin dar un procedimiento específico para obtenerla - Secuencias de Operaciones» Aunque se anidan para formar una sola expresión, siempre se indica explícitamente cierto orden de las operaciones» Estrategia parcial de evaluación de la consulta ( lenguaje procedimental de alto nivel ) 88 44

45 Cálculo Relacional Poder expresivo idéntico de álgebra y cálculo relacionales Cualquier obtención de datos especificada en el Álgebra Relacional puede expresarse en el Cálculo Relacional (restringido a expresiones es es seguras) y viceversa e Definición: Lenguaje Relacionalmente Completo Lenguaje en el que es posible expresar cualquier consulta que pueda especificarse en el Cálculo Relacional Cálculo Relacional como medida del poder selectivo de lenguajes relacionales Formas de adaptar el Cálculo de Predicados de 1 er Orden para crear un Lenguaje de Consultas para BDR: Cálculo Relacional de Tuplas (CRT) Codd, 1972 Cálculo Relacional de Dominios Lacroix y Pirotte, Cálculo Relacional Expresiones de consulta CRT basado en la especificación de variables de tupla Toda variable de tupla «abarca» o recorre una relación puede tomar como valor cualquier tupla de esa relación { t COND(t) } Resultado: conjunto de tuplas t que satisfacen la condición COND(t) COND(t): expresión condicional en la que interviene la var. de tupla t * Actores cuyo caché rebasa los { t ACTOR(t) and t.cache>2000 } ACTOR(t) indica que ACTOR es la Relación de Intervalo que t recorre t.cache hace referencia al atributo caché de la variable de tupla t 90 45

46 Cálculo Relacional Expresiones de consulta (y 2) Obtención de algunos atributos de las tuplas seleccionadas { <lista atributos> COND(t) } Ejemplos: * Nombre y nacionalidad de los actores cuyo caché rebasa los { t.nombre, t.nacionalidad ACTOR(t) and t.cache>5000 } * Fecha de nacimiento y nombre real del actor Javier Bardem { t.fechanacim, t.nombrereal ACTOR(t) and t.nombre = Javier Bardem } 91 Cálculo Relacional Expresión del CRT: punto de vista formal Expresión General { t 1.a 1, t 2.a 2,..., t n.a p COND(t 1, t 2,..., t n, t n+1,t n+2,...t n+m ) } donde: t 1, t 2,..., t n, t n+1, t n+2,... t n+m son variables de tupla a i es un atributo de la relación que t j recorre COND(..): ( ) fórmula (bien formada) del Cálculo Relacional de Tuplas constituida por átomos del Cálculo de Predicados 92 46

47 Cálculo Relacional Expresión del CRT: punto de vista formal (2) Átomos R(t i ) el intervalo de la variable de tupla t i es la relación R t i.a op t j.b,, op { =,, <,, >, } t i y t j variables de tupla a atributo de la relación que t i abarca b atributo de la relación que t j abarca t i.a op c,, c op t j.b,, op { =,, <,, >, } t i y t j variables de tupla a atributo tib t de la relación que t i abarca b atributo de la relación que t j abarca c valor constante Los átomos están ligados mediante operadores and, or, not y 93 Cálculo Relacional Expresión del CRT: punto de vista formal (3) Valor lógico de un átomo Evaluación del átomo para una combinación específica de tuplas valor TRUE o FALSE R(t i ) TRUE si se asigna una tupla de R a t i Si no, es FALSE t i.a op t j.b,, t i.a op c,, c op t j.b TRUE si t i y t j se asignan a tuplas tales que los atributos especificados (a y b) satisfacen la condición Si no es así, será FALSE 94 47

48 Cálculo Relacional Expresión del CRT: punto de vista formal (4) Fórmula bien formada (fbf) Definición recursiva D1. Todo átomo es una fórmula bien formada R(t i ),, t i.a op t j.b,, t i.a op c,, c op t j.b D2. Si F1 y F2 son fbf, también lo son... (F1 and F2), (F1 or F2), not(f1), not(f2) y (F1 F2) y los valores lógicos de estas fórmulas se derivan de F1 y F2, según la Lógica Booleana Nota: (F1 F2) (not(f1) or F2) continuará Cálculo Relacional Expresión del CRT: punto de vista formal (5) Cuantificadores Universal ( t) (BANCO(t) and not(t.ciudad = Londres )) Existencial ( t) (BANCO(t) and t.ciudad = Amsterdam ) Variable de tupla libre y ligada en una fbf informal t está ligada si está cuantificada ( aparece en cláusulas ( t) o ( t) ) si no, está libre 96 48

49 Cálculo Relacional Expresión del CRT: punto de vista formal (6) Variable de tupla libre y ligada en una fbf formal Si F átomo, cualquier ocurrencia de una variable de tupla t, está libre En (F1 and F2), (F1 or F2), not(f1), not(f2) y (F1 F2), una ocurrencia de t está libre o ligada según lo esté en F1 o F2 Toda ocurrencia libre de t en F está ligada en F, si F =( t)f o bien F =( t)f y t estará ligada al cuantificador especificado en F F1 : d.nombre = Carmelo Gómez F2 : ( t) (d.agencia = t.codag) La variable de tupla d está libre en F1 y en F2 t está ligada al cuantificador en F2 97 Cálculo Relacional Expresión del CRT: punto de vista formal (7) Fórmula bien formada (continuación) D3. Si F es una fbf, también lo es ( t)f, donde t es una variable de tupla ( t)f es TRUE si F es TRUE para al menos una tupla asignada a ocurrencias libres de t en F de lo contrario es FALSE D4. Si F es una fbf, también lo es ( t)f, donde t es una variable de tupla ( t)f es TRUE si F es TRUE para toda tupla (en el universo) asignada a ocurrencias libres de t en F de lo contrario es FALSE 98 49

50 Cálculo Relacional Expresión del CRT: punto de vista formal (8) Fórmula bien formada (continuación) Si la fórmula es cerrada (toda variable ligada a cuantificadores), entonces representa una expresión que será TRUE o FALSE F3 : ( a) (ACTOR(a) and a.nombre = Javier Cámara ) F4 : ( p) (PELICULA(p) ( d) (DIRECTOR(d) and d.coddir=p.director) Si la fórmula es abierta (tiene variables libres), entonces representa una consulta cuya evaluación devolverá los valores de sus variables libres que hacen TRUE la fórmula F5 : ACTOR(a) and a.fechanacim > 31/12/1971 sirve para preguntar por los actores/actrices que nacieron en 1972 o después 99 Cálculo Relacional Expresión del CRT: punto de vista formal (y 9) Expresión segura Su resultado es un número finito de tuplas Al usar cuantificadores (, ) onegación(not) (not), la expresión ha de tener sentido: ser segura y no generar una relación infinita E= {t not(actor(t))} tuplas del universo que NO son de ACTOR!! Dominio de una expresión del CRT Valores constantes en la expresión o que existen en cualquier tupla de las relaciones a las que se referencia en la expresión Dominio ( E={t not(actor(t))} )= todos los valores de atributos de tuplas ACTOR Una expresión es segura si todo valor del resultado dominio de la expresión E es insegura, ya que el resultado incluye tuplas (y, por tanto, valores) que no están en la relación ACTOR (es decir, que su dominio)

Algebra Relacional Jos e Ram on Param a Gab ıa

Algebra Relacional Jos e Ram on Param a Gab ıa Álgebra Relacional Ramón Paramá Gabía Capítulo 4 Algebra relacional Ya hemos visto la estructura y las restricciones del modelo relacional, ahora pasamos a abordar la parte del modelo relacional que nos

Más detalles

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional El Modelo Relacional es un modelo de datos que nos permite describir la estructura de una base de datos a nivel lógico. En 1969, Edgar Frank Ted Codd (1923-2003) introduce el modelo relacional con una

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

Introducción al álgebra relacional. Con ejemplos en SQL

Introducción al álgebra relacional. Con ejemplos en SQL OpenStax-CNX module: m18351 1 Introducción al álgebra relacional. Con ejemplos en SQL Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License

Más detalles

TEMA II. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. Temario (cont.

TEMA II. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. Temario (cont. El Modelo Relacional de Datos TEMA II El Modelo Relacional de Datos Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación, así como sus operadores asociados, conocer básicamente

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

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

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño El proceso de diseño para una base de datos consta básicamente de 7 pasos, los cuáles se describen en la siguiente imagen.

Más detalles

Modelo Relacional: Conceptos

Modelo Relacional: Conceptos Relacional: Conceptos M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2007 de la Unidad Introducir los conceptos básicos asociados con los elementos estructurales

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

4. Modelo Relacional: Manipulación de los datos.

4. Modelo Relacional: Manipulación de los datos. Modelo Relacional: Manipulación de los datos. 54 4. Modelo Relacional: Manipulación de los datos. 4.1. Lenguaje de procedimiento: álgebra relacional Los lenguajes de procedimientos para consultar bases

Más detalles

BASES DE DATOS TEMA 3. MODELO RELACIONAL

BASES DE DATOS TEMA 3. MODELO RELACIONAL Contenidos generales BASES DE DATOS TEMA 3. MODELO RELACIONAL * Conceptos del modelo relacional * Notación del modelo relacional * Lenguajes de consulta - Algebra relacional - Cálculo relacional Motivación

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES 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 implementar bases de datos ya

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

Modelo relacional de datos. Modelo relacional de datos. Presentación y orígenes del MR. Modelo relacional de datos

Modelo relacional de datos. Modelo relacional de datos. Presentación y orígenes del MR. Modelo relacional de datos Modelo relacional de datos Modelo relacional de datos Objetivos Comprender los principios estructurales del modelo de datos relacional formal Entender los conceptos integridad de entidad e integridad referencial,

Más detalles

Teórico 9 Del MER al MR

Teórico 9 Del MER al MR Teórico 9 Del MER al MR Introducción Veremos cómo traducir un modelo conceptual, en forma de Modelo Entidad-Relación, en un modelo lógico de base de datos, en forma de Modelo Relacional. Para esto, estudiaremos

Más detalles

Estrategias Didácticas B-Learning: ÁLGEBRA RELACIONAL

Estrategias Didácticas B-Learning: ÁLGEBRA RELACIONAL Estrategias Didácticas B-Learning: ÁLGEBRA RELACIONAL Mg. Guillermo Bernardo Durán González Guillermo.duran.g@gmail.com Modelo de diseño instruccional, basado en la modalidad semi-presencial b-learning,

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. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos

Más detalles

Álgebra Relacional. Dra. Amparo López Gaona () Posgrado en Ciencia e Ingeniería de la Compu. Fac. Ciencias, UNAM / 1

Álgebra Relacional. Dra. Amparo López Gaona () Posgrado en Ciencia e Ingeniería de la Compu. Fac. Ciencias, UNAM / 1 Dra. Amparo López Gaona tación Fac. Ciencias, UNAM Álgebra relacional Conjunto de operaciones usadas para manipular relaciones. Estas operaciones toman relaciones como operandos y regresan relaciones que

Más detalles

Para manipular relaciones completas, el álgebra relacional proporciona una serie de operadores que podemos clasificar en:

Para manipular relaciones completas, el álgebra relacional proporciona una serie de operadores que podemos clasificar en: 1.4 ÁLGEBRA RELACIONAL El modelo relacional lleva asociado a su parte estática, estructura y restricciones) una dinámica que permite la transformación entre estados de la BD. Esta transformación de un

Más detalles

BASES DE DATOS. TEMA 6. El Álgebra Relacional

BASES DE DATOS. TEMA 6. El Álgebra Relacional BASES DE DATOS. TEMA 6. El Álgebra Relacional 6.1. Introducción. El proceso de consulta una base de datos relacional: Toda consulta a una Base de datos relacional genera como resultado una relación. Existen

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

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

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL. TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL. Introducción. La Estructura de Datos: La Relación. Restricciones del Modelo. El Modelo Relacional y la Arquitectura ANSI/SPARC. 1. Introducción. - Fue introducido

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 5. Sistemas de Bases de Datos frente a Sistemas de Ficheros 1.- Sistemas de Ficheros. 2.- Problemas de los Sistemas de Ficheros. 3.- Sistemas

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

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

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales Normalización de esquemas relacionales Motivación Sea la BD de proveedores y partes, con

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

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

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas OPTIMIZACIÓN DE CONSULTAS EN SQL Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas Análisis de Consultas y Transacciones Para elaborar el diseño físico de la base de datos debemos

Más detalles

FOCO GESTIÓN DE GRUPOS

FOCO GESTIÓN DE GRUPOS FOCO GESTIÓN DE GRUPOS MANUAL DE USUARIO CONVENIO DE PRÁCTICAS ÍNDICE 1. INTRODUCCIÓN... 3 2. BÚSQUEDA DE CONVENIOS... 3 3. ALTA CONVENIO... 5 4. MODIFICACIÓN DEL CONVENIO... 18 5. ELIMINAR CONVENIO...

Más detalles

Tema 4 : Lenguajes formales del modelo relacional

Tema 4 : Lenguajes formales del modelo relacional Bases de Datos y Sistemas de la Información Facultad de Informática Universidad Complutense de Madrid Tema 4 : Lenguajes formales del modelo relacional Se trata de los lenguajes formales de manipulación

Más detalles

Bases de Datos I. Cursada 2008. Clase 4: Álgebra relacional y de bolsas Información ausente Claves BASES DE DATOS I

Bases de Datos I. Cursada 2008. Clase 4: Álgebra relacional y de bolsas Información ausente Claves BASES DE DATOS I Bases de Datos I Cursada 2008 Clase 4: Álgebra relacional y de bolsas Información ausente Claves Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. Formalismo para crear nuevas

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Conceptos Avanzados de Bases de datos

Conceptos Avanzados de Bases de datos Página 1 Conceptos Avanzados de Bases de datos (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Definición formal SQL Página 2 Es un conjunto exhaustivo (en su modelización

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

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico Modelado de datos Representación de la información Modelos de datos Modelado semántico El modelo entidad/relación Elementos: Entidades, atributos, claves y relaciones Representación gráfica: Diagramas

Más detalles

BASES DE DATOS TEMA 1

BASES DE DATOS TEMA 1 BASES DE DATOS TEMA 1 Contenido 1. Qué es una base de datos? 2. Un ejemplo 3. Personas que interactúan con la base de datos 4. Inconvenientes de los sistemas de ficheros 5. Modelos de datos 6. Lenguajes

Más detalles

TEMA 6. DISEÑO CONCEPTUAL DE BASES DE DATOS. MODELO ENTIDAD RELACIÓN.

TEMA 6. DISEÑO CONCEPTUAL DE BASES DE DATOS. MODELO ENTIDAD RELACIÓN. TEMA 6. DISEÑO CONCEPTUAL DE BASES DE DATOS. MODELO ENTIDAD RELACIÓN. 1. Introducción 2. Metodología de diseño de bases de datos 3. Modelos de datos 4. El modelo entidad relación 5. Metodología de diseño

Más detalles

Tema 6: Teoría de la Normalización

Tema 6: Teoría de la Normalización Tema 6: Teoría de la Normalización 1. Introducción Si definimos una base de datos como; una colección de información estructurada, referente a objetos y hechos de la realidad, y almacenados en un ordenador

Más detalles

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014 Bases de Datos Documentales Curso 2013/2014 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña El proceso de diseño El último día... Los problemas de no utilizar un SGBD:

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Trabajar con tablas Las tablas permiten organizar la información y crear atractivos diseños de página con columnas paralelas de texto y gráficos. Las tablas pueden utilizarse para alinear números en columnas

Más detalles

http://en.wikipedia.org/wiki/edgar_f._codd

http://en.wikipedia.org/wiki/edgar_f._codd 26/03/2012 1 http://en.wikipedia.org/wiki/edgar_f._codd Codd estableció los fundamentos del modelo relacional en el artículos de 1970 "A Relational Model of Data for Large Shared Data Banks". En adelante,

Más detalles

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS Índice de contenido: 1. Concepto de base de datos (BD)... 3 2. Los sistemas gestores de bases de datos (SGBD)... 3 3. Arquitectura de los sistemas

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

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

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

Más detalles

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

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

TEMA 4. Diseño Lógico de bases de datos relacionales.

TEMA 4. Diseño Lógico de bases de datos relacionales. TEMA 4. Diseño Lógico de bases de datos relacionales. 1. El modelo relacional La teoría formal que constituye los cimientos de los sistemas relacionales se conoce como modelo de datos relacional. Cuando

Más detalles

BASES DE DATOS - SQL. Javier Enciso

BASES DE DATOS - SQL. Javier Enciso BASES DE DATOS - SQL Javier Enciso AGENDA Conceptos Básicos de Bases de Datos Manejo de Bases de Datos y Tablas SQL Inserción, Actualización y Borrado Consultas usando SELECT AGENDA Conceptos Básicos de

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

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

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS CICLO: 01/ 2014 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: Materia: Docentes: GUIA DE LABORATORIO #05 Trabajando con Formularios.

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico El Algebra Relacional Visión General: Conjunto de operadores para consultar BD- Rs. Define conjunto de ops estándar en BD- Rs. Operadores que reciben relaciones y devuelven relaciones:

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 -

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 - Tecnología de la Información y la Comunicación Base de datos Consultas - 2007 - Profesores del área Informática: Guillermo Storti Gladys Ríos Gabriel Campodónico Consultas Se utilizan consultas para ver,

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

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Utilizar expresiones y criterios Trabajar con expresiones Las expresiones son un componente fundamental de numerosas operaciones en Access. Una expresión es una combinación de símbolos (identificadores,

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

Módulo 8: Ofimática básica. Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos. Access

Módulo 8: Ofimática básica. Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos. Access Módulo 8: Ofimática básica Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos Access UNIDAD DIDÁCTICA 2 Conceptos fundamentales en un gestor de base de datos Créditos Autor/es:

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

La calidad de los datos ha mejorado, se ha avanzado en la construcción de reglas de integridad.

La calidad de los datos ha mejorado, se ha avanzado en la construcción de reglas de integridad. MINERIA DE DATOS PREPROCESAMIENTO: LIMPIEZA Y TRANSFORMACIÓN El éxito de un proceso de minería de datos depende no sólo de tener todos los datos necesarios (una buena recopilación) sino de que éstos estén

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Álgebra Relacional. Unidad 5

Álgebra Relacional. Unidad 5 Álgebra Relacional Unidad 5 Definición Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden construir nuevos valores o variables Operadores. Símbolos

Más detalles

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Pantalla general de acceso Desde ella se accede a las diferentes convocatorias para poder completar y enviar las solicitudes.

Más detalles

UML, ejemplo sencillo sobre Modelado de un Proyecto

UML, ejemplo sencillo sobre Modelado de un Proyecto UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso

Más detalles

Tema : ELECTRÓNICA DIGITAL

Tema : ELECTRÓNICA DIGITAL (La Herradura Granada) Departamento de TECNOLOGÍA Tema : ELECTRÓNICA DIGITAL.- Introducción. 2.- Representación de operadores lógicos. 3.- Álgebra de Boole. 3..- Operadores básicos. 3.2.- Función lógica

Más detalles

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco? BANCOS El Sistema de Gestión Administrativa permite el manejo de los movimientos bancarios. Seleccionada la opción de Bancos, el sistema presentara las siguientes opciones. Manejo de Bancos Manejo de movimientos

Más detalles

Tabla de contenido. Manual B1 Time Task

Tabla de contenido. Manual B1 Time Task Tabla de contenido Introducción... 2 Configuración... 2 Prerrequisitos... 2 Configuración de la tarea... 2 Configurando las horas estándar de trabajo... 3 Datos maestros de empleados... 4 Utilización...

Más detalles

2. Doctores 2.1. Dar de alta un doctor 2.2. Buscar un doctor 2.3. Editar un doctor 2.4. Borrar un doctor

2. Doctores 2.1. Dar de alta un doctor 2.2. Buscar un doctor 2.3. Editar un doctor 2.4. Borrar un doctor ADMINISTRACIÓN. 1. Pacientes 1.1. Dar de alta un paciente 1.2. Buscar un paciente 1.3. Editar un paciente 1.4. Borrar un paciente 1.5. Realizar pagos 1.6. Facturar desde un paciente 1.7. Facturar actuaciones

Más detalles

Hoja1!C4. Hoja1!$C$4. Fila

Hoja1!C4. Hoja1!$C$4. Fila CAPÍTULO 6......... Cálculo y funciones con Excel 2000 6.1.- Referencias De Celdas Como vimos con anterioridad en Excel 2000 se referencian las celdas por la fila y la columna en la que están. Además como

Más detalles

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software. Planificación, n, Diseño o y Administración n de Crisis del Software Proyectos software de gran envergadura que se retrasaban, consumían todo el presupuesto disponible o generaban productos que eran poco

Más detalles

Que es Velneo vdataclient V7?

Que es Velneo vdataclient V7? Página 1 de 14 Que es Velneo vdataclient V7? Es el cliente de datos que nos permitirá de una forma remota acceder como administrador a una base de datos, observar el estado de la información e interactuar

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. 8 Nombre: Normalización de base de datos Contextualización Sabes cuál es su proceso de la normalización? Tomando en cuenta todos los conceptos

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

EL MODELO ENTIDAD-RELACIÓN:

EL MODELO ENTIDAD-RELACIÓN: APUNTES DEL MÓDULO PROFESIONAL: SISTEMAS GESTORES DE BASES DE DATOS (2) Página 1 de 8 EL MODELO ENTIDAD-RELACIÓN: Conceptos previos vistos anteriormente: Los modelos de datos son el conjunto de conceptos

Más detalles

Definición de XQuery.

Definición de XQuery. Definición de XQuery. Podemos definir XQuery con un símil en el que XQuery es a XML lo mismo que SQL es a las bases de datos relacionales. XQuery es un lenguaje de consulta diseñado para escribir consultas

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

PROYECTO CALIDAD DE DATOS CURSO 2011

PROYECTO CALIDAD DE DATOS CURSO 2011 PROYECTO CALIDAD DE DATOS CURSO 2011 GRUPO 4 1A. PARTE: MEDICIÓN DE CALIDAD EN LAS FUENTES DE DATOS Estela Pratto C.I. 3.267.004-3 Alexander Llanes C.I. 4.587.761-0 Fernando Plachicoff C.I. 4.611.006-9

Más detalles

Bases de Datos Modelo Relacional

Bases de Datos Modelo Relacional Bases de Datos Modelo Relacional Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos del método relacional

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Álgebra Relacional Álgebra Relacional El álgebra relacional es

Más detalles

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA BÁSICA DE USO DEL SISTEMA RED SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD

Más detalles

Operaciones con bases de

Operaciones con bases de Operaciones con bases de datos ofimáticas EJERCICIOS MODELO ENTIDAD-RELACIÓN Explotación de Sistemas Informáticos Operaciones con bases de datos ofimáticas y corporativas EJERCICIOS MODELO ENTIDAD-RELACIÓN.

Más detalles

GESTIÓN DE LA DOCUMENTACIÓN

GESTIÓN DE LA DOCUMENTACIÓN Página: 1 de 8 Elaborado por: Revidado por: Aprobado por: Comité de calidad Responsable de calidad Director Misión: Controlar los documentos y registros del Sistema de Gestión de Calidad para garantizar

Más detalles

MATEMÁTICAS CON LA HOJA DE CÁLCULO

MATEMÁTICAS CON LA HOJA DE CÁLCULO MATEMÁTICAS CON LA HOJA DE CÁLCULO Podemos dar a esta aplicación un uso práctico en el aula de Matemáticas en varios sentidos: Como potente calculadora: sucesiones, límites, tablas estadísticas, parámetros

Más detalles

Introducción a los certificados digitales

Introducción a los certificados digitales Sergio Talens-Oliag InfoCentre (http://www.infocentre.gva.es/) stalens@infocentre.gva.es Introducción Los certificados digitales son el equivalente digital del DNI, en lo que a la autentificación de individuos

Más detalles

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo. 16/05/2012 1 Todo modelo de datos debe definir un lenguaje de definición de datos para crear las estructuras donde se almacenará la información y un lenguaje de manipulación de datos con el que acceder

Más detalles

CAPITULO DE BIENES AFECTOS O DE INVERSIÓN

CAPITULO DE BIENES AFECTOS O DE INVERSIÓN CAPITULO DE BIENES AFECTOS O DE INVERSIÓN INDICE: A ACCESO POR PRIMERA VEZ - PANTALLA DE REGISTRO DE UN NUEVO BIEN:... 3 1 - DATOS GENERALES:... 4 A. ALTA:... 4 B. BAJA:... 8 C. MEJORA DE BIEN... 9 D.

Más detalles

GUÍA DOCENTE. Curso 2015-2016. Ingeniería Informática en Sistemas de Información Doble Grado:

GUÍA DOCENTE. Curso 2015-2016. Ingeniería Informática en Sistemas de Información Doble Grado: 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Diseño de base de datos Módulo: Módulo M7: Complementos Obligatorios Específicos de Sistemas

Más detalles

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botó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

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado DIAGRAMAS DE CLASES RELACIONES ENTRE CLASES Una vez que tengamos todas nuestras clases, será necesario que estas se asocien, con el fin de mostrar la

Más detalles

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

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Conceptual. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Conceptual Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Elementos del MER Herramientas Diseño conceptual

Más detalles