P. 1
Codd 01

Codd 01

|Views: 175|Likes:
Published by hguevar

More info:

Published by: hguevar on Sep 24, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as ODP, PDF, TXT or read online from Scribd
See more
See less

08/06/2015

pdf

text

original

A Relational Model of Data for Large Shared Data Banks

E. F. CODD

Prof. Carlos Guevara V.

Dr. Edgar E Codd joined IBM in 1949 as a programming mathematician for the Selective Sequence Electronic Calculator. During the 1950s he participated in developing several important IBM products. Beginning in 1968, Dr. Codd turned his attention to the management of large commercial databases and developed the relational model as a foundation. Since the mid-1970s, Dr. Codd has been working persistently to encourage vendors to develop relational DBMSs and to educate users, DBMS vendors, and standards committees regarding the services such a DBMS should supply and why users need all these services. In 1985, Dr. Codd established two lecturing and consulting companies in San Jose. These companies specialize in all aspects of relational database management, relational database design, and evaluation of products that are claimed to be relational.

(23 de agosto, 1923 – 18 de abril, 2003)

2

Temario
I Modelo Relacional y Forma Normal

II Redundancia y consistencia

1.1 Introducción 1.2 Dependencia de los datos

2.1 Operaciones en las Relaciones
– – – – –

2.1.1 Permutación 2.1.2 Proyección 2.1.3 Join 2.1.4 Composición 2.1.5 Restricción

1.2.1. Dep. de Ordenamiento 1.2.2. Dep. de índices 1.2.3. Dep. de ruta de acceso

1.3. Una visión relacional de los datos 1.4. Forma normal

2.2 Redundancia

1.5. Algunos aspectos lingüísticos 1.6. Relaciones expresables, nombradas y almacenadas

2.2.1 Redundancia fuerte 2.2.2 Redundancia débil

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. redundancia y consistencia de las relaciones 6 ● ● .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.

2 Dependencia de los datos ● Objetivo: independencia de los datos Las principales dependencias que requieren ser eliminadas son: de ordenamiento.1. de índices y de ruta de acceso ● 7 .

2.1. Dependencia de ordenamiento Los datos pueden ser almacenados en una gran variedad de formas y dependiendo del tipo de almacenamiento.1. pueden aplicarse diferentes estrategias de ordenamiento. excluyentes unas de otras ● ● Existen problemas importantes que resolver para solucionar este tipo de dependencia 8 .

1. 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.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. pero ¿pueden las aplicaciones permanecer indiferentes a estos cambios? 9 .2.

lo cual en la práctica no resulta eficiente ● Por otra parte. habría que imponer la regla de que dado un modelo de ruta de acceso. éste no puede ser cambiado.3. la cantidad de modelos que pueden llegar a existir puede ser muy elevada 10 .2. Dependencia de la ruta de acceso Existen(ían) modelos basados en estructura de árbol y de red.1. 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.

3. (no necesariamente distintos).1. ···. Sn. Una visión relacional de los datos ● El término relación es utilizado en un sentido matemático Dados los conjuntos S1.. S2. 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 . R es una relación en estos n conjuntos.

Un arreglo que represente una relación n-aria R. Sn del dominio definido para R La importancia de cada columna se indica con el nombre del dominio correspondiente ● ● ● ● ● 12 . ···. 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. S2. corresponde al orden S1.

eliminaciones y modificaciones 13 ● ● . 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.● La totalidad de los datos en un “banco de datos” (base de datos).

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. claves primaria y foránea. dominio compuesto 14 ● ● . sin necesidad de indicar su orden Se deben introducir algunos conceptos adicionales: dominio activo. los dominios deben poder ser identificados en forma única.● Normalmente los usuarios no deberían tener que recordar el ordenamiento de los dominios de una relación.

de una cierta relación. 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. tiene valores que identifican en forma única un elemento (n-tupla). pero se debe elegir una como tal 15 ● ● .● Un dominio (o combinación de dominios).

Hablaremos de dominios simples y no-simples ● 16 . si esta no es la llave primaria de R.● Se llamará a un dominio (o combinación de ellos) de una relación R una llave foránea. pero sí la llave primaria de otra relación S También es importante mencionar que algunos dominios pueden tener relaciones como elementos.

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

Relaciones expresables.6.1. 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 ● ● ● .

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 ● ● .● 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.

Es un subconjunto del producto Cartesiano A2 = A × A. ● 22 . la unión de una relación binaria y una ternaria no es una relación Una relación binaria en un conjunto A es una colección de pares ordenados de elementos de A.Redundancia y Consistencia 2. por ejemplo. el resultado puede no ser una relación. son aplicables a ellas todas las operaciones habituales de conjuntos A pesar de esto.1 Operaciones en las Relaciones ● Dado que las relaciones son conjuntos.

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 . 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.1 Permutación ● Una relación binaria se representa como un arreglo de dos columnas.1.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.2. una proyección o una combinación de ambas operaciones ● 24 .

. i2.. entonces ΠL(R) es la relación k-aria cuya jésima columna es la columna ij de R (j=1. ..2. k)..) ● Si L es una lista de índices L= i1.1..2 Proyección (cont. ik y R una relación n-aria (n>=k). .2. donde además se han eliminado las filas duplicadas 25 ..

3 Join ● Supongamos que tenemos dos relaciones binarias con algún dominio en común.2. ¿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 .1.

2.b) pertenece a R y lo mismo para S(b.3 Join (cont.) ● Si R.1. S son relaciones binarias tal que Π2(R)=Π1(S) entonces R es “joinable” con S Un join que existe siempre es el join natural de R con S definido por: ● donde R(a.b) es Verdadero si (a.c) 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 .

Π21 (R).3 Join (cont.) ● En la siguiente figura ninguna de las relaciones R.1.2. 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 .

3 Join (cont.p) 31 .1.2.) ● 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.

S. T que es una relación ternaria tal que U 1 2 3 s         p          j 32 .● Entonces se puede formar un join de tres-vías (three-way join) de R.

● 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.T por 34 .S.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.

(Composición de funciones) La composición es una operación entre funciones que se establece de la siguiente manera: Dadas dos funciones f y g . cuya regla de correspondencia es donde su dominio está representado por el conjunto 35 . se define como la composición de la función f con la función g . a la función denotada f o g ( léase f composición g ).

sean las funciones entonces. la regla de la función f g se obtiene mediante la siguiente sustitución 36 .Así por ejemplo.

S. 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 .2. 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.4 Composición ● Sean las relaciones R.1.

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 ● ● .

pero ¿qué personas trabajan en un determinado departamento? 41 .(Connection-trap) Existen principalmente dos tipos de connection-traps: 1. chasm traps Fan traps Ocurre cuando existen vías de acceso ambigüas. fan traps 2. generalmente en ciertos casos de relaciones 1:m Un site contiene muchos departamentos y emplea a muchas personas.

(Connection-trap) Se resuelve de la siguiente forma: 42 .

¿qué miembros de staff usan el vehículo SH34? 43 .

44 .

que forma parte del acceso entre entidades que están relacionadas.(Connection-trap) Chasm traps Ocurre cuando se sugiere la existencia de una relación. Ocurre cuando existe una relación con participación parcial. 45 . pero no existe el acceso entre ciertas ocurrencias de las entidades.

¿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 . No todas las personas supervisan propiedades y no todas las propiedades son administradas por los miembros de staff.(Connection-trap) ● Un “branch” es asignado a muchas personas que supervisan la administración de muchas propiedades para renta.

● Se debe agregar una relación llamada “has” 47 .

¿en qué branch trabaja S0003? 48 .

49 .

50 .

.1. ik y M=j1.M de R por S (RL|M ) es el máximo subconjunto R' de R tal que ● ● ● 51 . M listas de índices de igual largo L=i1.. . .j2.2.jk donde k<= grado de R y de S La restricción L...i2.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...

1 2 2 3 52 .

2. permita generar R desde los miembros de S ● ● 53 . para cualquier instante de tiempo.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.

La permutación es irrelevante y la composición natural no necesita ser incluida. ordenamiento y conección de elementos ● 54 .● Una colección de operaciones para el “named set” debe contener: proyección. 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. join natural. tie y restricción.

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 ● donde serial# es la llave primaria y manager# una llave foránea 55 .

managername no es necesario 56 .● Sea t el dominio activo y supongamos que para todo La redundancia es obvia.

● 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 .

Si aparecen están presentes tanto en el named como en el stored set ● ● 58 .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.2. 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.2.

3 Consistencia ● Dada una colección C de relaciones variables en el tiempo. se llama al estado (C. definida de esta forma.V) consistente o inconsistente dependiendo de si V satisface Z o no La consistencia.Z. un conjunto Z asociado de restricciones y un valor instantáneo V para C.2. es una propiedad de un estado instantáneo del banco de datos ● 59 .

2010 60 .FIN Bases de datos – UCENT .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->