NIVEL DE ABSTRACCION

Post on 01-Jul-2015

2.196 views 1 download

Transcript of NIVEL DE ABSTRACCION

CAPÍTULO 1 INTRODUCCIÓN

Un sistema de bases de datos es una colección de archi-vos interrelacionados y un conjunto de programas quepermitan a los usuarios acceder y modificar estos archi-vos. Uno de los propósitos principales de un sistema

de bases de datos es proporcionar a los usuarios unavisión abstracta de los datos. Es decir, el sistema escon-de ciertos detalles de cómo se almacenan y mantienenlos datos.

3

1.3.VISIÓN DE LOS DATOS

FUNDAMENTOS DE BASES DE DATOS

4

1.3.1.Abstracción de datos

Para que el sistema sea útil debe recuperar los datos efi-cientemente. Esta preocupación ha conducido al dise-ño de estructuras de datos complejas para la represen-tación de los datos en la base de datos. Como muchosusuarios de sistemas de bases de datos no están fami-liarizados con computadores, los desarrolladores escon-den la complejidad a los usuarios a través de varios nive-les de abstracción para simplificar la interacción de losusuarios con el sistema:

• Nivel físico: El nivel más bajo de abstracción des-cribe cómose almacenan realmente los datos. Enel nivel físico se describen en detalle las estructu-ras de datos complejas de bajo nivel.

• Nivel lógico:El siguiente nivel más alto de abs-tracción describe quédatos se almacenan en labase de datos y qué relaciones existen entre esosdatos. La base de datos completa se describe asíen términos de un número pequeño de estructu-ras relativamente simples. Aunque la implemen-tación de estructuras simples en el nivel lógicopuede involucrar estructuras complejas del nivelfísico, los usuarios del nivel lógico no necesitanpreocuparse de esta complejidad. Los adminis-tradores de bases de datos, que deben decidir lainformación que se mantiene en la base de datos,usan el nivel lógico de abstracción.

• Nivel de vistas:El nivel más alto de abstraccióndescribe sólo parte de la base de datos completa.Apesar del uso de estructuras más simples en elnivel lógico, queda algo de complejidad, debido ala variedad de información almacenada en una granbase de datos. Muchos usuarios del sistema de basede datos no necesitan toda esta información. En sulugar, tales usuarios necesitan acceder sólo a unaparte de la base de datos. Para que su interaccióncon el sistema se simplifique, se define la abstrac-ción del nivel de vistas. El sistema puede propor-cionar muchas vistas para la misma base de datos.

La Figura 1.1 muestra la relación entre los tres nive-les de abstracción.

Una analogía con el concepto de tipos de datos enlenguajes de programación puede clarificar la distin-ción entre los niveles de abstracción. La mayoría delenguajes de programación de alto nivel soportan laestructura de tipo registro. Por ejemplo, en un len-guaje tipo Pascal, se pueden declarar registros comosigue:

typecliente= recordnombre-cliente : string;id-cliente : string;calle-cliente: string;ciudad-cliente: string;

end;

Este código define un nuevo registro llamado clien-tecon cuatro campos. Cada campo tiene un nombre yun tipo asociado a él. Una empresa bancaria puede tenervarios tipos de registros, incluyendo

• cuenta, con campos número-cuentaysaldo

• empleado, con campos nombre-empleadoy sueldo

En el nivel físico, un registro cliente, cuentao emplea-dose puede describir como un bloque de posicionesalmacenadas consecutivamente (por ejemplo, palabraso bytes). El compilador del lenguaje esconde este nivelde detalle a los programadores. Análogamente, el sis-tema de base de datos esconde muchos de los detallesde almacenamiento de nivel inferior a los programado-res de bases de datos. Los administradores de bases dedatos pueden ser conscientes de ciertos detalles de laorganización física de los datos.

En el nivel lógico cada registro de este tipo se des-cribe mediante una definición de tipo, como se ha ilus-trado en el fragmento de código previo, y se define larelación entre estos tipos de registros. Los programa-dores, cuando usan un lenguaje de programación, tra-bajan en este nivel de abstracción. De forma similar, losadministradores de bases de datos trabajan habitual-mente en este nivel de abstracción.

Finalmente, en el nivel de vistas, los usuarios de com-putadores ven un conjunto de programas de aplicaciónque esconden los detalles de los tipos de datos. Análo-gamente, en el nivel de vistas se definen varias vistasde una base de datos y los usuarios de la misma ven úni-ca y exclusivamente esas vistas. Además de esconderdetalles del nivel lógico de la base de datos, las vistastambién proporcionan un mecanismo de seguridad paraevitar que los usuarios accedan a ciertas partes de labase de datos. Por ejemplo, los cajeros de un banco venúnicamente la parte de la base de datos que tiene infor-mación de cuentas de clientes; no pueden acceder a lainformación referente a los sueldos de los empleados.

1.3.2.Ejemplares y esquemas

Las bases de datos van cambiando a lo largo del tiem-po conforme la información se inserta y borra. La colec-ción de información almacenada en la base de datos en

nivel de vistas

vista 1 vista 2 vista n. . .

nivellógico

nivelfísico

FIGURA 1.1.Los tres niveles de abstracción de datos.

CAPÍTULO 1 INTRODUCCIÓN

un momento particular se denomina un ejemplarde labase de datos. El diseño completo de la base de datosse llama el esquemade la base de datos. Los esquemasson raramente modificados, si es que lo son alguna vez.

El concepto de esquemas y ejemplares de bases dedatos se puede entender por analogía con un programaescrito en un lenguaje de programación. Un esquemade base de datos corresponde a las declaraciones devariables (junto con definiciones de tipos asociadas)enun programa. Cada variable tiene un valor particu-lar en un instante de tiempo. Los valores de las varia-bles en un programa en un instante de tiempo corres-ponde a un ejemplarde un esquema de bases de datos.

Los sistemas de bases de datos tiene varios esquemasdivididos de acuerdo a los niveles de abstracción que sehan discutido. El esquema físico describe el diseño físi-co en el nivel físico, mientras que el esquema lógicodes-

cribe el diseño de la base de datos en el nivel lógico. Unabase de datos puede tener también varios esquemas enel nivel de vistas, a menudo denominados subesquemas,que describen diferentes vistas de la base de datos.

De éstos, el esquema lógico es con mucho el másimportante, en términos de su efecto en los programasde aplicación, ya que los programadores construyen lasaplicaciones usando el esquema lógico. El esquema físi-co está oculto bajo el esquema lógico, y puede ser fácil-mente cambiado usualmente sin afectar a los programasde aplicación. Los programas de aplicación se dice quemuestran independencia física de datos si no dependendel esquema físico y, por tanto, no deben ser modifica-dos si cambia el esquema físico.

Se estudiarán los lenguajes para la descripción de losesquemas, después de introducir la noción de modelosde datos en el siguiente apartado.