Post on 03-Jul-2015
INTRODUCCIÓNINTRODUCCIÓN
Un lenguaje de consulta es en el que el Un lenguaje de consulta es en el que el usuario solicita información de la base usuario solicita información de la base de datos: se construye una expresión de datos: se construye una expresión que contesta interrogantes sobre la que contesta interrogantes sobre la instancia actual de la base.instancia actual de la base.
Se vera un lenguaje puro que es rígido Se vera un lenguaje puro que es rígido y formal, pero que ilustra las técnicas y formal, pero que ilustra las técnicas fundamentales para la extracción de la fundamentales para la extracción de la información: el información: el Algebra RelacionalAlgebra Relacional
CONCEPTOS BÁSICOSCONCEPTOS BÁSICOS
Una Base de Datos Relacional muestra las tablas en forma de filas y columnas
Ciudad (num_ciu, nomb_ciu)
a1 La paz
a5 Santa Luz
a6 Tarija
a9 potosí
Dominio: Es el conjunto de todos los valores permitidos que una columna puede tomar. Se tiene D1, D2,..., Dn, si tenemos n columnas.
Producto Cartesiano: De lo anterior se tiene V1∈D1,V2∈D2, ... , Vn∈Dn , porque cada elemento está en el dominio respectivo. En matemáticas podemos decir que la tupla es un elemento del producto cartesiano de los dominios:
(v1,v2,....,vn)∈(D1xD2x.....xDn) =Xi=1,n(Di)
TUPLAS: Cada una de las filas de una tabla se compone de n elementos (V1,V2,..,Vn). En matemáticas este conjunto ordenado de elementos se llama tupla
RELACION: Es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos Es por esto que en el álgebra relacional se denomina relación a una tabla y tupla a un fila de tabla.
SIMBOLOS DE LENGUAJESIMBOLOS DE LENGUAJE
Los símbolos de lenguaje son: Símbolos de Puntuación: paréntesis "(", ")" y coma
",". Símbolos de variables: se representan mediante letras
minúsculas del final del alfabeto: r, s, t, u, v, w, x, y, z. Símbolos de constantes: se representan mediante
letras minúsculas del principio del alfabeto: a, b, c, d, e. Símbolos de funciones: también se representan con
letras minúsculas, pero del centro del alfabeto: f, g, h, i.. Símbolos de predicados: se representan mediante
letras mayúsculas. Operadores lógicos: ¬ (negación), ¬ (implicación), ∨
(conjunción) y ∧ (disyunción). Cuantificadores: ∀ (cuantificador universal) y ∃
(cuantificador existencial).
LAS OPERACIONES DEL LAS OPERACIONES DEL ALGEBRA RELACIONALALGEBRA RELACIONAL
Las operaciones de álgebra relacional manipulan relaciones. Esto significa que estas operaciones usan uno o dos relaciones existentes para crear una nueva relación. Esta nueva relación puede entonces usarse como entrada para una nueva operación.
El algebra relacional consta de nueve operaciones UniónIntersecciónDiferenciaProductoSelecciónProyecciónReuniónDivisiónRenombrar
UNIÓN(UNIÓN(∪∪))
•La operación de unión permite combinar datos de varias relaciones. •No siempre es posible realizar consultas de unión entre varias tablas, para poder realizar esta operación es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales.
Ejemplo: Teniendo dos relaciones R y S, R∪S, es el conjunto de filas que pertenecen a R, a S o a ambas. R y S deben tener esquemas con conjuntos idénticos de atributosR
Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58
SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67
R∪S Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58Luís Díaz C/Sol,5 8-5-67
INTERSECCIÓN (∩)INTERSECCIÓN (∩)
• La operación de intersección permite identificar filas que son comunes en dos relaciones. Al igual que la operación Unión, para poder realizar esta operación es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales
• Ejemplo: : Teniendo dos relaciones R y S, R∩S, es el conjunto de filas que pertenecen a R y a S.
R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58
SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67
R∩SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62
DIFERENCIA(-)DIFERENCIA(-)
• La operación diferencia permite identificar filas que están en una relación y no en otra.
Ejemplo: La diferencia de dos relaciones R y S, R-S, es el conjunto de filas de R que no pertenecen a S. R y S deben tener esquemas con conjuntos idénticos de atributos
R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58
SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67
R-SNombre Dirección FechaAna Gómez C/Luna,3 8-3-58
PRODUCTO (X)PRODUCTO (X)
• La operación producto consiste en la realización de un producto cartesiano entre dos tablas dando como resultado todas las posibles combinaciones entre los registros de la primera y los registros de la segunda. Esta operación se entiende mejor con el siguiente
Ejemplo: Sean R y S dos relaciones de grado m y n, respectivamente. El producto cartesiano, R X S, es una relación de grado m + n formada por todas las posibles tuplas en las que los m primeros elementos constituyen una tupla de R y los n últimos una tupla de S
A B
1 2
3 4
RR B C D
2 5 6
4 7 8
9 10 11
SS
A R.B S.B C D
1 2 2 5 6
1 2 4 7 8
1 2 9 10 11
3 4 2 5 6
3 4 4 7 8
3 4 9 10 11
R X SR X S
SELECCIÓN (σ)
•Formato de Uso: σ (condición) (RELACION) Esta operación es la que normalmente se conoce como consulta.
En este tipo de consulta se emplean los diferentes operadores de comparación (=,>, <, >=, <=, <>) y los operadores lógicos ∧ (and), ∨ (or), ¬ (not)
)( ValorColumnaOPERADOR
EmpleadoEmpleado
Cedula Nombre
Apellido
Sexo Sueldo
8721882
Luís Pacheco
M 1600000
1140837
Janeth Rozo F 2000000
9632584
Carmelo
Osorio M 1200000
1142365
Valeria Rozo F 1800000
8542631
Julián Román M 1500000
1123659
Lucrecia
Mejia F 1563000
EJEMPLOSEJEMPLOS
Muestra el resultado de las siguientes selecciones: σ cedula = 8721882 (EMPLEADO)
Cedula Nombre
Apellido
Sexo Sueldo
8721882
Luís Pacheco
M 1600000
Cedula Nombre
Apellido
Sexo Sueldo
1140837
Janeth Rozo F 2000000
1142365
Valeria Ortega F 1800000
1123659
Lucrecia
Mejia F 1563000
σ sexo = ‘F’ (EMPLEADO)
PROYECCION (PROYECCION ())
• Una proyección es una selección en la que seleccionamos aquellos campos que deseamos recuperar.
• Formato de uso (lista de atributos)
(Relación)
EJEMPLOEJEMPLOSS
• Muestra el resultado de las siguientes proyecciones:
R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58
nombre, fecha (R)
R Nombre FechaJuan Díaz 9-9-62Ana Gómez 8-3-58
• cedula, salario (EMPLEADO)
Cedula Sueldo
8721882 1600000
1140837 2000000
9632584 1200000
1142365 1800000
8542631 1500000
1123659 1563000
Reunión (Join) θ
• La reunión se utiliza para recuperar datos a través de varias tablas conectadas unas con otras mediante cláusulas JOIN. La operación reunión se puede combinar con las operaciones selección y proyección
REUNION NATURALREUNION NATURAL
• La reaunión natural es una operación binaria que permite combinar ciertas selecciones y un producto cartesiano en una sola operación y elimina los atributos repetidos.
A B
12412
C D
aabab
B
13123
D
aaabb
E
A B
11112
C
aaaab
E
r sD
EJEMPLOEJEMPLOHay dos relaciones R y SHay dos relaciones R y S
DIVISION (DIVISION (÷)
• Operación del álgebra relacional que crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación.
Tabla A
Código Producto
1035
2241
2249
5818
Código
Comercial
Código Producto
10 2241
23 2518
23 1035
39 2518
37 2518
10 2249
23 2249
23 2241
Tabla B
División
Código Comercial
23
RENOMBRAR RENOMBRAR
• Permite referirse a una relación por más de un nombre.
Ejemplo: x (E)Devuelve la expresión E bajo el nombre XSi la expresión del algebra relacional E tiene
aridad n, entonces x (A1, A2, …, An) (E)devuelve el resultado de la expresiónE bajo
el nombre X, y con los atributos renombrados a A1, A2, …., An.
FUNCIONES DE FUNCIONES DE AGREGACIONAGREGACION
• Las funciones de agregación toma una colección de valores y retorna un solo valoR como resultado.
avg: valor promediomin: valor mínimomax: valor máximosum: suma de valorescount: número de valores
RESUMENRESUMEN
• El álgebra relacional define un conjunto de operaciones algebraicas que operan sobre tablas y devuelven tablas como resultado. Estas operaciones se pueden combinar para obtener expresiones que expresan las consultas deseadas. El álgebra define las operaciones básicas usadas en los lenguajes de consulta relacionales