Sei sulla pagina 1di 10

2.1.

4 Esquemas, mapeos e instancias

La descripción general de la base de datos se denomina esquema de base de datos. Existen

Tres tipos diferentes de esquema en la base de datos y estos se definen de acuerdo con

a los niveles de abstracción de la arquitectura de tres niveles ilustrada en la Figura 2.1.

En el nivel más alto, tenemos múltiples esquemas externos (también llamados subsesquemas)

Que corresponden a diferentes vistas de los datos. A nivel conceptual, tenemos la

esquema conceptual, que describe todas las entidades, atributos y relaciones

Junto con restricciones de integridad. En el nivel más bajo de abstracción tenemos el

esquema interno, que es una descripción completa del modelo interno, que contiene

Las definiciones de registros almacenados, los métodos de representación, los campos de datos,

y los índices y estructuras de almacenamiento utilizados. Solo hay un esquema conceptual

y un esquema interno por base de datos.

El DBMS es responsable de la asignación entre estos tres tipos de esquema.

También debe comprobar la coherencia de los esquemas; en otras palabras, el DBMS debe

confirme que cada esquema externo es derivable del esquema conceptual,

y debe usar la información en el esquema conceptual para mapear entre cada

esquema externo y el esquema interno. El esquema conceptual está relacionado con

El esquema interno a través de un mapeo conceptual / interno. Este mapeo

permite al DBMS encontrar el registro real o la combinación de registros en físico

Almacenamiento que constituye un registro lógico en el esquema conceptual, en conjunto.

con cualquier restricción que deba aplicarse en las operaciones para ese registro lógico.

También permite cualquier diferencia en los nombres de entidades, nombres de atributos, orden
de atributos,

tipos de datos, y así sucesivamente para ser resueltos. Finalmente, cada esquema externo está
relacionado con

El esquema conceptual por el mapeo externo / conceptual. Este mapeo

permite que el DBMS asigne nombres en la vista del usuario a la parte relevante del

esquema conceptual.

Un ejemplo de los diferentes niveles se muestra en la Figura 2.2. Dos diferentes externos
existen vistas de los detalles del personal: uno que consiste en un número de personal (sNo), primer
nombre (fName),

apellido (edad), edad y salario; un segundo compuesto por un número de personal (staffNo),

el apellido (IName) y el número de la sucursal en la que trabaja el miembro del personal

(BranchNo). Estas vistas externas se combinan en una vista conceptual. En esto

proceso de fusión, la principal diferencia es que el campo de edad se ha cambiado a

un campo de fecha de nacimiento, fecha de nacimiento. El DBMS mantiene el mapeo externo /


conceptual;

por ejemplo, asigna el campo sNo de la primera vista externa al campo staffNo de

El registro conceptual. El nivel conceptual se asigna entonces al nivel interno,

que contiene una descripción física de la estructura del registro conceptual. A

En este nivel, vemos una definición de la estructura en un lenguaje de alto nivel. La estructura

A continuación, contiene un puntero que permite vincular físicamente la lista de registros del
personal.

juntos para formar una cadena. Tenga en cuenta que el orden de los campos en el nivel interno es
diferente

a partir de eso a nivel conceptual. Una vez más, el DBMS mantiene el conceptual /

Mapeo interno.
Es importante distinguir entre la descripción de la base de datos y la

base de datos en sí. La descripción de la base de datos es el esquema de la base de datos. los

El esquema se especifica durante el proceso de diseño de la base de datos y no se espera que

cambia con frecuencia Sin embargo, los datos reales en la base de datos pueden cambiar con
frecuencia;

por ejemplo, cambia cada vez que insertamos detalles de un nuevo miembro del personal o un

Nueva propiedad. Los datos en la base de datos en cualquier momento en particular se llaman datos

instancia de base de datos Por lo tanto, muchas instancias de base de datos pueden corresponder
a la misma

esquema de la base de datos. El esquema a veces se denomina intensión de la base de datos; un

instancia se llama una extensión (o estado) de la base de datos.

2.1.5 Independencia de datos

Un objetivo importante para la arquitectura de tres niveles es proporcionar independencia de datos,

lo que significa que los niveles superiores no se ven afectados por los cambios a niveles inferiores.
Existen

Dos tipos de independencia de los datos: lógico y físico.

Figura 2.2 Diferencias entre los tres niveles.

Cambios en el esquema conceptual, como la adición o eliminación de nuevas entidades,

atributos, o relaciones, deberían ser posibles sin tener que cambiar los existentes

Esquemas externos o tener que reescribir los programas de aplicación. Claramente, los usuarios de

Quienes se han realizado los cambios deben ser conscientes de ellos, pero lo que es importante

Es que otros usuarios no deberían serlo.

La inmunidad de los esquemas externos a los cambios en el

esquema conceptual. Datos lógicos independencia Datos físicos independencia

La inmunidad del esquema conceptual ante cambios en la esquema interno.


Cambios en el esquema interno, como el uso de diferentes organizaciones de archivos o
almacenamiento

Estructuras, utilizando diferentes dispositivos de almacenamiento, modificando índices o algoritmos


hash,

Debería ser posible sin tener que cambiar lo conceptual o lo externo.

esquemas Desde el punto de vista de los usuarios, el único efecto que se puede notar es un

Cambio en el rendimiento. De hecho, el deterioro en el rendimiento es el más común.

motivo de los cambios de esquema interno. La figura 2.3 ilustra donde cada tipo de datos

La independencia se produce en relación con la arquitectura de tres niveles.

El mapeo de dos etapas en la arquitectura ANSI-SPARC puede ser ineficiente, pero

También proporciona mayor independencia de datos. Sin embargo, para un mapeo más eficiente,

El modelo ANSI-SPARC permite la asignación directa de esquemas externos a

El esquema interno, pasando por alto el esquema conceptual. Este mapeo de

El curso reduce la independencia de los datos, de modo que cada vez que el esquema interno

cambios, el esquema externo y cualquier programa de aplicación dependiente también pueden

hay que cambiar

2.2 idiomas de la base de datos

Un sublenguaje de datos consta de dos partes: un lenguaje de definición de datos (DDL) y

un lenguaje de manipulación de datos (DML). El DDL se utiliza para especificar la base de datos

El esquema y el DML se utilizan para leer y actualizar la base de datos. Estos idiomas

se llaman sublanguages de datos porque no incluyen construcciones para


todas las necesidades informáticas, como declaraciones condicionales o iterativas, que se
proporcionan

Por los lenguajes de programación de alto nivel. Muchos DBMS tienen una facilidad

para incrustar el sublenguaje en un lenguaje de programación de alto nivel como

COBOL, Fortran, Pascal, Ada, C, C ++, C #, Java o Visual Basic. En este caso,

el lenguaje de alto nivel a veces se conoce como el lenguaje principal. Compilar

el archivo incrustado, los comandos en el sublenguaje de datos se eliminan primero

desde el programa del lenguaje principal y reemplazado por llamadas a funciones. El preprocesado

el archivo se compila, se coloca en un módulo de objeto, se vincula con un DBMS específico

biblioteca que contiene las funciones reemplazadas, y ejecutada cuando sea necesario. La mayoría
de los datos

los sublenguajes también proporcionan comandos no incrustados o interactivos que se pueden


ingresar

directamente desde una terminal.

2.2.1 El lenguaje de definición de datos (DDL)

Un lenguaje que permite al DBA o usuario describir y nombrar las entidades,

atributos y relaciones requeridas para la aplicación, junto con

cualquier restricción de integridad y seguridad asociada.

DDL

El esquema de la base de datos se especifica mediante un conjunto de definiciones expresadas


mediante un

lenguaje especial llamado lenguaje de definición de datos. El DDL se utiliza para definir un

esquema o para modificar uno existente. No se puede utilizar para manipular datos.

El resultado de la compilación de las declaraciones DDL es un conjunto de tablas almacenadas

En archivos especiales colectivamente llamado el catálogo del sistema. El catálogo del sistema se
integra.

Los metadatos, que son datos que describen los objetos en la base de datos y

Facilita el acceso o la manipulación de esos objetos. Los metadatos

contiene definiciones de registros, elementos de datos y otros objetos que son de interés

a los usuarios o son requeridos por el DBMS. El DBMS normalmente consulta el sistema.
Catálogo antes de acceder a los datos reales en la base de datos. Los términos de datos

El diccionario y el directorio de datos también se utilizan para describir el catálogo del sistema,

aunque el término "diccionario de datos" generalmente se refiere a un software más general

Sistema que un catálogo para un DBMS. Discutimos el catálogo del sistema más adelante en

Sección 2.4.

En un nivel teórico, podríamos identificar diferentes DDL para cada esquema en el

arquitectura de tres niveles: es decir, una DDL para los esquemas externos, una DDL para la

esquema conceptual, y un DDL para el esquema interno. Sin embargo, en la práctica, hay

es un DDL completo que permite la especificación de al menos el externo y

esquemas conceptuales

2.2.2 El lenguaje de manipulación de datos (DML)

Un lenguaje que proporciona un conjunto de operaciones para soportar los datos básicos.

Operaciones de manipulación de los datos contenidos en la base de datos.

DML

Las operaciones de manipulación de datos generalmente incluyen lo siguiente:

• inserción de nuevos datos en la base de datos;

• modificación de los datos almacenados en la base de datos;

• recuperación de los datos contenidos en la base de datos;

• Eliminación de datos de la base de datos.

Por lo tanto, una de las funciones principales del DBMS es soportar un Data

Lenguaje de manipulación en el que el usuario puede construir declaraciones que causarán

tal manipulación de datos que se produzca. La manipulación de datos se aplica a lo externo,


conceptual,

y niveles internos. Sin embargo, a nivel interno debemos definir más bien

Procedimientos complejos de bajo nivel que permiten un acceso eficiente a los datos. En contraste,
a mayor

niveles, se hace hincapié en la facilidad de uso y el esfuerzo se dirige a proporcionar eficiencia

Interacción del usuario con el sistema.

La parte de un DML que implica la recuperación de datos se denomina lenguaje de consulta. UN


el lenguaje de consulta se puede definir como un lenguaje de propósito especial de alto nivel
utilizado para

Satisfacer diversas solicitudes de recuperación de datos en la base de datos. El termino

Por lo tanto, la "consulta" está reservada para denotar una declaración de recuperación expresada
en una consulta

idioma. Los términos "lenguaje de consulta" y "DML" se usan comúnmente de manera


intercambiable,

Aunque esto es técnicamente incorrecto.

Los DML se distinguen por sus construcciones de recuperación subyacentes. Podemos distinguir

Entre dos tipos de DML: procesal y no procesal. El principal

diferencia entre estos dos lenguajes de manipulación de datos es que de procedimiento

los idiomas especifican cómo se obtendrá la salida de una declaración DML, mientras que

Los LMD no de procedimiento solo describen qué salida se debe obtener. Típicamente, procesal

Los idiomas tratan los registros individualmente, mientras que los lenguajes no procesales

operar en conjuntos de registros.

LMD procesales

Procesal

DML

Un lenguaje que le permite al usuario decirle al sistema qué datos están

Necesario y exactamente cómo recuperar los datos.

Un lenguaje que permite al usuario indicar qué datos se necesitan.

en lugar de cómo se debe recuperar.

No procesal

DML

Con un DML de procedimiento, el usuario, o más a menudo el programador, especifica qué

Se necesitan datos y cómo obtenerlos. Esto significa que el usuario debe expresar todo

las operaciones de acceso a datos que se utilizarán al llamar a los procedimientos apropiados

Para obtener la información requerida. Típicamente, tal DML de procedimiento recupera un

registro, lo procesa y, en función de los resultados obtenidos por este procesamiento, recupera
otro registro que sería procesado de manera similar, y así sucesivamente. Este proceso de

las recuperaciones continúan hasta que se hayan recopilado los datos solicitados de la recuperación.

Normalmente, los LMD de procedimientos están integrados en un lenguaje de programación de alto


nivel

que contiene construcciones para facilitar la iteración y manejar la lógica de navegación.

Los LMD de red y jerárquicos son normalmente de procedimiento (consulte la Sección 2.3)

LMD no procesales

Los LMD sin procedimiento permiten que los datos requeridos se especifiquen en una única
recuperación

o declaración de actualización. Con LMD no procesales, el usuario especifica qué datos

Se requiere sin especificar cómo se va a obtener. El DBMS traduce un

Declaración DML en uno o más procedimientos que manipulan los conjuntos requeridos de

registros, lo que libera al usuario de tener que saber cómo las estructuras de datos son internamente

implementado y qué algoritmos son necesarios para recuperar y posiblemente transformar

Los datos, proporcionando así a los usuarios un grado considerable de independencia de los datos.

Los lenguajes no procesales también se llaman lenguajes declarativos. DBMSs relacionales

por lo general incluyen alguna forma de lenguaje no procesal para la manipulación de datos,
típicamente

SQL o QBE (consulta por ejemplo). Los LMD no procesales son normalmente más fáciles

para aprender y usar que los LMD de procedimiento, ya que el usuario realiza menos trabajo y más

por el DBMS. Examinamos SQL en detalle en los capítulos 6–9 y el Apéndice I, y

QBE en el Apéndice M

2.2.3 Lenguajes de cuarta generación (4GLs)

No hay consenso sobre lo que constituye un lenguaje de cuarta generación; en

En esencia, es un lenguaje de programación taquigráfico. Una operación que requiere

cientos de líneas de código en un lenguaje de tercera generación (3GL), como COBOL,

Generalmente requiere significativamente menos líneas en un 4GL.

Comparado con un 3GL, que es de procedimiento, un 4GL no es de procedimiento: el usuario


define lo que se debe hacer, no cómo. Se espera que un 4GL dependa en gran medida de mucho

Componentes de nivel superior conocidos como herramientas de cuarta generación. El usuario no


lo hace

define los pasos que un programa necesita para realizar una tarea, pero en su lugar define

Parámetros para las herramientas que los utilizan para generar un programa de aplicación. Eso

Se afirma que los 4GL pueden mejorar la productividad en un factor de diez, a costa de

Limitando los tipos de problemas que pueden ser abordados. Lenguajes de cuarta generación.

abarcar:

• lenguajes de presentación, tales como lenguajes de consulta y generadores de informes;

• idiomas especializados, como hojas de cálculo y lenguajes de base de datos;

• generadores de aplicaciones que definen, insertan, actualizan y recuperan datos de la

base de datos para construir aplicaciones;

• lenguajes de muy alto nivel que se utilizan para generar código de aplicación.

SQL y QBE, mencionados anteriormente, son ejemplos de 4GLs. Ahora discutimos brevemente

Algunos de los otros tipos de 4GL.

Formas generadoras

Un generador de formularios es una instalación interactiva para crear rápidamente la entrada y


visualización de datos.

Diseños para formularios de pantalla. El generador de formularios permite al usuario definir qué.

la pantalla tiene el aspecto, la información que se mostrará y dónde se encuentra

pantalla que se mostrará. También puede permitir la definición de colores para elementos de
pantalla.

y otras características, como negrita, subrayado, parpadeo, video inverso,

y así. Los mejores generadores de formas permiten la creación de atributos derivados,

tal vez utilizando operadores aritméticos o agregados, y la especificación de validación

comprueba la entrada de datos.

Generadores de informes

Un generador de informes es una facilidad para crear informes a partir de datos almacenados en la
base de datos.

Es similar a un lenguaje de consulta en el sentido de que le permite al usuario hacer preguntas a la


base de datos y recuperar información de ella para un informe. Sin embargo, en el caso de un

Generador de informes, tenemos mucho mayor control sobre cómo se ve la salida. Nosotros

puede dejar que el generador de informes determine automáticamente cómo debe verse la salida

o podemos crear nuestros propios informes de salida personalizados utilizando un generador de


informes especial

instrucciones de comando.

Hay dos tipos principales de generador de informes: orientado al lenguaje y visualmente

orientado En el primer caso, ingresamos un comando en un sublenguaje para definir

qué datos se incluirán en el informe y cómo se presentará el informe. En

En el segundo caso, utilizamos una instalación similar a un generador de formularios para definir el
mismo

información.

Potrebbero piacerti anche