Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Temario
I Modelo Relacional y Forma II Redundancia y consistencia
Normal ●
2.1 Operaciones en las Relaciones
●
1.1 Introducción – 2.1.1 Permutación
●
1.2 Dependencia de los datos – 2.1.2 Proyección
●
1.2.1. Dep. de Ordenamiento
– 2.1.3 Join
●
1.2.2. Dep. de índices
– 2.1.4 Composición
●
1.2.3. Dep. de ruta de acceso
– 2.1.5 Restricción
●
1.3. Una visión relacional de los datos
●
2.2 Redundancia
●
1.4. Forma normal
– 2.2.1 Redundancia fuerte
●
1.5. Algunos aspectos lingüísticos
– 2.2.2 Redundancia débil
●
1.6. Relaciones expresables, nombradas y
almacenadas ●
2.3 Consistencia
3
RESUMEN
●
Los usuarios no necesitan conocer cómo están
organizados los datos en la máquina (representación
interna)
●
Las aplicaciones no deberían verse afectadas por
cambios en la representación interna
●
Los cambios en la representación de los datos a veces
son necesarios
4
RESUMEN (cont.)
●
Modelos jerárquicos y de red
●
1ero se discuten los problemas de estos modelos, un
modelo basado en relaciones n-arias, una forma normal
y los conceptos de un lenguaje universal de datos
●
Después se discuten algunas operaciones sobre las
relaciones, aplicadas a los problemas de redundancia y
consistencia
5
Modelo Relacional y Forma Normal
1.1 Introducción
●
Aplicación de la teoría Relacional a los sistemas que
permiten acceso compartido a grandes volúmenes de datos
●
Independencia de los aplicaciones en los cambios a nivel
de tipos y representación de los datos
●
La teoría Relacional permite plantear las bases para
tratar la derivación, redundancia y consistencia de las
relaciones
6
1.2 Dependencia de los datos
●
Objetivo: independencia de los datos
●
Las principales dependencias que requieren ser eliminadas
son: de ordenamiento, de índices y de ruta de acceso
7
1.2.1. Dependencia de ordenamiento
●
Los datos pueden ser almacenados en una gran variedad de formas
y dependiendo del tipo de almacenamiento, pueden aplicarse
diferentes estrategias de ordenamiento, excluyentes unas de
otras
●
Existen problemas importantes que resolver para solucionar este
tipo de dependencia
8
1.2.2. Dependencia de índices
●
Normalmente se piensa en los índices como componentes sólo
orientados al desempeño
●
Desde un punto de vista sólo de la información, un índice es
una componente redundante de la representación de datos
●
Debe existir la habilidad de crear y eliminar índices de vez en
cuando, pero ¿pueden las aplicaciones permanecer indiferentes a
estos cambios?
9
1.2.3. Dependencia de la ruta de acceso
●
Existen(ían) modelos basados en estructura de árbol y de red,
pero las aplicaciones no operan correctamente si el modelo
cambia
●
No resulta práctico que las aplicaciones tengan que validar el
modelo de ruta de acceso, habría que imponer la regla de que
dado un modelo de ruta de acceso, éste no puede ser cambiado,
lo cual en la práctica no resulta eficiente
●
Por otra parte, la cantidad de modelos que pueden llegar a
existir puede ser muy elevada
10
1.3. Una visión relacional de los datos
●
El término relación es utilizado en un sentido matemático
● Dados los conjuntos S1, S2, ···, Sn, (no necesariamente
distintos), R es una relación en estos n conjuntos, si es
un conjunto de n-tuplas
● Sj es el j-ésimo dominio de R y se dice que es de grado n
●
R es un subconjunto del producto Cartesiano
S1 x S2 x ... x Sn
11
Un arreglo que represente una relación n-aria R, tiene
las siguientes propiedades:
●
Cada fila representa una n-tupla de R
●
El orden de las filas no tiene importancia
●
Todas las filas son distintas
● El orden de las columnas importa, corresponde al orden S1,
S2, ···, Sn del dominio definido para R
●
La importancia de cada columna se indica con el nombre
del dominio correspondiente
12
●
La totalidad de los datos en un “banco de datos” (base
de datos), puede ser vista como una colección de
relaciones que varían en el tiempo
●
Estas relaciones poseen una variedad de grados
●
A medida que el tiempo pasa, cada relación n-aria puede
estar sujeta a inserciones, eliminaciones y
modificaciones
13
●
Normalmente los usuarios no deberían tener que recordar
el ordenamiento de los dominios de una relación, lo que
se propone es que el usuario maneje nuevas relaciones
(equivalentes a permutaciones de dominios) con dominios
homólogos no ordenados
●
Para lograr esto, los dominios deben poder ser
identificados en forma única, sin necesidad de indicar su
orden
●
Se deben introducir algunos conceptos adicionales:
dominio activo, claves primaria y foránea, dominio
compuesto
14
●
Un dominio (o combinación de dominios), de una cierta
relación, tiene valores que identifican en forma única un
elemento (n-tupla). Tal dominio (o combinación) es
llamado llave primaria
●
Una llave primaria es única si es un dominio simple (no
una combinación) o una combinación tal que ninguno de los
dominios componentes es independiente para identificar en
forma única a cada elemento
●
Una relación puede tener más de una llave primaria, pero
se debe elegir una como tal
15
●
Se llamará a un dominio (o combinación de ellos) de una
relación R una llave foránea, si esta no es la llave
primaria de R, pero sí la llave primaria de otra relación
S
●
También es importante mencionar que algunos dominios
pueden tener relaciones como elementos. Hablaremos de
dominios simples y no-simples
16
1.4. Forma Normal
●
Una relación cuyos dominios son todos simples puede ser
representada por un arreglo homogéneo bi-dimensional
●
La posibilidad de eliminar los dominios no-simples es
importante y se puede hacer a través de un procedimiento
sencillo: normalización
17
18
1.5. Algunos aspectos lingüísticos
●
La adopción de un modelo de datos relacional como el
descrito, permite el desarrollo de un sublenguaje
universal de datos basado en el cálculo de predicados
19
1.6. Relaciones expresables, nombradas y almacenadas
●
Asociado a un “Banco de Datos” existen dos tipos de
relaciones: el conjunto nombrado y el conjunto expresado
●
El conjunto nombrado es la colección de todas aquellas
relaciones que la comunidad de usuarios puede identificar
por medio de un nombre (o identificador)
●
El conjunto expresable es la colección total de
relaciones que pueden ser designadas por expresiones en
el lenguaje de datos
●
El 1ero es subconjunto del segundo
20
●
Uno de los mayores problemas a los que se enfrenta el
diseñador de un sistema de datos que soporte un modelo
relacional es determinar la clase de representaciones de
almacenamiento a ser soportadas
●
Para cualquiera de estas clases, el sistema debe proveer
un forma para traducir los requerimientos de los usuarios
en las acciones correspondientes (eficientes)
●
Esto no es un reto menor pues es importante proveer de un
mecanismo eficiente a medida que la cantidad de usuarios
y requerimientos crecen
21
Redundancia y Consistencia
2.1 Operaciones en las Relaciones
●
Dado que las relaciones son conjuntos, son aplicables a
ellas todas las operaciones habituales de conjuntos
●
A pesar de esto, el resultado puede no ser una relación,
por ejemplo, la unión de una relación binaria y una
ternaria no es una relación
22
2.1.1 Permutación
●
Una relación binaria se representa como un arreglo de dos
columnas, intercambiando las dos columnas se obtiene la
relación inversa
●
Si se aplica una permutación a las columnas de una
relación n-aria, se dice que el resultado es una
permutación de la relación original
●
En una relación de grado 4 existen 4!=24 permutaciones
23
2.1.2 Proyección
●
Supongamos que seleccionamos algunas columnas de la
relación y luego se eliminamos las filas duplicadas:
Proyección
●
Se usa el operador de selección Π para obtener una
permutación, una proyección o una combinación de ambas
operaciones
24
2.1.2 Proyección (cont.)
25
2.1.3 Join
●
Supongamos que tenemos dos relaciones binarias con algún
dominio en común. ¿Bajo qué circunstancias podemos
combinar estas relaciones para formar una relación
ternaria que preserve la información de las originales?
●
Una relación binaria R es “joinable” con una relación
binaria S si existe una relación ternaria U tal que
Π12(U)=R y Π23(U)=S
●
U es un join de R con S
26
2.1.3 Join (cont.)
27
●
En el dominio part (a partir del cual se hace el join) existe
un elemento que posee más de un valor tanto en R como en S:
punto de ambigüedad
28
29
2.1.3 Join (cont.)
●
En la siguiente figura ninguna de las relaciones R,
Π21(R), S, Π21(S) es una función
●
La ambigüedad en el join de R con S puede a veces ser
resuelta a través de otras relaciones
30
2.1.3 Join (cont.)
●
Supongamos que a partir de R y S se puede derivar la
relación T a partir de los dominios project y supplier
con las siguientes propiedades
OJO R(s,p)
31
●
Entonces se puede formar un join de tres-vías (three-way
join) de R, S, T que es una relación ternaria tal que
U
1 2 3
s p j
32
●
Al join anterior se le conoce como cyclic 3-join
●
Existe además el linear 3-join que corresponde a una relación
cuaternaria V
V
1 2 3 4
s p j s
33
●
El linear 3-join natural de tres relaciones binarias R,S,T está dado por
●
Definimos el operador que genera una relación de grado n-1 a partir
de una relación de grado n
●
Si R es una relación n-aria (n>=2) se define el operador tie
●
Podemos representar el cyclic 3-join natural de R,S,T por
34
(Composición de funciones)
35
Así por ejemplo, sean las funciones
36
2.1.4 Composición
●
Sean las relaciones R,S. T es una composición de R con S
si existe un join U de R con S tal que T=Π13(U)
●
Se puede hacer una composición de dos relaciones si y
sólo si se puede hacer un join entre ellas, pero la
existencia de más de un join de R con S no implica la
existencia de más de una composición de R con S
●
Se define la composición natural (a partir del join
natural) de R con S como
37
38
●
Cuando existen dos o más joins, la cantidad de composiciones puede
variar entre una y la cantidad total de joins
39
●
Connection trap – suponga que cada descripción de proveedor
(supplier) está enlazada a través de punteros a la descripción de cada
parte (part) que provee ese proveedor y que cada descripción de parte a
su vez está enlazada del mismo modo con las descripciones de los
proyectos que usan esa parte
●
Una conclusión errónea se obtiene al tratar de obtener la relación entre
los proveedores y los proyectos si se siguen estas rutas
●
El resultado sólo es correcto cuando la relación entre proveedores
(suppliers) y proyectos (projects) corresponde a la composición natural
40
(Connection-trap)
1. fan traps
2. chasm traps
Fan traps
Ocurre cuando existen vías de acceso ambigüas, generalmente en ciertos
casos de relaciones 1:m
41
(Connection-trap)
42
¿qué miembros de staff usan el
vehículo
43
SH34?
44
(Connection-trap)
Chasm traps
Ocurre cuando existe una relación con participación parcial, que forma
parte del acceso entre entidades que están relacionadas.
45
(Connection-trap)
●
Un “branch” es asignado a muchas personas que
supervisan la administración de muchas propiedades para
renta. No todas las personas supervisan propiedades y no
todas las propiedades son administradas por los miembros
de staff.
●
¿Qué propiedades están disponibles en un branch?
●
La participación parcial de Staff y Property en la
relación de supervisión significa que alguna propiedades
no pueden estar asociadas con una “branch office” a
través de un miembro de Staff
46
●
Se debe agregar una relación llamada “has”
47
¿en qué branch trabaja S0003?
48
49
50
2.1.5 Restricción
●
Un subconjunto de una relación es una relación
●
A través de la operación restricción de R por S la
relación S puede actuar sobre la relación R para generar
un subconjunto de R
● Sean L, M listas de índices de igual largo L=i1,i2, ..., ik
y M=j1,j2, ...,jk donde k<= grado de R y de S
● La restricción L,M de R por S (RL|M) es el máximo
subconjunto R' de R tal que
51
1 2
2 3
52
2.2 Redundancia
●
Se debe distinguir entre la redundancia del named set de
la del stored set
●
Sea una colección de operaciones sobre relaciones
donde cada operación tiene la propiedad de que se genera
una única relación
●
Una relación R es desde un
conjunto S de relaciones si existe una secuencia de
operaciones de tal que, para cualquier instante de
tiempo, permita generar R desde los miembros de S
53
●
Una colección de operaciones para el “named set” debe contener:
proyección, join natural, tie y restricción. La permutación es irrelevante
y la composición natural no necesita ser incluida, dado que se obtiene a
partir de un join natural y una proyección
●
Para el “stored set” una colección adecuada debería incluir la
permutación y operaciones adicionales relacionadas con relaciones de
subconjuntos y mezclas, ordenamiento y conección de elementos
54
2.2.1 Redundancia fuerte (Strong Redundancy)
●
Un conjunto de relaciones es fuertemente redundante
(strongly redundant), si contiene al menos una relación
que posea una proyección derivable desde otras
proyecciones de las relaciones en el conjunto
●
Ejemplo
55
●
Sea el dominio activo y supongamos que para todo
t
56
●
A veces las redundancias en los named set son conocidas y de beneficio
para el usuario
●
Las redundancias fuertes en los named set no deberían transformarse de
igual modo en los stored set: espacio extra y tiempo de procesamiento
extra
57
2.2.2 Redundancia débil (Weak Redundancy)
●
No es caracterizada por una ecuación
●
Una colección de relaciones tienen redundancia débil si
contienen una relación que tiene una proyección que no es
derivable desde los otros miembros, pero que siempre
corresponde a una proyección de algún join de otras
proyecciones
●
Generalmente están presentes en los modelos y no se
eliminan. Si aparecen están presentes tanto en el named
como en el stored set
58
2.3 Consistencia
●
Dada una colección C de relaciones variables en el
tiempo, un conjunto Z asociado de restricciones y un
valor instantáneo V para C, se llama al estado (C,Z,V)
consistente o inconsistente dependiendo de si V
satisface Z o no
●
La consistencia, definida de esta forma, es una propiedad
de un estado instantáneo del banco de datos
59
FIN
Bases de datos – UCENT - 2010
60