Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bases de Datos
DOCENTE
Rosana M. Portillo
4 NIVEL
UNIVERSIDAD
TSTI :: UNIVERSIDAD TECNOLÓGICA
TECNOLÓGICA NACIONAL
NACIONAL - FACULTAD
. FACULTAD REGIONAL
REGIONAL SANTA
SANTA FE FE
1
LAVAISE 610 - S3004EWB SANTA FE – ARGENTINA
TE +54 (342) 460 1579 / 2390 - FAX 469 0348 / tsti.frsf.utn.edu.ar
TE +54 (342) 460 1579 / 2390 - FAX 469 0348 / tsti.frsf.utn.edu.ar
Introducción a las Bases de Datos
Objetivos
Contenidos
1.1.1 Introducción
El procesamiento de la información es fundamental para planificar cualquier actividad del hombre de hoy desde
conocer el tiempo, informarse sobre cotizaciones de la bolsa, conocimiento actualizado de datos de la empresa.
Una consecuencia de todo esto es la gran cantidad de datos que es necesario manejar en cualquier actividad de la
vida. Al aumentar el volumen de datos a manejar, también es necesario aumentar la rapidez con que se procesan
dichos datos.
Al final de los años 60, para paliar los defectos de los sistemas de información existentes surge un nuevo concepto
que fue denominado Base de Datos. Este concepto, el de Bases de Datos, tiene como principal característica la
integración de distintos archivos individuales en una única Base de Datos, donde la información es compartida por
todos los usuarios de la organización.
El concepto de Bases de Datos surgió a fines de la década de los 60 como propuesta de solución a un conjunto de
problemas técnicos y administrativos presentes en el manejo de archivos.
A medida que los sistemas de información se volvían más complejos y se extendían a nuevas áreas de la operación
de una empresa o institución las dificultades en mantener el funcionamiento y un costo de control bajo se
acentuaban.
Este problema tiene su origen en que los archivos y programas de aplicación son creados
por diferentes personas en un período largo de tiempo, los diversos archivos tienen
probablemente diferentes formatos y los programas pueden estar escritos en distintos
lenguajes. Es más, la misma información puede estar duplicada en distintos archivos.
Esta redundancia conduce a un almacenamiento y coste de acceso más alto, además
puede conducir a inconsistencia de datos (diversas copias de los mismos datos pueden
no coincidir).
Dificultades en el acceso a los datos.
Debido a que los datos están dispersos en varios archivos, y los archivos están en
diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los
datos apropiadamente.
3 TSTI :: UNIVERSIDAD TECNOLÓGICA NACIONAL . FACULTAD REGIONAL SANTA FE
TE +54 (342) 460 1579 / 2390 - FAX 469 0348 / tsti.frsf.utn.edu.ar
Problemas de los sistemas tradicionales (continuación)
Problemas de integridad
Los valores de los datos almacenados deben satisfacer ciertos tipos de restricciones. Por
ejemplo, el saldo de una cuenta no puede ser menor a $500. Los desarrolladores hacen
cumplir estas restricciones añadiendo el código apropiado en los distintos programas de
aplicación. Sin embargo cuando se añaden nuevas restricciones, es difícil cambiar los
programas para hacer que se cumplan. El problema se complica aún más cuando las
restricciones implican distintos elementos de datos de diferentes archivos.
Problemas de atomicidad
Un sistema informático como todo sistema, está sujeto a fallas. En muchas aplicaciones es
crucial asegurar que una vez que un fallo ha ocurrido y se ha detectado, los datos se
restauran al estado de consistencia que existe antes del fallo. Es muy difícil asegurar esta
propiedad en un sistema de procesamiento de archivos convencional.
Anomalías de acceso concurrente
Problemas de seguridad
No todos los usuarios deberían poder acceder a todos los datos, así como también los
programas.
Estas dificultades entre otras han dado origen al desarrollo de SGBD (Sistemas de Gestión de Bases de Datos). En
posteriores ítems veremos cómo las Bases de Datos han dado solución a estos problemas. Este enfoque de Bases
de Datos se caracteriza por estar orientado a los datos, siendo estos un conjunto estructurado e independiente de
las aplicaciones; donde su objetivo es satisfacer las necesidades de información de las aplicaciones.
Los componentes fundamentales de un sistema de Base de Datos son el hardware, software, datos y los usuarios.
La base de datos es un gran almacén de datos que se define una sola vez y que se utiliza al mismo tiempo por
muchos departamentos y usuarios. En lugar de trabajar con archivos desconectados e información redundante,
todos los datos se integran con una mínima cantidad de duplicidad. La base de datos no pertenece a un
departamento, se comparte por toda la organización. Además no solo contiene los datos de la organización,
también almacena una descripción de dichos datos.
Se entiende por integrado que la Base de Datos puede verse como un conjunto de varios archivos independientes,
donde se eliminan o se reducen al mínimo cualquier redundancia entre los mismos.
Por compartido se entiende que varios usuarios diferentes pueden acceder a la misma fracción de la Base de
Datos, incluso al mismo tiempo y utilizarla con fines diferentes. Por otro lado, un usuario determinado solo tendrá
acceso a algún subconjunto de la Base de Datos completa.
En la siguiente figura podemos ver como una Base de Datos, contemplada como un recipiente de datos puede ser
compartida por varios usuarios mediante distintos programas (A, B y C)
A
B
El análisis de requerimientos para una base de datos incorpora las mismas tareas que el análisis de requerimientos
del software. Es necesario un contacto estrecho con el cliente; es esencial la identificación de las funciones e
interfaces; se requiere la especificación del flujo, estructura y asociatividad de la información y debe desarrollarse
un documento formal de los requerimientos.
Se requiere mucho más para el desarrollo de sistemas de bases de datos que únicamente seleccionan un modelo
lógico de base de datos. La bases de datos es una disciplina organizacional, un método, más que una herramienta o
una tecnología. Requiere de un cambio conceptual y organizacional.
A diferencia de los sistemas de archivos, el SGBD gestiona la estructura física de los datos y su almacenamiento.
Con esta funcionalidad, el SGBD se convierte en una herramienta de gran utilidad.
La utilización de bases de datos como plataforma para el desarrollo de Sistemas de Aplicación en las
Organizaciones se ha incrementado notablemente en los últimos años, se debe a las ventajas que ofrece su
utilización.
• Globalización de la información
• Eliminación de información inconsistente:
• Permite compartir información.
• Permite mantener la integridad en la información
• Independencia de datos
Las ventajas se pueden dividir en 2 grupos: las que se deben a la integración de datos y las que se deben a la
interface común que proporciona el SGBD.
• Complejidad
• Tamaño
• Costo económico del SGBD
• Costo del equipamiento adicional
• Costo de la conversión
• Prestaciones. Los SGBD están escritos para ser más generales.
• Vulnerable a fallos
Los usuarios no luchan con la complejidad inherente de los sistemas de Bases de Datos, y esto se logra utilizando
distintos niveles de abstracción, los cuales permiten simplificar la interacción de los usuarios con los sistemas.
Nivel Físico o Interno: es el nivel más bajo de abstracción, describe cómo se almacenan realmente los datos. Se
describen en detalle las estructuras de datos complejos de bajo nivel. Se describe la estructura física de la base de
datos mediante un esquema interno.
Nivel Lógico o Conceptual: describe qué datos se almacenan en la Base de Datos y que relaciones existen entre
esos datos. Los administradores de Bases de Datos, que deben decidir la información que se mantiene en la Base
de Datos y para eso usan este nivel de abstracción. Se describe la estructura de toda la base de datos para una
comunidad de usuarios, mediante un esquema conceptual.
Nivel de Vistas o Externo: este es el nivel de abstracción más alto donde solo se describe parte de la Base de Datos
completa. A pesar del uso de estructuras más simples en el nivel lógico, queda algo de complejidad debido al gran
tamaño de la Base de Datos. Cada esquema externo describe la parte de la base de datos que interesa a un grupo
de usuarios determinados, y oculta a ese grupo el resto de la base de datos.
Nivel de Vistas
Nivel Lógico
Nivel Físico
Como lógico pensar, la definición de una base de datos sufre variaciones a lo largo de todo su ciclo de vida; es decir,
conforme pasa el tiempo se realizan inserciones, eliminaciones y modificaciones del contenido y de la forma de la
misma.
Si observamos la Base de Datos en un momento dado, es decir “tomamos una foto” de la Base de Datos en el
tiempo t, lo que vemos es un ejemplar de la Base de Datos.
A muchos usuarios del sistema no les interesa o no deben conocer toda la información, es decir solo tienen que
acceder a una parte de la Base de Datos. Para que su interacción con el sistema se simplifique, se define la
abstracción del nivel de vistas. El sistema puede proporcionar muchas vistas para la misma Base de Datos.
El diseño completo de la Base de Datos se llama esquema, y estos raramente son modificados.
Los sistemas de Bases de Datos tienen varios esquemas divididos de acuerdo a los niveles de abstracción. En el
nivel más bajo está el esquema físico, en el nivel intermedio el esquema lógico y en el nivel más alto está el
subesquema. En general , los sistemas de Bases de Datos soportan un esquema físico, un esquema lógico y varios
subesquemas (ver la correspondencia entre los conceptos de esquemas y los de abstracción de datos).
Un aspecto muy importante a considerar es como la modificación de un esquema de un nivel afecta a la definición
de los esquemas o subesquemas del nivel superior.
¿Cuál de las dos independencias es la más difícil de lograr? Para contestar esta pregunta debemos analizar la
dependencia de los programas de aplicación. Si analizamos los programas de aplicación podemos ver que estos son
fuertemente dependientes de la estructura lógica de los datos a los que acceden, en consecuencia la
independencia lógica de los datos es la más difícil de lograr.
La noción de independencia de datos es comparable con la de tipo abstracto de datos en los lenguajes de
programación modernos, esto es así porque la finalidad de ambos es la de esconder ciertos detalles
de implementación complejos con la finalidad de permitir que los usuarios se concentren en la estructura general
en lugar de los detalles de implementación más bajos.
Desde un principio el hombre ha tratado de explicar y predecir lo que lo rodea. Por ejemplo los fenómenos
climáticos: ¿Cómo y porqué se originan? ¿Cómo es su comportamiento?
Para hacer esto se vale de la capacidad de abstracción, es decir, la capacidad de simplificar las cosas considerando
solo las características más importantes del fenómeno que se desea estudiar.
Modelar consiste en definir un mundo abstracto y teórico, tal que las conclusiones
que se puedan sacar de él coincidan con las manifestaciones aparentes del mundo
real [Flory, 1982].
Definimos como dato al conjunto de propiedades que caracterizan un fenómeno. Denominamos información al
conjunto de valores y relaciones o dependencias entre estas propiedades (datos).
El modelo de datos permite ver el bosque (información contenida en los datos), en contraposición de los árboles
(valores individuales de los datos).
En el lenguaje natural cada dato, como su significado es registrado junto, ya que el lenguaje es lo suficientemente
poderoso para hacerlo.
Por ejemplo “el kilo de pan cuesta $2” registra el valor 2 y su significado o semántica (el valor del kilo de pan en
pesos).
Sin embargo existen casos en que los datos están separados de su semántica. Por ejemplo: una planilla de notas es
una tabla de datos, y solo para el profesor que la utiliza tiene sentido y puede interpretarla correctamente pues
conoce su significado.
Esta separación entre el dato y la semántica de él se ha acrecentado con el uso de las computadoras para procesar
los datos.
Los datos no son estáticos ya que el mundo está en constante cambio. La flexibilidad en la interpretación de los
datos permite capturar los aspectos dinámicos del mundo y al mismo tiempo proveer una estructura estable para
los datos. Esta flexibilidad se puede obtener de dos formas:
• Permitiendo que un mismo dato sea visto de diferentes formas. Por ejemplo, diferentes aplicaciones
pueden usar los mismos datos y dar su propia semántica.
• Diferentes datos pueden ser vistos de la misma forma. Por ejemplo, se quiere ver a los gerentes,
secretarios y empleados solo como trabajadores de la organización, sin importar su cargo. Aquí la
interpretación debe ser lo suficientemente abstracta para que diferentes vistas del mundo se vean de la
misma forma.
Es aparente que una interpretación del mundo es necesaria, la que debe ser suficientemente abstracta para que no
sea afectada por la dinámica del mundo (los pequeños cambios), y debe ser lo suficientemente robusta como para
representar como los datos y el mundo se relacionan.
Los modelos de datos nos permiten capturar parcialmente el mundo, ya que es improbable generar un modelo que
lo capture totalmente. Sin embargo, se puede tener un conocimiento relativamente completo de la parte del
mundo que nos interesa. Así un modelo captura la cantidad de conocimiento tal que se cumpla con los
requerimientos que nos hemos impuesto previamente.
Un modelo de datos define las reglas por las cuales los datos son estructurados. Esta estructuración, sin embargo,
no da una interpretación completa acerca del significado de los datos y la forma en que serán usados. Las
operaciones que se permiten efectuar a los datos deben ser definidas.
Generalmente las operaciones están relacionadas con la estructura de los datos y tienen validez en el contexto en
que fueron definidas.
Cabe destacar que todo modelo de datos debe poder capturar las propiedades estáticas y dinámicas de una
realidad.
Por lo tanto un modelo de datos estará constituido por un conjunto de reglas y un conjunto de operaciones. Este
modelo de datos nos permitirá describir un conjunto de datos y las operaciones para manipularlos.
Es obvio que existen distintos tipos de modelo de acuerdo a los niveles de detalle que se requieran y también al
nivel de abstracción en el cual se está trabajando.
El modelo de datos es una parte esencial de la estructura de BD, el cual es una colección
de herramientas conceptuales para describir los datos, las relaciones entre los datos, la
semántica de los datos y las restricciones de consistencia. Los distintos modelos
propuestos pueden ser agrupados en tres grupos: modelos lógicos basados en objetos,
modelos lógicos basados en registros y modelos físicos.
Este tipo de modelo es empleado para describir los datos en los niveles de abstracción de vistas y lógico.
Características:
De los cuatro modelos previamente enunciados, estudiaremos los dos primeros, es decir el modelo de Entidad-
Relación y el Modelo Orientado a Objetos.
El modelo de Entidad-Relación ha conseguido gran aceptación en el diseño de las Bases de Datos. Es ampliamente
usado en la práctica.
El modelo orientado a objetos incluye muchos conceptos del Modelo de Entidad-Relación, como también los
conceptos orientados a objetos tales como la representación de código ejecutable como los datos. Este tipo de
modelo está ganando aceptación.
El modelo relacional se basa en el concepto matemático denominado “relación”, que gráficamente se puede
representar como una tabla. En el modelo relacional, los datos y las relaciones existentes entre los datos se
representan mediante estas relaciones matemáticas, cada una con un nombre que es único y con un conjunto de
columnas.
Este modelo se basa en representar al mundo mediante dos objetos básicos: entidades y relaciones.
Una entidad es una cosa u objeto del mundo real que es distinguible de otros objetos.
El conjunto de todas las entidades de un mismo tipo se denomina conjunto de
entidades
Una relación es una asociación entre varias entidades. El conjunto de todas las
Este modelo cuenta con una representación gráfica para expresar las estructuras antes expuestas. Esta es llamada
Diagrama de Entidad-Relación.
En el modelo relacional la base de datos es percibida por el usuario como un conjunto de tablas. Esta percepción es
sólo a nivel lógico (en los niveles externo y conceptual de la arquitectura de tres niveles), ya que a nivel físico puede
estar implementada mediante distintas estructuras de almacenamiento.
Este modelo está basado en objetos, la Base de Datos es una colección de objetos. Un objeto contiene valores
almacenados en variables de ejemplares dentro de ese objeto. Un objeto también contiene fragmentos de código
que operan en el objeto. Estos fragmentos de código se llaman métodos.
Los objetos que contienen los mismos tipos de valores y los mismos métodos se agrupan juntos en una entidad
llamada clase.
Los objetos acceden a los datos de otro objeto por medio de un mecanismo llamado pasaje de mensaje. Así la
interfaz de llamada de los métodos de un objeto define la parte visible externamente del objeto. La parte interna
del objeto no es visible externamente. Así tenemos dos niveles de abstracción.
Cada objeto tiene su propia identidad única, la cual es independiente de los datos que contenga. Entonces dos
objetos con los mismos valores son completamente diferentes. La distinción entre objetos individuales se mantiene
a nivel físico a través de la asignación de diferentes identificadores a los objetos.
Este tipo de modelo es empleado en los niveles físicos y lógicos. Se usan tanto para especificar la estructura lógica
de la Base de Datos, como para proporcionar una descripción de alto nivel de la implementación.
El nombre de modelo lógico basado en registro se debe a que la Base de Datos está estructurada como un conjunto
de registros de distintos tipos. Cada tipo de registro está definido como un conjunto de atributos o campos.
Existen tres modelos de este tipo que son comúnmente aceptados: el modelo relacional, el modelo jerárquico y el
modelo de red. El modelo relacional es el que ha prevalecido sobre los otros mencionados en los últimos años, sin
embargo todavía existen un gran número de aplicaciones que emplean el modelo jerárquico y el modelo de red.
En esta materia estudiaremos el modelo relacional debido a que es el que se ha impuesto por sobre los demás.
Describamos a continuación brevemente cada uno de ellos.
En este modelo tanto los datos como las relaciones entre ellos se encuentran especificados por medio de una
colección de tablas.
Cada una de las tablas está constituida por varias columnas y cada columna tiene un nombre único que permite
identificarla.
En este caso los datos y las relaciones se representan por medio de registros y enlaces respectivamente. Los
registros son organizados como colecciones de árboles.
Los datos en este modelo son representados mediante colecciones de registros y las relaciones entre los datos se
representan mediante enlaces, que pueden verse como punteros.
Los registros en la Base de Datos se organizan como colecciones de grafos dirigidos.
El modelo de datos físico se usa para describir datos en un nivel más bajo. En contraste con el modelo de datos
lógico, hay pocos modelos de datos físicos en uso. Dos de los más conocidos son: el modelo de unificación y el
modelo de memoria por marcos.
Este tipo de modelo captura aspectos físicos de la implementación que escapan al propósito de este módulo.
El primer paso para tratar un problema del mundo real es caracterizar el problema, es decir, definir cuales son sus
límites, que información interesa conocer del problema, como puede ser medida esta información, etc.
Para realizar el estudio del problema se simplifica considerando solo las propiedades relevantes para el caso en
estudio: proceso de abstracción. Los más utilizados son la abstracción de generalización (en la que algunas clases
de objetos pueden ser vistas como otras clases más generales) y de agregación (en la cual algunas clases de objetos
pueden ser vistas como compuestas por otras clases de objetos).
Trabajando con distintos niveles de abstracción, podemos representar el problema mediante procesos de
agregación, en la cual las partes más básicas se van agregando o generalizando en clases más complejas. Al repetir
este proceso podemos llegar a la generalización total del problema.
El proceso inverso también se puede llevar a cabo, en el cual un problema inicial se puede refinar y descomponer
en clases menores hasta llegar a las propiedades básicas o datos del problema.
Cuando se trabaja con un problema los dos procesos se van realizando alternadamente a medida que se va
conociendo el problema.
En este paso se define el sistema mediante una descripción simple, y se indica cual es su objetivo. También se
describe el comportamiento general del sistema, relacionado con los otros sistemas o medio ambiente.
Se determinan y describen en este paso las partes del problema. La descripción es del mismo nivel de abstracción
del paso anterior.
En este paso se determinan objetos, entidades, datos o variables del problema o subproblemas. Para cada uno de
ellos debe determinarse:
• Definición del objeto: descripción de la función que desempeña el objeto dentro del problema (mundo
real).
• Medida del objeto: valores que el objeto puede tomar. Para cada objeto se asignará un tipo de dato
básico en el cual puede ser medido.
• Relaciones entre objetos: se describen las relaciones entre los objetos: agregación, generalización y
otras relaciones.
• Restricciones: definición a un nivel muy bajo de los valores que pueden ser medidos para los distintos
objetos.
Paso 4: Dinámica:
En este paso se analiza la evolución del sistema, los cambios que puedan tener, las operaciones que se pueden
realizar sobre los objetos, mediante algún modelo.
Paso 5: Comportamiento
En este paso se evalúa si el modelo escogido funciona como la realidad, en caso de problemas, se harán las
correcciones al modelo para mejorarlo y adecuarlo.
En la siguiente figura se puede apreciar el proceso de diseño de Bases de Datos. Los requisitos de datos constituyen
un componente de los requisitos de un producto y son una entrada al diseño conceptual.
Modelo Conceptual
DISEÑO CONCEPTUAL
Esquema Conceptual
Esquema Lógico
Diseño Conceptual (Nivel conceptual): recibe como entrada la especificación de requerimientos y su resultado es el
esquema conceptual de la Base de Datos, que es una descripción de alto nivel de la estructura de la base de datos,
independiente del software que se use para manipularla. Este nivel describe cada uno de los objetos o elementos
del sistema y sus propiedades, además de las relaciones.
Esta descripción representa el mundo real del problema sin tener en cuenta como va a ser representado por el
computador, incluso es independiente de los procedimientos manuales o automatizados que se utilicen en el
tratamiento de la información. Los modelos conceptuales son: MER, MOO
Diseño Lógico (Nivel Lógico): recibe como entrada el esquema conceptual y da como resultado un esquema lógico,
que es una descripción de la estructura de la Base de Datos que puede procesar el software de DBMS. En este caso
se consideran las restricciones que impone el mecanismo de representación y tratamiento de la información. Los
modelos empleados en este nivel son: Relacional, de Redes, de Jerárquicos, Redes Semánticas, Redes de Transición
de Estados, MOO.
Diseño Físico (Nivel Físico): recibe como entrada el esquema lógico y da como resultado un esquema físico, que es
una descripción de la implementación de una base de datos en la memoria secundaria, describe las estructuras de
almacenamiento y los métodos usados para tener un acceso efectivo a los datos. Los modelos empleados aquí son:
Modelo Unificador, Memoria de Elementos.
SGBD tiene dos lenguajes diferentes, uno es para especificar la estructura de la Base de Datos y el otro para
expresar las consultas y las actualizaciones.
El lenguaje de definición de datos permite definir vistas como subconjuntos de la base de datos.
Estos lenguajes permiten especificar los esquemas de las Bases de Datos. Al compilar las instrucciones de los
comandos LDD se obtiene un conjunto de tablas que se almacenan en un archivo especial llamado diccionario de
datos o directorio de datos.
El lenguaje de definición de datos cuenta con un tipo especial de lenguaje llamado lenguaje de almacenamiento y
definición de datos. El resultado de la compilación de estas definiciones es un
conjunto de instrucciones para especificar los detalles de implementación de los esquemas de la BD, detalles que
comúnmente se ocultan a los usuarios.
El abd es la persona o grupo que centraliza el control de la base de datos y de los programas de aplicación que la
acceden. Las funciones del abd incluyen:
• Definición del esquema: esta tarea también es conocida como diseño de la Base de Datos, la idea es
seleccionar un conjunto de estructuras de datos que satisfagan lo mejor posible los requerimientos
presentes y futuros.
• Definición de estructuras de almacenamiento: el abd debe seleccionar las estructuras físicas provistas por
el SGDB más adecuadas con el fin de obtener el mejor desempeño.
• Modificación de estructuras físicas y lógicas: a medida que el ambiente cambia los requerimientos
originales también lo hacen, por lo tanto la Base de Datos debe responder a dichos cambios y por ende el
abd necesitará modificar las decisiones inicialmente tomadas en los puntos antes explicados.
La arquitectura de los sistemas de Bases de Datos no se ha estandarizado al mismo grado que la de un compilador,
pero hay ciertos módulos que de uno u otro modo forman parte de la mayoría de los sistemas, incluyendo:
• Gestor de Archivos: éste es el módulo que interactúa directamente con el sistema de archivo provisto por
el sistema operativo. Tiene a su cargo el manejo de estructuras físicas de almacenamiento, administración
de espacio de memoria secundaria, y métodos eficientes de acceso y búsqueda. En algunos casos los
diseñadores del SGBD, estimando que el manejo de archivos provisto por el sistema operativo no es
adecuado a los fines del SGBD, eligen implementar sus propias rutinas de acceso a archivos directamente
sobre el hardware.
• Gestor de Datos: ubicado en un nivel de abstracción mayor que el gestor de archivos, este módulo provee
las funciones fundamentales que sirven de interfaz entre los datos y los programas de aplicación o
consultas de los usuarios. Por ejemplo: funciones típicas provistas a este nivel serían las de encontrar todos
los registros, o verificar que un conjunto de datos satisfaga las restricciones semánticas del diseño.
• Procesador de Consultas: este módulo traduce las consultas expresadas en un lenguaje de consulta de alto
nivel a una sucesión de pedidos básicos al nivel que el gestor de datos interpreta. Esta traducción no es
trivial porque en general existen muchas estrategias distintas para implementar una consulta de alto nivel,
con costos muy diferentes. El procesador de consultas tiene a su cargo la optimización de consultas, o sea
trata de hallar la implementación más eficiente de una consulta dada.
• Controlador de Paralelismo: cuando el SGBD soporta múltiples procesos accediendo y posiblemente
modificando una misma base de datos en paralelo, es importante garantizar que estos procesos no
interfieran unos con otros, manteniendo a la vez el mayor grado de paralelismo posible.
• Sistemas de recuperación: junto con el controlador del paralelismo, este módulo implementa la función
que llamamos de manejo de transacciones. El sistema de recuperación debe mantener suficiente
información acerca del progreso de las distintas transacciones en ejecución para poder garantizar que la
base de datos será restaurada a un estado consistente en caso de una falla parcial o total.
Sabemos que el primer objetivo de un sistema de Base de Datos es proporcionar un entorno para la recuperación
de la información y el almacenamiento de nueva información en la Base de Datos. Sin embargo no todos los
usuarios interactúan con la Base de Datos de la misma manera, las distintas formas de interactuar del usuario con
la base de Datos nos permite poder clasificarlos en 4 tipos diferentes:
• Programadores de aplicaciones: interactúan con el sistema a través de llamadas del LMD. Estos programas
son llamados comúnmente programas de aplicación.
• Usuarios sofisticados: interactúan con el sistema sin programas escritos. Ellos forman sus consultas en un
lenguaje de consulta de datos.
• Usuarios especializados: son los que escriben aplicaciones de BD especializadas que no son adecuadas en
el marco de procesamiento de datos tradicionales. (ejemplo: Sistemas de diseño asistido por
computadoras, sistemas de base de conocimiento, sistemas expertos, etc.)
• Usuarios normales: son usuarios que interactúan con el sistema empleando alguno de los programas de
aplicación permanentes.
Los sistemas de bases de datos se diseñan para almacenar grandes cantidades de información. La gestión de los
datos implica tanto la definición de estructuras para el almacenamiento de la información como la provisión de
mecanismos para la manipulación de la información. Además, los sistemas de Bases de Datos deben proporcionar
la seguridad de la información almacenada, en caso de caídas del sistema o intentos de accesos no autorizados. Si
los datos están compartidos por varios usuarios, el sistema debe evitar posibles resultados anómalos.
Un propósito principal de un sistema de Bases de Datos es proporcionar a los usuarios una visión abstracta de los
datos. Es decir, el sistema esconde ciertos detalles de cómo los datos se almacenan y mantienen. Esto se hace
mediante la definición de tres niveles de abstracción que pueden ser observados: el nivel físico, el nivel lógico y el
nivel de vistas.
Por debajo de la estructura de la base de datos está el modelo de datos: una colección de herramientas
conceptuales para describir los datos, las relaciones, la semántica de los datos y las restricciones de los datos. Los
diferentes modelos de datos que se han propuesto se dividen en tres grupos diferentes: modelos lógicos basados
en objetos, modelos lógicos basados en registros y modelos de datos físicos.
Las bases de datos cambian cada vez que la información se inserta o borra. La colección de información
almacenada en la base de datos en un momento particular se llama un ejemplar de la base de datos. El diseño
completo de la base de datos se llama esquema de la base de datos. La capacidad para modificar una definición de
un esquema en un nivel, sin afectar una definición del esquema en el siguiente nivel más alto se llama
independencia de datos.
Hay dos niveles de independencia de datos: física y lógica.
Un esquema de base de datos se especifica mediante un conjunto de definiciones que se expresa en un lenguaje de
definición de datos (LDD). Las instrucciones del LDD se compilan dando lugar a un conjunto de tablas que se
almacenan en un archivo especial, el diccionario de datos; el diccionario de datos contiene metadatos, es decir
datos acerca de los datos.
El lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular los
datos. Hay básicamente dos tipos: LMD procedimentales, que requieren que un usuario especifique qué datos se
necesitan y cómo obtener esos datos, y LMD no procedimentales que requieren que un usuario especifique qué
datos se necesitan sin especificar cómo obtener esos datos.
El gestor de transacciones es el responsable de asegurar que la base de datos permanezca en un estado consistente
(correcto) a pesar de los fallos del sistema. El gestor de transacciones también asegura que las ejecuciones de
transacciones concurrentes ocurran sin conflictos.
El gestor de almacenamiento es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel
almacenados en la base de datos y los programas de aplicación y las consultas enviadas al sistema. El gestor de
almacenamiento es responsable de la interacción con los datos almacenados en disco.
2. Enunciar las cinco responsabilidades del gestor de la base de datos. Para cada responsabilidad explicar los
problemas que ocurrirían si no se realizara esa función.
5. ¿Por qué es útil la abstracción de datos? ¿Cuántos niveles de abstracción podes definir? ¿Ellos están
relacionados, de qué manera?
6. ¿Qué son los modelos de datos? ¿Para qué se utilizan? ¿Cuál es la relación con los niveles de abstracción?
7. Considere el caso de una entrevista con un profesor universitario sobre los datos que este maneja... que
descripción de la Base de Datos estás haciendo? Que datos supones que maneja? Da una descripción de la
supuesta entrevista.
10. Buscar en la red Sistema Gestores de Bases de Datos, realizar una descripción de los mismos detallando las
particularidades más relevantes.