Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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.
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.
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.
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.
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.
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.
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.
Figura 1.2
Concepto SGBD
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.
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
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
A continuación se identifican a las personas cuyo trabajo requiere el empleo cotidiano de una 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:
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.
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.
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 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) 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.
Nivel interno
Nivel conceptual
Nivel Externo
Nivel Interno
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:
El nivel interno es descrito por el DBMS por medio de un esquema interno o vista interna.
•••
NIVEL VISTA VISTA
EXTERNO EXTERNA EXTERNA
Correspondencia
externo/conceptual
ESQUEMA CONCEPTUAL
NIVEL
CONCEPTUAL
Correspondencia
conceptual/interno
ESQUEMA INTERNO
NIVEL
INTERNO
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.
- 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.
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.
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.
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)
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.
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.
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 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.
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.
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:
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
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.
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. 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.
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.
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.
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.
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.
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.
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:
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.
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
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.
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.
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.
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
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.
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
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
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.
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;
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.
Existen dos estructuras de datos básicas en el modelo red: Registro y tipo de conjunto.
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 Carácter 15
RU Numérico
DIRECCIÓN Carácter 20
DPTO_ESPC Carácter 15
FECHA_NAC Fecha
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:
Relación DEPTO_ALU
DEPTO_ALU
ALUMNO Miembro
NOMBRE ...
Donde:
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
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.
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
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.
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
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.
Una entidad es un objeto que existe y es distinguible entre otros objetos, a través de un identificador.
ENTIDADES INSTANCIAS
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
Desaguadero
Ocurrencia de entidad
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
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.
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
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
Atributos univaluados/multivaluados
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
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.
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:
Algunas veces más de un atributo es requerido para identificar las instancias una entidad.
Por ejemplo,
Algunas veces las entidades pueden tener más de una llave candidata.
Una llave candidata para:
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.
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,
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.
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 DEBIL
Relación o Interrelación
Relación
Base de Datos I 40
Dominio
Nombre
dominio
1 a 1 n a 1
1 a n n a n
Base de Datos I 41
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
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
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
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.
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.
Cardinalidad Máxima
Participación
Cardinalidad
Cardinalidad
Participación
Base de Datos I 44
1: N
ESTUDIANTE (1, 1) (0, N) CELULAR
TIENE
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
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
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
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
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
Uno a uno
Muchos a Muchos
Uno a Muchos
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.
El enunciado constituye una descripción correcta (y casi siempre completa) del Universo del
Discurso (ambiente de estudio), inicialmente se deriva de:
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.
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
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.
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.
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.
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.
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.
INVESTIGA
JUEZ CASOS_CORRUPCION
CIUDADANOS implicados CASOS_CORRUPCION
PERTENECEN
CIUDADANOS 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
Especificando Atributos
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.
(1:1) (0:n)
JUEZ INVESTIGA CASOS_CORRUPCION
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)
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.
(1,1) (0,N)
EMPLEADO EMPLEA- DEPENDIENTE
S DEP
1:N
3.11 Generalización
Descripción - Puesto
Fecha-Nacimiento EMPLEADO
EMPLEADO Salario
INGENIERO
EMPLEADO SECRETARIO
EMPLEADO TECNICO
EMPLEADO
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
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
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.
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.
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í,
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.
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.