El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy...

28
El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1

Transcript of El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy...

Page 1: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

El Modelo Relacional.

John Freddy Duitama Muñoz.

Facultad de Ingeniería.U. de. A.

John Freddy Duitama Muñoz.

Facultad de Ingeniería.U. de. A.

1

Page 2: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 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 Datos2. Reglas de integridad3. 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

Page 3: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 4: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 5: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 6: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 7: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 8: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 9: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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?

Page 10: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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.

Page 11: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 12: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 13: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 14: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 15: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 16: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

AnAA

R,...,2,1

)(

Page 17: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

)(RF

Page 18: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Antioquia18

Page 19: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Antioquia19

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

Page 20: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

Operaciones adicionales: Ejemplos.

John Freddy Duitama. Universidad de

Antioquia20

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

Page 21: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 22: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

Operaciones adicionales: Reunión-

• Reunión- : 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- 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

Page 23: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 24: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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 = x1,..,xm,y1,...,yn,z1,...,zp ( R.y1= S.y1 and (R x S) )

R.y2=S.y2 and

....................... John Freddy Duitama. Universidad de

Antioquia24

Page 25: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Page 26: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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

Antioquia26

Page 27: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

Algebra extendida: Reunión externa

Reunion externa por la derecha entre

empleados dependencias.

John Freddy Duitama. Universidad de

Antioquia27

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

Page 28: El Modelo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A. 1.

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