Está en la página 1de 17

BASES DE DATOS

CONFERENCIA #1

TITULO: INTRODUCCIÓN A LAS BASES DE DATOS

Contenido:
1.1- Introducción
1.2- Sistema Gestor de Bases de Datos
1.3- Objetivos de los SGBD (Sistemas de Gestión de Bases de Datos)
1.4- Arquitectura de Bases de Datos
1.5- Componentes de los SGBD
1.6- Modelos de Datos
1.7- Arquitecturas de aplicaciones

Bibliografía:
• Introducción a los Sistemas de Bases de Datos. C.J. Date. La Habana. 2004. Pág. 2-57.
• Fundamentos de bases de datos. A. Silberschatz, Henry F. Korth and S. Sudarshan.
McGRAW-HILL. Pág. 1-16.

1.1- INTR ODUC C IÓN


El término bases de datos fue escuchado por primera vez en un simposio celebrado en
California en 1963.
En una primera aproximación, se puede decir que una base de datos es un conjunto de
información relacionada que se encuentra agrupada o estructurada.
Desde el punto de vista informático, una base de datos es un sistema formado por un
conjunto de datos almacenados en discos, que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
Por su parte, un Sistema de Gestión de Bases de Datos (SGBD) es un tipo de software muy
específico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones
que la utilizan; o lo que es lo mismo, una agrupación de programas que sirven para definir,
construir y manipular una base de datos, permitiendo así, almacenar los datos y
posteriormente acceder a estos de forma rápida y estructurada.
Actualmente, las bases de datos están teniendo un impacto decisivo sobre el creciente
uso de las computadoras.

MSc. Luis Gurris Aragón 1


Orígenes
Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían
bibliotecas y toda clase de registros. Además, también se utilizaban para recoger
información sobre las cosechas y censos. Sin embargo, su búsqueda era lenta y poco eficaz
y no se contaba con la ayuda de máquinas que pudiesen reemplazar el trabajo manual.
A la postre, el uso de las bases de datos se desarrolló a partir de las necesidades de
almacenar grandes cantidades de información o datos.
El uso de tarjetas perforadas para almacenamiento de datos se introdujo en 1890, cuando
los datos censales estadounidenses se recopilaron y almacenaron en tarjetas perforadas
por primera vez. La constitución estadounidense requiere que se realice un censo
completo cada 10 años. El censo de 1880 tardó siete años en completarse porque la
población del país aumentó tanto que se anticipó que no habría
suficiente tiempo para completar el censo antes de 1900, cuando
comenzaría uno nuevo. La oficina censal patrocinó una competencia
a fin de que se proporcionaran ideas acerca de las formas para hacer
el censo más eficiente. Herman Hollerith, empleado de la oficina,
propuso el uso de tarjetas perforadas para registrar las respuestas
censales de cada hogar y facilitar el procesamiento de las respuestas.
Tales tarjetas ya estaban en uso en la industria de tejido de seda en
Lyon, Francia, para controlar el telar Jacquard, que tejía patrones en
tela de seda. Hollerith diseñó un método con el fin de usar la misma tecnología para
almacenar datos censales y examinar sus patrones. Ganó la competencia y, debido a su
diseño, el censo se completó en tiempo récord, y se inventó una nueva técnica para el
procesamiento de datos. Después de dicho éxito, el equipo mecánico de tarjetas
perforadas se usó durante muchos años para almacenamiento, ordenación, análisis y
reporte de datos, y las tarjetas perforadas funcionaron como un medio de entrada para
las computadoras, tanto para programas como para datos.
La cinta de papel perforado se usó para almacenar tanto programas de computadora
como datos desde comienzos de la década de 1940, cuando se inventaron las primeras
computadoras electromecánicas y electrónicas. Desde aproximadamente 1950, la cinta
magnética se desarrolló y usó para entrada en las primeras computadoras, incluida la
UNIVAC 1, la primera computadora comercialmente disponible. Los mazos de tarjetas
perforadas, los bucles de cinta de papel perforada o los carretes de cinta magnética se
usaron todos esencialmente en la misma forma, tanto para almacenar programas como
para proporcionar un método de almacenamiento y entrada de datos. Los datos en estos
medios sólo se podían leer en el orden en el que se almacenaban. Este tipo de
procesamiento secuencial de archivos era en extremo eficiente, pero no muy flexible. Por
lo general, la nómina era la primera aplicación que un negocio elegía automatizar, debido

MSc. Luis Gurris Aragón 2


a los complejos cálculos y requerimientos de reporte que eran tediosos para las personas
que los realizaban.
El almacenamiento en disco magnético estuvo disponible hacia finales de la década de
1950, lo que hizo posible el acceso directo (acceso no secuencial) de registros. Los
programas ya no requerían que el orden de acceso coincidiera con el orden físico de los
registros. Las actualizaciones se podían hacer al disco, sin rescribir todo el archivo. Durante
la década de 1960 se desarrollaron lenguajes de programación, incluidos COBOL y PL/1,
para procesamiento de datos comercial que usaba datos almacenados tanto en cinta
como en disco. Originalmente, se usaron organizaciones de archivo simples para organizar
datos en estos dispositivos de almacenamiento secundario, pero conforme las
aplicaciones se volvieron más complejas, se necesitaron métodos de almacenamiento y
recuperación de datos más sofisticados. Dos modelos de base de datos competitivas, la
red y la jerárquica, se desarrollaron en esta época. Sin embargo, continuó el uso de los
sistemas de archivos para muchas aplicaciones.
El modelo jerárquico para bases de datos se desarrolló durante la década de 1960, como
una solución ad hoc para las necesidades inmediatas de aplicaciones reales. El sistema de
gestión de base de datos jerárquico más antiguo, el IMS de IBM, se creó con el fin de
organizar y almacenar información necesaria para el programa espacial del proyecto de
alunizaje del Apolo. North American Aviation (que se convirtió en Rockwell) e IBM
trabajaron en conjunto para producir la primera versión de IMS, que se lanzó en 1968. Las
primeras versiones de IMS se diseñaron para utilizarse con dispositivos de cinta
magnética, pero más tarde el disco magnético se convirtió en estándar. IMS pronto se
volvió el sistema de gestión de base de datos jerárquico dominante en el mercado y
durante muchos años fue el más ampliamente usado de todos los DBMS, hasta que lo
sustituyeron los sistemas relacionales. Después de 1968 se hicieron muchas mejoras a IMS,
lo que resultó en nuevas versiones que sacaron ventaja de las mejoras en hardware y
software, y proporcionó nuevas características como comunicaciones de datos y
maximizar el rendimiento. El sistema de reservaciones de la aerolínea SABRE se basó en
IMS.
A principios de la década de 1960, Charles Bachman, en General Electric, creó uno de los
sistemas de gestión de base de datos más antiguo, Integrated Data Store (IDS, almacén
datos), usando un modelo de red. Este sistema de gestión de base de datos influyó el
desarrollo del área de base de datos durante muchos años.
Aunque los modelos jerárquicos y de red eran poderosos y eficientes, eran complejos, y
requerían que los usuarios entendieran las estructuras de datos y las rutas de acceso a los
datos. Estaban diseñados para usarse con programas en lugar de para acceso interactivo
de los usuarios, de modo que no soportaban consultas ad hoc. No estaban basados sobre
un fundamento teórico sólido, sino que eran soluciones construidas sobre sistemas de
archivos existentes.

MSc. Luis Gurris Aragón 3


El modelo relacional fue propuesto por primera vez por E. F. Codd en
1970, en un artículo llamado “A Relational Model of Data for Large
Shared Data Banks”. Fue el primer modelo que se basó en nociones
teóricas de matemáticas, que proporcionó una fuerte base teórica. La
investigación sobre el modelo la realizaron Codd y otros en el IBM
Research Laboratory en San José, California. System R, un prototipo de
sistema de gestión de base de datos relacional, lo desarrollaron
investigadores de IBM a finales de la década de 1970. DB2, el sistema de
gestión de base de datos relacional de IBM, se basó en System R. SQL, un lenguaje
desarrollado por System R, se convirtió en el lenguaje de datos estándar para las bases de
datos relacionales, con estándares aprobados por ANSI (American National Standards
Institute) publicados en 1986, 1989, 1992 y 1999. Otros tempranos proyectos de
investigación de modelo relacional fueron el Peterlee Relational Test Vehicle, creado en el
IBM UK Scientific Laboratory e INGRES, desarrollado en la Universidad de California en
Berkeley. La investigación condujo a una versión “universitaria” de INGRES, así como a un
producto comercial. ORACLE se desarrolló y comercializó usando muchos de los
resultados del System R. El extenso uso de microcomputadoras que comenzó en la década
de 1980 condujo a la creación de sistemas de gestión de base de datos basados en PC,
que eran todos relacionales. Entre los primeros sistemas de gestión de bases de datos
relacionales basados en microcomputadora estaban dBase, R:Base, Foxpro, Paradox y
Access de Microsoft. Por otra parte, en la actualidad los sistemas de gestión de bases de
datos empresariales más importantes que usan el modelo relacional, tenemos: Oracle,
DB2, Informix, Sybase, Server SQL de Microsoft y otros DBMS con licencia libre como
es el caso de PostgreSQL, MySQL y Firebird.
El modelo relacional usa tablas simples para organizar datos. No permite a los diseñadores
de bases de datos expresar algunas distinciones importantes cuando modelan una
empresa. En 1976, P. P. Chen desarrolló un nuevo tipo de modelo, el modelo entidad-
relación. Éste es un ejemplo de un modelo semántico que intenta capturar el significado
de los datos que representa. El modelo entidad-relación en sí mismo se ha extendido
muchas veces para hacerlo semánticamente más rico. Otros modelos semánticos para
bases de datos se crearon para intentar capturar más del significado en los datos.
La necesidad de almacenar y manipular datos complejos que no es fácil modelar usando
las simples tablas del modelo relacional, así como la aparición de lenguajes de
programación usando el paradigma orientado a objeto, condujo al desarrollo de bases de
datos orientadas a objeto en la década de 1990. Estas bases de datos se crearon para
manipular los datos requeridos para aplicaciones avanzadas como sistemas de
información geográfica (gis), multimedia, diseño y manufactura asistidos por
computadora (CAD/CAM), y otros entornos complejos. Los sistemas de gestión de base
de datos relacional como Oracle agregan algunas capacidades orientadas a objeto a sus
productos, lo que resulta en bases de datos híbridas objeto-relacional.
MSc. Luis Gurris Aragón 4
Los almacenes de datos se desarrollaron en la década de 1990 para proporcionar un
método de captura de datos consolidado a partir de muchas bases de datos. Un almacén
de datos por lo general guarda datos históricos acerca de una organización, con el
propósito de minar datos, un proceso de análisis estadístico de datos que permite a la
organización descubrir las tendencias que puedan estar presentes en sus propios
registros.
El amplio uso de Internet ha tenido un tremendo impacto sobre el desarrollo de las bases
de datos. Internet conecta a los usuarios a una rica red de bases de datos en constante
expansión, y proporciona acceso a bibliotecas digitales, recursos multimedia, recursos
educativos y mucho más. Los sitios de comercio electrónico proporcionan acceso a bases
de datos de información acerca de productos y servicios a clientes a lo largo del mundo.
Los dispositivos computacionales inalámbricos y clientes pequeños como los PDA son
otros desarrollos que permiten a los usuarios conectarse a recursos de base de datos en
formas nuevas y flexibles.

1.2- S IS TE M A GES TOR DE BASE S DE DATOS


Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data
Base Management System) como una colección de datos relacionados entre sí,
estructurados y organizados, y un conjunto de programas que acceden y gestionan esos
datos. La colección de esos datos se denomina Base de Datos o BD, (DB Data Base).
Antes de aparecer los SGBD (década de los setenta), la información se trataba y se
gestionaba utilizando los típicos sistemas de gestión de archivos que iban soportados
sobre un sistema operativo. Éstos consistían en un conjunto de programas que definían y
trabajaban sus propios datos. Los datos se almacenan en archivos y los programas
manejan esos archivos para obtener la información. Si la estructura de los datos de los
archivos cambia, todos los programas que los manejan se deben modificar; por ejemplo,
un programa trabaja con un archivo de datos de alumnos, con una estructura o registro
ya definido; si se incorporan elementos o campos a la estructura del archivo, los
programas que utilizan ese archivo se tienen que modificar para tratar esos nuevos
elementos. En estos sistemas de gestión de archivos, la definición de los datos se
encuentra codificada dentro de los programas de aplicación en lugar de almacenarse de
forma independiente, y además el control del acceso y la manipulación de los datos viene
impuesto por los programas de aplicación.
Esto supone un gran inconveniente a la hora de tratar grandes volúmenes de información.
Surge así la idea de separar los datos contenidos en los archivos de los programas que los
manipulan, es decir, que se pueda modificar la estructura de los datos de los archivos sin
que por ello se tengan que modificar los programas con los que trabajan. Se trata de
estructurar y organizar los datos de forma que se pueda acceder a ellos con independencia
de los programas que los gestionan.

MSc. Luis Gurris Aragón 5


Inconvenientes de un sistema de gestión de archivos:
• Redundancia e inconsistencia de los datos.
• Dependencia de los datos física-lógica.
• Dificultad para tener acceso a los datos.
• Separación y aislamiento de los datos.
• Dificultad para el acceso concurrente.
• Dependencia de la estructura del archivo con el lenguaje de programación.
• Problemas en la seguridad de los datos.
• Problemas de integridad de datos.
Todos estos inconvenientes hacen posible el fomento y desarrollo de SGBD. El objetivo
primordial de un gestor es proporcionar eficiencia y seguridad a la hora de extraer o
almacenar información en las BBDD. Los sistemas gestores de BBDD están diseñados para
gestionar grandes bloques de información, que implica tanto la definición de estructuras
para el almacenamiento como de mecanismos para la gestión de la información.
Una BD es un gran almacén de datos que se define una sola vez; los datos pueden ser
accedidos de forma simultánea por varios usuarios; están relacionados y existe un número
mínimo de duplicidad; además en las BBDD se almacenarán las descripciones de esos
datos, lo que se llama metadatos en el diccionario de datos
El SGBD es una aplicación que permite a los usuarios definir, crear y mantener la BD y
proporciona un acceso controlado a la misma. Debe prestar los siguientes servicios:
• Creación y definición de la BD: especificación de la estructura, el tipo de los datos,
las restricciones y relaciones entre ellos mediante lenguajes de definición de datos.
Toda esta información se almacena en el diccionario de datos, el SGBD proporcionará
mecanismos para la gestión del diccionario de datos.
• Manipulación de los datos realizando consultas, inserciones y actualizaciones de los
mismos utilizando lenguajes de manipulación de datos.
• Acceso controlado a los datos de la BD mediante mecanismos de seguridad de
acceso a los usuarios
• Mantener la integridad y consistencia de los datos utilizando mecanismos para
evitar que los datos sean perjudicados por cambios no autorizados.
• Acceso compartido a la BD, controlando la interacción entre usuarios concurrentes.
• Mecanismos de respaldo y recuperación para restablecer la información en caso de
fallos en el sistema.

1.3- OBJE TIVOS DE LOS S GBD


Existen muchas formas de organizar las bases de datos, pero hay un conjunto de objetivos
generales que deben cumplir todos los SGBD, de modo que faciliten el proceso de diseño
de aplicaciones y que los tratamientos sean más eficientes y rápidos, dando la mayor
flexibilidad posible a los usuarios.
MSc. Luis Gurris Aragón 6
Los objetivos fundamentales de los SGBD son:
a) Independencia lógica y física de los datos
Se refiere a la capacidad de modificar una definición de esquema en un nivel de la
arquitectura sin que esta modificación afecte al nivel inmediatamente superior.
b) Redundancia mínima
Debe ser controlada, de forma que no exista duplicidad innecesaria, y que las
redundancias físicas, convenientes muchas veces a fin de responder a objetivos de
eficiencia, sean tratadas por el mismo sistema, de modo que no puedan producirse
inconsistencias.
c) Acceso concurrente por parte de múltiples usuarios
Las bases de datos pretenden servir al conjunto de la organización manejando los
datos como otro recurso. Por lo tanto, las bases de datos han de atender a múltiples
usuarios y a diferentes aplicaciones. En contraposición a los sistemas de ficheros, en
donde cada fichero atiende a determinada aplicación.
d) Distribución espacial de los datos
Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país, pero
el usuario no tiene por qué preocuparse de la localización espacial de los datos a los
que accede.
e) Integridad de los datos
Se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos.
Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización
incompleta debido a causas externas), como de operación (introducción de datos
incoherentes).
f) Consultas complejas optimizadas
Permite la rápida ejecución de las mismas.
g) Seguridad de acceso y auditoría
Se refiere al derecho de acceso a los datos contenidos en la base de datos por parte
de personas y organismos.
El sistema de auditoría mantiene el control de acceso a la base de datos, con el objeto
de saber qué o quién realizó una determinada modificación y en qué momento.
h) Respaldo y recuperación
Responde a la capacidad de un sistema de base de datos de recuperar su estado en
un momento previo a la pérdida de los datos.
i) Acceso a través de lenguajes de programación estándar
Se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos
mediante lenguajes de programación ajenos al sistema de base de datos.

MSc. Luis Gurris Aragón 7


j) Control centralizado
Uno de los objetivos más importantes de los SGBD es garantizar el control centralizado
de la información, permitiendo controlar de manera sistemática y única los datos que
se almacenan en la BD, así como el acceso a ella.
Por lo planteado anteriormente, implica que debe existir una persona o conjunto de
personas que tengan la responsabilidad de los datos operacionales: el administrador
de la BD, el cual se puede considerar parte integrante del SBD.
Entre las tareas del administrador de la BD están:
• decidir el contenido informativo de la BD
• decidir la estructura de almacenamiento y la estrategia de acceso
• garantizar el enlace con los usuarios
• definir los chequeos de autorización y procedimientos de validación
• definir la estrategia de reorganización de las BBDD para aumentar la eficiencia del
sistema, etc.

1.4- AR QUITE C TUR A DE BASE S DE DATOS


En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and
Requirements Committee) propuso una arquitectura de tres niveles para los SGBD cuyo
objetivo principal era el de separar los programas de aplicación de la BD física. En esta
arquitectura el esquema de una BD se define en tres niveles de abstracción distintos:
• Nivel interno o físico: el más cercano al almacenamiento físico, es decir, tal y como
están almacenados en el ordenador. Describe la estructura física de la BD mediante
un esquema interno. Este esquema se especifica con un modelo físico y describe
los detalles de cómo se almacenan físicamente los datos: los archivos que
contienen la información, su organización, los métodos de acceso a los registros,
los tipos de registros, la longitud, los campos que los componen, etcétera.
• Nivel externo o de visión: es el más cercano a los usuarios, es decir, es donde se
describen varios esquemas externos o vistas de usuarios. Cada esquema describe
la parte de la BD que interesa a un grupo de usuarios en este nivel se representa la
visión individual de un usuario o de un grupo de usuarios.
• Nivel conceptual: describe la estructura de toda la BD para un grupo de usuarios
mediante un esquema conceptual. Este esquema describe las entidades, atributos,
relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las
estructuras físicas de almacenamiento. Representa la información contenida en la
BD. En la Figura 1 se representan los niveles de abstracción de la arquitectura ANSI.

MSc. Luis Gurris Aragón 8


Figura 1 - Niveles de abstracción de la arquitectura ANSI.

Esta arquitectura describe los datos a tres niveles de abstracción. En realidad, los únicos
datos que existen están a nivel físico almacenados en discos u otros dispositivos. Los SGBD
basados en esta arquitectura permiten que cada grupo de usuarios haga referencia a su
propio esquema externo. El SGBD debe de transformar cualquier petición de usuario
(esquema externo) a una petición expresada en términos de esquema conceptual, para
finalmente ser una petición expresada en el esquema interno que se procesará sobre la
BD almacenada. El proceso de transformar peticiones y resultados de un nivel a otro se
denomina correspondencia o transformación.
Con la arquitectura a tres niveles se introduce el concepto de independencia de datos, se
definen dos tipos de independencia:
• Independencia lógica: la capacidad de modificar el esquema conceptual sin tener
que alterar los esquemas externos ni los programas de aplicación. Se podrá
modificar el esquema conceptual para ampliar la BD o para reducirla, por ejemplo,

MSc. Luis Gurris Aragón 9


si se elimina una entidad, los esquemas externos que no se refieran a ella no se
verán afectados.
• Independencia física: la capacidad de modificar el esquema interno sin tener que
alterar ni el esquema conceptual, ni los externos. Por ejemplo, se pueden
reorganizar los archivos físicos con el fin de mejorar el rendimiento de las
operaciones de consulta o de actualización, o se pueden añadir nuevos archivos de
datos porque los que había se han llenado. La independencia física es más fácil de
conseguir que la lógica, pues se refiere a la separación entre las aplicaciones y las
estructuras físicas de almacenamiento.

1.5- C OM PONE NTE S DE LOS S GBD


Los SGBD son paquetes de software muy complejos que deben proporcionar una serie de
servicios que van a permitir almacenar y explotar los datos de forma eficiente. Los
componentes principales son los siguientes:

A. Lenguajes de los SGBD


Todos los SGBD ofrecen lenguajes e interfaces apropiadas para cada tipo de usuario:
administradores, diseñadores, programadores de aplicaciones y usuarios finales.
Los lenguajes van a permitir al administrador de la BD especificar los datos que componen
la BD, su estructura, las relaciones que existen entre ellos, las reglas de integridad, los
controles de acceso, las características de tipo físico y las vistas externas de los usuarios.
Los lenguajes del SGBD se clasifican en:
• Lenguaje de definición de datos (LDD o DDL): se utiliza para especificar el
esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento.
Es el que define el esquema conceptual y el esquema interno. Lo utilizan los
diseñadores y los administradores de la BD.
• Lenguaje de manipulación de datos (LMD o DML): se utilizan para leer y
actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas,
inserciones, eliminaciones y modificaciones. Los hay procedurales, en los que el
usuario será normalmente un programador y especifica las operaciones de acceso
a los datos llamando a los procedimientos necesarios. Estos lenguajes acceden a
un registro y lo procesan. Las sentencias de un LMD procedural están embebidas
en un lenguaje de alto nivel llamado anfitrión. Las BBDD jerárquicas y en red utilizan
estos LMD procedurales.
No procedurales son los lenguajes declarativos. En muchos SGBD se pueden
introducir interactivamente instrucciones del LMD desde un terminal, también
pueden ir embebidas en un lenguaje de programación de alto nivel. Estos lenguajes
permiten especificar los datos a obtener en una consulta, o los datos a modificar,

MSc. Luis Gurris Aragón 10


mediante sentencias sencillas. Las BBDD relacionales utilizan lenguajes no
procedurales como SQL (Structured Quero Language) o QBE (Query By Example).
• La mayoría de los SGBD comerciales incluyen lenguajes de cuarta generación
(4GL) que permiten al usuario desarrollar aplicaciones de forma fácil y rápida,
también se les llama herramientas de desarrollo. Ejemplos de esto son las
herramientas del SGBD ORACLE: SQL Forms para la generación de formularios de
pantalla y para interactuar con los datos; SQL Reports para generar informes de los
datos contenidos en la BD; PL/SQL lenguaje para crear procedimientos que
interactúen con los datos de la BD.

B. El diccionario de datos
El diccionario de datos es el lugar donde se deposita información acerca de todos los
datos que forman la BD. Es una guía en la que se describe la BD y los objetos que la
forman.
El diccionario contiene las características lógicas de los sitios donde se almacenan los
datos del sistema, incluyendo nombre, descripción, alias, contenido y organización.
Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso
inmediato a la información.

C. Seguridad e integridad de datos


Un SGBD proporciona los siguientes mecanismos para garantizar la seguridad e integridad
de los datos:
• Debe garantizar la protección de los datos contra accesos no autorizados, tanto
intencionados como accidentales. Debe controlar que sólo los usuarios autorizados
accedan a la BD.
• Los SGBD ofrecen mecanismos para implantar restricciones de integridad en la BD.
Estas restricciones van a proteger la BD contra daños accidentales. Los valores de
los datos que se almacenan deben satisfacer ciertos tipos de restricciones de
consistencia y reglas de integridad, que especificará el administrador de la BD. El
SGBD puede determinar si se produce una violación de la restricción.
• Proporciona herramientas y mecanismos para la planificación y realización de
copias de seguridad y restauración.
• Debe ser capaz de recuperar la BD llevándola a un estado consistente en caso de
ocurrir algún suceso que la dañe.
• Debe asegurar el acceso concurrente y ofrecer mecanismos para conservar la
consistencia de los datos en el caso de que varios usuarios actualicen la BD de
forma concurrente.

MSc. Luis Gurris Aragón 11


D. El administrador de la BD
En los sistemas de gestión de BBDD actuales existen diferentes categorías de usuarios.
Estas categorías se caracterizan porque cada una de ellas tiene una serie de privilegios o
permisos sobre los objetos que forman la BD.
En los sistemas Oracle las categorías más importantes son:
• Los usuarios de la categoría DBA (Database Administrator), cuya función es
precisamente administrar la base y que tienen, el nivel más alto de privilegios.
• Los usuarios de la categoría RESOURCE, que pueden crear sus propios objetos y
tienen acceso a los objetos para los que se les ha concedido permiso.
• Los usuarios del tipo CONNECT, que solamente pueden utilizar aquellos objetos
para los que se les ha concedido permiso de acceso.
El DBA tiene una gran responsabilidad ya que posee el máximo nivel de privilegios. Será
el encargado de crear los usuarios que se conectarán a la BD. En la administración de una
BD siempre hay que procurar que haya el menor número de administradores, a ser posible
una sola persona.

1.6- M ODE LOS DE DATOS


Los modelos de datos aportan la base conceptual para diseñar aplicaciones que hacen un
uso intensivo de datos, así como la base formal para las herramientas y técnicas
empleadas en el desarrollo y uso de sistemas de información.
Un modelo de datos es una colección de herramientas que usualmente incluyen un tipo
de diagrama y vocabulario especializado para describir la estructura de la base de datos,
incluidos los datos, las relaciones dentro de los datos, las restricciones sobre los datos y a
veces semántica o significados de los datos. Esta estructura se llama intensión de la base
de datos y es relativamente permanente. Se describe en el esquema de la base de datos.
El esquema puede cambiar ocasionalmente si surgen nuevas necesidades de datos, un
proceso llamado evolución del esquema. Los datos almacenados en la base de datos en
un momento dado se llaman extensión de la base de datos, instancia de la base de
datos o estado de la base de datos. La extensión cambia siempre que se agregan, borran
o actualizan registros. La extensión siempre debe ser un estado válido, lo cual significa
que debe satisfacer todas las restricciones especificadas en el esquema. La intensión de la
base de datos es en realidad una estructura de datos abstracta compleja que formalmente
define todas las extensiones posibles.
1. Modelo Entidad-Relación (MER)
El modelo entidad-relación es un ejemplo de lo que se llama modelo semántico. Los
modelos semánticos se usan para describir los niveles conceptual y externo de datos,
y son independientes de los aspectos interno y físico. Además de especificar lo que se
representará en la base de datos, intentan incorporar algunos significados o aspectos
MSc. Luis Gurris Aragón 12
semánticos de los datos como la representación explícita de objetos, atributos y
relaciones, categorización de objetos, abstracciones y restricciones explícitas de datos.
El modelo lo introdujo Chen a mediados de la década de 1970 y se usa ampliamente
para diseño conceptual. Se basa en la identificación de objetos llamados entidades,
que son representaciones de objetos reales en el minimundo. Las entidades se
describen mediante sus atributos y se conectan mediante relaciones. Las entidades se
describen como personas, lugares, eventos, objetos o conceptos acerca de los cuales
se recopilan datos. Una descripción más adecuada es que una entidad es cualquier
objeto que existe y se distingue de otros objetos. Los atributos describen las entidades
y las distinguen unas de otras. Un conjunto de entidad se define como una colección
de entidades del mismo tipo. Ahora también se define un conjunto de relación como
un conjunto de relaciones del mismo tipo, y se agrega el hecho de que las relaciones
mismas pueden tener atributos descriptivos. El modelo E-R también permite expresar
las restricciones sobre las entidades o relaciones.
Una de las características más útiles y atractivas del modelo E-R es que proporciona
un método gráfico para mostrar la estructura conceptual de la base de datos. Los
diagramas E-R (DER) contienen símbolos para entidades, atributos y relaciones.
A continuación, la figura ilustra un diagrama E-R simple para una base de datos de
estudiantes y las asignaturas que cursa.

2. Modelo Relacional (MR)


El modelo relacional es un ejemplo de un modelo basado en registro. Los modelos
basados en registro se usan para describir los niveles: externo, lógico y, en cierta
medida, interno de la base de datos. Permiten al diseñador desarrollar y especificar la
estructura lógica y proporcionar algunas opciones para la implementación del diseño.
Se implementan con el uso de una variedad de sistemas de bases de datos. Sin
embargo, no proporcionan mucha información semántica como categorización de
objetos, relaciones, abstracción o restricciones de datos.
El modelo relacional lo propuso Codd en 1970 y continúa siendo el más ampliamente
usado, debido a su simplicidad desde el punto de vista del usuario y su poder. El
modelo relacional comenzó con el uso de la teoría de relaciones en matemáticas y la
adaptó para su uso en la teoría de bases de datos. El mismo tipo de desarrollo teórico
de la materia, completada con notación formal, definiciones, teoremas y pruebas que
usualmente se encuentran en matemáticas, se pueden aplicar a las bases de datos
usando este modelo. Los resultados de este desarrollo teórico se aplican entonces a
MSc. Luis Gurris Aragón 13
consideraciones prácticas de implementación. En el modelo relacional, las entidades
se representan como relaciones, que se representan físicamente como tablas o
arreglos bidimensionales, y los atributos como columnas de dichas tablas. Las
relaciones también se pueden representar como relaciones o tablas, pues este modelo
considera una relación como un tipo especial de entidad.
La figura que a continuación se presenta, es un ejemplo de base de datos relacional
consistente en tres tablas: la primera muestra los clientes de un banco, la segunda, las
cuentas, y la tercera, las cuentas que pertenecen a cada cliente.

Ejemplo de Base de datos relacional

3. Modelo orientado a objetos


El modelo de datos orientado a objetos surge por las limitaciones del modelo
relacional, sobre todo a la hora de abordar tipos de datos más complejos, y por la falta
de capacidad semántica del modelo relacional para desarrollar aplicaciones en áreas
como el diseño asistido por ordenador, la ingeniería del software, los sistemas basados
en el conocimiento y el tratamiento de documentos, multimedia y gestión de redes,
que requieren modelar objetos e interrelaciones más complejas.
Este modelo está basado en el paradigma de la programación orientada a objetos
(POO). Los SGBO (Sistemas de Gestión de Bases de Objetos) o SDBDOO (Sistemas de
Gestión de Bases de Datos Orientados a Objetos) gestionan objetos en los cuales están
encapsulados los datos y las operaciones que interactúan con ellos. Además,
proporcionan un modelo único de datos. No hay diferencia entre el modelo conceptual
(el modelo E-R) y el modelo lógico (el relacional), y las aplicaciones pueden acceder
directamente al modelo.
Los SGBDOO adoptan una arquitectura que consta de un sistema de gestión que
soporta un lenguaje de BBDD orientado a objetos, con una sintaxis similar a un

MSc. Luis Gurris Aragón 14


lenguaje de programación también orientado a objetos, como puede ser C++ o Java.
El lenguaje de BBDD es especificado mediante un lenguaje de definición de datos
(ODL), un lenguaje de manipulación de datos (OML), y un lenguaje de consulta (OQL),
siendo todos ellos portables a otros sistemas.
4. Modelo objeto-relacional
El modelo objeto-relacional extiende el modelo relacional al agregarle algunos tipos
de datos y métodos complejos. En lugar de atributos atómicos de un solo valor, como
se requiere en el modelo relacional, este modelo permite que los atributos se
estructuren y tengan conjuntos o arreglos de valores. También permite herencia de
métodos y tipo. El lenguaje SQL se extendió en 1999 para crear y manipular los tipos
de datos más complejos que soporta este modelo. Por tanto, el lenguaje utilizado para
administrar una base de datos objeto-relacional está más cerca del tipo de lenguaje
que se utiliza para las bases de datos relacionales que el utilizado para bases de datos
estrictamente orientadas a objeto.
5. Modelo de datos semiestructurado
El modelo de datos relacional orientado a objetos combina las características del
modelo de datos orientado a objetos y el modelo de datos relacional.
Los modelos de datos semiestructurados permiten la especificación de datos donde
los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos
de atributos. Esto es diferente de los modelos de datos mencionados anteriormente,
en los que cada elemento de datos de un tipo particular debe tener el mismo conjunto
de atributos. El lenguaje de marcas extensible (XML, eXtensible Markup Language)
se usa ampliamente para representar datos semiestructurados.
6. Otros modelos de datos
Es de interés histórico mencionar los modelos red y jerárquico como dos antiguos
modelos de datos basados en registro, aunque ya no se usan con amplitud para
desarrollar nuevas bases de datos. Sin embargo, todavía existen muchas bases de
datos legadas con base en estos modelos, con código que todavía se usa y que se
debe mantener.
• Modelo de Datos de Red
Este modelo utiliza estructuras de datos en red, también conocidas como estructuras
plex. Las entidades se representan como registros o nodos, y las relaciones como
enlaces o punteros. En una estructura red cualquier componente puede vincularse con
cualquier otro. Es posible describirla en términos de padres e hijos, pero, a diferencia
del modelo jerárquico, un hijo puede tener varios padres.

MSc. Luis Gurris Aragón 15


• Modelo jerárquico
El modelo jerárquico es similar al modelo de red. Los datos y las relaciones se
representan mediante registros y enlaces. Se diferencia del modelo de red en que los
registros están organizados como colecciones de árboles. El modelo jerárquico se sirve
de árboles para la representación lógica de los datos, su implementación se lleva a
cabo mediante árboles y punteros.
Características del modelo jerárquico
La representación gráfica del modelo jerárquico se realiza mediante un árbol invertido, en el que el nivel
superior está formado por una única entidad o segmento bajo el cual cuelgan el resto de entidades o
segmentos en niveles que se van ramificando. Los diferentes niveles quedan unidos por medio de las
relaciones. El nivel más alto de la jerarquía tiene un nodo que se llama raíz. Cada nodo representa un
tipo de registro llamado segmento con sus correspondientes campos. Los segmentos se organizan de
manera que en un mismo nivel están todos aquellos que dependen de un segmento de nivel
inmediatamente superior.
Los segmentos, en función de su situación en el árbol, se denominan:
• Segmento padre: es el que tiene descendientes, todos ellos localizados en el mismo nivel.
• Segmento hijo: es el que depende de un segmento de nivel superior. Los hijos de un mismo padre
están en el mismo nivel.
• Segmento raíz: es el padre que no tiene padre. Ocupa el nivel superior del árbol. El segmento raíz
es único.

1.7- AR QUITE C TUR AS DE APLIC AC IONES


La mayoría de los usuarios de un sistema de bases de datos no están situados junto al
sistema de bases de datos, sino que se conectan a él a través de una red. Por tanto, se
puede diferenciar claramente entre las máquinas cliente, en donde trabajan los usuarios
remotos de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema de
bases de datos.
Las aplicaciones de bases de datos se dividen usualmente en dos o tres partes, como se
ilustra en la Figura.

En una arquitectura de dos capas, la aplicación se divide en un componente que reside


en la máquina cliente, que llama a la funcionalidad del sistema de bases de datos en la

MSc. Luis Gurris Aragón 16


máquina servidor mediante instrucciones del lenguaje de consultas. Los estándares de
interfaces de programas de aplicación como ODBC y JDBC se usan para la interacción
entre el cliente y el servidor.
En cambio, en una arquitectura de tres capas, la máquina cliente actúa simplemente
como frontal y no contiene ninguna llamada directa a la BD. En su lugar, el cliente se
comunica con un servidor de aplicaciones, usualmente mediante una interfaz de
formularios. El servidor de aplicaciones, a su vez, se comunica con el SBD para acceder a
los datos. La lógica de negocio de la aplicación, que establece las acciones a realizar bajo
determinadas condiciones, se incorpora en el servidor de aplicaciones, en lugar de ser
distribuida a múltiples clientes. Las aplicaciones de tres capas son más apropiadas para
grandes aplicaciones, y para las aplicaciones Web.

MSc. Luis Gurris Aragón 17

También podría gustarte