Está en la página 1de 8

Administración de Base de Datos

UNIDAD 4
IMPLEMENTACIÓN DE LOS ESQUEMAS EXTERNOS (VISTAS)

4.1 IMPLEMENTACIÓN DE LOS ESQUEMAS EXTERNOS (VISTAS)

La fase concluyente en el diseño de aplicaciones es la generación de las interfaces que la


aplicación proporcionará para establecer comunicación con el usuario. Tradicionalmente
estas interfaces han sido escritas y/o capturadas, de tal forma que el usuario revisa
información desplegada en pantalla o impresa en papel y responde a la introducción de
datos por el teclado y/o con el auxilio del ratón.

La tecnología nos permite ahora establecer una comunicación más eficiente por medios
auditivos, táctiles y hasta de realidad virtual.

Dentro de las aplicaciones que procesan información podemos encontrar diversas


alternativas mediante las que el usuario indica al sistema las acciones a realizar; destacan
entre estas:

• Menús de opciones
• Secuencia preestablecida (con opción a interrumpirla)
• Comunicación con la interfase directa de comando.

4.2 ELEMENTOS RELEVANTES DE UNA VISTA

Además de la información particular que la vista presenta o requiere, debe contener


información referente a:

a. TIEMPO - Deben especificarse los periodos en los que debe considerarse esta
información como vigente posibles fechas de caducidad o actualización así como
fechas en que se genera la información presentada.
b. ORIGEN - Debe contener información precisa de las fuentes utilizadas para generar
la información; de los responsables directos o indirectos de esta generación y de los
medios utilizados para ello.
c. DESTINO - Se describe a los departamentos y/o personas para quienes la
información es útil o válida; de igual forma, deben especificarse destinatarios
indirectos o afectados por la información presentada en la vista.
d. ESPECIFICACIONES PARTICULARES - En casos especiales, pueden incluirse
valores o datos que permitan la toma de decisiones o la aplicación de un criterio
sobre la información contenida en la vista. Estos datos adicionales pueden ser
utilizados para completar procesos, cálculos o delimitar áreas de acción.

Ing. Jaime A. Ramos S. Página 1 de 8


Administración de Base de Datos

4.3 OBJETIVOS Y VENTAJAS DE LAS VISTAS

El objetivo primordial de la utilización de esquemas externos es facilitar al usuario la


percepción que éste tiene de la BD así como el trabajo que va a desarrollar sobre esta.

Las principales ventajas que se obtienen al utilizar vistas son las siguientes:

• PERSPECTIVAS DIRECTAS .- Proporcionarse diversos modelos de información


basados en los mismos datos, enfocándolos hacia distintos usuarios con necesidades
especificas.

El mostrar la información desde distintos ángulos nos ayuda a crear ambientes de


trabajo y operación acordes a los objetivos de la empresa. Debe evaluarse el perfil y
requerimientos de información de los usuarios destino de la vista.

• TRANSPARENCIA EN LAS MODIFICACIONES.- El usuario final no se verá


afectado por el diseño o alteraciones que se realicen en el esquema conceptual de la
BD.

Si el sistema requiere una modificación en su funcionamiento interno, podrán


afectarse diversas estructuras que proveen el desempeño de este; se pretende que los
usuarios finales no adviertan tales alteraciones.

• SEGURIDAD.- Las vistas proporcionan de manera natural un medio para ocultar y


proteger datos, dado que solo se presenta al usuario una selección de lo atributos
existentes.

En una vista pueden implementarse controles que restrinjan los valores de entrada ó
salida al dominio válido de los atributos, mejorando así el nivel de integridad de la
BD. De igual manera, el nivel de seguridad se incrementa al incluir en la vista solo
los elementos que sean considerados al alcance del usuario.

Vistas

En la arquitectura de tres niveles estudiada se describe una vista externa como la estructura
de la base de datos tal y como la ve un usuario en particular. En el modelo relacional, el
término ‘vista’ tiene un significado un tanto diferente. En lugar de ser todo el esquema
externo de un usuario, una vista es una relación virtual, una relación que en realidad no
existe como tal. Una vista se puede construir realizando operaciones como las del álgebra
relacional: restricciones, proyecciones, concatenaciones, etc. a partir de las relaciones base
de la base de datos. Las relaciones base son aquellas que forman parte directa de la base de
datos, las que se encuentran almacenadas físicamente. Un esquema externo puede tener
tanto relaciones base como vistas derivadas de las relaciones base de la base de datos.

Una vista es el resultado dinámico de una o varias operaciones relacionales realizadas sobre
las relaciones base. Una vista es una relación virtual que se produce cuando un usuario la

Ing. Jaime A. Ramos S. Página 2 de 8


Administración de Base de Datos

consulta. Al usuario le parece que la vista es una relación que existe y la puede manipular
como si se tratara de una relación base, pero la vista no está almacenada físicamente. El
contenido de una vista está definido como una consulta sobre una o varias relaciones base.
Cualquier operación que se realice sobre la vista se traduce automáticamente a operaciones
sobre las relaciones de las que se deriva. Las vistas son dinámicas porque los cambios que
se realizan sobre las tablas base que afectan a una vista se reflejan inmediatamente sobre
ella. Cuando un usuario realiza un cambio sobre la vista (no todo tipo de cambios están
permitidos), este cambio se realiza sobre las relaciones de las que se deriva.

Las vistas son útiles por varias razones:

• Proporcionan un poderoso mecanismo de seguridad, ocultando partes de la base de


datos a ciertos usuarios. El usuario no sabrá que existen aquellos atributos que se
han omitido al definir una vista.
• Permiten que los usuarios accedan a los datos en el formato que ellos desean o
necesitan, de modo que los mismos datos pueden ser vistos con formatos distintos
por distintos usuarios.
• Se pueden simplificar operaciones sobre las relaciones base que son complejas. Por
ejemplo, se puede definir una vista como la concatenación de dos relaciones. El
usuario puede hacer restricciones y proyecciones sobre la vista, que el SGBD
traducirá en las operaciones equivalentes sobre la concatenación.

Se puede utilizar una vista para ofrecer un esquema externo a un usuario de modo que éste
lo encuentre ‘familiar’. Por ejemplo:

• Un usuario puede necesitar los datos de los directores junto con los de las oficinas.
Esta vista se crea haciendo una concatenación de las relaciones PLANTILLA y
OFICINA, y proyectando sobre los atributos que se desee mantener.
• Otro usuario puede que necesite ver los datos de los empleados sin ver el salario.
Para este usuario se realiza una proyección para crear una vista sin el atributo
salario.
• Los atributos se pueden renombrar, de modo que cada usuario los vea del modo en
que esté acostumbrado. También se puede cambiar el orden en que se visualizan las
columnas.
• Un miembro de la plantilla puede querer ver sólo los datos de aquellos inmuebles
que tiene asignados. En este caso, se debe hacer una restricción para que sólo se vea
el subconjunto horizontal deseado de la relación INMUEBLE.

Como se ve, las vistas proporcionan independencia de datos a nivel lógico, que también se
da cuando se reorganiza el nivel conceptual. Si se añade un atributo a una relación, los
usuarios no se percatan de su existencia si sus vistas no lo incluyen. Si una relación
existente se reorganiza o se divide en varias relaciones, se pueden crear vistas para que los
usuarios la sigan viendo como al principio.

Cuando se actualiza una relación base, el cambio se refleja automáticamente en todas las
vistas que la referencían. Del mismo modo, si se actualiza una vista, las relaciones base de

Ing. Jaime A. Ramos S. Página 3 de 8


Administración de Base de Datos

las que se deriva deberían reflejar el cambio. Sin embargo, hay algunas restricciones
respecto a los tipos de modificaciones que se pueden realizar sobre las vistas. A
continuación, se resumen las condiciones bajo las cuales la mayoría de los sistemas
determinan si se permite realizar una actualización:

• Se permiten las actualizaciones de vistas que se definen mediante una consulta


simple sobre una sola relación base y que contienen la clave primaria de la relación
base.
• No se permiten las actualizaciones de vistas que se definen sobre varias relaciones
base.
• No se permiten las actualizaciones de vistas definidas con operaciones de
agrupamiento ( GROUPBY).

4.4 INFORMACIÓN ADICIONAL DE ESQUEMAS EXTERNOS

4.4.1. Arquitectura General de la Base de Datos

El grupo de estudio ANSI/X3/SPARC define la siguiente arquitectura de tres niveles para


bases de datos:

El esquema interno especifica la organización física de la BD. El esquema conceptual


describe la estructura lógica de todos los componentes de la BD. El esquema interno lo
aísla de los aspectos físicos de la BD. En el esquema conceptual están representados todos
los elementos de interés para los distintos usuarios de la BD.

Los esquemas externos definen las vistas particulares del esquema conceptual asociadas a
diferentes grupos de usuarios. Cada esquema externo contiene la parte de la BD que es de
especial relevancia para el grupo de usuarios correspondiente. El esquema conceptual
puede considerarse como un caso especial de esquema externo, sería el esquema externo
más completo posible, ya que contiene todos los datos de la BD.

El esquema interno proporciona independencia física de datos al esquema conceptual,


mientras que el esquema conceptual proporciona independencia lógica a los distintos
esquemas externos.

La distinción entre esquema conceptual y esquemas externos se ha considerado de forma


bastante generalizada en las BDR. Sin embargo, es frecuente que en BDOO no se considere
la posibilidad de definir esquemas externos. En BDOO, sólo en algunos pocos casos se ha
tratado la definición de esquemas externos, refiriéndose explícitamente a la arquitectura
ANSI/X3/SPARC, o bien implícitamente identificándolos con la definición de vistas.

4.4.2. Esquemas Externos y Vistas

En general, una vista es una abstracción simplificadora de una estructura compleja. En los
distintos trabajos sobre BDOO se encuentra el concepto de vista tratado con dos
significados distintos: Vista como clase y vista como esquema.

Ing. Jaime A. Ramos S. Página 4 de 8


Administración de Base de Datos

1. Vista como clase: El resultado de definir una vista es una clase obtenida a partir de
un conjunto de clases (que pueden ser también otras vistas). La nueva clase se
integra en el esquema de la BD donde se define.
2. Vista como esquema: La definición de vistas consideradas como esquemas
correspondería a la definición de esquemas externos sobre el esquema conceptual de
la BD.

En este tema se estudia el concepto de vista como esquema, que llamaremos esquema
externo. Por otro lado, para evitar la ambigüedad creada sobre el término vista, para
referirnos al concepto de vista como clase utilizaremos el término de clase derivada.

4.4.3. Propiedades de los Esquemas Externos

Para que los esquemas externos proporcionen la flexibilidad que necesitan las BDOO, han
de cumplir las propiedades siguientes:

Clausura de la definición: Un esquema externo ha de ser un esquema según el modelo


orientado a objetos, con las mismas características que el esquema conceptual.

Clausura del esquema: Un esquema es cerrado si y sólo si todas las clases pertenecientes al
mismo son cerradas.

Clausura de una clase en un esquema: Una clase en un esquema es cerrada si y sólo si todos
sus objetos están relacionados con otros objetos igualmente pertenecientes a clases del
esquema.

Los esquemas externos han de proporcionar independencia lógica de datos, es decir, la


modificación de la definición de un esquema externo, o la definición de un nuevo esquema
externo, no debe afectar al resto de esquemas externos definidos (a no ser que estén
definidos sobre el esquema considerado).

Transmisión de modificaciones: Para que sean correctas las modificaciones realizadas sobre
los datos, usando esquemas externos, éstas han de cumplir la regla de materialización o de
preservación de la equivalencia. Es decir, una modificación realizada en los datos incluidos
en el esquema externo debe tener un efecto sobre el conjunto de los datos base (del
esquema conceptual) de manera que esta modificación quede reflejada correctamente en el
esquema externo.

4.5 METODOLOGÍAS DE DEFINICIÓN DE ESQUEMAS EXTERNOS

A continuación se presenta una clasificación de las distintas metodologías de definición de


esquemas externos de la bibliografía, realizada en función de la forma de definición de los
esquemas externos a partir del esquema conceptual; en particular se distingue entre las
metodologías que requieren que todas las clases de los esquemas externos se encuentren
previamente definidas en el esquema conceptual, y aquellas que permiten definir nuevas
clases derivadas en los esquemas externos. Además de esta clasificación principal, se

Ing. Jaime A. Ramos S. Página 5 de 8


Administración de Base de Datos

presenta como un caso aparte una metodología en la cual se realiza la definición de un


esquema externo mediante una clase nueva del esquema conceptual1.

4.5.1. Esquema Externo Subesquema del Esquema Conceptual

La característica fundamental de las metodologías de este grupo es que el esquema


conceptual ha de contener todas las clases de los esquemas externos que se definen sobre él.
Es decir, el esquema externo ha de ser un subesquema del esquema conceptual: El esquema
externo no puede incluir ninguna clase que no pertenezca directamente al esquema
conceptual.

La definición del esquema externo se lleva a cabo en dos fases. En primer lugar, se
completa el esquema conceptual añadiéndole las clases que se necesiten en el esquema
externo y que aún no estuvieran definidas; posteriormente, la definición del esquema
externo propiamente dicho consiste en la selección de un conjunto de clases del nuevo
esquema conceptual y en la obtención del esquema que forman.

El esquema externo ha de ser cerrado, para ello se han de añadir al mismo las clases del
esquema conceptual necesarias para que se cumpla esta propiedad2.

Las dos fases de definición de esquemas externos se pueden descomponer en los pasos
siguientes, correspondientes a los de la metodología de definición de vistas3 Multi View:

1. Adaptación del esquema conceptual.


1.1. Definición de las clases derivadas que se consideren necesarias.
1.2. Integración de las clases derivadas en el esquema conceptual.
2. Definición del esquema externo.
2.1. Selección de las clases (base o derivadas) del esquema conceptual que
compondrán el esquema externo.
2.2. Generación del esquema externo.

Si para definir un esquema externo se necesita incluir alguna clase no definida en el


esquema conceptual, dicha clase ha de ser definida e integrada previamente en el esquema
conceptual. El esquema conceptual actúa de repositorio común de definición de clases
derivadas para todos los esquemas externos, por lo que las nuevas clases que se definen
pueden ser reutilizadas con facilidad en la definición de nuevos esquemas externos.

1
La clase de definición del esquema externo se incluye en el esquema conceptual; sin embargo,
las clases del esquema externo simuladas mediante esta clase no pertenecen necesariamente al
esquema conceptual. Es por esta razón que se ha decidido tratar como un caso aparte.
2
En [Rund92a] se presenta el algoritmo para obtener automáticamente el esquema externo
cerrado a partir del conjunto de clases seleccionadas.
3
El concepto de vista en [Rund92a] se corresponde con el de esquema externo considerado.

Ing. Jaime A. Ramos S. Página 6 de 8


Administración de Base de Datos

4.5.2. Esquema Externo NO Subesquema del Esquema Conceptual

Se parte del esquema conceptual para definir el esquema externo, pero éste no es
subesquema necesariamente del esquema conceptual. Es decir, el esquema externo puede
contener clases definidas a partir del esquema conceptual pero no incluidas en él.

La manera de realizar la definición del esquema externo a partir del esquema base
(esquema conceptual u otro esquema externo) es diferente para los distintos autores
(aunque los pasos lógicos son idénticos), tal como veremos a continuación:

El esquema externo se define inicialmente importando la definición del esquema


conceptual, es decir, en un primer momento ambos son iguales; posteriormente, se modifica
este esquema mediante operaciones que permiten definir clases derivadas, así como
modificar o eliminar clases existentes.

Por tanto, los pasos para definir el esquema externo son:


1. Definición del esquema externo inicial: Importando el esquema conceptual base
(u otro esquema externo).
2. Modificación el esquema externo inicial mediante los mecanismos que
proporciona:
a. Definición de clases derivadas.
b. Ocultación de clases del esquema.
c. Definición de atributos derivados (en cualquier clase).
d. Ocultación de atributos (en cualquier clase)

En otro caso, inicialmente se define el esquema externo compuesto sólo por clases
derivadas a partir de las clases del esquema conceptual; en algunos casos la definición
inicial es suficiente, en otros el esquema inicial es modificado añadiéndole subesquemas
del esquema conceptual o bien de otros esquemas externos.

Los pasos para definir el esquema externo son:


1. Definición del esquema externo inicial.
1.1. Definir las clases derivadas del esquema externo.
1.2. Definir las relaciones de herencia entre las clases derivadas.
2. Modificación el esquema externo inicial.
2.1. Definir subesquemas a partir del esquema conceptual u otro esquema
externo (mediante eliminación de subárboles).
2.2. Integrar de estos subesquemas con el esquema externo inicial definido.

En ambos casos, el esquema conceptual no se complica por la definición de esquemas


externos sobre él. Por otro lado, los distintos esquemas externos se definen de forma
independiente, y no se dispone de ningún repositorio común de definición de clases
derivadas (papel que jugaba anteriormente el esquema conceptual), por tanto resulta más
difícil la reutilización de definiciones.

Ing. Jaime A. Ramos S. Página 7 de 8


Administración de Base de Datos

4.5.3. Esquema Externo como Clase del Esquema Conceptual

A diferencia de los otros métodos de definición de esquemas externos, en este caso la


naturaleza del esquema externo no es la misma que la del esquema conceptual. El resultado
de la definición del esquema externo es una clase que representa un esquema en lugar de
ser un esquema propiamente dicho.

En otro caso, los esquemas externos se definen como clases del esquema conceptual. Para
definir un esquema externo se modifica el esquema conceptual añadiendo la definición una
clase nueva que lo implementa.

La implementación de los distintos aspectos del esquema externo mediante una clase se
realiza definiendo de forma adecuada las operaciones de dicha clase. Se define una
operación por cada una de las clases que componen el esquema externo, estas operaciones
devuelven la extensión de dichas clases; además, se define una operación por cada una de
las operaciones posibles a realizar sobre los objetos de las distintas clases del esquema
externo.

La nueva clase define una interfaz, correspondiente al esquema externo que implementa,
sobre el resto de las clases del esquema conceptual.

Para trabajar con el esquema externo así definido, se crea un único objeto de esta clase
sobre el que se pueden aplicar los métodos definidos (que corresponden a los métodos de
las clases del esquema externo).

Suponiendo que las clases del esquema externo se definieran explícitamente como clases
(en lugar de implícitamente dentro de la clase de definición), el esquema externo no sería
necesariamente subesquema del esquema conceptual. Por tanto esta metodología se
incluiría con las del apartado anterior; sin embargo, la clase de definición del esquema
externo está incluida en el esquema conceptual.

Los pasos de esta metodología para la definición de esquemas externos son:


1. Definición de la clase que implementa el esquema externo.
1.1. Definición de las operaciones de la clase que definen la extensión de las
clases que componen el esquema externo.
1.2. Definición de las operaciones de la clase que definen las operaciones de
consulta y modificación de las clases que componen el esquema externo.
2. Creación de una instancia de la clase definida: Crea el esquema externo
propiamente dicho y puede ser utilizado mediante el objeto creado.

En este caso, la naturaleza de los esquemas externos cambia respecto a la del esquema
conceptual: Un esquema externo no es un esquema propiamente dicho, sino que es sólo una
clase dentro del esquema conceptual. Una consecuencia inmediata de esta situación es que
ha de cambiar la forma de trabajar de los usuarios según trabajen con el esquema
conceptual o con alguno de los esquemas externos definidos.

Ing. Jaime A. Ramos S. Página 8 de 8

También podría gustarte