UNA SUAVE INTRODUCCIÓN A LAS BASES DE DATOS RELACIONALES Y ORIENTADAS A OBJETOS
Enviado por Sandra75 • 13 de Diciembre de 2018 • 5.040 Palabras (21 Páginas) • 405 Visitas
...
Los proveedores se almacenan en una tabla llamada S (superior izquierda); Cada fila de la tabla representa un proveedor. La tabla es de hecho equivalente al archivo plano obsoleto de registros homogéneos de nuestra diapositiva de apertura, con cada fila siendo un registro y cada columna siendo un campo. Tenga en cuenta, sin embargo, que toda la base de datos está compuesta por varias tablas, no sólo una. Hay una tabla P para las piezas y una tabla SP que nos dice qué partes, y en qué cantidad, son suministradas por el proveedor. (La tabla SP representa así una de las "flechas" en el diagrama abstracto que vimos anteriormente, mientras que las tablas S y P representan "rectángulos llanos" - si esta descripción algo floja tiene sentido para usted.) Cada fila es esencialmente una lista de N valores (n es el número de columnas de la tabla), o una n-tupla en términos matemáticos. La llamamos una tupla para abreviar.
Cada columna representa un campo del registro y se llama un atributo.
El contenido de cada atributo (por ejemplo, el atributo "color" de una parte) sólo puede tomar valores de un conjunto dado; Este conjunto de valores admisibles para una columna se denomina dominio.
Una clave es un atributo o combinación de atributos que identifica de forma única una fila. Por ejemplo, el atributo P # (número de pieza) identifica de forma única la parte, en el sentido de que, dado un número de parte, hay como máximo una parte (una tupla) que coincide con el número de parte. El color de la parte no identifica de forma única la parte, ya que podría haber dos partes con el mismo color. Tenga en cuenta que calificar un conjunto de atributos como una clave es una decisión semántica que sólo se puede tomar con conocimiento del significado de los datos en la base de datos; No se puede inferir simplemente mirando la instancia actual de la base de datos. Si, por ejemplo, en un momento dado no hubiera dos partes con el mismo color, el atributo de color todavía no sería una clave válida para la tabla P, siempre que exista la posibilidad de que las partes con el mismo color que Otras partes se insertan posteriormente en la base de datos. Observe también el caso de la tabla SP donde ningún atributo puede ser clave: el par S # - P # tiene que ser tomado como clave.
Obsérvese cómo cada tupla en la tabla SP se refiere a una tupla en S ya una tupla en P por medio de sus respectivas claves. Seguramente una referencia a, por ejemplo, el proveedor S1, no tendría ningún sentido si no hubiera ninguna tupla S1 en la tabla S. Las reglas de integridad expresan restricciones que la base de datos debe satisfacer para ser internamente consistentes; Una regla de este tipo, llamada integridad referencial, es que las tuplas en SP sólo pueden referirse a las tuplas en S y P que realmente existen. Como consecuencia de esto, cuando se elimina un proveedor, se debe asegurar que, además de su supleción, se eliminen también todas las tuplas SP referentes a sus envíos.
¿Por qué "relacional"?
Ok, así que hemos visto los conceptos básicos y la terminología correspondiente. Pero esto todavía no nos dice por qué esta familia de bases de datos tiene este nombre extraño de "relacional".
Bueno, todo viene del concepto matemático de relación. La ilustración anterior representa una relación r entre dos conjuntos A y B. Una relación, como recordará, es un subconjunto del producto cartesiano de los conjuntos en los que se define. Aquí r es un subconjunto de A'B - que por cierto es sólo otra manera de decir que r es un conjunto de parejas (2-tuplas) con el primer elemento tomado de A y el segundo tomado de B.
¿Suena familiar? Si lo hace, es porque has reconocido el isomorfismo entre una relación matemática y una tabla de base de datos como las que estábamos tratando en la diapositiva anterior.
Así que este es el origen del nombre "relacional". Estas bases de datos son llamadas relacionales porque almacenan sus datos en tablas que son isomorfas a las relaciones matemáticas. Y, como veremos, este isomorfismo trae muchos beneficios: gracias a él, el modelo relacional de datos se basa en una sólida base matemática que le permite explotar muchas técnicas y teoremas útiles de la teoría de conjuntos.
Operadores Relacionales
El álgebra relacional es un lenguaje para manipular las relaciones, produciendo otras relaciones. Los operadores del álgebra relacional se muestran arriba. Tenga en cuenta que, mientras que los de la primera columna se han inventado con fines de base de datos, los de la segunda columna son bien conocidos de la teoría de conjuntos. Debido a que una relación es un conjunto de tuplas, podemos aplicar los operadores de conjunto para producir nuevas relaciones (¡pero tenga en cuenta que unión, intersección y menos sólo se puede aplicar a los pares de relaciones que comparten los mismos atributos!)
El operador select toma una relación y un predicado (expresión booleana) y devuelve el subconjunto de todas las tuplas en la relación original para la cual el predicado se evalúa como verdadero.
El operador del proyecto toma una relación y un conjunto de atributos (nombres de columna) y devuelve otra relación con sólo las columnas especificadas.
El operador de unión (esto es una descripción simplificada) toma dos relaciones con un atributo común y crea una nueva relación cuyos atributos son la unión de los atributos de las dos relaciones entrantes. Cada tupla de resultados es una combinación de dos tuplas de fuente que coinciden en el atributo común.
Tenga en cuenta que algunos de estos operadores están allí sólo por conveniencia, ya que se puede expresar en términos de los demás. La intersección, la unión y la división esotérica (no descrita aquí) no son esenciales.
El poder del álgebra relacional
- Fondo matemático sólido
- Alto nivel: simple, potente, expresivo
- No procedimental
- Independiente de los datos: ideal para la optimización
El álgebra relacional tiene muchas ventajas. Su base matemática es la base de muchos desarrollos y teoremas interesantes. Una vez que se demuestre que las dos expresiones son equivalentes, un optimizador de consultas puede sustituir automáticamente la forma más eficiente.
El álgebra es un lenguaje de alto nivel que habla en términos de propiedades de conjuntos
...