Download 2. El modelo relacional.

Document related concepts

Cálculo relacional basado en tuplas wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Cálculo relacional wikipedia , lookup

Par ordenado wikipedia , lookup

Producto cartesiano wikipedia , lookup

Transcript
El Modelo Relacional.
John Freddy Duitama Muñoz.
Facultad de Ingeniería.
U. de. A.
1
1. Modelo de Datos.
•
Que es un modelo de datos?
DEF 1: Abstracción de la información presente en el mundo
real, compuesta de tres elementos:
1. Estructura de Datos
2. Reglas de integridad
3. Operaciones posibles sobre los datos.
DEF 2: Herramientas conceptuales para describir datos, sus
relaciones, su semántica y las restricciones que garanticen su
consistencia.
•
Modelo de datos relacional.
Propuesto por E.F. Codd. en 1970. “A Relational Model of Data
for Large Shared Data Bank”. Communication of the ACM.
13. num 6, pp. 377-387.
2
2. La noción matemática de una relación.
• Dominio:
enteros.
Conjunto de valores. Ejemplo: el conjunto de los
• El Producto cartesiano de los dominios D1 ,D2 , . . ., Dk, escrito
como D1 x D2 x ... x Dk, es el conjunto de todas las k-tuplas
ordenadas (v1,v2,...,vk) tales que v1 está en D1, v2 en D2 y así
sucesivamente.
• Una relación: Subconjunto del producto cartesiano de una lista de
dominios.
3
3. La noción de relación para un sistema de Bases de Datos.
Retoma la noción matemática, pero elimina la necesidad de
mantener el mismo orden para los elementos pertenecientes a
una tupla y le adiciona un nombre a cada componente de la
tupla.
Relación  tabla.
Empleados
Nombre
Juan
Luis
Luz
1
2
3
4 Cédula
Cédula
Nombre
1
Alba Luz
2
Alba Luz
4
Juan
3
Luis
4
4. Estructura de Datos relacional.
Relación  tabla.
En donde:
• Cada fila es una tupla.
• Cada columna es una componente de la tupla.
• Atributo: Nombre asignado a cada columna de la relación; por
ello su orden deja de tener importancia.
• Cada atributo está referido a un dominio de donde toma el valor
para cada tupla que pertenezca a la relación. Deben ser atómicos.
Pueden o no admitir valores desconocidos(nulos).
• Dominio: Conjunto de valores escalares del mismo tipo.
5
4. Estructura de Datos relacional.
• Esquema: El conjunto de atributos de una relación y su dominio.
Ejemplo:
Esquema-Empleado(cedula:numérica, nombre:cadena-alfabetica)
• Relación: empleados(Esquema-Empleado)
• Instancia: Las tuplas que contenga en determinado momento la
relación.
• Cardinalidad: Número de tuplas que en un instante dado tenga
una relación.
Asumimos la relación como finita.
• Grado : Una relación, subconjunto del producto cartesianos D1 x
D2 x ... x Dk , decimos que tiene aridad k ó grado k; si la tupla
(v1,v2,...,vk) tiene k componentes.
6
Información Faltante.
• En el mundo real no siempre dispongo de toda la información para
cada una de las tuplas de una relación. Eje. El teléfono del
empleado.
• Debe ser posible entonces para cada atributo de una relación,
excepto para la clave primaria,
decidir cuando admite ó no
información faltante ó nula.
• Valores nulos se asimilan a información desconocida.
• En atributos numéricos la evaluación de un valor nulo es diferente a
la evaluación de un valor cero.
• En expresiones booleanas hay tres posibles respuestas: Verdadero,
falso y desconocido.
John Freddy Duitama.
Universidad de Antioquia
7
5. Reglas de integridad relacional.
• Clave candidata: El atributo K (posiblemente compuesto) de la
relación R, es una clave candidata de esta relación si y solo si
satisface las siguientes dos propiedades independientes del
tiempo:
• Unicidad: En cualquier momento dado no existen dos tuplas en
R con el mismos valor de K.
• Minimalidad: Si K es compuesto, no será posible eliminar
ninguna componente de K sin destruir la propiedad de
unicidad.
51. Regla de las claves primarias.
• Toda relación debe poseer una clave primaria. Atributo tomado
del conjunto de atributos que son claves candidatas.
• Ningún componente de la clave primaria de una relación puede
aceptar valores nulos o desconocidos.
8
5. Reglas de integridad relacional.
5.2. Regla de las claves foráneas.
Una clave foránea es un atributo (quizá compuesto) de una
relación R2 cuyos valores deben en todo momento del tiempo:
• concordar con los de la clave primaria de alguna relación R1.
(donde R1 y R2 no necesariamente son dos relaciones
distintas).
• O ser nulos.
Notas:
Si la clave foránea es compuesta sus valores deben ser
completamente nulos o por el contrario no ser nula en ninguno
de sus componentes.
9
5. Reglas de integridad relacional.
Empleados
Cédula
Nombre
Dependencia
1
Luz
10
2
Luz
20
4
Juan
3
Luis
20
Dependencia
Clave Foránea
del atributo código
Clave primaria: Cédula.
Clave Primaria:Código
Dependencias
Código
Nombre
10
Contabilidad
20
Sistemas
40
Ventas
30
Bodegas
Qué hacer con las operaciones que intenten violar las reglas?
10
6. Operaciones en el modelo de datos relacional.
El Algebra Relacional.
• Se apoya en operadores especializados sobre las relaciones.
• Es un álgebra cerrada. EL resultado de las operaciones definidas
sobre las relaciones son a su vez nuevas relaciones.
• Opera únicamente sobre el modelo de datos, no requiere saber
nada acerca de la estructura física de los datos.
• Provee un lenguaje lo suficientemente rico para hacer útil al
sistema de Bases de Datos.
• Requiere de un esquema de optimización de operaciones para
alcanzar respuestas rápidas.
11
Operaciones básicas: Unión.
• Unión ( R U S ). La unión de las relaciones R y S es el conjunto
de tuplas que están en R, en S o en ambas relaciones.
Compatibilidad respecto a la unión : deben cumplirse dos
condiciones para hacerla efectiva en el álgebra relacional:
• Ambas relaciones deben tener el mismo conjunto de nombres
de atributos y definidos en el mismo orden.
• Los atributos correspondientes deben estar definidos sobre el
mismo dominio.
Solo deja una ocurrencia de las tuplas resultantes repetidas.
Solo deja una ocurrencia de tuplas con valores nulos en todos sus
atributos.
12
Operaciones básicas: Diferencia.
Compatibilidad respecto a la unión : deben cumplirse dos
condiciones para hacerla efectiva en el álgebra relacional:
• Ambas relaciones deben tener el mismo conjunto de nombres
de atributos y definidos en el mismo orden.
• Los atributos correspondientes deben estar definidos sobre el
mismo dominio.
• Diferencia ( R - S ). Es el conjunto de tuplas que están en R
pero no están es S.
Ambas relaciones requiere compatibilidad respecto a la unión.
Solo deja una ocurrencia de tuplas con valores nulos en todos sus
atributos.
13
Operaciones básicas: Producto Cruz.
• Producto cartesiano ( R x S ):
Sean R y S dos relaciones de cardinalidad c1 y c2 respectivamente.
Su producto cartesiano: conjunto de todas las posibles tuplas
construidas combinando una tupla de R con una tupla de S.
Se obtiener una relación con
Esquema-RxS ( Esquema-R Unión Esquema-S ).
Su cardinalidad será c1 . c2
Si R y S tienen atributos comunes, deben renombrarse.
Solo deja una ocurrencia de tuplas con valores nulos en todos sus
atributos.
14
Operaciones básicas: Renombrar
• Renombrar x( E ) :
Sean E: un expresión del álgebra relacional
una relación
un atributo.

x
(E)
Eje:


trabajador
empleado.identidad
John Freddy Duitama.
( Empleado )
( Empleado.cedula )
Universidad de Antioquia
15
Operaciones básicas: Proyección.
• Proyección : Denotada por

(R)
A1, A2,...,An
Sea R una relación de aridad k.
La proyección consiste en tomar un subconjunto de n atributos,
dentro de los k posibles, y construir una nueva relación.
Se deja sólo una ocurrencia de las tuplas resultantes repetidas.
Solo deja una ocurrencia de tuplas con valores nulos en todos sus
atributos.
16
Operaciones básicas: Selección
Selección: Denotada por
F es una fórmula que involucra:
 F (R)
• Operandos constantes y/o atributos de R.
• Operadores de comparación aritmética < , <= , >, >=, = , y < >.
• Operadores lógicos. and , or , not.
• Se permiten los paréntesis.
• Operador para valores nulos. Is null, Is not null.
• El algebra extendida permite expresiones complejas en F.
F retorna el valor de Verdadero, falso o desconocido.
La selección : Conjunto de todas las tuplas t pertenecientes a R para las que
la fórmula F es verdadera. Se conserva el esquema de R.
Las tuplas con un atributo en F nulo y condiciones diferentes a is (not) null
retornan desconocido.
17
Operaciones adicionales: Intersección
Definidas a partir de las operaciones básicas para facilidad de los
usuarios.
• Intersección : Denotada por R  S
.
• R y S Deben ser compatibles respecto a la unión.
• La relación resultante tiene un esquema idéntico al de R ó al
de S.
• Su cuerpo está formado por todas las tuplas t pertenecientes
tanto a R como a S.
• Es equivalente a la expresión:
R- (R - S).
John Freddy Duitama.
Universidad de Antioquia
18
Operaciones adicionales: División
• División ( R  S ): Sean R y S relaciones de aridad r y s
respectivamente, donde r > s y S  .
El cociente es el conjunto de tuplas de aridad (r – s),
a1 ,a2 , ... , a (r - s)
(atributos no comunes entre R y S)
tales que:
Para toda tupla en S, existe en R la sub-tupla
a1, ... , a(r-s)
acompañándola Ej:
R
W X
Y
Z
A
B
C
D
A
B
D
E
B
C
E
F
E
D
C
D
E
D
E
F
A
B
E
F
S

Y
Z
C
D
E
F
John Freddy Duitama.
Universidad de Antioquia
=
W X
A
B
E
D
19
Operaciones adicionales: Ejemplos.
Empleados
Cédula
Nombre
Cargo
Dependencia
1
Luz
Secretaria
10
2
Luz
Secretaria
20
4
Juan
Auxiliar
10
3
Luis
Analista
20
Dependencias
Código
DNombre
10
Contabilidad
20
Sistemas
40
Ventas
30
Bodegas
John Freddy Duitama.
Universidad de Antioquia
20
Operaciones adicionales del álgebra: Ejemplos
Ejemplos:
1. Empleados de la dependencia 10 o 30.
2. Dependencias que no tienen empleados.
3. Dependencias que no tienen empleados con cargo auxiliar.
4. Cargos que aparecen en todos los departamentos.
5. Cargos que aparecen en todos los departamentos que tengan al
menos un empleado.
6. Nombre de los empleados y nombre del departamento en donde
trabajan.
21
Operaciones adicionales: Reunión- q
• Reunión- q : Denotada por
R
F
S
Donde F es una fórmula que involucra:
• Atributos de R y S.
• Operadores de comparación aritmética < , <= , >, >=, = , y
<>.
• Operadores lógicos. and , or , not.
La reunión-q de R y S, es una relación :
Con esquema : Esquema-R Union Esquema-S.
Con un cuerpo: formado por el conjunto de todas las tuplas t
tales que pertenezcan al producto cruz de R x S y la evaluación
de la fórmula F sea verdadera para esas tuplas.
Si el operador usado en F es el = se le llama equireunion.
22
Operaciones adicionales: Reunión natural
• Reunión natural : Denotada por
R
S.
F
Sean las Relaciónes
R( x1, x2, ...,xm, y1, y2, ..., yn ) y
S( y1, y2, ..., yn , z1, z2, ..., zp );
Los atributos y1,y2,...,yn son comunes a ambas relaciones y además, los
atributos correspondientes están definidos sobre el mismo dominio.
La reunión natural de R y S es una relación:
Con esquema = ( x1, x2, ... ,xm, y1, y2,..., yn , z1, z2 , ... , zp )
y tuplas formadas por:
Una tupla t1 que aparece en R con los valores xi e yi correspondientes.
Una tupla t2 que aparece en S con los valores yi y zi correspondientes.
Los atributos yi de ambas tuplas tienen el mismo valor.
23
Operaciones adicionales: Reunión natural. (cont)
• Reunión natural : Denotada por
R
S.
F
Definida en términos de operaciones básicas:
Sean las Relaciónes
R( x1,x2,...,xm,y1,y2,...,yn ) y
S( y1,y2,...,yn ,z1,z2,...,zp );
Los atributos y1,y2,...,yn son comunes a ambas relaciones y además
los atributos correspondientes están definidos sobre el mismo
dominio.
Entonces:
R  S = p x1,..,xm,y1,...,yn,z1,...,zp (  R.y1= S.y1 and (R x S) )
R.y2=S.y2 and
.......................
John Freddy Duitama.
Universidad de Antioquia
24
Operaciones adicionales del álgebra relacional.
1. Reunion natural entre EMPLEADOS y DEPENDENCIAS.
Cédula
Nombre
Cargo
Dependencia
Dependencia
1
Luz
Secretaria
10
10
Contabilidad
2
Luz
Secretaria
20
20
Sistemas
4
Juan
Auxiliar
10
10
Contabilidad
3
Luis
Analista
20
20
Sistemas
D.Nombre
2.
Obtener el nombre del departamento donde trabaja cada
empleado.
 cédula,nombre, Dnombre.(Empleados
Dependencias)
25
Algebra extendida: Reunión externa
• Reunión- externa : Denotada por
R
S
La reunión-externa de R y S, es una relación que trabaja con los
atributos faltantes.
Con esquema : Idéntico a la reunión natural.
Con un cuerpo: formado por el conjunto de todas las tuplas t
tales que pertenezcan a la reunión natural de ambas relaciones.
Además, retorna las tuplas en R que no coinciden con ninguna
tupla de S.
John Freddy Duitama.
Universidad de Antioquia
26
Algebra extendida: Reunión externa
Reunion externa por la derecha entre
empleados
dependencias.
Cédula
Nombre
Cargo
Dependencia
Dependencia
1
Luz
Secretaria
10
10
Contabilidad
2
Luz
Secretaria
20
20
Sistemas
4
Juan
Auxiliar
10
10
Contabilidad
3
Luis
Analista
20
Sistemas
40
Ventas
20
30
Bodega
John Freddy Duitama.
Universidad de Antioquia
D.Nombre
27
Anotaciones complementarias.
• Una Base de datos relacional es una Base de Datos percibida por el
usuario como un conjunto de relaciones, léase tablas normalizadas y
de diverso grado.
• Las ideas del modelo se aplican al nivel externo y conceptual del
sistema.
• Información faltante: En el mundo real no siempre dispongo de toda
la información para cada una de las tuplas de una relación. Debe ser
posible entonces para cada atributo de una relación, excepto para la
clave primaria, decidir cuando admite ó no información faltante ó
nula.
28