• Todos los datos tienen un tipo asociado con ellos. Un dato
puede ser un simple carácter, tal como “b”, un valor entero tal
como 35. El tipo de dato determina la naturaleza del conjunto
de valores que puede tomar una variable.
Simples
Estructurados
•Numéricos: Enteros, Reales, etc.
•Lógicos: Boolean, etc.
•Alfanuméricos: String, etc.
•Arreglos: Vectores, Matrices.
•Registros: Bases de Datos
•Archivos: Ficheros.
•Punteros.
• Datos Numéricos: Permiten representar valores escalares de
forma numérica, esto incluye a los números enteros y los reales.
Este tipo de datos permiten realizar operaciones aritméticas
comunes.
• Datos Lógicos: Son aquellos que sólo pueden tener dos valores
(cierto o falso) ya que representan el resultado de una
comparación entre otros datos (numéricos o alfanuméricos).
• Datos Alfanuméricos (String):Es una secuencia de caracteres
alfanuméricos que permiten representar valores identificables
de forma descriptiva, esto incluye nombres de personas,
direcciones, etc.
• Es posible representar números como alfanuméricos, pero estos
pierden su propiedad matemática, es decir no es posible hacer
operaciones con ellos. Este tipo de datos se representan
encerrados entre comillas.
Ejemplo:
•
•
•
•
•
“Instituto Tecnológico de Tuxtepec”
“1997”
“161-230999-00008E”
“False”
“A”
• Las expresiones son combinaciones de constantes, variables,
símbolos de operación, paréntesis y nombres de funciones
especiales.
Por ejemplo:
• a+(b + 3)/c
• a>(3x+2)
• Cada expresión toma un valor que se determina tomando los
valores de las variables y constantes implicadas y la ejecución
de las operaciones indicadas.
• Una expresión consta de operadores y operandos. Según sea
el tipo de datos que manipulan, se clasifican las expresiones en:
• Aritméticas
• Relaciónales
• Lógicas
Son elementos que relacionan de forma diferente, los valores de
una o mas variables y/o constantes. Es decir, los operadores
nos permiten manipular valores.
TIPOS DE OPERADORES
• Aritméticos
• Relacionales
• Lógicos
Permiten la realización de operaciones matemáticas con los
valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de
datos enteros o reales. Si ambos son enteros, el resultado es
entero; si alguno de ellos es real, el resultado es real.
Operando (operador) Operando
Valor
(Constante o Variable)
•
•
•
•
•
Suma +
Resta Multiplicación *
División /
Módulo Mod (residuo de la división entera)
Ejemplos
Expresión
• 7/2
• 12 mod 7
• 4+2*5
• 5 -3 / 2
Resultado
3.5
5
14
3.5
Todas las expresiones entre paréntesis se evalúan primero. Las
expresiones con paréntesis anidados se evalúan de dentro a
fuera, el paréntesis mas interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el
siguiente orden.
1. ^, Paréntesis, exponenciación
2. *, /, mod Multiplicación, división, modulo.
3. +, -Suma y resta.
Los operadores en una misma expresión con igual nivel de
prioridad se evalúan de izquierda a derecha.
•
•
•
•
•
•
•
•
•
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
46 / 5 = 9.2
3 + 5 * (10 -(2 + 4)) = 23
3 + 5 * (10 -6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 -14.0 / 40 = 5.09
3.5 + 5.09 -3.5 = 8.59 -3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
• Se utilizan para establecer una relación entre dos valores.
• Compara estos valores entre si y esta comparación produce un
resultado de certeza o falsedad (verdadero o falso).
• Los operadores relaciónales comparan valores del mismo tipo
(numéricos o cadenas)
• Tienen el mismo nivel de prioridad en su evaluación.
• Los operadores relaciónales tiene menor prioridad que los
aritméticos.
•
•
•
•
•
•
>Mayor que
<Menor que
> =Mayor o igual que
< = Menor o igual que
< >Diferente
=Igual
Ejemplos:
Si a = 10
b = 20
c = 30
a+b>c
Falso
a -b < c
Verdadero
a -b = c
Falso
a * b < > c Verdadero
Ejemplos no lógicos:
a<b<c
10 < 20 < 30
T < 30 (no es lógico porque tiene diferentes operandos)
Estos operadores se utilizan para establecer relaciones entre
valores lógicos.
Estos valores pueden ser resultado de una expresión relacional.
Operadores Lógicos
• And
Y
• Or
O
• Not
Negación
AND
Operando1
T
T
F
F
Operador
AND
Operando2
T
F
T
F
Resultado
T
F
F
F
Operando2
T
F
T
F
Resultado
T
T
T
F
OR
Operando1
T
T
F
F
Operador
OR
NOT
Operando
T
F
Operador
NOT
Resultado
F
T
Ejemplo
(a < b) and (b < c)
(10<20) and (20<30)
T and T
T
Prioridad de los Operadores Lógicos
Not
And
Or
Prioridad de los Operadores en General
1.
2.
3.
4.
5.
()
^
*, /, Mod, Not
+, -, And
>, <, > =, < =, < >, =, Or
Laura Cristina Duarte Quintero
Ing. De Sistemas
• Se denomina algebra relacional a un conjunto de operaciones
encargadas de la manipulación de datos agrupados
(relaciones).
• Estas operaciones describen la manipulación de datos. Son en
si, una representación intermedia de una consulta a una base
de datos.
• Debido a sus propiedades algebraicas, estas operaciones
sirven para obtener una versión más optimizada y eficiente de
dicha consulta.
Términos necesarios de entender.
• Relación: Se le denomina relación a un conjuntos de datos ordenados en
forma de filas y columnas, los cuales están relacionados por algún contexto.
Estas relaciones contienen dentro de sus partes a la cabecera, tuplas y
campos.
• Tupla: Es una parte de una relación, un conjunto de datos que entregan una
información relacionada. Enfocado a las bases de datos puede llamarse
“registro” ó “filas de una tabla”.
Campo1
Campo2
Campo3
Valor 1
Valor 2
Valor 3
Valor n
Valor n
Valor n
Campo
Cabecera
Tupla
Operaciones del algebra relacional
De los ocho operadores, sólo hay cinco que son fundamentales:
restricción, proyección, producto cartesiano, unión y diferencia,
que permiten realizar la mayoría de las operaciones de
obtención de datos. Los operadores no fundamentales son la
concatenación (join), la intersección y la división, que se pueden
expresar a partir de los cinco operadores fundamentales.
En esta presentación estudiaremos las operaciones de unión,
Intersección y diferencia.
• Unión: Esta operación retorna un conjunto de tuplas (tipo
especial de conjunto) que estén en una o en ambas relaciones
que se asocian. Para poder realizar esta operación, es
necesario que las dos relaciones sean compatibles.
• El resultado de esta operación entregará a lo más la cantidad
de tuplas de la primera relación sumada a la cantidad de
tuplas de la segunda. Los elementos repetidos aparecerán solo
una vez.
• Se simboliza por  ∪ , en donde “R” y “S” son dos relaciones
que interactúan bajo esta operación
• Intersección: Esta operación, obtiene como resultado la cantidad
de tuplas que se encuentran en las dos relaciones. Estas
relaciones deben ser compatibles para poder obtener un
resultado.
• El resultado de esta operación, a lo más entrega el total de
tuplas de una de las dos relaciones.
• Se simboliza por  ∩  en donde “R” y “S” son dos relaciones
que interactúan bajo esta operación.
• Diferencia: Esta operación entrega como resultado la cantidad
de tuplas que se encuentren en la primera relación pero no en
la segunda. Estas relaciones deben ser compatibles para poder
obtener un resultado.
• El resultado de esta operación, a lo más entrega el total de
tuplas de la primera relación.
• Se simboliza por  –  en donde “R” y “S” son dos relaciones
que interactúan bajo esta operación.
Ejemplos:
Teniendo en cuenta que existen estas dos relaciones:
z.sur
NIT
15236589-7
12985632-1
14896352-5
Nombre
Jose
Mario
Pedro
Apellido
Prado
Ulloa
Soto
z.norte
NIT
12985632-1
11258654-k
14896352-5
Nombre
Mario
Julio
Pedro
Apellido
Ulloa
Romo
Soto
La relación de unión sería:
.  ∪ . 
Y da como resultado:
NIT
15236589-7
12985632-1
14896352-5
11258654-k
Nombre
Jose
Mario
Pedro
Julio
Apellido
Prado
Ulloa
Soto
Romo
La relación de Intersección sería:
NIT
12985632-1
14896352-5
Nombre
Mario
Pedro
La relación de diferencia sería:
NIT
15236589-7
.  ∩ . 
Apellido
Ulloa
Soto
.  − . 
Nombre
Jose
Apellido
Prado
.  − . 
NIT
11258654-k
Nombre
Julio
Apellido
Romo
• En matemáticas
• El producto cartesiano de dos conjuntos A y B es el conjunto de todos los
pares ordenados de la forma (a,b) tal que el primer elemento pertenece
A y el segundo a B.
• Aplicando lo anterior, el producto cartesiano de dos relaciones
sería un conjunto de pares ordenados de tuplas, no
conservando la propiedad de cerradura.
• Por lo que se define el producto cartesiano ampliado.
• Producto Cartesiano Ampliado
• Obtendríamos el producto cartesiano según la definición matemática y
• Cada par ordenado de tuplas es reemplazado por la tupla resultante de
la combinación de las dos tuplas.
• Producto Cartesiano Ampliado
• (R1 x R2) , tal que R1 y R2 son compatibles respecto al producto.
• El resultado sería otra relación cuya cabecera es la combinación de las
cabeceras de R1 o R2 y cuyo cuerpo esta compuesto por tuplas que son
combinaciones de una tubla R1 y otra de R2.
38
 Selección (σ) (sigma) La selección de una relación mediante
una expresión lógica (predicado de selección) da como
resultado una relación formada por el conjunto de tuplas que
satisfacen dicha expresión.
 Ejemplo:
• Proyección (π) (Pi) La proyección de una relación sobre un
conjunto de sus atributos es otra relación definida sobre estos
atributos, eliminando las tuplas duplicadas que hubieran
podido resultar.
• Ejemplo:
• Join (θ) (Theta) el join de dos relaciones respecto a una cierta
condición de join, es otra relación constituida por todos los pares de
tuplas ti y tj concatenadas, tales que, en cada par, las
correspondientes tuplas satisfacen la condición especificada.
• Se corresponde con un producto cartesiano seguido de una
restricción.
• También se llama combinación o Reunión.
• Hay varios tipos de join: equijoin, join mayor que …
• Vamos a ver el Equijoin o Join Natural
• Join Natural o Combinación Natural (*) es una combinación por
igualdad donde se ha eliminado, en la relación resultante, un atributo
de cada pareja cuyos valores son idénticos.
• Es el caso más utilizado de combinación para relaciones que tienen
atributos comunes.
• Se corresponde con un producto cartesiano seguido de una restricción
por igualdad, y después de una proyección (para quitar la
duplicación en los atributos emparejados).
• Cuando el atributo común tiene el mismo nombre en ambas
relaciones, se suele omitir la condición de combinación.
• Ejemplo
• División (:) La división de una relación R1 (dividendo) por otra relación R2
(divisor) es una relación R (cociente) tal que, al realizarse su combinación con
el divisor, todas las tuplas resultantes se encuentran en el dividendo.
• Ejemplo:
44
Descargar

Algebra Relacional