Bases Datos RElacionales
Definición de base de datos relacional
Álgebra relacional
Álgebra relacional extendida
Vistas
3.1
Bases de Datos Relacionales
Tablas (ejemplo en la página siguiente)
Una BB.DD. relacional consta de un conjunto de tablas.
Las operaciones (razonamiento sobre los datos) con atributos
(columnas de la tabla) se realizan mediante operaciones lógicas (true/false o quizá NULL)
Filas
Las filas no están ordenadas pero las columnas si
ERelationship relation
Relación (adelanto de la definición)
Subconjunto del conjunto cartesiano de los dominios de los
atributos (telfono DNI)
El dominio de los atributos debe ser atómico (no se puede
subdividir)
3.2
Relación Cliente
nombrecliente
direccióncliente
3.3
ciudadcliente
Atributos
Cada atributo de una relación tiene un nombre
El conjunto de todos los valores posibles para un determinado
atributo es el dominio del atributo
Los atributos deben ser atómicos, esto es, indivisibles
Los atributos multivaluados no son indivisibles atómicos
Los atributos compuestos no son atómicos
El valor NULO pertenece a todos los dominios
En general se debe intentar evitar que el valor de los atributos
sea nulo (crea problemas con las operaciones lógicas)
3.4
Definición Formal de Relación
Dados los conjuntos D1, D2, …. Dn una relación r es un
subconjunto de D1 x D2 x … x Dn
Esto es, una relación es un subconjunto de ntuples (a1, a2, …, an)
donde cada ai Di
Ejemplo: si
nombrecliente = {Jones, Smith, Curry, Lindsay}
direccioncliente = {Main, North, Park}ciudadcliente = {Harrison, Rye, Pittsfield}
Entonces r = { (Jones, Main, Harrison),
(Smith, North, Rye),
(Curry, North, Rye),
(Lindsay, Park, Pittsfield)}
es una relación sobre nombrecliente x direccioncliente x ciudad
cliente
3.5
Instancia de una Relación
Los valores actuales (instancia) de una relación se especifican mediante una tabla.
Un elemento t de r es una tupla, se representa mediante una
fila en una tabla
atributos
(o columnas)
nombrecliente
Direccioncliente
customername customerstreet
Jones
Smith
Curry
Lindsay
Main
North
North
Park
cliente
3.7
Ciudadcliente
customercity
Harrison
Rye
Rye
Pittsfield
tupla
(o filas)
Las Relaciones no Están Ordenadas
El orden de las tuplas es irrelevanteNumerocuenta
Sucursalcuenta
3.8
Saldocuenta
Álgebra Relacional
apuntar operadores
Lenguaje no procedural
Seis operaciones básicas
seleccionar
proyectar
unir
diferencia (de conjuntos)
Producto cartesiano
renombrar
Los operadores toman una o más relaciones como entrada y
proporcionan una nueva relación como salida.
3.12
Operador Selección – Ejemplo
• Relación rA=B ^ D > 5 (r)
A
B
C
D
1
7
5
7
12
3
23 10
A
B
C
D
1
7
23 10
3.13
Operador Selección
Notación: p(r)
p se llama el predicado de la selección
Definido como:
p(r) = {t | t r and p(t)}
Donde p es una formula consistente en expresiones
conectadas por : (and), (or), (not)
Cada expresion es del tipo:
op
Ejemplo de selección:
nombresucursal=“Perryridge”(cuenta)
3.14
Operador Proyección – Ejemplo,redundancia
Relación r:
A,C (r)
A
B
C
10
1
20
1
30
1
40
2
A
C
A
C
1
1
1
1
1
2
2
=
3.15
Operador Proyección
Notación:
A1, A2, …, Ak (r)
donde A1, A2 son atributos y r una relación
El resulta es una relación de k columnas obtenida borrando las
columnas no enumeradas
Las filas duplicadas se suprimen
Esto es, para eliminar el atributo nombresucursal de “cuenta”.
numerocuenta, saldo (cuenta)
3.16
Operador Unión – Ejemplo
Relaciones r, s:
A
B
A
B
1
2
2
3
1
s
r
r s:
A
B
1
2
1
3
3.17
Operador Unión
...
Regístrate para leer el documento completo.