Sei sulla pagina 1di 57

Base de Datos I 1

1.1 Introducción

Las bases de datos y su tecnología están teniendo un mayor impacto con el creciente uso de los
computadores. En realidad las bases de datos desempeñan un papel fundamental en casi todas las áreas
donde se utilizan computadoras, incluyendo negocios, ingeniería, medicina, leyes, educación y
biblioteconomía, etc.

Una base de datos es una colección de datos relacionados. Por datos, se quiere decir que son hechos
conocidos que pueden registrarse y que tienen un significado implícito, pudiendo ser éstos: magnitudes
numéricas, nombres o conjuntos de símbolo, frases o incluso imágenes, sonidos, colores. Los datos por sí
mismos no nos permiten la adaptación de la decisión más conveniente por que no captan los conocimientos
necesarios.

El término base de datos suele ser restrictivo. Una base de datos tiene las siguientes propiedades implícitas:

Una base de datos representa algunos aspectos del mundo real, en ocasiones denominado minimundo
o Universo del discurso(UdD)

Una base de datos es una colección de datos relacionados con significado inherente.

Una base de datos se diseña, construye y puebla con datos para propósito específico. Está destinada a
un grupo de usuarios concreto y tiene algunas aplicaciones preconcebidas en las cuales están
interesados dichos usuarios.

Minimundo, fuente de la B.D.


Interacción, con los sucesos del mundo real
Audiencia, interesada en el contenido de la B.D.

Figura 1.1

Una base de datos puede crearse y mantenerse manualmente o estar informatizada. El catálogo de un club
de videos es un ejemplo de una base de datos que puede crearse y mantenerse de forma que los usuarios
puedan localizar, recuperar y actualizar los datos según lo necesiten. Una base de datos informatizada
puede crearse y mantenerse mediante un conjunto de programas de aplicación diseñados específicamente
para dicha tarea o bien mediante un sistema de gestión de base de datos.

Un sistema gestor de base de datos (SGDB) es una colección de programas que permiten a los usuarios crear
y mantener una base de datos. El SGBD es por tanto un sistema de software de propósito general que
facilita los procesos de:

 Definición de una base de datos : Consiste en especificar los tipos de datos, las estructuras y
restricciones para los datos que se van a almacenar en dicha base.
Base de Datos I 2

 Construcción de la base de datos: Es el proceso de almacenar los datos concretos sobre algún
medio de almacenamiento controlado por el SGDB.

 Manipulación de la base de datos: Incluye funciones tales como consultar la base de datos para
reflejar los cambios ocurridos, y generar informes a partir de los datos.

1.2 Definición de una base de datos

Es un conjunto de datos estructurados no redundante, organizados independientemente de su


utilización y su implementación en maquina, accesibles en tiempo real y compatibles con usuarios
concurrentes con necesidad de información diferente y no predicable en tiempo.

Otras definiciones son:

 Es un conjunto de datos estructurados, organizados con un propósito y accesibles en tiempo


real.

 Conjunto de información relacionada sobre un tema, con un objetivo determinado, organizada


de manera lógica para facilitar su consulta, evitando redundancias e inconsistencias

 Es la colección de información, que está organizada de forma tal que su contenido sea
fácilmente accedido, administrado y actualizado. Los tipos más comunes de Base de Datos son
las "relacionales" donde la información está definida de una forma en que pueda reorganizarse
y accederse desde múltiples formas distintas. Las "distribuidas", con acceso desde diferentes
puntos de una red y las "orientadas a objetos", que clasifican la información sobre la base de
clases y subclases.

 Una base de datos es un conjunto de datos que pertenecen al mismo contexto almacenados
sistemáticamente para su uso posterior. En este sentido, una biblioteca puede considerarse
una base de datos compuesta en su mayoría por documentos y textos impresos en papel e
indexados para su consulta.

 En el sentido mas completo, una base de datos es un conjunto autodescriptivo de registros


integrados. Autodescriptivo se refiere por que contiene además de los datos del usuario
una descripción de su propia estructura, esta descripción es conocida como diccionario de
datos. En ese sentido una base de datos es similar a una biblioteca que es un conjunto
autodescriptivo de libros, pues además de los libros la biblioteca contiene un catalogo de
tarjeta que los describe; en la misma forma un diccionario de datos describe los datos
contenidos en la base de datos. Esta característica de autodescripción de una base de
datos hace posible determinar la estructura y contenido de la base de datos examinando la
base de datos misma.
Base de Datos I 3

1.3 Objetivos de un Sistema de Base de Datos


Los objetivos principales de un sistema de base de datos es subsanar los siguientes aspectos:

Redundancia e inconsistencia de datos.

Puesto que los archivos que mantienen almacenada la información son creados por diferentes tipos de
programas de aplicación existe la posibilidad de que si no se controla detalladamente el
almacenamiento, se pueda originar un duplicado de información, es decir que la misma información sea
más de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y
acceso a los datos, además de que puede originar la inconsistencia de los datos - es decir diversas copias
de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la dirección de un cliente en
un archivo y que en otros archivos permanezca la anterior.

Dificultad para tener acceso a los datos.

Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo
de los mismos. Supóngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos
los clientes que viven dentro del código postal 78733 de la ciudad. El gerente pide al departamento de
procesamiento de datos que genere la lista correspondiente. Puesto que esta situación no fue prevista
en el diseño del sistema, no existe ninguna aplicación de consulta que permita este tipo de solicitud,
esto ocasiona una deficiencia del sistema.

Aislamiento de los datos.

Puesto que los datos están repartidos en varios archivos, y estos no pueden tener diferentes Formatos,
es difícil escribir nuevos programas de aplicación para obtener los datos apropiados.

Anomalías del acceso concurrente.


Base de Datos I 4

Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta más rápido,
muchos sistemas permiten que múltiples usuarios actualicen los datos simultáneamente. En un entorno
así la interacción de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para
prevenir esta posibilidad debe mantenerse alguna forma de supervisión en el sistema.

Problemas de seguridad.

La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo
se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna
información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado
de seguridad que garantice la autenticación y protección de los datos. En un banco por ejemplo, el
personal de nóminas sólo necesita ver la parte de la base de datos que tiene información acerca de los
distintos empleados del banco y no a otro tipo de información.

Problemas de integridad.

Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de
consistencia. Estas restricciones se hacen cumplir en el sistema añadiendo códigos apropiados en los
diversos programas de aplicación.

1.4 Características del enfoque de base de datos

Hay varias características que distinguen el enfoque de base de datos del enfoque tradicional de
programación con ficheros. En el procesamiento de ficheros tradicional, cada usuario define e implementa
los ficheros para una aplicación específica como parte de la programación de la aplicación. En el enfoque de
base de datos, se mantiene un único almacén de datos que se define una sola vez y posteriormente es
accedido por varios usuarios.

Enfoque B.D. Enfoque Archivos

Existe un único Para cada aplicación


almacén de datos existen ficheros

Figura 1.2

Ventajas de las Bases de Datos

 Independencia de datos y tratamiento


 Cambio de datos no implica cambio de programas.
 Coherencia en los resultados
 Reduce las redundancia, se evita inconsistencia de datos
 Mejora en la disponibilidad de datos
Base de Datos I 5

 Se guarda la descripción de la BD en catálogos


 Cumplimiento de ciertas normas
 Restricciones de seguridad, accesos y operaciones sobre los datos

1.5 Sistema de Gestión de base de Datos

Concepto SGBD

Los DBMS (DBMS Database Managment Systems), Sistemas de Gestión de Base de


Datos es un conjunto coordinado de programas, procedimientos, lenguajes, etc, que
suministra a los usuarios tanto informáticos como no informáticos y al administrador
de la base de datos los medios necesarios para describir, recuperar y manipular los
datos integrados en la base de datos asegurando su confiabilidad, confidencialidad y
seguridad.

Historia de los Sistemas de gestión de Base de Datos

En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database Management System), los
cuales se limitan a la estructuración del almacenamiento físico de los datos. Con los DBMS se crea el
concepto de Administración de los datos, por medio de actividades integradas que permiten verlos
físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto
por estructuras donde se establecen vínculos de integridad, métodos de acceso y organización física sobre
los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios,
seguridad, atomicidad e independencia física y lógica de los datos, entre otros.

El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data Store, se crea bajo el concepto
del Modelo de Datos de Red (Bachgman, 1965); luego se desarrolla el IMS: Information Management
System, sobre el concepto del Modelo de Datos Jerárquico. Estos DBMSs eran accesados normalmente por
lenguajes de programación como Cobol usando interfases de bajo nivel haciendo que las tareas de creación
de aplicaciones y mantenimiento de los datos fuesen controlables, pero aún complejas.

A medida que evolucionaban los DBMS, los lenguajes de programación también lo hacían,
consecuentemente se genera una nueva noción, donde las bases de datos deben almacenar por medio de
una estructura tabular llamada relación o tabla (Codd,1970), compuesta por filas y columnas, accesando
dichas relaciones a través de un lenguaje de alto nivel no procedural (declarativo). De esta forma en los años
80s surgen varios productores de DBMS Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2, además
de otros lenguajes orientados a objetos como el C++, Java (antes el Oak), Eiffel, y Smalltalk adoptando y
mejorando el concepto de clase pero su desarrollo se hace independiente de los DBMSs.

Comenzando los años 80’s ya se siente la necesidad de que los DBMS actuales manipulen objetos complejos
y estructuras como las usadas en sistemas CAD y CASE, entre otras. A partir de esto se da inicio a dos
grandes tendencias: los ORDBMS (Object Relational Database Management System) los cuales se proyectan
como una extensión de los RDBMS hacia el paradigma OO, y los OODBMS (Object Oriented Database
Management System) estarían disponibles para almacenar y manipular las clases, los objetos, la asociación
entre ellos y sus métodos. Así, finalizando los años 80s se crean los OODBMSs por medio de productores
como O2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no se hicieron
tan comerciales como los existentes RDBMS ya que el concepto de Orientación a Objetos se seguía
Base de Datos I 6

manejando muy a nivel del lenguaje de programación, sin que se trabajaran estructuras de almacenamiento
Orientadas a Objetos dependientes de estos. Así, en 1991 surge la ODMG (Object Database Management
Group) el cual estandariza los OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2 inicia un
trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo fue programado para
finalizarse en 1995, pero aún se sigue trabajando en este con un tiempo límite de terminación de
aproximadamente del siglo XXI.

1.5. 1. Naturaleza autodescriptiva de los sistemas de base de base de datos


Una característica fundamental del enfoque de base de datos es que el sistema de datos no sólo contiene la
base

de datos propiamente dicha sino también una definición o descripción completa de la estructura de la base
de datos y sus restricciones. Esta definición se almacena en el catálogo del sistema, que contiene
informaciones tales como la estructura de cada fichero, el tipo y formato de almacenamiento de cada
elemento y varias restricciones sobre los datos. La información almacenada en el catálogo se denomina
meta-datos, y la describe la estructura de la base de datos.
Usuarios/programadores
SOFTWARE DE
BASE DE DATO

Programas de aplicación/consultas

SOFTWARE
DEL SGBD Software para procesar
consultas/programas

Software para acceder a datos e


información

Definición de base
de datos almacenada Base de Datos
(meta-datos) almacenada

Figura 1.1 Un entorno de sistema de base de datos simplificado, que ilustra los conceptos y terminología
en base de datos.

El catálogo es utilizado por el software del SGBD y también por los usuarios que precisan información sobre
la estructura de la base de datos. Un paquete de software de un SGBD de propósito general no se crea para
una aplicación de base de datos específica y por tanto es preciso consultar el catálogo para averiguar la
estructura de los ficheros de una base de datos específica, como el tipo y formato de datos a los que se va
acceder. El software del SGBD ha de trabajar igual de bien con cualquier número de aplicaciones de base de
datos siempre que la definición de la base de datos esté almacenada en el catálogo.
Base de Datos I 7

El catálogo contiene información como los nombres de los ficheros y de los elementos de datos, los detalles
de almacenamiento de cada fichero, la información de correspondencia entre los esquemas y las
restricciones, además de otros tipos de información que es necesaria para los módulos del SGBD.

En el procesamiento de ficheros tradicionales, la definición de datos normalmente forma parte de los


propios programas de aplicación. Por tanto, dichos programas sólo pueden trabajar con una archivo
específico.

1.5.2 Separación entre los programas, datos, y abstracción de datos

En el procesamiento de ficheros tradicionales, la estructura de los ficheros de datos viene integrada en los
programas de acceso, así que cualquiera modificación de la estructura de un fichero puede requerir la
modificación de todos los programas que acceden a dicho fichero. Por el contrario, los programas de acceso
del SGBD no requieren dichas modificaciones en la mayoría de los casos. La estructura de los ficheros de
datos se almacena en el catálogo del SGBD separadamente de los programas de acceso. A esta propiedad se
le denomina independencia entre programas y datos.

La característica que permite la independencia de programas se llama abstracción de datos. Un SGBD ofrece
a los usuarios una representación conceptual de los datos que no incluye muchos detalles sobre el
almacenamiento de los mismos ni sobre cómo se implementan las operaciones (ocultar lo detalles de
almacenamiento en el ordenador

En el enfoque de BD, la estructura y organización detallada de cada fichero se almacena en el catálogo. Los
usuarios de la base de datos hacen referencia a la representación conceptual de los ficheros y el SGBD
extrae del catálogo los detalles de la organización de los ficheros cuando éstos son requeridos por el
software del SGBD.

1.5.3. Soporte de múltiples vistas de los datos

Una base de datos suele tener muchos usuarios, cada uno de los cuales puede requerir una perspectiva o
vista diferente de la base de datos. Una vista puede ser un subconjunto de la base de datos o puede
contener datos virtuales derivados de los ficheros de la base de datos pero que no están explícitamente
almacenados. Es posible que algunos usuarios no necesiten saber si los datos a los que hacen referencia
están almacenados o son derivados.

Un SGBD multiusuario cuyos usuarios tengan diversas aplicaciones debe proporcionar mecanismos para
definir múltiples vistas. Por ejemplo, puede ser que a un usuario de la base de datos solamente le interesen
los nombres de los alumnos que tuvieron calificación mayor a 60 en la asignatura de Base de Datos.

1.5.4 Compartimiento de datos y procesamiento de transacciones


multiusuario

Los SGBD multiusuario, como su nombre indica, debe permitir a varios usuarios tener acceso simultáneo a la
base de datos. Esto es indispensable si los datos de múltiples aplicaciones se deben integrar y mantener en
una sola base de datos. El SGBD debe incluir software de control de concurrencia para asegurar que cuando
varios usuarios intenten actualizar los mismos datos lo hagan de manera controlada para que el resultado de
las actualizaciones sea correcto.
Base de Datos I 8

En general, se dice que estas son aplicaciones de procesamiento de transacciones on –line (OLTP), esta
característica debe distinguir ente un SGDB y el software tradicional de procesamiento de ficheros.

1.5.5. Ventajas de utilizar un SGBD

A continuación se presenta una lista de recursos de ayuda que el software del SGBD debe ofrecer al ABD, a
los diseñadores de base de datos y a los usuarios para ayudarles en el diseño, administración y utilización de
una base de datos.

Control de la redundancia

La redundancia, el almacenamiento de los mismos datos varias veces, provoca varios problemas:

 Es necesario realizar una misma actualización lógica varias veces: una vez por cada fichero en el que
se registran los datos. Esto implica un duplicidad del trabajo.
 Se desperdicia espacio de almacenamiento al guardar los mismos datos en varios sitios, y este
problema puede ser grave si las bases de datos son grandes.
 Es posible que los ficheros que representan los mismo datos se vuelvan inconsistentes. Esto puede
suceder porque una actualización se haya aplicado a ciertos ficheros pero no a otros.

Con el enfoque de base de datos, las vistas de los diferentes grupos de usuarios se integran durante el
diseño de la base de datos. Para conservar la consistencia, debe crearse un diseño que almacene cada
dato lógico en un solo lugar de la base de datos. Ello evita la inconsistencia y ahorra espacio de
almacenamiento. Sin embargo en algunos casos puede convenir la redundancia controlada para mejorar
el rendimiento de las consultas.

Restricciones de acceso no autorizado

El SGBD debe contar con un subsistema de seguridad y autorización que permita al ABD crear cuentas y
especificar restricciones para ellas. El SGBD deberá entonces garantizar automáticamente el cumplimiento
de dichas restricciones. El mismo tipo de controles se puede aplicar al software del SGBD. Por ejemplo, sólo
el personal del ABD tendrá autorización para utilizar cierto software privilegiado, como el que sirva para
crear cuentas nuevas. De manera similar, se puede hacer que los usuarios paramétircos sólo puedan tener
acceso a la base de datos a través de las transacciones programadas que expresamente fueron creadas para
ellos.

Capacidad de realizar inferencias y acciones usando reglas

Algunos sistemas de bases de datos proporcionan la capacidad de definir reglas de deducción para inferir
nueva información a partir de los hechos almacenados en la base de datos. A estos sistemas se les conoce
como sistemas de base de datos deductiva. Por ejemplo, puede haber reglas complejas en la aplicación del
minimundo para determinar cuando un alumno está a prueba. Estas reglas se pueden especificar de manera
declarativa como reglas de deducción, que cuando son compiladas y mantenidas por el SGBD pueden
determinar qué están aprueba. En un SGBD tradicional, para soportar tales aplicaciones, se tendría que
escribir un programa de procedimiento. Pero su cambian las reglas del minimundo, casi siempre es más fácil
modificar las reglas de deducción declaradas, que volver a codificar los programas de procedimiento.

Suministro de múltiples interfaces de usuario

En vista de que muchos tipos de usuario o diversos niveles de conocimiento técnicos utilizan bases de datos,
el SGBD debe ofrecer diferentes interfaces. Entre éstas podemos mencionar los lenguajes de consulta para
Base de Datos I 9

usuarios ocasionales, las interfaces de lenguaje de programación para programadores de aplicaciones, los
formularios y códigos de órdenes para los usuarios paramétricos y las interfaces controladas por menús y de
lenguaje natural para los usuarios autónomos.

Representación de vínculos complejos entre los datos

Una base de datos puede contener numerosos conjuntos de datos que estén relacionados entre sí de
muchas manera. Es preciso que el SGBD pueda representar diversas relaciones complejas entre los datos y
también obtener y actualizar con rapidez y eficiencia datos que estén mutuamente relacionados.

Garantizar el cumplimiento de las restricciones de integridad

La mayor de las aplicaciones de la base de datos tienen ciertas restricciones de integridad que deben
cumplir los datos. El SGBD debe ofrecer recursos para definir tales restricciones y garantizar que se cumplan.
Las restricciones de integridad más simple consiste en especificar un tipo de datos para cada elemento de
datos. Otro tipo de restricción más compleja que encontramos a menudo, es la que implica especificar que
un registro de un fichero debe relacionarse con registros de otros ficheros. Otro tipo de restricción
especifica que los valores de los elementos de datos sean únicos. Es responsabilidad de los diseñadores de
base de datos identificar las restricciones de integridad durante el diseño. Algunas restricciones se pueden
especificar en SGBD, el cual garantizará automáticamente que se cumplan; otras pueden requerir
verificación mediante programas de actualización o en el momento en que se introducen los datos.

Suministro de copias de seguridad y recuperación

Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. El subsistema
de copias de seguridad (backup) y recuperación del SGBD es el responsable de llevar a cabo dicha
recuperación.

1.6 Componentes software de un SGBD

A continuación se describen los tipos componentes del software que constituyen un SGBD y los tipos de
software del sistema de computador con los cuales interactúa el SGBD.
Módulos componentes del SGBD

La Figura 1.8 ilustra de forma simplificada los componentes de un SGBD representativo. La base de datos y el
catálogo del SGBD casi siempre se almacenan en disco. El acceso al disco suele controlarlo principalmente el
sistema operativo (SO, que planifica la entrada/salida del disco.

Módulo gestor de datos almacenados del SGBD. Este es de más alto nivel, controla el acceso a la
información del SGBD almacenada en el disco, bien sea parte de la base de datos o del catálogo. Las
líneas punteadas y los círculos rotulados A, B, C, D, y E en la Figura 1.8 ilustran accesos que están bajo el
control de este gestor de datos almacenados. Este último puede emplear servicios básicos del SO para
transferir los datos de bajo nivel entre el disco y la memoria principal del computador pero controla
otros aspectos de la transferencia de datos, como el manejo de los búferes en la m moría principal. Una
vez que los datos estén en dichos búferes de la memoria principal, podrán s procesados por otros
módulos del SGBD o por los programas de aplicación.

Compilador de LDD. Este componente procesa las definiciones de esquemas especificadas en el LDD,
almacena las descripciones de los esquemas (metadatos) en el catálogo del SGBD.
Base de Datos I 10

Procesador de base de datos en tiempo de ejecución. Se encarga de los accesos al catálogo durante la
ejecución; recibe operaciones de obtención o de actualización y las ejecuta sobre la base de datos. El
acceso al disco se tiene mediante el gestor de datos almacenados.

Compilador de consultas. Maneja las consultas de alto nivel que se introducen interactivamente.
Analiza la sintaxis y compila la consulta o la interpreta creando el código de acceso a la base de datos, y
luego genera llamadas al procesador en tiempo de ejecución para ejecutar dicho código.

 Precompilador. Extrae instrucciones en LMD de un programa de aplicación escrito en un lenguaje


de programación anfitrión. Estas instrucciones se envían al compilador de LMD para convertirlas en
código objeto para el acceso a la base de datos, y el resto del programa se envía al compilador del
lenguaje anfitrión. El código objeto de las instrucciones en LMD y el del resto del programa se
enlazan (linkeditan), formando una transacción programada cuyo código ejecutable incluye
llamadas al procesador de la base de datos durante el tiempo de ejecución.

Figura 1.8 Componentes de un SGBD

El SGBD interactúa con el sistema operativo cuando se requiere acceso al disco (a la base de datos o al
catálogo). Si muchos usuarios comparten el mismo sistema de computador, el SO programará las solicitudes
de acceso al disco del SGBD junto con otros procesos. El SGBD también se comunica con los compiladores de
los lenguajes de programación anfitriones de propósito general, y puede ofrecer interfaces amigables con el
usuario como ayuda a cualquiera de los tipos de usuarios mostrados en la Figura 1.8 cuando especifican sus
solicitudes.
Base de Datos I 11

Utilidades del sistema de base de datos

Además de los módulos de software que se acaban de describir, casi todos los SGBD cuentan con utilidades
de base de datos que ayudan al ABD a gestionar el sistema. Las utilidades comunes efectúan los siguientes
tipos de funciones:

1. Carga: se utiliza una utilidad de carga para cargar ficheros de datos ya existentes (como ficheros de
texto o secuenciales) en la base de datos. Normalmente a la utilidad se le especifica el formato
actual del fichero de datos (fuente) y la estructura de fichero en la base de datos deseada (destino).
La utilidad modifica automáticamente el formato de los datos y los almacena en la base de datos.
Con la proliferación de los SGBD, la transferencia de datos de un SGBD a otro se ha vuelto algo
común en muchas organizaciones. Algunos proveedores actualmente ofrecen productos que
generan los programas de carga apropiados, de acuerdo con las descripciones de almacenamiento
de las bases de datos fuente y destino (esquemas internos). Tales herramientas también se
denominan herramientas de conversión.

2. Copia de seguridad (backup): las utilidades de respaldo crean una copia de seguridad de la base de
datos, casi siempre volcando toda la base de datos en cinta. La copia de seguridad puede servir
para restaurar la base datos en caso de un fallo catastrófico. También se suelen usar las copias de
seguridad en niveles, donde solo se registran los cambios habidos desde la anterior copia de
seguridad. La copia de seguridad ahora es más compleja, pero se ahorra espacio.

3. Reorganización de ficheros: esta utilidad puede servir para pasar de una organización de los
ficheros de la base de datos a otra con el fin de mejorar el rendimiento.

4. Control del rendimiento: las utilidades de este tipo supervisan la utilización de la base de datos y
proporcionan datos estadísticos al ABD, el cual los utiliza para decidir, por ejemplo, si conviene
reorganizar los ficheros con el fin de mejorar el rendimiento.

Herramientas, entornos de aplicación y recursos de comunicación

Existen otras herramientas que suelen estar disponibles para los diseñadores de bases de datos, usuarios y
ABD. Las herramientas CASE, se utilizan en la fase de diseño de los sistemas de base de datos. Otra
herramienta que puede ser bastante útil en las organizaciones grandes es el sistema de diccionario de datos
extendido (o repositorio de datos). Además de almacenar la información del catálogo sobre esquemas y
restricciones, el diccionario de datos almacena otras informaciones como las decisiones de diseño, la
utilización de normas, la descripción de programas de aplicación, e información del usuario. Un sistema así,
se denomina también repositorio de información. La información puede ser accedida directamente por los
usuarios o el ABD cuando lo requieran. La utilidad del diccionario de datos es similar al catálogo del SGBD,
pero incluye una mayor variedad de información y principalmente es accedido por los usuarios más que por
el software del SGBD.

El SGBD también necesita interactuar con software de comunicaciones, cuya función es permitir a los
usuarios situados en lugares remotos respecto al sitio del sistema de base de datos, acceder a la base de
datos a través de las terminales de computador, las estaciones de trabajo o sus computadores personales.
Estos se conectan al sitio de la base de datos mediante equipos de comunicación de datos como líneas
telefónicas, redes de larga distancia, redes de área local o dispositivos de comunicación por satélite. Muchos
sistemas de base de datos comerciales disponen de paquetes de comunicación que trabajan con el SGBD. El
sistema integrado del SGBD y comunicación de datos, se le denomina sistema DB/DC (datábase/data
Communications). Además, algunos SGBD distribuidos están físicamente desplegados en múltiples
Base de Datos I 12

máquinas. En este caso las redes de comunicación son necesarias para conectar las máquinas. Normalmente
son redes de área local (LAN) pero también pueden ser otro tipo de redes.

1.7 Usuarios y administradores de la base de datos

A continuación se identifican a las personas cuyo trabajo requiere el empleo cotidiano de una base de
datos.

- Administradores de base de datos

En cualquier organización en la que muchas personas utilicen los mismo recursos se requiere un
administrador jefe que supervise y gestione dichos recursos. En un entorno de base de datos, el
recurso primario es la propia base de datos, y el secundario es el SGBD y el software relacionado
con él. La administración de estos recursos es responsabilidad del administrador de base de
datos(ABD). El ABD se encarga de:

 autorizar el acceso a la base de datos


 coordinar y vigilar la utilización de la base de datos
 adquirir los recursos de software y hardware que sean necesarios.

El ABD es la persona responsable cuando surgen problemas como violaciones de la seguridad o una
respuesta lenta del sistemas. En las organizaciones grandes, el ABD cuenta con la ayuda de personal
par poder desempeñar estas funciones.

- Diseñadores de base de datos

Los diseñadores de bases de datos se encargan de identificar los datos que se almacenarán en a
base de datos y de elegir las estructuras apropiadas para presentar y almacenar dichos datos. Por lo
general, estas tareas se realizan antes de que se implemente la base de datos y se carguen los
datos. Los diseñadores tienen la responsabilidad de comunicarse con todos los futuros usuarios de
la base de datos con el fin de comprender su necesidades, y de presentar un diseño que satisfaga
esos requerimientos. En muchos casos los diseñadores forman parte del personal del ABD y tal vez
asuman otras responsabilidades una vez terminado el diseño de base de datos. Casi siempre, los
diseñadores de la base datos interactúan con cada uno de los grupos de usuarios potenciales y
desarrollan una vista de la base de datos que satisfagan los requerimientos de datos y de
procesamiento de cada grupo.

- Usuarios finales

Los usuarios finales son las personas cuyo trabajo requiere acceder a la base de datos para
consultarla, actualizarla y generar informes; la base de datos existe principalmente para que ellos la
utilicen. Hay varias categorías de usuarios finales:

 Los usuarios finales ocasionales acceden de vez en cuando a la base de datos, pero es posible
que requieran información diferente en cada ocasión. Utilizan lenguaje de consulta avanzado
para especificar sus solicitudes y suelen ser gerentes de nivel medio o alto u otras personas.
 Los usuarios finales simples o paramétricos tienen como función consultara y actualizar la base
de datos en forma constante., utilizando tipos estándar de consultas y actualizaciones,
llamadas transacciones programadas, que sean programado y probado con mucho cuidado.
Por ejemplo, los cajeros de los bancos que revisan los saldos y realizan los reintegros y
depósitos de dinero.
Base de Datos I 13

 Los usuarios finales avanzados pueden ser los ingenieros, científicos, analistas de negocios y
otros, que están suficientemente familiarizados con los recursos del SGBD como para
implementar sus aplicaciones de forma que cumplan sus complejo requerimientos.
 Los usuarios autónomos mantienen bases de datos personales mediante la utilización de
paquetes de programas comerciales que cuentan con interfaces de fácil uso, basados en
menús o en gráficos.

- Analistas de sistemas y programadores de aplicaciones

Los analistas de sistemas determinan los requerimientos de los usuarios finales, sobre todo los de
los simples o paramétricos y desarrollan especificaciones para transacciones programadas que
satisfagan dichos requerimientos. Los programadores de aplicaciones implementan esas
especificaciones en forma de programas, y luego prueban, depuran, documentan y mantienen estas
transacciones programadas. Para realizar dichas tareas, los analistas y programadores (actualmente
denominados ingenieros de software) deben conocer a la perfección toda la gama de capacidades
del SGBD.

Existen otras personas que tienen que ver con el diseño, creación y funcionamiento del software y entorno
del sistema del SGBD, que entran en las siguientes categorías.

 Los diseñadores e implementadores del SGBD son las personas que diseñan e implementan los
módulos e interfaces del SGBD en forma de paquetes de software.

 Los desarrolladores de herramientas son personas que diseñan e implementan herramientas, es


decir, los paquetes software que facilitan el diseño y utilización del sistema y ayudan a mejorar el
rendimiento. Las herramientas son paquetes opcionales que normalmente se compran por
separado. Incluyen paquetes para el diseño de la base de datos, supervisión de la ejecución,
interfaces gráficas o en lenguaje natural, prototipo, simulación y generación de datos de prueba.

 Los operadores y el personal de mantenimiento son el personal de administración del sistema que
son responsables del funcionamiento y mantenimiento reales del entorno hardware y software del
sistema de base de datos.

1.8 Arquitectura de un SGBD e Independencia de datos

Hay tres características importantes inherentes al enfoque de las bases de datos:

1) La separación entre los programas y los datos (independencia entre programas y datos)
2) El soporte de múltiples vistas de usuario, y
3) El empleo de un catálogo para almacenar la descripción de la base de datos (esquema
conceptual), también denominado metadatos.

La arquitectura de tres esquemas ayuda alcanzar y visualizar estas características.

1.8.1 Arquitectura de una Base de Datos

El Comité de planificación y requerimientos del Instituto Nacional de Estados Unidos de Estándares en


Computación y Procesamiento de Información que en su división X3 establece que la arquitectura de una BD
debe poseer tres niveles:
Base de Datos I 14

 Nivel interno
 Nivel conceptual
 Nivel Externo

Nivel Interno

Este es nivel más bajo de abstracción de información.

El nivel interno es la representación inferior de una BD, por ello es el más cercano al almacenamiento físico.
Permite describir los datos tal como están almacenados en la computadora; Por ejemplo:

 Los archivos que los contienen ( nombre, organización, ubicación,….)


 Los registros de estos archivos (longitud, campos, …)
 Las rutas de acceso a esos registros (índices, encadenamientos, archivos invertidos…)

El nivel interno es descrito por el DBMS por medio de un esquema interno o vista interna.

El Sistema operativo y el DBMS permiten la transformación de un registro a partir de su estructura lógica


hasta su almacenamiento físico. La operación de transformar registros lógicos en físicos y viceversa se llama
Transformación de Datos o mapeo.

•••
NIVEL VISTA VISTA
EXTERNO EXTERNA EXTERNA

Correspondencia
externo/conceptual

ESQUEMA CONCEPTUAL
NIVEL
CONCEPTUAL
Correspondencia
conceptual/interno

ESQUEMA INTERNO

NIVEL
INTERNO

Figura 1.7 ArquitecturaBASE


de tres
DE esquemas
DATOS ALMACENADA

Nivel Conceptual

Es el siguiente nivel más alto de abstracción. El DBA define el nivel conceptual por medio de un esquema o
vista conceptual, al decir que información se guarda en la BD.
Base de Datos I 15

Este nivel corresponde a la estructura organizacional de la Base obtenida al reunir los requerimientos de
todos los usuarios de una empresa, sin preocuparse de la organización física ni las vías de acceso.

El esquema conceptual podrá contener:

- Los datos elementales que definen los campos, atributos, de los objetos de una empresa. Ejemplo
Nombre, concepto, nro de hijos, zona, etc.
- Los datos compuestos que permiten reagrupar los campos para describir los registros, las entidades
del mundo real. Ejemplo: Personas, Artículos, Vehículos, etc.
- Los datos compuestos que permiten reagrupar los campos para describir las asociaciones del
mundo real. Ejemplo: Compras de artículo, propietarios de los coches, etc.
- Algunas veces las reglas que deberían seguir los datos en la empresa. Ejemplo: Que el stock mínimo
esté comprendido entre unos márgenes, que cada artículo posea su proveedor, etc.
- Relaciones entre los datos para conectar o relacionar registros en el procesamiento de archivos
múltiples.

En este nivel la base de datos aparece como una colección de registros lógicos sin especificar su
almacenamiento. En realidad, los archivos conceptuales no existen físicamente.

Nivel Externo

Es el nivel más alto de abstracción y por ello el más cercano a los usuarios. El nivel externo representa la
percepción individual de cada usuario o programador de la BD, describe únicamente la parte de los datos de
interés para un usuario o grupo de usuarios. Los usuarios pueden imaginar que los archivos externos
utilizados en sus programas existen tal como ellos lo perciben. Pero los archivos externos tampoco existen
físicamente.

El DBMS es el encargado de extraer los datos requeridos por los registros lógicos externos de uno o más
registros físicos, de la BD, cada vez que se ejecuta una operación de E/S en un programa específico.

Por cada programa es necesario especificar un esquema externo o subesquema o vista externa para poder
acceder de forma selectiva a un subconjunto de datos de la base integrada. Habrá usuarios que podrán
acceder a más de un esquema externo, y un esquema externo puede ser compartido por varios usuarios; se
protege de esta forma el acceso a los datos de usuarios no autorizados o mal intencionados.

A la hora de construir el subesquema hay que tener presente que:

- Uno o más tipos de registros pueden omitirse en el esquema.


- Uno o más campos pueden omitirse en el registro conceptual.
- En el registro conceptual puede cambiarse el orden relativo de los campos del registro.
- Una o más relaciones entre los datos pueden omitirse en el esquema conceptual.

1.8.2 Independencia de datos

La arquitectura de tres esquemas puede servir para explicar el concepto de independencia de datos, que se
define como la capacidad para modificar el esquema en un nivel del sistema de base de datos sin tener que
modificar el esquema del nivel inmediato superior.

Se definen dos tipos de independencia de datos:


Base de Datos I 16

1. Independencia lógica de los datos, es la capacidad de modificar el esquema conceptual sin tener
que alterar lo esquemas externos ni los programas de aplicación. Podemos modificar el esquema
conceptual para ampliar la base de datos (añadiendo un nuevo tipo de registro o un elemento de
datos) o para reducir la base de datos (eliminando un tipo de registro o un elemento de datos). En
el segundo caso, la modificación no deberá afectar a los esquemas externos que sólo se refieran a
los datos restantes. Si en el SGBD se cuenta con independencia lógica de datos, sólo será preciso
modificar la definición de la vista y las correspondencias. Después de una reorganización lógica del
esquema conceptual los programas de aplicación que hagan referencia a los elementos del
esquema externo deberán funcionar igual que antes. Además, las restricciones podrán modificarse
en el esquema conceptual sin afectar a los esquemas externos ni a los programas de aplicación.

2. Independencia física de los datos, es la capacidad de modificar el esquema interno sin tener que
alterar el esquema conceptual (o los externos). Tal vez sea preciso modificar el esquema interno
por la necesidad de reorganizar ciertos ficheros físicos (por ejemplo, al crear estructuras de acceso
adicionales) con el fin de mejorar el rendimiento de las operaciones de recuperación y
actualización. Si la base de datos aún contiene los mismos datos, no será necesario modificar el
esquema conceptual.

En todo SGBD de múltiples niveles es preciso ampliar el catálogo de modo que incluya información sobre
cómo establecer la correspondencia entre las solicitudes y los datos entre los diversos niveles. El SGBD
utiliza software adicional para realizar estas correspondencias haciendo referencia a la información de
correspondencia que se encuentra en el catálogo.

La arquitectura de tres esquemas puede facilitar la consecución de la verdadera independencia de datos,


tanto física como lógica. Sin embargo, los dos niveles de correspondencias implican un gasto extra durante
la compilación y la ejecución de una consulta o de un programa, lo cual reduce la eficiencia del SGBD. Por
ello, son pocos los SGBD que han implementado la arquitectura de tres esquemas completa.

1.9 Lenguajes e interfaces de base de datos

Un sistema de bases de datos proporciona un lenguaje de definición de datos para


especificar el esquema de base de datos y un lenguaje de manipulación de dato para
expresar las consultas a las bases de datos y las modificaciones.

1.9.1. Lenguajes del SGBD

Una vez que se ha completado el diseño de una base de datos y se ha elegido un SGBD para su
implementación, el primer paso será especificar los esquemas conceptual e interno de la base de datos y
cualquier correspondencia existente entre ambos.
Lenguaje de definición de datos(LDD)

Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un


lenguaje especial llamado lenguaje de definición de datos (LDD).

Por ejemplo, la siguiente instrucción en el lenguaje SQL define la tabla cuenta:

create table cuenta


(número-cuenta char(10), saldo integer)
Base de Datos I 17

La ejecución de la instrucción LDD anterior crea la tabla cuenta. Además, actualiza un conjunto especial de
tablas denominado diccionario de datos o directorio datos.

Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos. El esquema de una tabla es
un ejemplo de metadatos. Un sistema de base de datos consulta el diccionario de datos antes de leer o
modificar los datos reales.

Se específica el almacenamiento y los métodos de acceso usados por el sistema de bases de datos por un
conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y definición
de datos. Estas instrucciones definen los detalles de implementación de los esquemas de base de datos, que
se ocultan usualmente a los usuarios.

Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia.
Por ejemplo, supóngase que el saldo de una cuenta no debe estar por debajo de los100 Bs. El LDD
proporciona facilidades para especificar tales restricciones. Los sistemas de bases de datos comprueban
estas restricciones cada vez que se actualiza la base de datos.

Lenguaje de manipulación de datos

La manipulación de datos es:

 La recuperación de información almacenada en la base de datos.


 La inserción de información nueva en la base de datos.
 El borrado de información de la base de datos.
 La modificación de información almacenada en la base de datos.

Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular
los datos organizados mediante el modelo de datos apropiado. Hay dos tipos básicamente:

 LMDs procedimentales. Requieren que el usuario especifique qué datos se necesitan y cómo obte-
ner esos datos.

 LMDs declarativos (también conocidos como LMDs no procedimentales). Requieren que el usuario
especifique qué datos se necesitan sin especificar cómo obtener esos datos.

Por ejemplo, el lenguaje SQL tiene el componente LMD no procedimental, observe la siguiente consulta:

select cliente.nombre_cliente
form cliente
where cliente.id_cliente = ‘9283746’

Consulta es una instrucción de solicitud para recuperar información. La parte de un LMD que implica
recuperación de información se llama lenguaje de consultas.

En muchos SGBD en los que no se mantiene una separación estricta de niveles, el ABD y los diseñadores de
la base de datos utilizan un mismo lenguaje, el lenguaje de definición de datos (LDD), para definir los
esquemas conceptual e interno. El SGBD contará con un compilador de LDD cuya función será procesar las
sentencias escritas en el LDD para identificar las descripciones de los elementos de los esquemas y
almacenar la descripción del esquema en el catálogo del SGBD.
Base de Datos I 18

Cuando en los SGBD se mantenga una clara separación entre los niveles conceptual e interno, el LDD servirá
solamente para especificar el esquema conceptual. Para especificar el esquema interno, se utiliza otro
lenguaje, el lenguaje de definición de almacenamiento (LDA). Las correspondencias entre los dos esquemas
se pueden especificar en cualquiera de los dos lenguajes. Para una verdadera arquitectura de tres
esquemas, necesitaríamos un tercer lenguaje, el lenguaje de definición de vistas (LDV), para especificar las
vistas del usuario y sus correspondencias con el esquema conceptual. Sin embargo, en la mayoría de los
SGBD el LDD se utiliza tanto para describir el esquema conceptual como el externo.

1.9.2 Interfaces del SGBD

Entre las interfaces amigables con el usuario que pueden ofrecer los SGBD están las siguientes:

Interfaces para navegación basados en menús. Estas interfaces presentan al usuario listas de op-
ciones denominadas menús, que guían al usuario para formular una solicitud. Los menús hacen
innecesario memorizar las instrucciones y la sintaxis específica de un lenguaje de consulta, ya que
permiten confeccionar la solicitud paso a paso mediante la elección de las diferentes opciones del menú
que le va presentando el sistema

Interfaces basadas en formularios. Las interfaces basadas en formularios presentan un formulario


a cada usuario. Éste puede entonces rellenar todas las entradas para insertar nuevos datos o bien
rellenar sólo algunos de ellos, en cuyo caso el SGBD obtendrá los datos que coincidan con los que se han
especificado. Los formularios suelen diseñarse y programarse para los usuarios simples como interfaces
de transacciones programadas. Muchos SGBD cuentan con lenguajes especiales, los lenguajes de
especificación de formularios, con los que los programadores pueden especificar dichos formularios.
Algunos sistemas cuentan con utilidades que definen formularios y permiten que el usuario construya
interactivamente en la pantalla un formulario de muestra.

Interfaces gráficas de usuario. Las interfaces gráficas de usuario (GUI) suelen presentar al usuario
los esquemas en forma de diagrama, y éste puede entonces especificar una consulta manipulando el
diagrama. En muchos casos, las GUI se combinan con menús y formularios. Casi todas estas interfaces
utilizan un dispositivo apuntador, como el ratón, para escoger ciertas partes del diagrama de esquema
que se exhibe.

Interfaces de lenguaje natural. Estas interfaces aceptan solicitudes escritas en inglés o en algún
otro idioma e intentan “entenderlas”. Las interfaces de lenguaje natural suelen tener su propio “es-
quema”, similar al esquema conceptual de la base de datos. La interfaz consulta las palabras de su
esquema y también un conjunto de palabras estándar, para interpretar la solicitud. Si la interpretación
tiene éxito, la interfaz genera una consulta de alto nivel que corresponde a la solicitud en lenguaje
natural y la envía al SGBD para su procesamiento; en caso contrario, se inicia un diálogo con el usuario
para esclarecer la solicitud.

Interfaces para usuarios paramétricos. Los usuarios paramétricos, como los cajeros de un banco a
menudo tienen un conjunto pequeño de operaciones que deben realizar repetidamente. Los listas de
sistemas y los programadores diseñan e implementan una interfaz especial para una especial para un a
clase conocida de usuarios simples. Casi siempre se incluye un conjunto reducido de instrucciones
abreviadas, con el fin de reducir al mínimo el número de pulsaciones requeridas para cada solicitan. Por
ejemplo, se pueden programar las teclas de función de una terminal para que inicien las diversas
instrucciones. Con esto, el usuario paramétrico puede trabajar con el menor número de pulsaciones
posible.
Base de Datos I 19

Interfaces para el ABD. En su mayoría, los sistemas de base de datos contienen instrucciones
privilegiadas que sólo el personal del ABD puede utilizar. Entre ellas están las instrucciones crear
cuentas, establecer los parámetros del sistema, otorgar autorizaciones a las cuentas, modificar los
esquemas y reorganizar la estructura de almacenamiento de una base de datos.

1.10 Estructuras operacionales de los SGBD


Un sistema de base de datos posee una estructura compuesta de dos partes: el servidor y los clientes: El
servidor es el encargado de realizar las tareas propias de la base de datos: almacenamiento de datos y
aplicaciones. Estos dos elementos se pueden ejecutar en la misma maquina o en máquinas distintas. Como
la ejecución de la base de datos se puede realizar sobre una sola máquina, se puede decir que el servidor es,
en sí, el Sistema de Gestión de Bases de Datos, aunque lo habitual es que las máquinas cliente y servidor de
datos sean distintas.

Un cliente de una base de datos es cada consumidor de recursos de la base de datos: las aplicaciones del
servidor, las aplicaciones de usuario y cualquier otro elemento de aplicación que acceda al servidor. Para la
comunicación entre el servidor y la base de datos se emplea SQL como lenguaje de consulta y protocolos de
red estándar. En cuanto al nivel de comunicaciones entre el servidor y los clientes, se realiza a través de los
correspondientes esquemas externos. Según el número de servidores y la forma de acceder un cliente a los
mismos se tienen tres tipos de estructuras de bases de datos: cliente/servidor, cliente/multi-servidor y
distribuidas

Cliente-servidor

Una base de datos con estructura cliente/servidor está formada por distintos elementos software: la
aplicación cliente, la capa de acceso de datos y el servidor de bases de datos. A este último elemento se le
denomina habitualmente motor de bases de datos. Para su correcto funcionamiento, la base de datos
necesita estar instalada en un determinado equipo informático con su correspondiente sistema operativo y
el software de red que permita la comunicación del servidor con los clientes.

Servidor de Base de Datos

Capa de acceso a datos

Aplicaciones cliente/servidor
Figura 1.9 Estructura cliente/servidor
La aplicación cliente es la responsable de verificar y aceptar las entradas de los usuarios. Si se acepta la peti-
ción del usuario envía una consulta al servidor de bases de datos basada en la petición de datos anterior.
Esta petición es procesada por el servidor, que envía de vuelta a aplicación cliente los resultados de la
consulta. La aplicación cliente formatea los datos de acuerdo con la petición y los muestra al usuario.

La capa de acceso a datos posee un interfaz de programación de aplicaciones (API) que es el encargado de
enviar las consultas al servidor. Esta capa es trasparente al usuario. Los programadores pueden crear aplica-
ciones que interactúen con la capa de acceso a datos. Es independiente del tipo de redes utilizado para
Base de Datos I 20

comunicar las aplicaciones cliente con el servidor, con lo que hay cierta independencia del software de la
base de datos respecto del software de red.

El servidor de base de datos acepta las consultas de los clientes, las procesa y devuelve los resultados.
El empleo de arquitecturas cliente/servidor da origen al procesamiento distribuido, que consiste en repartir
el proceso de los datos en varias máquinas interconectadas mediante algún tipo de red. Como varia proceso
distribuido se tienen:

 El proceso en multiprocesadores que eje aplicaciones y la base de datos en distintos procesadores.


 Un servidor que accede de forma simultánea varios clientes.
 Por último, cabe la posibilidad de que una máquina cliente pueda acceder a más de un servidor, en
este caso se considera un sistema cliente/multiservidor.

Cliente – multiservidor

Una base de datos cliente multiservidor es aquella en la que el cliente se puede conectar a más de un
servidor simultáneamente o bien sólo puede conectarse a un servidor en cada sesión cliente.
Servidor de Base de Datos

Capa de acceso a datos

Aplicaciones cliente/servidor
Figura 1.10 estructura cliente/multiusuario

Cuando una aplicación cliente accede a datos de distintos servidores, se denomina Sistema de Bases de
Datos Distribuidas. Para el usuario -cliente- es indistinto si los orígenes de datos son únicos o múltiples, pero
es un trabajo extra considerable para el administrador de la base de datos, ya que mantener en su sitio
usuarios, datos y aplicaciones, con los controles de seguridad, acceso y concurrencia a implementar exige la
creación de un sistema centralizado de administración de servidores y clientes o la administración
individualizada de cada servidor de base de datos.

Desde el punto de vista de la arquitectura de una base de datos distribuida, se dan los siguientes elementos:
varias bases de datos que se pueden almacenar sobre sistemas de gestión de bases de datos de diferentes
fabricantes. Además, los ordenadores sobre los que se ejecutan estos sistemas de bases de datos
seguramente sean distintos y ejecuten diversos sistemas operativos. Por último, las redes que comunican los
elementos de las bases de datos distribuidas pueden tener diferentes protocolos y arquitecturas. Sea cual
sea la implementación real de una base de datos distribuida, no es ningún problema para el usuario, ya que
todas estas dificultades se manifiestan a nivel de compatibilidad de hardware, de software y protocolos y
sobre todo de administración.

Bases de Datos Distribuidas

En cuanto a la arquitectura de las bases de datos distribuidas -en red-, se produce una ligera variación res-
pecto a las arquitecturas cliente/servidor, denominada arquitectura en tres niveles: por un lado la parte
Base de Datos I 21

servidor se ejecuta en el servidor de base de datos, mientras que la parte cliente se ejecutan en dos niveles:
una máquina servidor de aplicaciones y la máquina cliente. En este tipo de base de datos la carga de trabajo
se realiza de forma centralizada en el servidor de aplicaciones, mientras que las máquinas cliente ejecutan la
parte de aplicación que actúa de interfaz de usuario.

1.11 Clasificación de los sistemas de gestión de base de datos

Los criterios para clasificar un SGBD son:

1. Según modelo de datos. Se tiene dos modelos utilizados por la mayoría de los SGBD, el modelo
relacional y el modelo orientado a objetos.
2. Según numero de usuarios a los que da servicio el sistema. Los monousuarios y los multiusuarios.
3. Según numero de sitios en la que se encuentra distribuida la base de datos. Centralizados y
distribuidos.
4. Según costo del SGBD. La mayor parte de los paquetes de SGBD cuestan entre 10000 y 100000
dólares.
5. Según los tipos de caminos de acceso. Un SGBD dispone de caminos de acceso para almacenar los
ficheros. Una familia muy conocida de SGBD se basa en estructuras de ficheros invertidos.
6. Según propósito. Los SGBD pueden ser de propósito general o de propósito especial. Cuando el
rendimiento tiene gran importancia se puede diseñar y construir un SGBD de propósito especial
para una aplicación específica, y este sistema no servirá para otras aplicaciones.

1.10 Aplicaciones de los sistemas de base de datos


Los avances mas recientes en el campo de las bases de datos son:

Las nuevas tecnologías de bases de datos. Se ocupa de la creación de nuevos entornos así como de
la funcionalidad de los SGBD, con el fin de que se puedan manejar una serie de nuevas aplicaciones
entre las que se incluyen el acceso universal a las bases de datos en la World Wide Web y las bases
de datos en Internet; las bases de datos multimedia que proporcionan una funcionalidad adicional
para sostener el almacenamiento y procesamiento de información multimedia; así como bases de
datos móviles y bases de datos conectadas intermitentemente que permiten al usuario final extraer
y trasladar partes de una base de datos mientras se encuentra móvil en un campo.

Los dominios de aplicación principales. Referido a aquellas aplicaciones basadas en el


procesamiento manual de los sistemas de ficheros o en soluciones de sistemas hechos a medida.
Una característica común de todas estas aplicaciones es la naturaleza específica del dominio de los
datos en cada dominio de aplicación concreto. Además, todas ellas se caracterizan por su
naturaleza estática, una situación en la que el usuario final sólo puede recuperar datos de la base
de datos, la actualización con información nueva está limitada a los expertos en dominios de bases
de datos, que son los que supervisan y analizan los nuevos datos que se introducen.

1.11.1 Bases de datos en la World Wide Web

En la tecnología World Wide Web (WWW), (conocida popularmente como «la Web»), una arquitectura
básica de tipo cliente-servidor subyace a todas 1as actividades. La información se almacena en
computadores designados como servidores Web en ficheros compartidos accesibles al público. La
información está codificada empleando el HyperText Markup Language (HTML o Lenguaje de marcas de

hipertexto). Una serie de herramientas permite que los usuarios creen páginas Web formateadas con
etiquetas HTML, que se combinan 1ibremente con contenido multimedia, que van desde gráficos a audio e
incluso vídeo.
Base de Datos I 22

La información contenida en la Web se organiza conforme a un Uniform Resource Loacter (URL o Localizador
Uniforme de Recursos), algo similar a una dirección que proporciona el nombre del camino completo de un
fichero.

Acceso a las bases de datos en la World Wide Web

La tecnología actual ha ido transformándose rápidamente de páginas Web estáticas a dinámicas, en las que
el contenido puede estar en un estado constante de cambio. El servidor Web emplea una interfaz estándar
denominado Common Gateway Interface (CGI o interfaz de pasarela común) para que actúe como capa
intermedia (middleware), es decir, la capa de software adicional, que se encuentra entre la interfaz que ve el
usuario y el SGBD subyacente, que facilita el acceso a bases de datos heterogéneas. La capa intermedia CGI
ejecuta programas externos o scripts para obtener la información dinámica, y devuelve la información al
servidor en HTML, la cual es enviada de nuevo al navegador.

A medida que la Web ha ido experimentando sus transformaciones más recientes, ha sido necesario
permitir que los usuarios accedan no sólo a los sistemas de ficheros sino a bases de datos y a los SGBD para
mantener el procesamiento de consultas y la creación de informes, entre otros. Los enfoques actuales
pueden dividirse en dos categorías:

1. Acceso mediante scripts CGI: puede obligarse al servidor de la base de datos a que se relacione con
el servidor Web por medio del CGI. La Figura 1.11 muestra un esquema de la arquitectura de acceso
a la base de datos en la Web mediante scripts CGI, que están escritos en lenguajes como PERL, Tcl,
o C.

Figura 1.11 Acceso a una base de dato en la Web mediante Scripts CGI.

2. Acceso mediante JDBC: JDBC (Java Data Base Connectivity) es un conjunto de clases Java, para
permitir el acceso a bases de datos relaciónales mediante la ejecución sentencias SQL. Es una forma
de conectarse con bases de datos sin ningún proceso adicional la petición de cada cliente. JDBC
tiene la capacidad de conectarse a una base de datos, enviar sentencias SQL a una base de datos y
recuperar los resultados de una consulta empleando las clases de Java Connection Satatement y
ResultSet respectivamente. Con la anunciada independencia de la plataforma Java, una aplicación
puede ejecutarse en cualquier navegador compatible con Java, que descarga el código Java del
servidor y lo ejecuta en el navegador del cliente. El código Java es transparente para el SGBD; los
Base de Datos I 23

drivers de JDBC para SGBD individuales en la parte del servidor tienen la labor de interactuar con
ese SGBD. Si el driver de JDBC se encuentra la parte del cliente, la aplicación se ejecuta en el cliente
y el driver comunica sus peticiones al SGBD directamente. Para las peticiones en SQL estándar, se
puede acceder a muchos SGBD relacionales de esta manera. El puente JDBC a la Object Datábase
Connectivity (ODBC) sigue siendo otra forma de llegar a los SGBD relaciónales.

1.11.2 Bases de datos multimedia

Las aplicaciones multimedia que trabajan con miles de imágenes, documentos, segmentos de audio y vídeo,
y datos de texto libre, precisan del modelado adecuado de la estructura y contenido de los datos y,
posteriormente, del diseño de esquemas de bases de datos apropiados para el almacenamiento y
recuperación de la información multimedia. Los sistemas de información multimedia resultan muy
complejos y abarcan un amplio conjunto de cuestiones, entre las que se encuentran las siguientes:

Modelado: esta área cuenta con el potencial para aplicar al problema técnicas de bases de datos frente a las
de recuperación de información. Existen problemas a la hora de tratar objetos complejos integrados por una
amplia variedad de tipos de datos: numéricos, de texto, gráficos (imágenes generadas por ordenador),
imágenes gráficas animadas, series audio, y secuencias de vídeo. Los documentos constituyen un área
especializada y merecen una consideración especial

Diseño: el diseño conceptual, lógico y físico de las bases de datos multimedia aún no ha sido tratado del
todo y sigue siendo un área de investigación activa.

Almacenamiento: el almacenamiento de datos multimedia en dispositivos estándar similares a discos


presenta problemas de representación, compresión y transformación a las jerarquías de los dispositivos,
archivado y empleo de búferes durante la operación de entrada/salida. Es probable que una forma en la
que la mayoría de los vendedores de productos multimedia aborden esta cuestión sea adhiriéndose a
estándares como JPEG o MPEG. En los SGBD un soporte “BLOB” (Binary Large Object u Objeto Grande
Binario) permite que se almacene y se recuperen mapas de bits carentes de tipo. Se requerirá software
estandarizado para tratar la sincronización y compresión/descompresión, a lo que se unirán problemas de
indexación que continúan en investigación.

Consultas y recuperación: la forma que tienen las “bases de datos” de recuperar información está basada en
los lenguajes de consulta y en las estructuras de índices internas. La recuperación de información depende
estrictamente de palabras claves o términos de índices predefinidos. En lo que se refiere a imágenes, datos
de vídeo y audio, esto da lugar a numerosas cuestiones, entre las que se encuentran la formulación eficiente
de consultas, la ejecución y optimización de consultas. Es necesario modificar las técnicas de optimización.

Rendimiento: en cuanto a las aplicaciones multimedia que contienen únicamente documentos y texto, las
restricciones de rendimiento vienen determinadas subjetivamente por el usuario. Para aquellas aplicaciones
que incluyen reproducción de video o sincronización de audio - vídeo, se imponen limitaciones físicas.

1.11.3 Bases de datos móviles


Los avances recientes en tecnología sin cable han dado lugar a la informática móvil, una nueva dimensión en
la comunicación y procesamiento de datos. El entorno de la información móvil proporcionará aspectos útiles
de la tecnología sin cables a la aplicaciones de bases de datos.

Desde el punto de vista de la gestión de datos, la informática móvil puede considerarse como una variante
de la informática distribuida. Las bases de datos móviles pueden distribuirse en dos ámbitos posibles:

1. La base de datos completa se distribuye principalmente entre los componentes conectados,


posiblemente con replicación total o parcial. Una estación base gestiona su propia base de datos
Base de Datos I 24

con una funcionalidad similar a la del SGBD, con una funcionalidad adicional para localizar unidades
móviles y características adicionales de gestión de consultas y transacciones destinadas a satisfacer
los requisitos de los entornos móviles.

2. La base de datos se distribuye entre componentes conectados e inalámbricos. La responsabilidad


de la gestión de datos es compartida entre las estaciones base y las unidades móviles.
1.11.4 Sistemas de Información Geográfico
Los sistemas de información geográfica se (SIG) se emplean para recoger, modelar, almacenar y analizar
información que describe las propiedades físicas del mundo geográfico. El ámbito del SIG abarca dos tipos
de datos: 1) datos espaciales, procedentes de mapas, imágenes digitales, fronteras administrativas y
políticas, carreteras, redes de transporte; datos físicos tales como ríos, características del suelo, regiones
climáticas, elevaciones del terreno, y 2) datos no espaciales como cómputos del censo, datos económicos e
información sobre ventas o marketing.

Los SIG funcionan con dos tipos diferentes de información geográfica: el modelo vector y el modelo raster.
a) Vector, representa objetos como un polígono.
b) Matriz, representa objetos como puntos, en la que cada punto representa el valor de un atributo
para una localización del mundo real.

Figura 1.12
Las bases de datos de un SIG integran la delimitación espacial de cada uno de los objetos geográficos. Por
ejemplo, un lago que tiene su correspondiente forma geométrica plasmada en un plano, tiene también otros
datos asociados como niveles de contaminación, flora, fauna, pesca y niveles de captación en relación a la
temporada del año.

Los datos SIG experimentan diversos tipos de análisis. Por ejemplo, los geólogos pueden determinar dónde
perforar en busca de petróleo. Los SIG también ayudan a gerentes de ventas que pueden obtener mapas de
continentes completos y ver cómo se han desempeñado las ventas en diferentes territorios.
El Sistema de Información Geográfica separa la información en diferentes capas temáticas y las almacena
independientemente, permitiendo trabajar con ellas de manera rápida y sencilla, y permitiendo al
profesional la posibilidad de relacionar la información existente a través de la topología de los objetos, con
el fin de generar otra nueva que no podríamos obtener de otra forma.
Base de Datos I 25

Vías de comunicación
Núcleo de población

Uso de suelo

Red fluvial

Figura 1.13 Altitudes

1.11.5 Gestión de datos del genoma

El término genoma se define como la información genética total que puede obtenerse sobre una entidad. El
genoma humano, por ejemplo, hace referencia en general al conjunto completo de genes necesario para
crear un ser humano (que se calcula entre 100000 y 300000 genes que se extienden en 23 pares de
cromosomas, con un número aproximado de 3 a 4 billones de nucleótidos). Existen diversos sistemas de
bases de datos que conservan y clasifican la información sobre los datos de la secuencia del genoma.

Genbak: Base de datos de la secuencia del ADN.

La base de datos del genom(GDB): Es un catálogo de datos sobre genes humanos. Almacena
correspondencias entre una información y una localización concreta del genoma humano.

Herencia medeliana en el hombre on-line(OMIM): Es un compendio electrónico de información sobre base


la base genética de las enfermedades humanas:

Genbak, GDB y OMIM se han creado como almacenes centrales de determinados tipos de datos biológicos
pero, aunque son sumamente útiles, siguen sin abarcar todo el espectro de datos del genoma humano.

Preguntas de repaso

1. Defina los siguientes términos: datos, base de datos, SGBD, sistema de base de datos, catálogo de
base de datos, independencia entre programas y datos, vista de usuario, ABD, usuario final,
metadatos.
2. ¿Cuáles son los tres tipos principales de acciones en las que intervienen las bases de datos? Analice
brevemente cada uno de ellos.
3. Describa las características principales del enfoque de bases de datos y sus diferencias con respecto
a los sistemas tradicionales de ficheros.
4. ¿Cuáles son las responsabilidades del ABD y de los diseñadores de bases de datos?
5. Cite los diferentes tipos de usuarios finales de las bases de datos y enumere las actividades
principales de cada uno de ellos.
6. Defina un SGBD e Indique los componentes de SGBD.

REFERENCIAS BIBLIOGRÁFICAS
(1) Rames A. Elmasri & Sahamkant B. Navathe, FUNDMENTOS DE SISTEMAS DE BASE DE DATOS, Madrid, De. Addison
Wesley, 2000, p.: 4-36, 832-861.
(2) Silberschatz & Korth & Sudarshan, FUNDMENTOS DE BASE DE DATOS, Madrid, Mc Graw Hill, 2002, p: 7,8
(3) Gregorio Cabrera Sánchez, SISTEMAS GESTORES DE BASE DE DATOS, Madrid, Thompson Larning, 2001, p: 35-37
Base de Datos I 26

2.1 Introducción

Una característica fundamental del enfoque de base de datos es que proporciona cierto nivel de abstracción
de los datos, al ocultar detalles de almacenamiento que la mayoría de los usuarios no necesitan conocer. Un
modelo de datos proporciona los medios necesarios para conseguir dicha abstracción.

En este entendido modelar consiste en definir un mundo abstracto y teórico tal que las conclusiones que se
pueden sacar de él coinciden con las manifestaciones aparentes del mundo real.

Modelo

Es una representación de la realidad que contiene las características generales de algo que se va a realizar.
En base de datos, esta representación la elaboramos de forma gráfica.

Modelo de datos

Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre
ellos, semántica asociada a los datos y restricciones de consistencia, además de ser un dispositivo de
abstracción que nos permite ver el bosque (esto es, la información contenida en los datos) en oposición de
los árboles (valores individuales de los datos).

Abstracción

Es la acción y el efecto de abstraer, separar por medio de una operación intelectual las cualidades de un
objeto para considerarlas asiladamente o para considerar el mismo objeto en su pura esencia o noción. Por
tanto, la abstracción, como proceso mental capaz de ocultar detalles y fijarse en lo esencial, busca las
propiedades comunes de un conjunto de objetos, reduciendo así la complejidad y ayudando a la
comprensión del mundo real.

2.2 La importancia de los modelos de datos

Inicialmente el "dato" fue trabajado desde la óptica pura de su almacenamiento a través de los "Sistemas de
Archivos"; donde cada uno de los archivos que se creaban solo obedecía a una necesidad de
almacenamiento más que a la utilización funcional del dato. Por este motivo surgen los esquemas
conceptuales que son elaborados a través del análisis de procesos de las áreas del negocio, los conceptuales
involucran al "dato" como una consecuencia lógica funcional de ellos. Pero para poder estandarizar este
tratamiento se crea el concepto del "Modelo de Datos", por medio del cual se definen un conjunto de
elementos y símbolos que permiten estandarizar traducir dicho análisis a un lenguaje semántico y
sistemático que dispone de reglas de control y evaluación del comportamiento del dato en el transcurso del
tiempo, tanto en su almacenamiento como en su utilización.

Estos modelos de datos, hacen posible que la lógica de un negocio pueda ser estructurada de forma tangible
a través de un esquema físico que representa el almacenamiento de los datos bajo las reglas del negocio y
de un sistema gestor de base de datos que permitirá la persistencia de estos a través del tiempo.
Base de Datos I 27

2.3 Clasificación de los modelos

Los diferentes modelos de datos se clasifican en tres grupos diferentes:

Modelos lógicos basados en objetos.


Modelos lógicos basados en registros.
Modelos físicos de datos.

2.3.1 Modelos lógicos basados en objetos

Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos
los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de
estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Existen
diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-
Relación.

- Modelo Entidad-Relación

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son
objetos que existen y que se distinguen de otros por sus características, por ejemplo: un alumno se
distingue de otro por sus características particulares como lo es el nombre, o el numero de control asignado
al entrar a una institución educativa, así mismo, un empleado, una materia, etc. Las entidades pueden ser de
dos tipos:

Tangibles

Son todos aquellos objetos físicos que podemos ver, tocar o sentir.

Intangibles

Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por
ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.

Las características de las entidades en base de datos se llaman atributos, por ejemplo el nombre, dirección
teléfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, número de seguro social,
departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o
relacionar con más entidades a través de relaciones.

Pero para entender mejor esto, veamos un ejemplo:

Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este
problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el
artículo (que es el producto en venta), y las características que los identifican son:

Empleado: Artículo:

Nombre Descripción
Puesto Costo
Salario Clave
R.F.C.
Base de Datos I 28

La relación entre ambas entidades la podemos establecer como Venta.

Bueno, ahora nos falta describir como se representa un modelo E-R gráficamente, la representación es muy
sencilla, se emplean símbolos, los cuales son:

Símbolo Representa

2.3.2 Modelos lógicos basados en registros

Se utilizan para describir datos en los niveles conceptual y físico. Estos modelos utilizan registros e
instancias para representar la realidad, así como las relaciones que existen entre estos registros (ligas) o
apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura
lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación.

Los tres modelos de datos más ampliamente aceptados son:

Modelo Relacional
Modelo de Red
Modelo Jerárquico

- Modelo relacional

En este modelo se representan los datos y las relaciones entre estos, a través de una colección de tablas, en
las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendrá la base de datos y
las columnas corresponden a las características(atributos) de cada registro localizado en la tupla;

Considerando nuestro ejemplo del empleado y el artículo:

Tabla del empleado


Base de Datos I 29

Ahora te preguntaras ¿cómo se representan las relaciones entre las entidades en este modelo?

Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un
atributo el cual definimos como atributo principal, es una forma única de identificar a una entidad. Por
ejemplo, el CI de un empleado se distingue de otro por que los CI no pueden ser iguales.

Ahora si, las formas de representar las relaciones en este modelo son:

1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la
relación.

Tomando en cuenta que la llave primaria del empleado es su CI , y la llave primaria del articulo es la Clave.

2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.

- Modelo de datos Red


Base de Datos I 30

Existen dos estructuras de datos básicas en el modelo red: Registro y tipo de conjunto.

Registro, tipo de registro y elementos de datos

Los datos se almacenan en registros, cada registro consiste en un grupo de valores de datos relacionados
entre sí. Los registros se clasifican en tipos de registros, cada uno de los cuales describe la estructura de un
grupo de registros que almacena el mismo tipo de información. Damos un nombre a cada tipo de registro, y
también damos un nombre y un formato (tipo de datos) a cada elemento de dato (o atributo) del tipo de
registro.

Ejemplo

ALUMNO

NOMBRE RU DIRECCIÓN DPTO_ESPC FECHA_NAC

Elemento dato Nombre y Formato

NOMBRE Carácter 15

RU Numérico

DIRECCIÓN Carácter 20

DPTO_ESPC Carácter 15

FECHA_NAC Fecha

Tipo de conjunto y sus propiedades básicas

Un tipo de conjunto es una descripción de un vinculo 1:N entre dos tipos de registros. Así en el siguiente
ejemplo se muestra que:

DEPARTAMENTO Tipo de registro


NOMBRE ... propietario

Relación DEPTO_ALU
DEPTO_ALU

ALUMNO Miembro
NOMBRE ...

Donde:

DEPTO_ALU es un tipo de conjunto, que tiene ocurrencias de conjunto o instancias

- Modelo de datos Jerárquico

Relaciones Padre-Hijo y esquema jerárquicos

Un modelo jerárquico utiliza dos conceptos principales de estructuración de datos: registros y relaciones
padres – hijos.
Base de Datos I 31

Registro es la colección de valores de campo que proporcionan información sobre una entidad o una
instancia de una relación. Los registros del mismo tipo se agrupan en tipos de registros cada tipo de registro
recibe un nombre y su estructura se define en términos de una colección de campos con nombre o
elementos de datos. Cada campo tiene un cierto tipo de datos, como entero, real o cadena de caracteres.

Un tipo de relación padre –hijo (tipo RPH) es una colección 1:N entre dos tipos de registro. El tipo de registro
del lado 1 se denomina tipo de registro padre, y del lado N se llama tipo de registro hijo del tipo RPH.

Una ocurrencia (o instancia) padre- hijo del tipo de RPH consiste en un registro de tipo de registro padre y
varios registros /cero o mas) del tipo registro hijo.

Un esquema jerárquico se visualiza como un diagrama jerárquico, en el cual los nombres de los tipos de
registros aparecen en cuadros rectangulares y los tipos de RPH se dibujan como líneas que conectan el tipo
de registro padre y el tipo de registro hijo.

Ejemplo

DEPARTAMENTO
NOMBRE NUMEROD NOMB_JEFE FECHA_INIC_JEFE

EMPLEADO PROYECTO
NOMBRE CI FECHA_NCTO DIRECC NOMBREP NUMEROP LOCALIZACION

Propiedades de los esquemas jerárquicos

1. Un tipo de registro, denominado raíz del esquema jerárquico, no participa como tipo de registro hijo en
ningún tipo de RPH.
2. Todo tipo de registro, con excepción de la raíz, participa como tipo de registro hijo en uno y solo en un
tipo de RPH.
3. Un tipo de registro puede participar como tipo de registro padre en cualquier cantidad (cero o más)
tipos de RPH.
4. Un tipo de registro que no participa como tipo de registro padre en ningún tipo de RPH se denomina
hoja del esquema jerárquico.
5. Un tipo de registro participa como padre en más de un tipo de RPH, entonces sus tipos de registro hijo
están ordenados. El orden se visualiza por convención, de izquierda a derecha en los diagramas
jerárquicos.

La definición de esquema jerárquico define una estructura de datos de árbol. En la terminación de estas
estructuras un tipo de registro corresponde a un nodo de árbol, y un tipo de RPH corresponde a una arista (o
arco) del árbol.
Ejemplo

DEPARTAMENT
O

EMPLEADO PROYECTO
Base de Datos I 32

Las relaciones M:N entre tipos de registros no pueden representarse directamente porque las relaciones
padre-hijo son 1:N, y un tipo de registro no puede participar como hijo en dos o más relaciones padre-hijo
distintas.

- Modelos físicos de datos

Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este
tipo, básicamente capturan aspectos de la implementación de los sistemas de base de datos. Existen dos
clasificaciones de este tipo que son:

Modelo unificador
Memoria de elementos.

Preguntas de repaso

1. ¿Cuál es la característica fundamental del enfoque de las bases de datos?


2. ¿Qué se entiende por modelar?
3. Contraste los términos modelo, modelo de datos y abstracción.
4. ¿Cuál la importancia de los modelos de datos?
5. Realice un cuadro en el cual señale las diferencias entre los tres grupos de modelos.

REFERENCIAS BIBLIOGRÁFICAS

(4) Rames A. Elmasri & Sahamkant B. Navathe, FUNDMENTOS DE SISTEMAS DE BASE DE DATOS, Madrid, De. Addison
Wesley, 2000
(5) Silberschatz & Korth & Sudarshan, FUNDMENTOS DE BASE DE DATOS, Madrid, Mc Graw Hill, 2002
Base de Datos I 33

3.1 Introducción
El modelo entidad – relación es el primero de los modelos de datos que se emplea para interpretar,
especificar y documentar los requerimientos para sistemas de procesamiento de Base de Datos, este
modelo proporciona estructuras lógicas que muestran los requerimientos de datos de los usuarios.
El modelo Entidad Relación es un modelo de los requerimientos de una organización (sea negocio,
empresa, fabrica u otra) basado en la funcionalidad de un futuro sistema que se desea. Para modelar una
organización es necesario comprender los detalles acerca de la organización, en este sentido el modelo
Entidad Relación se constituye en una técnica usada para describir la información necesaria de una
empresa, a través de diagramas que permiten la facilidad de lectura y también fácil verificación.

El modelo de datos entidad – relación se basa en una percepción de un mundo real que consiste en un
conjunto de objetos básicos llamados entidades y relaciones.
La elaboración de un esquema E/R que recoja la semántica de un determinado Universo del Discurso es
un proceso creativo para el que no existe un procedimiento definido. Sin embargo, si es posible seguir
una serie de recomendaciones o heurísticas que nos ayuden en el diseño. Estas recomendaciones no son
reglas que siempre funcionen sino que en algunos casos son adecuadas y en otros no.

Modelo Conceptual

Un modelo conceptual es la forma en la que podemos describir los requerimientos para los datos de los
negocios usando una sintaxis semántica, a través de representaciones gráficas. Podemos describir
muchas de las reglas de negocio con elementos gráficos tales como subtipos (generalización –
especialización) y relaciones.

3.2 Definición del Modelo Entidad - Relación

El modelo entidad – relación de define en términos de dos tipos de objetos básicamente: entidad y
relación.
Entidad es un objeto abstracto o concreto, distinguible de otro, es algo identificable y de importancia
para los usuarios.
Relación es una asociación o vinculo entre entidades.

Por ejemplo: El numero de cuenta 151416-100 en un banco es una entidad que identifica únicamente
una cuenta determinada.
Una entidad puede ser concreta, tal como una persona o puede ser abstracta como un día festivo o un
concepto.

El Modelo Entidad Relación es usada para describir la información necesaria de la organización, a través de
diagramas que permiten la facilidad de lectura y verificación.
Base de Datos I 34

3.3 Objetivos del Modelo

Los objetivos del modelo son para asegurar que:

 Todas las piezas de información que son requeridos para que marche una organización
correctamente, son reconocidas. Los modelos deben ser completos. Los requerimientos deben ser
reconocidos antes que usted empiece a implementar. Las dependencias deben ser claras.

 Cada pieza de información requerida se muestra una sola vez en el modelo. Este es un objetivo
importante. Tan pronto se almacena una información particular, dos veces en un sistema, usted ve la
posibilidad de que la información no esté al mismo tiempo en dos lugares. Si usted fuera un usuario
de un sistema de información y descubre inconsistencia en el dato, ¿cuál información podría ser de
confianza? Este objetivo implica que un sistema ideal no contenga información derivable.

 Un modelo entidad relación correcto, conduce a un conjunto de tablas lógicamente coherentes.

3.4 Terminología utilizada en el Modelo


3.4.1 Entidad

Una entidad es un objeto que existe y es distinguible entre otros objetos, a través de un identificador.

Algunos ejemplos de entidades son:

- Personas: MÉDICOS, EMPLEADO, ESTUDIANTES, PACIENTES


- Lugares: ESTADO, REGIÓN, SUCURSAL, SECCIÓN, MUNICIPIO
- Objeto: MAQUINA, EDIFICIO, AUTOMÓVIL, PRODUCTO
- Eventos: VENTAS, REGISTRO, COMPRA, ELECCIÓN, PEDIDO, RETIRO
- Conceptos: CURSO, CARGO

Instancia de entidad es una ocurrencia simple de una entidad. Por ejemplo:

ENTIDADES INSTANCIAS

PERSONA Felipe Quispe


PRODUCTO Papel Oficio
CARGO Máximo dirigente
RESERVACIÓN DE PASAJE Noche: La Paz – Santa Cruz
PLANILLA 350.3 Bs.

3.4.2 Conjunto Entidad

Es un conjunto de entidades del mismo tipo. Todas las entidades de cierto tipo forman una clase de
entidad.
Base de Datos I 35

Por ejemplo: El conjunto de todas las personas que tienen una cuenta en el banco, puede definirse
como el conjunto de entidades CLIENTE. Por tanto las entidades se agrupan en conjunto de
entidades del mismo tipo.

Entonces decimos, que una entidad representa un conjunto de instancias que son de interés para
un negocio en particular.
MUNICIPIO
La Paz

Sorata Charazani Patacamaya

Desaguadero

Ocurrencia de entidad

Conjunto de valores concretos asociados, correspondiente a un determinado tipo de entidad.


Una Instancia de entidad es una ocurrencia simple de una entidad. Por ejemplo:

ENTIDADES OCURRENCIA (INSTANCIAS)

PERSONA José Maria Alvarez


PRODUCTO Papel Oficio

Otro ejemplo: Para el conjunto de entidades CLIENTE, una ocurrencia de entidad es Juan Perez,
2844284 Lp, Oruro, Av. Paraiso #1525. Por tanto una entidad particular se denomina ocurrencia de
entidad y existen múltiples ocurrencias en una clase de entidad.

Nota.- Existe una diferencia entre una clase de entidad y la ocurrencia de entidad. Una clase de
entidad es la forma general o descripción de algo, en tanto que una ocurrencia de una clase de
entidad es la representación de una entidad particular.

Entonces decimos, que una entidad representa un conjunto de instancias que son de interés para un
negocio en particular.

3.4.3 Atributo

Un atributo es una propiedad o característica de una entidad que es de interés para la organización.
Cada entidad tiene un conjunto de atributos asociados con éste.

ENTIDADES ATRIBUTO

EMPLEADO Nombre, Edad, Dirección


AUTO Modelo, Precio, Placa
PEDIDO Fecha de Pedido, Total
CARGO Titulo, Descripción
Base de Datos I 36

TRANSACCIÓN Cantidad, Fecha de Transacción


CONTRATO DE EMPLEADO Fecha de Inicio, Salario

Ocurrencia de atributo

Es el valor concreto que toma el atributo. Por ejemplo Para el conjunto de entidades CLIENTE, el
valor concreto para el atributo nombre-cliente es Juan Perez.

Cada entidad tiene un conjunto de atributos asociados con éste.

Existen dos tipos de atributos: identificadores y descriptores. Los primeros se usan para distinguir de
manera única cada una de las ocurrencias de la entidad (distinguiéndose entre Identificadores
Principales e Identificadores Alternativos), mientras que los descriptores se utilizan para describir
una ocurrencia de entidad.

Los atributos también aparecen reflejados en el enunciado, generalmente como nombres, por
ejemplo:

ENTIDADES ATRIBUTO

EMPLEADO Nombre, Edad, Dirección


AUTO Modelo, Precio, Placa
PEDIDO Fecha de Pedido, Total
CARGO Titulo, Descripción
TRANSACCIÓN Cantidad, Fecha de Transacción
CONTRATO EMPL Fecha de Inicio, Salario

No solo es posible especificar atributos en la entidad si no también en las relaciones que veremos a
continuación (en este caso solo tiene sentido hablar de atributos descriptivos y no de
identificadores).

Tipos de atributos

También es posible recoger otras restricciones semánticas sobre los atributos, como ser:

 Atributos obligatorios/opcionales

Son, si un atributo debe tomar o no un valor.

 Atributos univaluados/multivaluados

Son, si un atributo toma un único valor o varios.

Un atributo multivaluado puede tomar más de un valor para cada instancia (ocurrencia) de
una entidad.

Por ejemplo el atributo Especialidad de una entidad llamada EMPLEADO, si cada empleado
tiene mas de una especialidad, entonces Especialidad es un atributo multivaluado.

 Atributos derivados
Base de Datos I 37

Son, si su valor se obtiene a partir de otros elementos del esquema E/R, por ejemplo la edad
se puede obtener a partir de la fecha de nacimientos de una persona y la fecha actual.

 Atributos compuestos/simples

Dependiendo si el atributo es no un agregado de otros atributos, por ejemplo: Dirección está


compuesto por otros atributos como ser: Calle/Avenida, numero, zona.

El Atributo simple también es conocido como atributo atómico que almacena un solo valor.

A su vez, estos tipos de atributos se pueden combinar entre si, por ejemplo: Pueden existir en un esquema
E/R atributos multivaluados simples opcionales, univaluados compuestos opcionales, multivaluados
obligatorios, multivaluados compuestos, etc.

Las entidades pueden clasificarse por la fuerza de sus atributos identificadores, es decir por su dependencia
o no dependencia respecto a otras entidades. Las entidades fuertes tienen existencia propia, es decir,
poseen identificadores internos que pueden serlo por dos motivos. Bien porque su existencia en la BD
depende de una entidad fuerte, bien por que requieran para su identificación de los atributos
identificadores (algunas veces llamados atributos externos) de otra entidad, por ejemplo no poseen
atributos identificadores internos que permitan la identificación de cada una de sus ocurrencias y requieren
la presencia de atributos externos. En el primero de los casos se habla de Dependencia en Existencia y en el
segundo de Dependencia en Identificación.

3.4.5 Claves candidatas e identificadores

Llaves candidatas

Una llave candidata es un atributo (o combinación de atributos) que identifica de manera única a cada
instancia de una entidad. Por ejemplo, para la entidad:

MUNICIPIO: ID_Municipio, Nombre, Departamento, Características

Su llave candidata será:


ID_Municipio

Algunas veces más de un atributo es requerido para identificar las instancias una entidad.
Por ejemplo,

JUEGO: Equipo_Local, Equipo_Visitante

Claramente se observa que la llave candidata es: Equipo_Local, Equipo_Visitante

Algunas veces las entidades pueden tener más de una llave candidata.
Una llave candidata para:

MUNICIPIO: ID_Municipio, Nombre, Departamento, Características


es:
ID_Municipio
Nombre

Si hay más de una llave candidata, como en este caso, entonces el diseñador puede elegir una de las llaves
candidatas como identificador.
Base de Datos I 38

Identificador

Un identificador es una llave candidata que es seleccionada para ser usada como característica única de una
entidad.

 Consideraciones para seleccionar un identificador


a) Elegir una llave candidata que no cambiaría los valores de las instancias de la entidad
durante su existencia.

b) Elegir una llave candidata, tales que, para cada instancia de la entidad, el atributo garantiza
valores válidos y que no sean nulos.

c) Evitar el uso de las tan llamadas llaves inteligentes, cuya estructura indica clasificación,
localización, etc. Por ejemplo, los dos primeros dígitos de la llave de una entidad PARTE
puede indicar la localización del almacén.

d) Si tiene llaves compuestas, es decir formado por dos o más atributos, puede sustituir por
un atributo simple. Por ejemplo, un atributo llamado ID_Juego en ves de la combinación
de atributos Equipo_Local, Equipo_Visitante del ejemplo anterior.

3.4.7 Relaciones

Una relación es una asociación entre las instancias de una o más entidades que es de interés para la
organización. Una asociación usualmente significa un evento ocurre o que existe algún enlace natural entre
las instancias de entidad. Por esta razón, las relaciones son etiquetadas con verbos. Por ejemplo,

TÉCNICO revisa PROYECTO


PERSONA consulta DOCTOR

En los enunciados, la aparición de verbos podrá indicarnos, en algunos casos la existencia de una relación en
el esquema E/R.

Conjunto Relación

Conjunto de relaciones del mismo tipo. Los valores de los atributos del conjunto relación permiten
establecer una liga o nexo entre dos o más entidades relacionadas.

Un conjunto relación se constituye por si solo en un conjunto entidad (Subordinado) y puede tener
sus propios atributos.

3.5. Símbolos usados en los diagramas Entidad - Relación

Los símbolos usados son una representación gráfica de todos los elementos del modelo entidad –
relación (entidades, relaciones, atributos, juego de dependencias respecto a otras entidades, llaves y
restricciones de cardinalidad).
Entre los diversos autores que han escrito libros sobre Base de Datos, se ha notado que los símbolos
usados (representaciones gráficas ) en su generalidad son comunes, existiendo una pequeña diferencia
Base de Datos I 39

entre un autor y otro, en tal sentido la notación o simbología que usaremos en el curso es la que a
continuación se muestra:

 Entidad ( entidad fuerte) * Entidad débil

ENTIDAD
ENTIDAD DEBIL

 Atributo Identificador Principal (PK), también se puede usar

 Atributo Identificador alternativo

 Atributo también se puede usar

 Atributo multivaluado * Atributo Compuesto * Atributo Opcional

 Atributo Multivaluado Compuesto

 Relación o Interrelación

Relación
Base de Datos I 40

 Interrelación con dependencia *Interrelación con dependencia en Identificación


Ex Id
Interrelación Interrelación

 Dominio

Nombre
dominio

 Generalización * Jerarquía solapada y total


(Jerarquía solapada y parcial,
sin ninguna restricción)

 Jerarquía exclusiva y parcial * Jerarquía exclusiva total

Las restricciones de mapeo se representan por flechas, como se detalla a continuación.

1 a 1 n a 1

1 a n n a n
Base de Datos I 41

Estas notaciones se utilizarán en el presente texto.

3.6 Grados de una relación

El grado de una relación es el número de entidades que participan en la relación. Las tres relaciones mas
comunes en el modelo E-R son unaria (grado uno), binaria (grado dos) y ternaria (grado tres).

 Relaciones Unarias
Notación

Llamadas también relaciones recursivas, una relación unaria es una relación entre las instancias de
una entidad.

Por ejemplo

 Persona casada con persona


PERSONA

 Relaciones Binarias

Notación

Una relación binaria es una relación entre instancias de dos entidades y es el más común de las
relaciones en el modelo de datos.
Por ejemplo

Empleado asignado
a departamento, y
departamento es
asignado a empleado
Base de Datos I 42

 Relación ternaria
Notación

Una relación ternaria es una relación simultánea entre las instancias de tres entidades.
Por ejemplo
cantidad

envía PARTES  La relación ENVIAR,


envía cantidades de
partes dadas por un
vendedor particular a
ALMACÉN un almacén seleccionado

Note que una relación ternaria no es lo mismo que una relación binaria. Por
NOTA ejemplo, Cantidad es un atributo de la relación Envío. Cantidad pude ser atributo
propio de la asociación binaria que pueda existir entre dos de las tres entidades

3. 7. Restricciones de Cardinalidad
Las restricciones de cardinalidad o restricciones de mapeo se representan por una etiqueta, (0,1), (1,1), (0,N)
o (1,N), situada en la línea que conecta la entidad con el rombo que representa el tipo de relación, existen
dos tipos de cardinalidades máxima y mínima.

Se define las cardinalidades máximas y mínimas de las entidades que participan en una relación como el
número máximo o mínimo de ejemplares de una entidad que puede relacionarse con un único ejemplar de
la otra, u otras entidades que participan en la relación. Así, por ejemplo en la figura siguiente, donde un
empleado puede participar como máximo en un proyecto y en un proyecto participan como máximo N
empleados, al igual que las entidades, se denomina ejemplar de la interrelación a cada combinación de
ejemplares de las entidades relacionadas que constituyen una ocurrencia en la relación.

1: N
PROYECTO (0, 1) (1, N) EMPLEADOS
participa

(0, 1) en PROYECTO indica que un ejemplar de la entidad EMPLEADO esta relacionado


con cero o un ejemplar de la entidad PROYECTO en la interrelación participar.

(1, N) en EMPLEADO indica que un ejemplar de la entidad PROYECTO esta relacionado


con uno o mas ejemplares de la entidad EMPLEADO en la interrelación participar.
Ejemplo de cardinalidad mínima y máxima
Base de Datos I 43

La Cardinalidad y participaciones

Supongamos que hay dos tipos de entidades, A y B, que están conectadas por una relación. La
cardinalidad de una relación es el número de instancias de la entidad B que puede o debe estar
asociada con cada instancia de la entidad A.

Por ejemplo

 Un estudiante tiene
ESTUDIANTE TIENE CELULAR
uno o más celulares, y
un celular pertenece a
un único estudiante.

3.7.1 Cardinalidad Mínima y Máxima

Cardinalidad Mínima

La cardinalidad mínima de una relación es el número mínimo de instancias de una entidad B que
puede estar asociada con cada instancia de la entidad A.

ESTUDIANTE TIENE CELULAR

En el ejemplo, el número mínimo de CELULAR que pertenece a un ESTUDIANTE es CERO, es el


caso en que decimos que un CELULAR es una PARTICIPACIÓN OPCIONAL en la relación TIENE.
Luego, el número mínimo de ESTUDIANTE que tiene cero o mas celulares es UNO, es el caso en
que decimos que un ESTUDIANTE es una PARTICIPACIÓN OBLIGATORIA en la relación tiene.

Cardinalidad Máxima

La cardinalidad máxima es el número máximo de instancias. Es decir el máximo es “muchos”, no se


especifica cuantos.

 Entonces en el ejemplo anterior, la cardinalidad máxima de la entidad ESTUDIANTE


es UNO, y en la entidad CELULAR es de muchos.

Participación

ESTUDIANTE TIENE CELULAR

Cardinalidad
Cardinalidad
Participación
Base de Datos I 44

Minimo Maximo Minimo Maximo

1: N
ESTUDIANTE (1, 1) (0, N) CELULAR
TIENE

(0, N) en CELULAR: indica que un ejemplar de la entidad ESTUDIANTE está relacionado


con cero o mas ejemplares de la entidad CELULAR en la Relación TIENE.

(1, 1) en ESTUDIANTE: Indica que un ejemplar de la entidad CELULAR está relacionado


con un ejemplar y solo con un ejemplar de la entidad ESTUDIANTE.
Ejemplo de cardinalidad mínima y máxima

Para establecer la cardinalidad de la Relación ESTUDIANTE –CELULAR, escogemos los las


participaciones máximas de cada entidad en la relación; es decir en la entidad ESTUDIANTE el
máximo es 1 y en la entidad CELULAR el máximo es N, luego la cardinalidad es 1:N

3.7.2 Tipos de relaciones

El modelo entidad – relación permite relaciones de cualquier grado, pero la mayoría de las
aplicaciones del modelo solo consideran relaciones de grado dos, conocidas como relaciones
binarias

Relaciones Binarias

Para un conjunto binario de relaciones R entre los conjuntos de entidades A y B, la


cardinalidad de asignación debe ser una de las siguientes:

a.) Una a una


b.) Una a muchas
c.) Muchas a una
d.) Muchas a muchas

a.) Una a una (1:1)

Una entidad en A esta asociada a lo sumo con una entidad en B y una entidad en B esta
asociada a lo sumo con una entidad en A.

A B
a1 b1
a2 b2
a3 b3
a4 b4
Base de Datos I 45

b.) Una a muchas (1:N)

Una entidad en A esta asociada con un numero cualquiera de entidades en B. Una entidad en B, sin
embargo puede estar asociada a los sumo con una entidad en A.

A B

a1 b1
a2 b2
a3 b3
b4
b5

c.) Mucha a una (N:1)

Una entidad en A esta asociada a lo sumo con una entidad en B. Una entidad en B, sin
embargo puede estar asociada con un numero cualquiera de entidades en A.
A B

a1
a2 b2
a3 b3
a4 b4
a5

d.) Muchas a muchas (N:N)

Una entidad en A esta asociada con un numero cualquiera de entidades en B, y una entidad
en B esta asociada con un numero cualquiera de entidades en A.
A B

a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
b6

RELACIÓN DIAGRA E-R(notación pata


de gallo)
Base de Datos I 46

Uno a uno

Muchos a Muchos

Uno a Muchos

3.8 Construcción de diagramas Entidad – Relación (E/R)

Para la construcción del modelo E/R (esquema conceptual), se parte del enunciado del problema a
resolver, luego se aplica la metodología propuesta para la construcción de diagramas Entidad-
Relación.

Enunciado del problema a resolver

El enunciado constituye una descripción correcta (y casi siempre completa) del Universo del
Discurso (ambiente de estudio), inicialmente se deriva de:

1.) Su comprensión de la organización (conocimiento del objeto de análisis, diagnostico).


2.) Entrevistas con el usuario.
3.) Cualquier otro tipo de investigación y recolección de información de la organización
que pueda usar el diseñador (documentos que usan, documentos que emiten).

Estos puntos proporcionan una buena pista respecto a la identificación de Entidades y Relaciones,
para tal caso es necesario estructurar el problema a resolver; es decir describir el enunciado del
problema a resolver.

Propuesta de Metodología para la construcción de Diagrama Entidad - Relación

Una propuesta de metodología de realización de un esquema conceptual consta de los siguientes


pasos.

1. Estudiar el enunciado del problema (leer, comprender), para Identificar los candidatos a
ser entidades (tomando en cuenta que la entidad es aquella de la cual se quiere recoger
datos), y elaborar una lista de todas las entidades. Si existiese aquellos conceptos
dudosos que no se sabe como representar (si como entidad o como relación o como
atributo), se especificarán separadamente, para luego analizarlos durante el proceso de
diagramación del modelo.

2. Identificar las posibles relaciones que existen entre las entidades identificadas. Todas las
entidades deben relacionarse (si es posible graficarlas como relaciones binarias). En la
asociación de entidades es posible detectar relaciones que no aparecen explícitamente
representadas en el enunciado y que sin embargo, podría resultar interesante que se
Base de Datos I 47

recogieran en el esquema E/R; este tipo de relaciones se detectan, generalmente, por


sentido común, aunque sería necesario siempre validarlas con el usuario.

3. Diagramar un primer esquema E/R con las entidades y relaciones identificadas en los
pasos 1 y 2. Especificar los atributos para las entidades del diagramas E/R, si el caso es
necesario especificar también los atributos para las relaciones.

4. Al esquema E/R se le añaden las cardinalidades mínimas y máximas de cada relación,


estableciendo sus tipos de correspondencia como ser: Correspondencia 1:N,
correspondencia N:N correspondencia 1:1.
5. Finalmente se refina el esquema E/R, analizando y dando respuesta al enunciado del
problema. Además hay que estudiar las posibles redundancias, si existiese., hay que
estudiar detalladamente las cardinalidades de las relaciones y hacer la comprobación
tanto en un sentido como en el otro sentido.

Una aproximación sintetizada para la construcción de esquema E/R es:

1. Identificar primero las entidades, hacer una lista de las entidades,


2. Luego establecer las relaciones entre las entidades identificadas,
3. Adicionar los atributos de las entidades, y las relaciones(si requiere)
4. Y por último establecer las cardinalidades máximas y mínimas, para
determinar las correspondencias(1:N, N:N, 1:1) del modelo E/R
5. Analizar las relaciones redundantes

A veces también se suele recurrir a otro tipo de herramientas que nos ayuda a detectar
información que no aparece explícitamente representada en el enunciado, esto surge de la
comprensión del problema a resolver y los supuestos semánticos, los cuales resultan de gran
utilidad para los diseñadores.

3.9. RESOLUCION DE PROBLEMAS

PROBLEMA 1 : CASOS DE CORRUPCIÓN

Enunciado

La asociación internacional “Voto Blanco”, tras una larga labor de investigación ha logrado
obtener valiosa información acerca de los numerosos casos de corrupción que se están
dando en un país imaginario. Para tal fin se requiere una base datos que contenga toda la
información ordenada y accesible.

 De cada caso de corrupción se desea saber su código, nombre, por lo que se le


conoce, una breve descripción y una estimación de los millones que se han
desviado.
Base de Datos I 48

 Cada caso es investigado por un juez del que se desea saber su carnet identidad
nombre, paterno, materno, dirección, fecha de nacimiento, y fecha en que
comenzó a ejercer. Una vez concluida la investigación del caso emiten un dictamen
que se registrará.

 En cada caso hay una serie de ciudadanos implicados, cada uno de ellos con un
cargo principal determinado en el momento en que se produjo el caso. De cada
uno de estos se desea conocer su DNI, nombre, dirección y patrimonio.

 Estos ciudadanos pueden o no pertenecer a un partido político determinado y, a


veces, desempeñan un puesto en él. De cada partido quiere conocerse su nombre,
dirección de la sede central y teléfonos.

 Cada caso de corrupción es descubierto por un periódico (nombre, dirección y


Tirada) en una fecha determinada, que se desea saber. Cada periódico puede tener
o no una afinidad con un partido político (por otro lado un partido político puede
tener variedad con varios periódicos o con ninguno).

Análisis del enunciado

Para la resolución de este ejercicio se seguirán los pasos indicados con


anterioridad.

1mer paso: Elaborar la lista de las entidades. Las listas obtenidas son:

CASOS_CORRUPCION

JUEZ

CIUDADANOS

PARTIDO_POLITICO

PERIODICO

2º paso: Identificar las posibles relaciones que existen entre las entidades identificadas.

JUEZ investiga CASOS_CORRUPCION


Base de Datos I 49

INVESTIGA
JUEZ CASOS_CORRUPCION
CIUDADANOS implicados CASOS_CORRUPCION

CASOS_CORRUPCION IMPLICADOS CIUDADANOS

CIUDADANOS pertenecen PARTIDO_POLITICO

PERTENECEN
CIUDADANOS PARTIDO_POLITICO

PERIODICO descubre CASOS_CORRUPCIÓN

PERIODICO DESCUBRE CASOS_CORRUPCION

PERIODICO afinidad PARTIDO POLITICO

PERIODICO AFINIDAD PARTIDO_POLITICO

3ser paso: Diagramar una versión preliminar del esquema E/R con las entidades y
relaciones identificadas en los pasos 1 y 2.

INVESTIGA
JUEZ CASOS_CORRUPCION

IMPLICADOS
DESCUBRE

PERIODICO CIUDADANOS

PERTENECEN

AFINIDAD
PARTIDO_POLITICO

Versión preliminar del esquema E/R


Base de Datos I 50

Especificando Atributos

pat mat nomb nomb desc monto


digtame Fecha_d Cod_c
cod_j ci i

INVESTIGA
JUEZ CASOS_CORRUPCION

cargo
Fecha

IMPLICADOS
dir nomb
DESCUBRE nomb
dir
DNI pat
tirada Cod_p patrim

CIUDADANOS
PERIODICO
puesto

PERTENECEN dir
Cod_pp
nomb
telef

AFINIDAD
PARTIDO_POLITICO

4º paso: Añadir las cardinalidades mínimas y máximas de cada relación, estableciendo sus
tipos de correspondencia como ser: Correspondencia 1:N, correspondencia N:N
correspondencia 1:1.

 La relación Investiga: Un JUEZ investiga como mínimo 0


CASOS_CORRUPCION y como máximo n CASOS_CORRUPCIÓN, y un caso es
investigado mínimo por un JUEZ y máximo por un JUEZ.

 La relación Implicado: En un CASO_CORRUPCIÓN hay un ciudadano como


mínimo implicado y como máximo n CIUDADANOS, en cambio un
CIUDADANO puede que no esté implicado en CASO_CORRUPCION o bien
está implicado en varios casos de corrupción.
Base de Datos I 51

 La relación Descubre: Un PERIODICO descubre n CASOS_CORRUPCION o


bien ninguno, y un CASO_CORRUPCIÓN es descubierto por un PERIÓDICO o
varios periódicos.

 La relación Pertenece: Un CIUDADANO solo puede pertenecer a un


PARTIDO POLÍTICO, y a un PARTIDO POLÍTICO pueden pertenecen a varios
ciudadanos.

 La relación Afinidad: Un PERIÓDICO puede tener afinidad con un solo


PARTIDO POLÍTICO, y un PARTIDO POLÍTICO puede tener afinidad con
varios PERIÓDICOS.

La siguiente figura muestra el diagrama E/R con las cardinalidades máximas y


mínimas.

pat mat nomb nomb desc monto


digtame Fecha_d Cod_c
cod_j ci i

(1:1) (0:n)
JUEZ INVESTIGA CASOS_CORRUPCION

(1:N) (0:n) (0:n) cargo


Fecha

IMPLICADOS
(N:N)
(N:N) dir nomb
DESCUBRE nomb
dir
DNI pat
tirada Cod_p patrim
(0:n) (1:n)
CIUDADANOS
PERIODICO
puesto (0:n)
(0:n)
(N:1)
PERTENECEN dir
Cod_pp
nomb
telef
(0:1)
(N:1) AFINIDAD
PARTIDO_POLITICO
(0:1)

Esquema E/R con restricciones de cardinalidad


Base de Datos I 52

 5º paso: Análisis de redundancias. Hay que estudiar si existe alguna relación


redundante, es decir, si hay alguna relación cuya semántica pueda obtenerse a
partir de las otras relaciones. Para el esquema E/R no existen redundancias.

3.10. Entidades débiles

El modelo E/R define un tipo especial de entidad denominado entidad débil. Tales
entidades son aquellas cuya presencia en la base de datos depende de la presencia de
otra entidad.

Por ejemplo: La relación EMPLEA-DEP entre el conjunto de entidades EMPLEADOS de una


empresa y sus DEPENDIENTES.

(1,1) (0,N)
EMPLEADO EMPLEA- DEPENDIENTE
S DEP

1:N

Las restricciones de cardinalidad se interpreta:

En EMPLEADO (1:1): Significa que un DEPENDIENTE necesariamente debe tener como


mínimo y como máximo un EMPLEADO.

En DEPENDIENTE (0:N); Significa que un empleado puede tener muchos dependientes o


ninguno; es decir, puede existir el caso en que los empleados no necesariamente tienen
dependientes.

3.11 Generalización

En cuanto a las generalizaciones, nos proporcionan un mecanismo de abstracción que


permite especializar una entidad (que se denominara supertipo) en subtipos, o lo que es
igual, generalizar los subtipos en el supertipo. De esta forma vemos un conjunto de
ocurrencias de una entidad como ocurrencias de otra entidad (como sucede también en
las jerarquiás “es_un” de las redes semánticas.

Podemos identificar generalizaciones si encontramos una serie de atributos


comunes a un conjunto de entidades. Esta situación se da con frecuencia si se esta
realizando un proceso de integración de vistas. Estos atributos comunes describirán al
supertipo y los atributos particulares permanecerán en los subtipos. Puede ocurrir que los
subtipos no tengan atributos propios; en este caso, solo existirán subtipos si estos van a
participar en relaciones (aparte de las relaciones en las que participe el supertipo).
Base de Datos I 53

Ejemplo: Supongamos las siguientes entidades identificadas en un universo del discurso


de una empresa: EMPLEADO (con identificador “Nro_Emp” y los descriptores “Nombre-
Emp”, “Direccion-Familiar”, “Fecha-Nacimiento”, “Descripción-Puesto”, “Salario”,
“Experiencia”), INGENIERO (con identificador “Nro_Emp”, y descripciones “Nombre-Emp”,
“Direccion-Familiar”, “Especialidad”). SECRETARIO (con identificador “Nro_Emp”, y
descripciones “Nombre-Emp”, “Fecha-Nacimiento”, “Salario”, “Pulsaciones”), TECNICO
(con identificador “Nº-Emp”, y descripciones “Nombre-Emp”, “Experiencia”, “Años-de-
Experiencia”).

Identificamos que EMPLEADO es una generalización de INGENIERO, SECRETARIO


y TECNICO. Entonces redistribuimos los atributos entre las entidades, situamos el
identificador “Nro_Emp” y los descriptores genéricos “Nombre-Emp”, “Dirección-
Familiar”, “Fecha-Nacimiento”, “Descripción-Puesto” y “Salario” en la entidad supertipo
EMPLEADO ponemos el descriptor especifico “Especialidad” en la entidad INGENIERO;
ponemos el descriptor especifico “Pulsaciones” en la entidad SECRETARIO; y por último
ponemos el descriptor especifico “Experiencia” y “Años-Experiencia” en la entidad
TECNICO, en la figura se muestra la E/R resultante.

Nª-Emp Nombre-Emp Dirección-Familiar

Descripción - Puesto
Fecha-Nacimiento EMPLEADO
EMPLEADO Salario

INGENIERO
EMPLEADO SECRETARIO
EMPLEADO TECNICO
EMPLEADO

Especialidad Nro. Pulsaciones Experiencia Años- Experiencia

Ejemplo de generalización

Existen otras restricciones semánticas relacionadas con las generalizaciones como son la
totalidad/parcialidad la exclusividad/agrupamiento. Si las ocurrencias de los subtipos de
una generalización cubren el supertipo (es decir, no hay ocurrencias en el supertipo que
Base de Datos I 54

no pertenezcan a ninguno de los subtipos) entonces se trata de una generalización total y


en caso contrario parcial. Por otro lado, si puede haber ocurrencias que pertenezcan a
más de uno de los subtipos entonces se trata de generalizaciones con solapamiento; en
caso que los subtipos sean disjuntos se habla de generalizaciones exclusivas.

En el ejemplo se muestra una generalización total, es decir, no existen EMPLEADOS que


no sean ni INGENIEROS, ni TECNICOS, ni SECRETARIOS; además, es una generalización
exclusiva, es decir un EMPLEADO o es INGENIERO, o es TECNICO, o es SECRETARIO; pero
no puede ser varias cosas a la vez.

PROBLEMA 3 :Caso de estudio: VENTA DE COCINAS

Una empresa dedicada a comercializar cocinas desea aumentar su control sobre aquellos
elementos que le afectan. Del resultado del análisis realizado se obtiene las siguientes
informaciones.
 Hay una serie de fabricantes de muebles de cocina. De cada fabricante se dispone
de un nombre, una dirección y una relación de números de teléfono. Cada uno de
ellos fabrica varios muebles de cocina. Un mueble de cocina tienen una
determinada línea, un determinado color, unas dimensiones dadas (ancho *alto*
largo), y puede tener una de las siguientes categorías excluyentes: mueble bajo,
panel y encimera. De los muebles bajos interesa saber la altura sobre el suelo y de
las encimeras interesa saber su tipo (mármol o aglomerado).
 Cada fabricante puede trabajar con varios distribuidores y cada distribuidor trabaja
al menos con un fabricante. De un distribuidor se dispone del nombre, dirección y
una relación de números de teléfonos.
 Una cocina la componen una serie de muebles de cocina de distinto tipo, cada
mueble de cocina solo podrá formar parte de una única cocina. De una cocina nos
interesa saber el número de muebles que la componen, así como cuantos de ellos
hay de cada tipo.
 Cada cocina la puede vender un único distribuidor en una determinada fecha de
venta, aunque cada distribuidor puede vender varias cocinas. Un distribuidor
puede ceder una cocina a otro, para que éste pueda venderla.
 Cada cocina la debe montar al menos un montador, y el mismo montador puede
montar varias cocinas. De un montador nos interesa su NIF, nombre, dirección,
único número de teléfono y el numero de cocinas que ha montado.
 Cada cocina puede comprarla uno o varios clientes, y el mismo cliente puede
comprar varias cocinas. De un cliente nos interesa su NIF, su nombre, dirección, y
un único número de teléfono.
Base de Datos I 55

PROBLEMA 4 : CASO DE ESTUDIO: ENERGÍA ELÉCTRICA


Se pretende llevar a cabo un control sobre la energía eléctrica que se produce y consume
en un determinado país. Se parte de las siguientes hipótesis.
 Existen productores básicos de electricidad que se identifican por un nombre, de
los cuales interesa su producción media, producción máxima y fecha de entrada en
funcionamiento. Estos productores básicos lo son de una de las siguientes
categorías: Hidroeléctrica, Solar, Nuclear o Térmica. De una central hidroeléctrica o
presa nos interesa saber su ocupación, capacidad máxima y numero de turbinas.
De una central solar nos interesa la superficie total de paneles solares, la media
anual de horas de sol y tipo (fotovoltaica o termodinámica). De una central
nuclear, nos interesa saber el número de reactores que posee, el volumen de
plutonio consumido y el de residuos nucleares que produce. De una central
térmica, nos interesa saber el número de hornos que posee, el volumen de carbón
consumido y el volumen de su emisión de gases.
 Por motivos de seguridad nacional interesa controlar el plutonio de que se provee
una central nuclear, este control se refiere a la cantidad de plutonio que compra a
cada uno de sus posibles suministradores,(nombre, país), y que porta un
determinado transportista (nombre y matricula), ha de tenerse en cuenta que el
mismo suministrador puede vender plutonio a distintas centrales nucleares y que
cada porte, (un único porte por compra), puede realizarlo un transportista
diferente.
 Cada día, los productores entregar la energía producida a una o varias estaciones
primarias, las cuales pueden recibir diariamente una cantidad distinta de energía
de cada uno de estos productores. Los productores entregan siempre el total de su
producción. Las estaciones primarias se identifican por su nombre y tienen un
numero de transformadores de baja a alta tensión y son cabecera de una o varias
redes de distribución.
 Una red de distribución se identifica por un número de red y solo puede tener una
estación primaria como cabecera. La propiedad de una red puede ser compartida
por varias compañías eléctricas, a cada compañía eléctrica se le identifica por su
nombre.
 La energía sobrante en una de las redes puede enviarse a otra red. Se registra el
volumen total de energía intercambiada entre dos redes.
 Una red está compuesta por una serie de líneas, cada línea se identifica por un
número secuencial dentro del numero de red y tiene una determinada longitud. La
menor de las líneas posibles abastecerá al menos a dos subestaciones.
Base de Datos I 56

 Una subestación es abastecida solo por una línea y distribuye a una o varias zonas
de servicio, a tales efectos, las provincias (código y nombre), se encuentran
divididas en tales zonas de servicio, aunque no puede haber zonas de servicio que
pertenezcan a más de una provincia.
 Cada zona de servicio puede ser atendida por más de una subestación. En cada
zona de servicio se desea registrar el consumo medio y el número de
consumidores finales de cada una de las siguientes categorías: Particulares,
empresas e instituciones.

Algunas heurísticas para la elección de entidades, atributos, relaciones.

En algunos modelos de datos no es tan sencillo definir los constructores de: Entidad,
atributo e Relación, y nos preguntamos ¿Qué es lo que hace que un concepto sea un
atributo, una entidad o una interrelación?; en este caso únicamente se podrá recurrir
también a una serie de heurísticas que nos ayuden a decidir entre uno de los
constructores que pueden reflejar la semántica de un determinado concepto. Algunos de
ellas se describen a continuación.

 Entidades vs. Atributos

Los atributos no tiene existencia por si mismos sino que tienen sentido en cuanto a
que pertenecen a una determinada entidad o relación.
Una entidad debe estar caracterizada por algo más que su identificador principal. Si
existe información descriptiva sobre un concepto u objeto; es decir hay necesidad de
recoger datos, entonces debería clasificarse como entidad. Si solo se necesita de un
identificador para un objeto, el objeto debería clasificarse como un atributo. Así,

Las entidades tienen información descriptiva y los atributos no

Por ejemplo, en el supuesto “los almacenes se localizan en ciudades”. Si existe


alguna información descriptiva sobre el Estado y la Población de las Ciudades, entonces
Ciudad deberá clasificarse como entidad. Si solo se necesita el atributo “Nombre-Ciudad”
para identificar una ciudad, entonces debería clasificarse como atributo.

Por otro lado, podría ocurrir que aun teniendo un concepto para el que solo
existe un identificador principal, este se relacione con más de una entidad. En ese caso
podría aparecer como una entidad. En el esquema E/R. en el ejemplo anterior si existiera
otro supuesto “los proveedores tienen asignados varias ciudades”, entonces podría
dejarse Ciudad como entidad relacionada con las entidades Almacén y Proveedor o bien
dejarse como atributos en ambas entidades.

 Entidades vs. Atributos multivaluados


Base de Datos I 57

En este aspecto existen discrepancias. Hay propuestas que prefieren incorporar en los
esquemas E/R un atributo multivaluado como una entidad y otras prefieren
representarlos como un atributo. En nuestro caso, con independencia de que el
atributo sea simple o compuesto, si se sabe que se tendrá un número limitado y no
muy elevado de ocurrencias, entonces formará parte de la entidad que describe
(siempre y cuando el concepto que representa no esté relacionado con otras
entidades del esquema E/R).

Un ejemplo puede ser “de un empleado interesa almacenar su CI, nombre, dirección y
teléfonos”; en este caso el atributo “Teléfono” es un atributo multivaluado de la
entidad EMPLEADO. En el ejemplo “Un profesor se caracteriza por su nombre, CI,
dirección, y los campus en donde imparte docencia”; en este caso el atributo
“Campus” también podrá ser atributo multivaluado de la entidad PROFESOR pero si
existen supuestos adicionales en el universo del discurso que nos indican información
adicional para describir un campus y además se relacionan con otras entidades (por
ejemplo, DEPARTAMENTO, AULARIO, etc.) entonces debe reflejarse como una entidad.

 Entidades vs. Relaciones

Lo habitual es no tener problemas en la diferenciación entre entidades y relaciones.


Las relaciones asocian una o varias entidades, mientras que las entidades no. Sin
embargo, en cualquier relación puede realizarse un proceso de normalización. Por
ejemplo, mediante una normalización puede convertirse “los hombres se casan con
mujeres” en “los hombres y mujeres forman matrimonios”. Así se ha sustantivado una
relación y al introducir un nuevo concepto, se ha convertido en una entidad.

Aun cuando la normalización puede resultar útil en un proceso de diseño complejo, en


especial para tratar de reducir el grado de una relación muy compleja o para encontrar
elementos de interés para el sistema que inicialmente no se habían tomado en cuenta,
en nuestro caso, evitaremos las normalizaciones que no se encuentran presentes en
los enunciados o que no resultan evidentes en el Universo del Discurso.

Potrebbero piacerti anche