Tema 3. El modelo Relacional

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Tema 3. El modelo Relacional"

Transcripción

1 Tema 3. El modelo Relacional Juan Ignacio Rodríguez de León Resumen Presenta el modelo entidad-relación. Visión de alto nivel de las cuestiones referentes a diseño de bases de datos y los problemas encontrados al intentar reflejar la semántica de aplicaciones reales dentro de los confines de un modelo de datos. Conceptos básicos. Restricciones. Claves. Cuestiones de diseño. Diagrama entidad-relación. Conjuntos de entidades débiles. Características del modelo E-R extendido. Diseño de un esquema de base de datos E-R. Reducción de un esquema E-R a tablas. El lenguaje de modelado unificado UML El modelo Relacional En este capítulo se estudia en primer lugar los fundamentos del modelo relacional, que proporciona una forma muy simple y potente de representar datos. A continuación se describen tres lenguajes formales de consulta; los lenguajes de consulta se usan para especificar las solicitudes de información. Los tres que se estudian en este capítulo no son cómodos de usar, pero a cambio sirven como base formal para lenguajes de consulta que sí lo son y que se estudiarán más adelante. 1. La estructura de las bases de datos relacionales Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo. Cada fila de la tabla representa una relación entre un conjunto de valores. Dado que cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y el concepto matemático de relación, del que toma su nombre el modelo de datos relacional. Las columnas de cada tabla representan atributos (igual que en el modelo E-R en el Capítulo 2). Para cada atributo hay un conjunto de valores permitidos, llamado dominio de ese atributo. Formalmente se define una relación como un subconjunto del producto cartesiano de los dominios de cada atributo. Si la relación R tiene como atributos a 1, a 2,..., a n, siendo D 1, D 2,..., D n los dominios correspondientes, entonces R D 1 D 2... D n La única diferencia con el modelo matemático es que se han asignado nombres a los atributos. Como las tablas son esencialmente relaciones, se utilizarán los términos matemáticos relación y tupla en lugar de los términos tabla y fila. Dado que las relaciones son conjuntos se utiliza la notación matemática t r para denotar que la tupla t está en la relación r. Se utiliza la notación t[atributo] 1

2 2 EL ÁLGEBRA RELACIONAL 2 para denotar el valor de t en el atributo atributo. El orden de las tuplas es irrelevante, como en todo conjunto matemático. Se exigirá que, para toda relación r, los dominios de los atributos de r sean atómicos (indivisibles). Un valor de dominio que es miembro de todos los dominios posibles es el valor nulo (NULL), que indica que el valor es desconocido o no existe. Los valores nulos crean dificultades al acceder o modificar la base de datos y, por tanto, deben evitarse en lo posible. Se adopta el convenio de utilizar nombres en minúsculas para las relaciones y nombres que comiencen por una letra mayúscula para los esquemas de las relaciones. Siguiendo esta notación, se utilizará Esquema-cuenta para denotar el esquema de la relación cuenta. Por tanto, Esquema cuenta = (numero cuenta, nombre sucursal, saldo) y se representa que cuenta es una relación de Esquema-cuenta mediante: 1.1. Claves cuenta(esquema cuenta) Los conceptos de superclave, clave candidata y clave primaria, explicadas en el tema 2, son equivalentes en el modelo relacional. Además, fruto de la conversión hecha del modelo E-R al relacional, en la que aparecían nuevas tablas y atributos, aparece la clave externa o foránea. Una clave externa es cuando una relación incluye entre sus atributos la clave primaria de otra relación. La primera relación se denomina relación referenciante, la segunda, relación referenciada Diagramas de esquema Un diagramas de esquema representa el esquema de la base de datos, junto con las dependencias de clave primaria y externa. Cada relación aparece como un cuadro con los atributos listados dentro de él y el nombre de la relación encima. Una línea horizontal separa los atributos que forman la clave primaria del resto. A diferencia de los diagramas E-R, aquí se muestran las claves externas. 2. El álgebra relacional El álgebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación. Las operaciones fundamentales del álgebra relacional son selección, proyección, unión, diferencia de conjuntos, producto cartesiano y renombramiento. Existen otras operaciones no fundamentales, (en el sentido de que se pueden definir usando las elementales) como pueden ser la intersección de conjuntos, la reunión natural, la división y la asignación.

3 2 EL ÁLGEBRA RELACIONAL Operaciones fundamentales Las operaciones selección, proyección y renombramiento se denominan unarias porque operan sobre una sola relación. Las otras tres operaciones operan sobre pares de relaciones y se denominan, por lo tanto, operaciones binarias La operación selección σ La operación selección selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega sigma minúscula (σ) para denotar la selección. El predicado aparece como subíndice de σ. La relación del argumento se da entre paréntesis a continuación de σ. Por tanto, para seleccionar las tuplas de la relación préstamo en que la sucursal es Navacerrada hay que escribir σ nombre sucursal=navacerrada (Prestamo) Se permiten realizar comparaciones usando los operadores =,, <,, > o en el predicado de selección. Además, se pueden combinar varios predicados en uno mayor utilizando las conectivas lógicas y ( ) y o ( ). El predicado de selección puede incluir comparaciones entre dos atributos. Dado que el valor especial nulo indica valor desconocido o inexistente, cualquier comparación que implique a un valor nulo se evalúa como falsa La operación proyección π La operación proyección es una operación unaria que devuelve la relación pasada como argumento, excluyendo algunos atributos. En otras palabras, nos permite suprimir columnas. Dado que las relaciones son conjuntos, se eliminan las filas duplicadas en la relación resultante. La proyección se denota por la letra griega mayúscula pi (Π) Se crea una lista de los atributos que se desea que aparezcan en el resultado como subíndice de Π. La relación argumento se escribe a continuación entre paréntesis. Por ejemplo, la consulta para obtener los números de préstamo y el importe de la relación prestamo (suprimiendo el tercer atributo, nombre sucursal), sería: Π numero prestamo,importe (prestamo) Composición de operaciones relacionales El resultado de una operación relacional es también una relación. Por ejemplo, la expresión: Π nombre cliente (σ ciudad cliente= Peregrinos (cliente)) Es válida porque el resultado de σ ciudad cliente= Peregrinos (cliente) es otra relación, que sirve como argumento de la proyección Π. En general, las operaciones del álgebra relacional pueden componerse para formar una expresión del álgebra relacional, de forma equivalente a la composición de operaciones aritméticas (como +,, y ) para formar expresiones aritméticas.

4 2 EL ÁLGEBRA RELACIONAL La operación unión La operación Unión es equivalente a la unión expresada en teoría de conjuntos, e incluso se representa con el mismo símbolo, se debe asegurar que las uniones se realicen entre relaciones compatibles. Para que una operación unión r s sea válida deben cumplirse dos condiciones: 1. Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener el mismo número de atributos. 2. Los dominios de los atributos i-ésimos de r y de s deben ser iguales para todo i La operación diferencia de conjuntos La operación diferencia de conjuntos, denotada por, permite buscar las tuplas que estén en una relación pero no en la otra. La expresión r s da como resultado una relación que contiene las tuplas que están en r pero no en s. Como en el caso de la operación unión, hay que asegurarse de que las diferencias de conjuntos se realicen entre relaciones compatibles La operación producto cartesiano La operación producto cartesiano se denota por una aspa ( ), y permite combinar información de cualesquiera dos relaciones. Sea r = r 1 r 2. El esquema de r contendrá todos los atributos de r 1 y de r 2. Qué tuplas aparecerán en r?. Se crea una tupla en r para todas y cada una de las posibles combinaciones entre las tuplas de r 1 y las de r 2. La relación r es, por tanto, una relación de gran tamaño. Si la relación r 1 contiene n tuplas y la relación r 2 contiene m, en r habrá n m tuplas. Dado que el mismo nombre de atributo puede aparecer tanto en r 1 como en r 2, hay que crear un esquema de denominaciones para distinguir entre ambos atributos. En este caso se logra adjuntando al atributo el nombre de la relación de la que proviene originalmente La operación renombramiento ρ A diferencia de las relaciones de la base de datos, los resultados de las expresiones de álgebra relacional no tienen un nombre que se pueda utilizar para referirse a ellas. Resulta útil poder ponerles nombre; el operador renombramiento, denotado por la letra griega rho minúscula (ρ), permite realizar esta tarea. Supóngase que una expresión del álgebra relacional E tiene aridad n. Por tanto, la expresión ρx(a 1, A 2,..., A n )(E) devuelve el resultado de la expresión E, con el nombre x y con los atributos con el nombre cambiado a A 1, A 2,..., A n

5 3 OTRAS OPERACIONES 5 3. Otras operaciones Las operaciones fundamentales del álgebra relacional son suficientes para expresar cualquier consulta del álgebra relacional. Sin embargo, algunas consultas habituales resultan complicadas. Por ello se definen otras operaciones que, si bien no añaden potencia al álgebra, simplifican las consultas La operación intersección de conjuntos La intersección de conjuntos se representa con el símbolo. Sea r = r 1 r 2, entonces toda tupla contenida en r estará también contenida en r 1 y r 2 La intersección de conjuntos no es una operación fundamental, ya que r s r (r s) La operación reunión natural Generalmente, las consultas que implican un producto cartesiano incluyen un operador selección sobre el resultado del producto cartesiano. La reunión natural es una operación binaria que permite combinar ciertas selecciones y un producto cartesiano en una sola operación. Se denota por el símbolo de la reunión. La operación reunión natural forma un producto cartesiano de sus dos argumentos, realiza una selección forzando la igualdad de los atributos que aparecen en ambos esquemas de relación y, finalmente, elimina los atributos duplicados. La operación reunión zeta es una extensión de la operación reunión natural, que permite combinar una selección cualquiera y un producto cartesiano en una sola operación. Considérense las relaciones r(r) y s(s), y sea θ un predicado de los atributos del esquema R S. La operación reunión zeta r θ s se define así: La operación división r θ s = σ θ (r s) La operación división se denota por, y resulta adecuada para las consultas que incluyen la expresión para todos Formalmente, sean r(r) y s(s) relaciones tal que S R, es decir, que todos los atributos del esquema S están también en el esquema R. La relación r s es una relación del esquema R S (es decir, del esquema que contiene todos los atributos del esquema R que no están en el esquema S). Una tupla t está en r s si y sólo si se cumplen estas dos condiciones: 1. t está en Π R S (r) 2. Por cada tupla t s s hay una tupla t r r que cumple las dos condiciones siguientes: a) t r [S] = t s [S] b) t r [R S] = t

6 4 OPERACIONES DEL ÁLGEBRA RELACIONAL EXTENDIDA La operación asignación La operación asignación se representa con el símbolo y nos permite escribir una expresión del álgebra relacional por partes, asignando el resultado de expresiones a una relación temporal. Con la operación asignación se pueden escribir las consultas como programas secuenciales consistentes en una serie de asignaciones seguida de una última expresión, cuyo valor se muestra como resultado. 4. Operaciones del álgebra relacional extendida Las operaciones básicas del álgebra relacional se han ampliado de varias maneras. Una ampliación sencilla es permitir operaciones aritméticas como parte de la proyección. Una ampliación importante es permitir operaciones de agregación, como el cálculo de la suma de los elementos de un conjunto, o su media. Otra ampliación importante es la operación reunión externa, que permite a las expresiones del álgebra relacional trabajar con los valores nulos que modelan la información que falta Proyección generalizada La operación proyección generalizada amplía la operación proyección permitiendo que se utilicen funciones aritméticas en la lista de proyección. La operación proyección generalizada tiene la forma: Π F1,F 2,...,F n (E) donde E es cualquier expresión del álgebra relacional y F 1, F 2,..., F n son expresiones aritméticas. De forma trivial, la expresión aritmética puede ser simplemente un atributo o una constante Funciones de agregación Las funciones de agregación son funciones que toman una colección de valores y devuelven como resultado un único valor. Las funciones de agregación más habituales son sum (Suma), avg (Media aritmética), count (número de elementos), min y max (Mínimo y máximo, respectivamente). En la siguiente tabla se muestran algunos ejemplos de funciones de agregación. Conjunto de valores función resultado {1, 1, 3, 4, 4, 11} sum 24 {1, 1, 3, 4, 4, 11} avg 4 {1, 1, 3, 4, 4, 11} count 6 {1, 1, 3, 4, 4, 11} min 1 {1, 1, 3, 4, 4, 11} max 11 es La expresión del álgebra relacional para el uso de una función de agregación G f (a) (R)

7 4 OPERACIONES DEL ÁLGEBRA RELACIONAL EXTENDIDA 7 Donde f es la función de agregación, R es la relación considerada, y a es el atributo a utilizar. Por ejemplo: G sum(sueldo) (empleado) Es una relación con un único atributo, que contiene una sola fila con un valor correspondiente a la suma de los sueldos de todos los empleados. Las colecciones en las que operan las funciones de agregación pueden tener valores repetidos; el orden en el que aparezcan los valores no tiene importancia. Pero hay casos en los que se desea borrar los valores repetidos antes de calcular la función de agregación. Para ello hay que utilizar los mismos nombres de funciones que antes, con la cadena de texto -distinct al final del nombre de la función (por ejemplo, count-distinct) Es posible dividir una relación en grupos, y aplicar las funciones de agregación de forma independiente en cada grupo. La sintaxis sería así: G 1,G 2,...,G n G F1 (a 1 ),F 2 (a 2 ),...,F m (a m )(E) donde E es cualquier expresión del álgebra relacional; G 1, G 2,..., G n constituyen una lista de atributos que indican cómo se realiza la agrupación, cada F i es una función de agregación y cada A i es el nombre de un atributo. La relación resultante consistirá en las tuplas con los atributos usado para agrupar, más los resultado de las funciones de agregación Reunión externa La operación reunión externa es una ampliación de la operación reunión para trabajar con la información que falta. Esta operación tiene tres formas diferentes: reunión externa por la izquierda, denotada por, reunión externa por la derecha, denotada por y reunión externa completa, denotada por. La reunión externa por la izquierda ( ) toma todas las tuplas de la relación de la izquierda que no coincidan con ninguna tupla de la relación de la derecha, las rellena con valores nulos en todos los demás atributos de la relación de la derecha y las añade al resultado de la reunión natural. La reunión externa por la derecha ( ) es simétrica de la reunión externa por la izquierda. La reunión externa completa ( ) realiza estas dos operaciones, rellenando las tuplas de la relación de la izquierda que no coincidan con ninguna tupla de la relación de la derecha y las tuplas de la relación de la derecha que no coincidan con ninguna tupla de la relación de la izquierda, y añadiéndolas al resultado de la reunión Valores nulos A menudo hay varias formas de tratar los valores nulos. Las operaciones y las comparaciones con valores nulos se deberían evitar siempre que sea posible. Dado que el valor especial nulo indica valor desconocido o no existente, cualquier operación aritmética que incluya valores nulos devolverá un valor

8 5 MODIFICACIÓN DE LA BASE DE DATOS 8 nulo. De manera similar, cualquier comparación (como <,, >, y ) que incluya un valor nulo se evalúa al nuevo valor lógico desconocido. Las operaciones lógicas tratan los valores desconocidos tal y como se muestra en la siguiente tabla. op1 operador op2 resultado cierto desconocido desconocido falso desconocido falso desconocido desconocido desconocido cierto desconocido cierto falso desconocido desconocido desconocido desconocido desconocido desconocido desconocido A la hora de efectuar operaciones en el álgebra relacional que impliquen valores nulos, hay que tener en cuenta que las operaciones de proyección, unión, intersección y diferencia tratan los valores nulos como cualquier otro valor al eliminar duplicados. Si dos tuplas del resultado de alguna de estas operaciones son exactamente iguales, y ambos tienen nulos en los mismos campos, se tratan como duplicados. La decisión es un tanto arbitraria porque sin saber cuál es el valor real no se sabe si los dos valores nulos son duplicados o no. Para las funciones de agregación, hay que tener en cuenta que cuando hay nulos en los atributos agregados, la operación borra los valores nulos del resultado antes de aplicar la agregación. Si el multiconjunto resultante está vacío, el resultado agregado será nulo. Obsérvese que el tratamiento de los valores nulos aquí es diferente que en las expresiones aritméticas ordinarias Otras operaciones adicionales Ampliacion α. Es una operación unaria, que toma una relación R y crea una relación resultante que tiene un atributo más que la original, cuyos valor se obtienen evaluando una expresión de cálculo escalar. La sintaxis de la operación es: Rα calculo escalar (nombre atributo) Resumen Ω. Permite incorporar operaciones de agregados (cuenta, suma, media, máximo, mínimo, etc). A partir de una relación R y de una lista de sus atributos, obtiene otra relación en cuya cabecera aparecen los atributos de R especificados y un nuevo atributo, con el nombre indiciado, siendo los valores de este último el resultado de evaluar la expresión de agregados. La sintaxis de la operación es: R(lista atributos)ω operaciones agregadas (nombre atributo) 5. Modificación de la base de datos En este apartado se abordará la manera de insertar, borrar o modificar información de la base de datos.

9 6 VISTAS Borrado Las solicitudes de borrado se expresan básicamente igual que las consultas. Sin embargo, en lugar de mostrar las tuplas al usuario, se eliminan de la base de datos las tuplas seleccionadas. Sólo se pueden borrar tuplas enteras; no se pueden borrar valores de atributos concretos. En el álgebra relacional los borrados se expresan mediante r r E donde r es una relación y E es una consulta del álgebra relacional Inserción Para insertar datos en una relación hay que especificar la tupla que se va a insertar o escribir una consulta cuyo resultado sea un conjunto de tuplas que vayan a insertarse. El valor de los atributos de las tuplas insertadas deben ser miembros del dominio de cada atributo y las tuplas insertadas deben ser de la aridad correcta. En el álgebra relacional las inserciones se expresan mediante r r E donde r es una relación y E es una consulta del álgebra relacional Actualización Puede que, en algunas situaciones, se desee modificar un valor de una tupla sin modificar todos los valores de la tupla. Se puede utilizar el operador proyección generalizada para realizar esta tarea: r Π F1,F 2,...,F n (r) donde cada F i es o bien el i-ésimo atributo de r, si el i-ésimo atributo no está actualizado, o una expresión que sólo implique constantes y los atributos de r, y que de el nuevo valor del atributo. Si se desea seleccionar varias tuplas de r y sólo actualizar esas mismas tuplas, se puede utilizar la expresión siguiente, donde P denota la condición de selección que escoge las tuplas que hay que actualizar: r Π F1,F 2,...,F n (σ P (r)) (r σ P (r)) 6. Vistas En los ejemplos propuestos hasta ahora se ha operado en el nivel del modelo lógico. Es decir, se ha asumido que el conjunto de relaciones que se da son las relaciones reales guardadas en la base de datos. No es deseable que todos los usuarios puedan ver la totalidad del modelo lógico. La seguridad pueden exigir que algunos datos queden ocultos para determinados usuarios. O puede que se desee crear un conjunto personalizado de

10 7 EL CÁLCULO RELACIONAL DE TUPLAS 10 relaciones que se adapte mejor que el modelo lógico a la intuición de un usuario concreto. Las relaciones que no forman parte del modelo lógico pero se hacen visibles a los usuarios como relaciones virtuales se denominan vistas Definición de vistas Las vistas se definen utilizando la instrucción create view. Para definir una vista hay que darle un nombre e indicar la consulta que la va a calcular. La forma de la instrucción create view es create view v as < expresión de consulta > Una vez se ha definido una vista se puede utilizar su nombre para hacer referencia a la relación virtual, y podrá usarse como cualquier otra relación siempre y cuando no se ejecuten sobre ella operaciones de actualización Actualizaciones mediante vistas y valores nulos las modificaciones de la base de datos expresadas en términos de vistas son problemáticas, porque deben traducirse en modificaciones de las relaciones reales en el modelo lógico de la base de datos, y puede ser que no dispongamos de la información necesaria para hacerlo.. Debido a esto generalmente no se permiten las modificaciones en las relaciones de vistas excepto en casos limitados Vistas definidas utilizando otras vistas las relaciones de vistas pueden aparecer en cualquier lugar en que pueda hacerlo el nombre de una relación. Por tanto, se pueden utilizar vistas en la expresión que define otra vista. La expansión de vistas es una manera de definir el significado de las vistas definidas en términos de otras vistas. El procedimiento asume que las definiciones de vistas no son recursivas; es decir, ninguna vista se usa en su propia definición, bien directa o indirectamente a través de otras definiciones de vistas. 7. El cálculo relacional de tuplas Cuando escribimos una expresión del álgebra relacional proporcionamos una serie de procedimientos que generan la respuesta a la consulta. El cálculo relacional de tuplas, en cambio, es un lenguaje de consulta no procedimental. Describe la información deseada sin dar un procedimiento específico para obtenerla. Las consultas se expresan en el cálculo relacional de tuplas como {t P(t)} Es decir, son el conjunto de todas las tuplas tales que el predicado P es cierto para t. Siguiendo la notación utilizada previamente, se utiliza t[a] para denotar el valor de la tupla t en el atributo A y t R r para denotar que la tupla t está en la relación r.

11 7 EL CÁLCULO RELACIONAL DE TUPLAS Consultas de ejemplo Supóngase que se desea averiguar nombre-sucursal, número-préstamo e importe de los préstamos superiores a {t t prestamo t[importe] > 1200} Supóngase que sólo se desea obtener el atributo número préstamo, en vez de todos los atributos de la relación préstamo. Para escribir esta consulta en el cálculo relacional de tuplas hay que escribir una expresión para una relación del esquema (número préstamo). Se necesitan las tuplas de (número préstamo) tales que hay una tupla en préstamo con el atributo importe > Para expresar esta solicitud hay que utilizar el constructor existe de la lógica matemática. La notación t r(q(t)) se lee existe una tupla t en la relación r tal que el predicado Q(t) es verdadero. Utilizando esta notación se puede escribir la consulta Averiguar el número de préstamo de todos los préstamos por importe superior a como {t s prestamo(t[numeroprestamo] = s[numeroprestamo] s[importe] > 1200)} El truco está en que la variable tupla t sólo se define para el atributo número préstamo, dado que es el único atributo para el que se especifica una condición. Por tanto, el resultado es una relación de (número-préstamo). Otro ejemplo, considerando dos relaciones: Averiguar el nombre de todos los clientes que tienen concedido un préstamo en la sucursal de Navacerrada {t s prestatario(t[numeroprestamo] = s[numeroprestamo] u prestamo(u[numeroprestamo] = s[numeroprestamo] u[nombresucursal] = Navacerrada ))} 7.2. Definición formal Las expresiones del cálculo relacional de tuplas son de la forma { t P(t) } donde P es una fórmula. En una fórmula pueden aparecer varias variables tupla. Se dice que una variable tupla es una variable libre a menos que esté cuantificada mediante o. Por tanto, en: t prestamo s cliente(t[nombresucursal] = s[nombresucursal]) t es una variable libre. La variable tupla s se denomina variable ligada. Las fórmulas de cálculo relacional de tuplas se construyen con átomos. Los átomos tienen una de las formas siguientes: 1. s r, siendo s una variable tupla y r una relación (no se permite el uso de ).

12 7 EL CÁLCULO RELACIONAL DE TUPLAS s[x] Θ u[y], donde s y u son variables tupla, x es un atributo de s, y es un atributo de u, y Θ es un operador de comparación (=,, <,, >, ). Es necesario que los atributos x e y tengan dominios comparables mediante Θ. 3. s[x] Θ c, donde s es una variable tupla, x es un atributo de s, Θ es un operador de comparación y c es una constante en el dominio de x. Las fórmulas se construyen a partir de los átomos utilizando las reglas siguientes: Un átomo es una fórmula. si P 1 es una fórmula, también lo son P 1 y (P 1 ) si P 1 y P 2 son fórmulas, también lo son P 1 P 2, P 1 P 2 y P 1 P 2 Si P1(s) es una fórmula que contiene una variable tupla libre s, y r es una relación, entonces s r(p 1 (s)) y s r(p 1 (s)) también son fórmulas. Igual que en el álgebra relacional, se pueden escribir expresiones equivalentes de diferentes maneras. En el cálculo relacional de tuplas estas equivalencias incluyen las tres reglas siguientes: 1. P 1 P 2 es equivalente a ( (P 1 ) (P 2 )) 2. t r(p 1 (t)) es equivalente a t r( P 1 (t)) 3. P 1 P 2 es equivalente a (P 1 ) P Seguridad de las expresiones Las expresiones del cálculo relacional de tuplas pueden generar relaciones infinitas. Supóngase que se escribió la expresión {t (t préstamo)} Hay infinitas tuplas que no están en préstamo. Para ayudar a definir las restricciones del cálculo relacional de tuplas se introduce el concepto de dominio de una fórmula relacional de tuplas, P. De manera intuitiva, el dominio de P, denotado por dom(p), es el conjunto de todos los valores a los que P hace referencia, ya sea de forma explícita o implícita. Por ejemplo, el dominio de t préstamo t[importe] > 1200 es el conjunto de todos los valores de préstamo más el valor Además, dom( (t préstamo)) es el conjunto de todos los valores que aparecen en préstamo, dado que la relación préstamo se menciona en la expresión. Se dice que una expresión {t P(t)} es segura si todos los valores que aparecen en el resultado son valores de dom(p).

13 8 EL CÁLCULO RELACIONAL DE DOMINIOS Potencia expresiva de los lenguajes El cálculo relacional de tuplas restringido a expresiones seguras es equivalente en potencia expresiva al álgebra relacional básica (sin los operadores relacionales extendidos tales como la proyección generalizada G y las operaciones de reunión externa). 8. El cálculo relacional de dominios Hay una segunda forma de cálculo relacional denominada cálculo relacional de dominios. Esta forma utiliza variables de dominio que toman sus valores del dominio de un atributo, en vez de tomarlos de una tupla completa. El cálculo relacional de dominios, sin embargo, se halla estrechamente relacionado con el cálculo relacional de tuplas Definición formal Las expresiones del cálculo relacional de dominios son de la forma {< x 1, x 2,..., x n > P(x 1, x 2,..., x n )} Donde x 1, x 2,..., x n representan las variables de dominio y P representa una fórmula compuesta de átomos, como en el cálculo relacional de tuplas. Los átomos del cálculo relacional de dominios tienen una de las formas siguientes: 1. < x 1, x 2,..., x n > r, donde r es una relación con n atributos y x 1, x 2,..., x n son variables de dominio o constantes de dominio. 2. x Θ y, donde x a y son variables de dominio y Θ es un operador de comparación (=,, <,, >, ). Los dominios de x e y deben poder compararse mediante Θ. 3. x Θ c, donde x es una variable de dominio, c una constante del dominio de x y Θ es un operador de comparación Las fórmulas se construyen a partir de los átomos utilizando las reglas siguientes: 1. Un átomo es una fórmula. 2. Si P 1 es una fórmula, también lo son P 1 y (P 1 ) 3. Si P 1 y P 2 son fórmulas, también lo son P 1 P 2, P 1 P 2 y P 1 P Si P(s) es una fórmula en x, siendo x una variable de dominio, entonces x(p(x)) y x(p(x)) también son fórmulas.

14 8 EL CÁLCULO RELACIONAL DE DOMINIOS Seguridad de las expresiones En el cálculo relacional de dominios también es posible escribir expresiones que pueden generar relaciones. Se dice que la expresión {< x 1, x 2,..., x n > P(x 1, x 2,..., x n )} es segura si se cumplen las siguientes condiciones: 1. Todos los valores que aparecen en las tuplas de la expresión son valores de dom(p). 2. Para cada subfórmula existe de la forma x(p(x)), la subfórmula es cierta si y sólo si hay un valor x en dom(p) tal que P(x) sea verdadero. 3. Para cada subfórmula para todo de la forma x(p(x)), la subfórmula es cierta si y sólo si P(x) es verdadera para todos los valores de x de dom(p). El propósito de las reglas adicionales es asegurar que se puedan probar las subfórmulas para todo y existe sin tener que probar infinitas posibilidades Potencia expresiva de los lenguajes Cuando el cálculo relacional de dominios se restringe a expresiones seguras es equivalente en potencia expresiva al cálculo relacional de tuplas restringido a expresiones seguras. Dado que se observó anteriormente que el cálculo relacional de tuplas restringido es equivalente al álgebra relacional, los tres lenguajes siguientes son equivalentes: El álgebra relacional básica (sin las operaciones extendidas) El cálculo relacional de tuplas (restringido a expresiones seguras) El cálculo relacional de dominios (restringido a expresiones seguras)

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

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

Consulta y manipulación de datos. El lenguaje SQL

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

Más detalles

Á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

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado Álgebra Relacional Un álgebra es un sistema matemático constituido por Operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos. Operadores: símbolos que denotan

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

Cálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Cálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Cálculo Relacional Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Cálculo Relacional de Tuplas Es un lenguaje de consulta no procedimental Describe la información deseada sin dar un procedimiento

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

Optimización de consultas Resumen del capítulo 14

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

Más detalles

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

Temario. Índices simples Árboles B Hashing

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

Más detalles

El modelo relacional y el álgebra relacional

El modelo relacional y el álgebra relacional El modelo relacional y el álgebra relacional Dolors Costal Costa P06/M2109/02148 FUOC P06/M2109/02148 El modelo relacional y el álgebra relacional Índice Introducción... 5 Objetivos... 6 1. Introducción

Más detalles

Temario. Índices simples Árboles B Hashing

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

Más detalles

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 10. Álgebra Relacional 1.- Introducción. 2.- Una Sintaxis para el Álgebra Relacional. 3.- Asignación Relacional. 4.- Operaciones Tradicionales

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

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por. 2. Nociones sobre Teoría de Conjuntos y Lógica Para llevar a cabo nuestro propósito de especificar formalmente los problemas y demostrar rigurosamente la correctitud de nuestro programas, introduciremos

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

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

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

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s Diseño lógico Diseño de bases de datos relacionales Diseño lógico de bases de datos relacionales El modelo relacional: El concepto de relación: tuplas, atributos y dominios. Restricciones de integridad

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

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

El modelo relacional y el álgebra relacional

El modelo relacional y el álgebra relacional El modelo relacional y el álgebra relacional Introducción Esta unidad didáctica está dedicada al estudio del modelo de datos relacional y del álgebra relacional. El concepto de modelo de datos se ha presentado

Más detalles

Preliminares: conjuntos, operaciones con conjuntos, aplicaciones, relaciones.

Preliminares: conjuntos, operaciones con conjuntos, aplicaciones, relaciones. Preliminares: conjuntos, operaciones con conjuntos, aplicaciones, relaciones. En este tema expondremos nociones y notaciones fundamentales que se emplearán cotidianamente en cualquier desarrollo matemático.

Más detalles

Cálculo Relacional. 12/03/07 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1/31. Porqué necesitamos un Lenguaje de Consulta?

Cálculo Relacional. 12/03/07 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1/31. Porqué necesitamos un Lenguaje de Consulta? El Modelo Relacional: Cálculo Relacional 12/03/07 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1/31 Porqué necesitamos un Lenguaje de Consulta? Dos ventajas importantes Menor trabajo realizar

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

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

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

Más detalles

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

DISEÑO DE BASES DE DATOS RELACIONALES

DISEÑO DE BASES DE DATOS RELACIONALES DISEÑO DE BASES DE DATOS RELACIONALES Bases de Datos I MIS. Lizbeth Alejandra Hernández González Introducción El objetivo del diseño de las bases de datos relacionales es la generación de un conjunto de

Más detalles

NORMALIZACION. Definición.

NORMALIZACION. Definición. NORMALIZACION Definición. La normalización es una técnica que se utiliza para crear relaciones lógicas apropiadas entre tablas de una base de datos. La normalización se adoptó porque el viejo estilo de

Más detalles

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional Sistemas de Bases de Datos I Modelo Lógico Modelo Relacional Modelo Lógico Modelo Relacional Esquema Relacional (E- R) Es la representación de un DER mediante tablas. Algebra Relacional Modelo Relacional

Más detalles

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION 1. INTRODUCCION 2. DESCOMPOSICION DE ESQUEMAS 3. DEPENDENCIAS FUNCIONALES 4. DEFINICIONES Dependencia funcional Determinante Dependencia funcional completa

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

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

Tema III. Capítulo 2. Sistemas generadores. Sistemas libres. Bases.

Tema III. Capítulo 2. Sistemas generadores. Sistemas libres. Bases. Tema III Capítulo 2 Sistemas generadores Sistemas libres Bases Álgebra Lineal I Departamento de Métodos Matemáticos y de Representación UDC 2 Sistemas generadores Sistemas libres Bases 1 Combinación lineal

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional SQL Básico Algebra Relacional Modelo Relacional Conceptos Relación Esquema Operaciones del Algebra Relacional Selección Proyección Unión Diferencia Producto Cartesiano Algebra Relacional Selección (σ)

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

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

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones:

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones: 2. Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma informal,

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

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

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. Teoría de las Dependencias Funcionales. Teoría de la Normalización. Formas Normales. Conclusiones. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES Las

Más detalles

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos Introducción César Ignacio García Osorio Lógica y sistemas axiomáticos 1 La lógica ha sido históricamente uno de los primeros lenguajes utilizados para representar el conocimiento. Además es frecuente

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

Normalización n de Bases de Datos Relacionales. Bases de Datos. Malos Diseños. Índice. Muchos Problemas. Definición

Normalización n de Bases de Datos Relacionales. Bases de Datos. Malos Diseños. Índice. Muchos Problemas. Definición Normalización n de Relacionales Malos Diseños Qué puede salir mal cuando se hace un mal diseño de una base de datos relacional? Esquema_prestamo= (nombre_sucursal, ciudad_sucursal, activo, nombre_cliente,

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios } La Teoría de Conjuntos es una teoría matemática, que estudia básicamente a un cierto tipo de objetos llamados conjuntos y algunas veces, a otros objetos denominados no conjuntos, así como a los problemas

Más detalles

Tema 3 Modelo relacional

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

Más detalles

TEMA 4. EL MODELO RELACIONAL. 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas

TEMA 4. EL MODELO RELACIONAL. 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas TEMA 4. EL MODELO RELACIONAL 1. El modelo relacional 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas 1. El Modelo Relacional Se debe a E.F. Codd y data de

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 11. Cálculo Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 11. Cálculo Relacional FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 11. Cálculo Relacional 1.- Introducción. 2.- Cálculo Relacional Orientado a Tuplas. 3.- Cálculo Relacional vs Álgebra Relacional: Algoritmo

Más detalles

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: 2009-2010 IES GONZALO NAZARENO

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: 2009-2010 IES GONZALO NAZARENO OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: 2009-2010 IES GONZALO NAZARENO UNIDAD DIDACTICA 2: BASES DE DATOS RELACIONALES Índice de contenido 1. El modelo Entidad-Relación (ER)...3

Más detalles

Así, si p.ej. seleccionamos la tabla Hoteles de alguna práctica anterior, y seleccionamos

Así, si p.ej. seleccionamos la tabla Hoteles de alguna práctica anterior, y seleccionamos ESCUELA UNIVERSITARIA DE TURISMO DIPLOMATURA DE TURISMO BASES DE DATOS Y EL SECTOR TURÍSTICO CURSO 02/03 CREACIÓN DE FORMULARIOS CON ACCESS. Access permite la inserción, eliminación y modificación de registros

Más detalles

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

Tema 5: Teoría de diseño de Bases de Datos Relacionales. Tema 5: Teoría de diseño de Bases de Datos Relacionales. I. Introducción. Fases de diseño de una base de datos. 1. Mod. Conceptual (MERE) -> Mod. Lógico (Relacional). 2. Mod. Lógico (Relacional). En el

Más detalles

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. Tema 1 Matrices Estructura del tema. Conceptos básicos y ejemplos Operaciones básicas con matrices Método de Gauss Rango de una matriz Concepto de matriz regular y propiedades Determinante asociado a una

Más detalles

RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre 2006. Jorge Pérez R.

RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre 2006. Jorge Pérez R. RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre 2006 Jorge Pérez R. 1 Restricciones de Dominio Son la forma más elemental de restricciones de integridad.

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

Estructuras algebraicas

Estructuras algebraicas Tema 2 Estructuras algebraicas básicas 2.1. Operación interna Definición 29. Dados tres conjuntos A, B y C, se llama ley de composición en los conjuntos A y B y resultado en el conjunto C, y se denota

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Álgebra Relacional. Relacional. Manipulación. Índice. Operaciones. Lenguaje

Álgebra Relacional. Relacional. Manipulación. Índice. Operaciones. Lenguaje anipulación Álgebra Relacional Otra parte muy importante de un modelo de datos es el mecanismo de manipulación, también denominado lenguaje de consulta, que permite extraer y actualizar los datos Álgebra

Más detalles

CONSULTA Y MANIPULACIÓN DE LOS DATOS

CONSULTA Y MANIPULACIÓN DE LOS DATOS CONSULTA Y MANIPULACIÓN DE LOS DATOS 5.1.- Álgebra Relacional El modelo relacional es la forma de representar los datos y manipular dicha representación considerando la integridad de los datos. Estos,

Más detalles

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA 1. DATOS GENERALES PLAN DE ESTUDIOS 2006-2 SEMESTRE ACADEMICO 2008-I Nombre del curso: INTRODUCCION

Más detalles

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

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

Más detalles

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

Funciones matriciales

Funciones matriciales 4. FUNCIONES ESPECIALES Funciones matriciales Una matriz es un conjunto de datos organizados en filas y columnas, que en Excel forman un rango de celdas. En una hoja de cálculo es posible tener matrices

Más detalles

UNIDAD I: LÓGICA PROPOSICIONAL

UNIDAD I: LÓGICA PROPOSICIONAL UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

ESQUEMA DE BASE DE DATOS ATROPELLOS

ESQUEMA DE BASE DE DATOS ATROPELLOS ESQUEMA DE BASE DE DATOS ATROPELLOS PEATONES (dni: domdni, nombre: domnombre, edad: domedad) CP(dni) COCHES (matrícula: dommat, marca: domcad, modelo: domcad) CP(matrícula) ATROPELLADOS (dni: domdni, matrícula:

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

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación

Más detalles

Temario Curso Bases de Datos

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

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción

Más detalles

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad

Más detalles

Apuntes de Matemática Discreta 6. Relaciones

Apuntes de Matemática Discreta 6. Relaciones Apuntes de Matemática Discreta 6. Relaciones Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 6 Relaciones Contenido 6.1 Generalidades.....................................

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

Tema 31. Bases de datos relacionales. Evolución actual

Tema 31. Bases de datos relacionales. Evolución actual Tema 31. Bases de datos relacionales. Evolución actual Tema 31. Bases de datos relacionales. Evolución actual... 1 Introducción... 1 El modelo relacional... 3 Vínculos entre tablas... 4 Lenguajes de acceso

Más detalles

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

Más detalles

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

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

Más detalles

Haydee Jiménez Tafur Grupo de Algebra. Universidad Pedagógica Nacional Estudiante de maestría en Matemáticas. Universidad Nacional de Colombia.

Haydee Jiménez Tafur Grupo de Algebra. Universidad Pedagógica Nacional Estudiante de maestría en Matemáticas. Universidad Nacional de Colombia. "Otras Alternativas Para La Definición De Relación En Teoría De Conjuntos" Carlos Julio Luque Arias Profesor Universidad Pedagógica Nacional Grupo de Algebra. Universidad Pedagógica Nacional Haydee Jiménez

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

CAPÍTULO II. 2 El espacio vectorial R n

CAPÍTULO II. 2 El espacio vectorial R n CAPÍTULO II 2 El espacio vectorial R n A una n upla (x 1, x 2,..., x n ) de números reales se le denomina vector de n coordenadas o, simplemente, vector. Por ejemplo, el par ( 3, 2) es un vector de R 2,

Más detalles

T13 - LENGUAJES DE INTERROGACIÓN DE BASES DE DATOS.

T13 - LENGUAJES DE INTERROGACIÓN DE BASES DE DATOS. - LENGUAJES DE INTERROGACIÓN DE BASES DE DATOS. 1. LENGUAJES DE INTERROGACION DE BASES DE DATOS... 2 1.1 EL ÁLGEBRA RELACIONAL... 2 1.1.1 OPERACIONES FUNDAMENTALES... 2 1.1.1.1 LA OPERACIÓN SELECCIÓN...

Más detalles

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

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

Más detalles

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

8. EL MODELO RELACIONAL - Continuación (2):

8. EL MODELO RELACIONAL - Continuación (2): APUNTES DEL MÓDULO PROFESIONAL: SISTEMAS GESTORES DE BASES DE DATOS (4) Página 1 de 12 8. EL MODELO RELACIONAL - Continuación (2): TRANSFORMACIÓN DE UN DIAGRAMA ENTIDAD-RELACIÓN A UN ESQUEMA RELACIONAL:

Más detalles

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.

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

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12 Teoría de conjuntos. Teoría de Conjuntos. personal.us.es/elisacamol Curso 2011/12 Teoría de Conjuntos. Teoría de conjuntos. Noción intuitiva de conjunto. Propiedades. Un conjunto es la reunión en un todo

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

ESPACIO VECTORIAL ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN

ESPACIO VECTORIAL ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN Tema 5.- ESPACIOS VECTORIALES ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN ESPACIO VECTORIAL Fundamentos Matemáticosde la Ingeniería 1 Aunque históricamente el primer trabajo de Álgebra

Más detalles

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre CURSO CERO Departamento de Matemáticas Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre Capítulo 1 La demostración matemática Demostración por inducción El razonamiento por inducción es una

Más detalles

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Departamento de Matemáticas, CCIR/ITESM 4 de enero de 2 Índice 3.. Objetivos................................................ 3.2. Motivación...............................................

Más detalles

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Semánticas del cálculo de predicados proporcionan las bases formales para determinar el valor

Más detalles

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

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

Más detalles

UNIVERSIDAD POPULAR DEL CESAR DEPATAMENTO DE MATEMATICA Y ESTADISTICA ALGEBRA DE BOOLE

UNIVERSIDAD POPULAR DEL CESAR DEPATAMENTO DE MATEMATICA Y ESTADISTICA ALGEBRA DE BOOLE UNIVERSIDAD POPULAR DEL CESAR DEPATAMENTO DE MATEMATICA Y ESTADISTICA ALGEBRA DE BOOLE GERMAN ISAAC SOSA MONTENEGRO EJERCICIOS 3. Escriba en notación expandida los siguientes numerales : a) 2375 b) 110111

Más detalles

INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER

INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER Manual del Alumno ASIGNATURA: Matemática I PROGRAMA: S3C Lima-Perú SESION 1 SISTEMAS DE NUMERACION DEFINICION : Es un conjunto de reglas y principios que nos

Más detalles