1) El documento describe el modelo de datos relacional propuesto por E.F. Codd en 1970, incluyendo conceptos como relaciones, atributos, claves primarias y foráneas, y operaciones del álgebra relacional como selección, proyección y unión.
2) Se explican las reglas de integridad relacional como la unicidad de claves primarias y la concordancia de claves foráneas.
3) Se proveen ejemplos de operaciones del álgebra relacional como selección, proyección, unión y reunión natural aplicadas a
2. 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
3. 2. La noción matemática de una relación.
• Dominio: Conjunto de valores. Ej: el conjunto de los enteros.
• El Producto cartesiano de los dominios D1 ,D2 , . . ., Dk, escritos
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
4. 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.
4
Nombre
Cédula
Juan
Luis
Luz
1 2 3 4
Cédula Nombre
1 Alba Luz
2 Alba Luz
4 Juan
3 Luis
Empleados
5. 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 nulos.
• Dominio: Conjunto de valores escalares del mismo tipo.
5
6. Estructura de Datos relacional. (cont.)
• 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
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.
7
8. Reglas de integridad relacional. (cont)
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.
8
9. Reglas de integridad relacional. (cont)
9
Cédula Nombre Dependencia
1 Luz 10
2 Luz 20
4 Juan
3 Luis 20
Empleados
Código Nombre
10 Contabilidad
20 Sistemas
40 Ventas
30 Bodegas
Clave Primaria:Código
Dependencias
Dependencia
Clave Foránea
del atributo código
Clave primaria: Cédula.
Qué hacer con las operaciones que intenten violar las reglas?
10. John Freddy Duitama. Universidad de Antioquia 10
• 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.
Información Faltante.
11. 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
12. 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
13. 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
14. 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
15. John Freddy Duitama. Universidad de Antioquia 15
• Renombrar x( E ) :
Sean E un expresión del álgebra relacional
x ( E )
Eje:
trabajador ( Empleado )
empleado.identidad ( Empleado.cedula )
Operaciones básicas: Renombrar
16. Operaciones básicas: Proyección.
• Proyección : Denotada por
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
An
A
A
R
,...,
2
,
1
)
(
17. Operaciones básicas: Selección
Selección: Denotada por
F es una fórmula que involucra:
• 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.
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
)
(R
F
18. 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
19. 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:
John Freddy Duitama.
Universidad de Antioquia
19
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
Y Z
C D
E F
W X
A B
E D
=
R
S
20. Operaciones adicionales: Ejemplos.
John Freddy Duitama.
Universidad de Antioquia
20
Cédula Nombre Cargo Dependencia
1 Luz Secretaria 10
2 Luz Secretaria 20
4 Juan Auxiliar 10
3 Luis Analista 20
Empleados
Código DNombre
10 Contabilidad
20 Sistemas
40 Ventas
30 Bodegas
Dependencias
21. Operaciones adicionales del álgebra: Ejemplos
Ejemplos:
1. Empleados de la dependencia 10.
2. Dependencias sin empleados.
3. Dependencias que no tienen 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
22. Operaciones adicionales: Reunión- q
• Reunión- q : Denotada por R S
F
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
23. Operaciones adicionales: Reunión natural
• Reunión natural : Denotada por R S.
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
24. Operaciones adicionales: Reunión natural. (cont)
• Reunión natural : Denotada por R S.
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
25. Operaciones adicionales del álgebra relacional.
1. Reunion natural entre EMPLEADOS y DEPENDENCIAS.
2. Obtener el nombre del departamento donde trabaja cada
empleado.
cédula,nombre, Dnombre.(Empleados Dependencias)
25
Cédula Nombre Cargo Dependencia
1 Luz Secretaria 10
2 Luz Secretaria 20
4 Juan Auxiliar 10
3 Luis Analista 20
Dependencia D.Nombre
10 Contabilidad
20 Sistemas
10 Contabilidad
20 Sistemas
26. 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
27. Algebra extendida: Reunión externa
Reunion externa por la derecha entre
empleados dependencias.
John Freddy Duitama.
Universidad de Antioquia
27
Cédula Nombre Cargo Dependencia
1 Luz Secretaria 10
2 Luz Secretaria 20
4 Juan Auxiliar 10
3 Luis Analista
20
Dependencia D.Nombre
10 Contabilidad
20 Sistemas
10 Contabilidad
20 Sistemas
40 Ventas
30 Bodega
28. 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