Logo Studenta

apunte 1

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 1 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
TEMA 1. INTRODUCCIÓN. 
 
EVOLUCIÓN HISTÓRICA. 
 
Desde la aparición de las computadoras, la gestión de las organizaciones ha tenido una tendencia 
natural hacia la automatización. Desde inicios de la década del 60, la evolución de los sistemas de 
información ha tenido una considerable repercusión en la gestión de los datos al exigirse cada vez 
más prestaciones de información. 
 
Al inicio de todo este proceso de automatización, el eje de la construcción del software que 
interviene en un sistema de información lo constituían los procesos. Poco a poco, este centro de 
gravedad se fue desplazando desde los procesos hacia la estructuración de los datos. 
 
La imposibilidad de efectuar diseños de bases de datos que implicaran asegurar eficiencia en el 
mantenimiento de los datos y en la producción de información, dio lugar a avances en el área, con 
miras a mejorar la calidad del producto y así, a fines de los años 60 y principios del 70, surge la 
primera generación de productos de bases de datos. 
 
Estos productos presentaban lenguajes procedimentales que obligaban al programador a navegar, 
registro a registro, por la base de datos. Con ellos, los diseñadores de las bases de datos 
actuaban como verdaderos artesanos, utilizando como la herramienta los diagramas de bloques y 
estructuras de registros como estructura de datos. 
 
En 1.970, Codd propuso el Modelo Relacional que, a esa altura, no era más que una teoría sin 
ninguna posibilidad de implementación eficiente con los productos comerciales con los que se 
contaba pero que, durante los años 80, da lugar a la segunda generación de productos de bases 
de datos. 
 
Tomado como base el convencimiento de la conveniencia de la implementación del Modelo 
Relacional, durante la década de los 80 la investigación se centra en los siguientes aspectos: 
 
 la optimización de las consultas, 
 los lenguajes de alto nivel, 
 la organización física del almacenamiento de los datos, 
 los algoritmos para la optimización de gestión de buffers, 
 las técnicas de indexación y 
 los sistemas distribuidos. 
 
Desde la década del 90 se viene asistiendo a un avance espectacular en la tecnología de bases 
de datos, surgiendo por esta época la tercera generación, que tiene las siguientes características: 
 
 posibilidad de almacenamiento de grandes cantidades de datos, 
 datos compartidos por varios usuarios, 
 gestión de objetos y 
 gestión de reglas de inferencia de datos. 
 
 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 2 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
DATOS PERSISTENTES. CONCEPTO. NECESIDAD. 
 
Un dato persistente es un dato que tiene una naturaleza no transitoria y que, por lo tanto, debe ser 
almacenado. 
Esta característica lo diferencia de otro tipo de datos, de naturaleza efímera o transitoria, como los 
datos de entrada-salida, las proposiciones de control, las colas de trabajo, los bloques de control 
de un programa, los resultados intermedios y, en general, cualquier información transitoria. 
 
Un dato de entrada es el que se recibe por primera vez en el sistema y puede dar pié a la 
modificación de los datos persistentes o convertirse en uno de ellos. Un dato de salida es uno que 
se deriva de los datos persistentes. 
 
 
BASES DE DATOS. CONCEPTO. 
 
Una base de datos es un conjunto de los datos persistentes de una organización, relacionados 
entre sí. 
 
Como ejemplo, consideremos los nombres, direcciones y números de teléfono de las personas 
que conocemos. Podemos tener estos datos en una libreta de direcciones, en una agenda 
electrónica o en una planilla de cálculo. Esto es, su registro puede ser manual o podemos emplear 
algún medio mecánico, pero lo cierto es que tenemos datos persistentes relacionados entre sí: 
 
 datos: hechos conocidos que pueden registrarse y que tienen un significado implícito, 
 persistentes: están almacenados, 
 relacionados entre sí: todas son personas que conocemos y de ellas tenemos sus domicilios 
y números de teléfono. 
 
Por lo tanto, los nombres, direcciones y números de teléfonos de las personas que conocemos 
constituye una base de datos. 
 
De la definición podemos extraer las propiedades de una base de datos. 
 
 Una base de datos representa algún aspecto del mundo real y las modificaciones que sufre 
ese mundo real. 
 Una base de datos es un conjunto de datos lógicamente coherente, con significado 
inherente. 
 Toda base de datos se construye y puebla con datos para un propósito específico, está 
dirigida a un grupo de usuarios y tiene aplicaciones que les interesa a ellos. 
 
 
SISTEMAS DE BASES DE DATOS. 
 
Nuestro objetivo es el estudio del diseño e implementación de bases de datos computarizadas. En 
este contexto, definiremos un sistema de bases de datos como un sistema cuyo propósito general 
es mantener datos y hacer que estén disponibles cuando sean solicitados. 
 
 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 3 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
COMPONENTES DE UN SISTEMA DE BASES DE DATOS. 
 
Para lograr el objetivo enunciado precedentemente, un sistema de bases de datos se apoya en 
cuatro componentes: 
 
1. Datos, 
2. Equipo, 
3. Software, 
4. Usuarios. 
 
DEFINICIÓN DE CADA COMPONENTE. 
 
Datos. 
 
Tienen dos características esenciales: 
 
1. están integrados: la base de datos se considera como la unificación de archivos de datos, 
2. serán compartidos: los elementos individuales de la base de datos serán accedidos por 
distintos usuarios en el sentido de que todos pueden tener acceso al mismo elemento para 
usarlo con propósitos diferentes. 
 
Equipo. 
 
Es el soporte para el almacenamiento de los datos. Por ello, nos interesa específicamente: 
 
1. los volúmenes de almacenamiento secundario, 
2. los dispositivos de entrada-salida asociados, 
3. el procesador o procesadores, 
4. la memoria principal asociada. 
 
Software. 
 
Es el conjunto de programas creado para la gestión de los datos almacenados y consiste en 
programas de aplicación y consulta a la base de datos. 
 
Estas aplicaciones y consultas no tienen una interacción directa con la base de datos almacenada. 
Existe, específicamente, un conjunto de programas que permite a los usuarios crear y mantener 
una base de datos. 
 
Este software de propósitos generales, facilita el proceso de definir, construir y manipular una 
base de datos, se denomina DBMS: sistema administrador de la base de datos, o simplemente 
motor de base de datos y su finalidad es distanciar a los usuarios de los detalles a nivel equipo. 
 
El DBMS es, definitivamente, la componente de software más importante de todo el sistema. 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 4 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
Usuarios. 
 
Se tomarán en cuenta dos clases de usuarios: 
 
1. Programador de aplicaciones: es el encargado de escribir los programas que utilizarán la 
base de datos, dirigiendo las solicitudes al DBMS, 
2. Usuario final: tiene acceso a la base de datos a través de las aplicaciones efectuadas por el 
programador de aplicaciones o a través de una aplicación integrada al sistema de base de 
datos, que es un procesador de un lenguaje de consulta interactivo, mediante el cual el 
usuario puede formular mandatos de alto nivel. 
 
Podemos esquematizar un sistema de basesde datos como sigue: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
COMPARACIÓN DEL ENFOQUE CON EL DE GESTIÓN DE ARCHIVOS. 
 
En el procesamiento de archivos tradicional: 
 
 cada usuario define e implementa los archivos requeridos para una aplicación específica, 
 suelen guardarse los mismos datos para aplicaciones diferentes, 
 se dispersa tiempo y esfuerzo en el mantenimiento de datos iguales para aplicaciones 
diferentes, en el mejor de los casos con éxito en la coherencia en las actualizaciones, 
DBMS 
Usuarios finales / Programadores de Aplicaciones 
Programas de Aplicaciones / Consultas 
Software para procesar consultas 
Software para acceder a los datos 
Base de datos almacenada 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 5 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
 el control de acceso a los datos y los niveles de seguridad deben ser mantenidos por las 
aplicaciones. 
 
En cambio, en un sistema de bases de datos contamos con una serie de ventajas frente al 
procesamiento de archivos tradicional, ventajas que se resumen en los siguientes: 
 
 
FUNDAMENTOS DEL ENFOQUE DE BASES DE DATOS. 
 
1. Minimización de la redundancia. 
La redundancia es la repetición del mismo dato en lugares diferentes. 
Lo deseable es la eliminación de la redundancia. Pero si, por la naturaleza de la aplicación, 
ésta debe existir, debe ser mínima y el DBMS debe tener conocimiento de su existencia, 
para que pueda propagar las actualizaciones. Esto es, la actualización de un dato 
redundante en cualquier lugar, implica la actualización automática del mismo dato en todos 
los lugares en donde se encuentre. 
2. Eliminación de la inconsistencia. 
La inconsistencia es la falta de concordancia en los valores de un mismo dato. 
Cuando no hay redundancia o cuando la redundancia está controlada por el DBMS, es 
posible eliminar la inconsistencia. 
 
3. Compartimento de los datos. 
Los datos son compartidos por diversas aplicaciones y también están disponibles para 
nuevas aplicaciones, sin necesidad de almacenar datos adicionales. 
 
4. Cumplimiento de normas. 
Es posible representar los datos de acuerdo a un conjunto de normas preestablecidas. Esta 
normalización es deseable para el intercambio de datos o para la migración de datos de un 
sistema a otro. También es posible definir y mantener la seguridad en el acceso a los datos 
de manera que cada usuario sólo perciba los datos destinados a él. 
 
5. Mantenimiento de la integridad. 
La integridad de los datos es la posibilidad de asegurar que los datos contenidos en la base 
de datos son correctos. 
La falta de consistencia deriva en la no integridad, pero no es el único caso. En un enfoque 
de bases de datos es posible definir restricciones de integridad como, por ejemplo, 
verificaciones de las actualizaciones. 
 
6. Equilibrio de requerimientos opuestos. 
Un requerimiento opuesto son diferentes peticiones de los usuarios a la misma base de 
datos. 
Se pueden estructurar los datos de forma de proporcionar un servicio óptimo al usuario, 
aunque la naturaleza de las peticiones de estos sea radicalmente diferente. 
 
7. Autodescripción de los datos. 
En un catálogo del sistema se almacena información sobre la estructura de cada archivo, el 
tipo de cada elemento de dato y las restricciones de integridad. 
Esta información almacenada se denomina metadatos. 
 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 6 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
 
ESCALABILIDAD, EFICIENCIA Y EFECTIVIDAD. 
La escalabilidad es la propiedad de un Sistema de Bases de Datos que indica su habilidad para 
extender el margen de operaciones sin perder calidad. 
Dicho de otra manera, es la habilidad del Sistema de Bases de Datos para manejar un crecimiento 
continuo de de manera fluida y estar preparado para hacerse más grande sin perder calidad en los 
servicios ofrecidos. 
La escalabilidad también se puede definir como la capacidad del Sistema de Bases de Datos de 
alterar su tamaño o configuración para adaptarse a las circunstancias cambiantes. 
Un Sistema de Bases de Datos cuyo rendimiento es mejorado después de haberle añadido más 
capacidad se dice que pasa a ser un sistema escalable. 
La efectividad es la capacidad de lograr un efecto deseado, esperado o anhelado. 
La eficiencia, en cambio, es la capacidad de lograr el efecto en cuestión con el mínimo de 
recursos posibles. 
Un Sistema de Bases de Datos es efectivo cuando es capaz de obtener los resultados deseados. 
Notemos que en esta apreciación nada se dice sobre cuáles, cuántos ni en qué forma han de 
utilizarse los recursos para obtener ese resultado deseado. 
Un Sistema de Bases de Datos es eficiente cuando es capaz de obtener resultados deseados 
mediante la óptima utilización de los recursos disponibles. 
 
 
INDEPENDENCIA DE LOS DATOS. 
 
En el procesamiento de archivos tradicional, la estructura de los archivos de datos viene integrada 
en los programas de acceso. Así, deberemos implementar todas las aplicaciones que acceden a 
los datos utilizando la misma herramienta. 
 
Por ejemplo, el muy usado gestor de archivos Fox maneja una estructura de archivos conocida 
como archivos DBF. Para gestionar los datos es necesario programar aplicaciones en Fox u otra 
herramienta que disponga de un driver especial para tratar este tipo de archivos. 
 
En cambio, en un sistema de bases de datos, la estructura de los archivos de datos se almacena 
en el catálogo, aparte de los programas de acceso. Por lo tanto es posible realizar aplicaciones 
que accedan a la base de datos en cualquier herramienta. 
 
Por ejemplo, se podrían almacenar los datos utilizando un motor MS SQL Server y acceder a ellos 
mediante aplicaciones realizadas en Visual Basic, Java, Delphi, C++, etc. 
 
Esta propiedad se denomina independencia de los datos. 
 
Además, el enfoque orientado a los objetos permite a los usuarios definir operaciones sobre los 
datos. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando 
estas operaciones a través de sus nombres y argumentos, independientemente de la forma en 
que están almacenadas. Además, estas operaciones podrían redefinirse sin que sea necesaria 
una modificación en la aplicación que las invoca. 
 
Esta propiedad se denomina independencia de las operaciones. 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 7 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
 
La característica que hace posible la independencia de los datos y la independencia de las 
operaciones se denomina abstracción de datos. 
 
 
EL ADMINISTRADOR DE DATOS (DA). 
 
Hemos señalado que el uso de un sistema de bases de datos tiene ventajas sobre la gestión 
tradicional de archivos. Un sistema de bases de datos ofrece a la organización un control 
centralizado de sus datos. 
 
Pero es la organización la que deberá definir la política a seguir con sus datos. Dentro de la 
organización, entonces, deberá existir una persona que no necesariamente conozca el aspecto 
informático pero que ocupe un nivel gerencial superior y que deberá: 
 
 decidir cuáles son los datos que deberán ser persistentes y 
 quiénes pueden acceder a los datos. 
 
Esta persona se conoce como el Administrador de los Datos. 
 
 
EL ADMINISTRADOR DE LA BASE DE DATOS (DBA). 
 
El DA es un gerente, no necesariamente un técnico. El técnico responsable de poner en práctica 
las decisiones del DA es el Administrador de la Base de Datos. 
 
El DBA es un profesional en el procesamiento de datos, cuyas funciones son: 
 
 crear la basede datos, 
 implementar los controles técnicos definidos por el DA, 
 garantizar el funcionamiento adecuado del sistema, 
 adquirir los recursos necesarios de software y de hardware. 
 
 
NIVELES DE SEGURIDAD. 
 
Al tener jurisdicción completa sobre la base de datos, el DBA puede: 
 
 asegurar que el acceso a la base de datos sea solo a través de los canales apropiados, 
 definir las verificaciones de seguridad a realizar cuando se intente acceder a los datos. 
 
Es factible establecer diferentes verificaciones para cada tipo de acceso. Por lo general, a un 
usuario o grupo de usuarios se le asigna un número de cuenta protegido por contraseñas. El 
DBMS cuenta con un subsistema de seguridad y autorización que permite al DBA crear cuentas y 
especificar restricciones para ellas. 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 8 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
SISTEMAS ADMINISTRADORES DE BASES DE DATOS. 
 
ARQUITECTURA DE UN SISTEMA ADMINISTRADOR DE BASES DE DATOS. 
 
PAUTAS Y NORMAS. INTEGRIDAD. SEGURIDAD. 
 
El DBMS es un conjunto de programas que maneja todo el acceso a la base de datos. 
 
Esto lo hace siguiendo ciertas pautas y normas que definen un proceso como el siguiente: 
 
1. un usuario solicita un acceso, 
2. el DBMS interpreta y analiza la solicitud, 
3. el DBMS consulta el catálogo almacenado, 
4. el DBMS ejecuta las operaciones necesarias sobre la base de datos almacenada. 
 
Las pautas y normas que intervienen son las que aseguran el desempeño eficiente del DBMS en 
cuanto a tiempo de respuesta, interfaz con el usuario, etc. 
 
Estas pautas y normas contienen referencias específicas a dos aspectos importantes: 
 
 Integridad: el DBMS debe ser capaz de entender y de hacer cumplir un conjunto de 
restricciones sobre los datos, llamadas restricciones de integridad. Por ejemplo, 
verificaciones de tipo a un ingreso de datos, verificaciones de relaciones entre datos, 
verificaciones de valores de los datos. 
Es de hacer notar que ningún DBMS puede descubrir automáticamente un error. Si el 
usuario ingresó 10 en lugar de 100 y el tipo de dato coincide y está dentro del rango 
esperado, el DBMS lo admitirá. 
 Seguridad: implica el control de los accesos a la base de datos. Este control se hace 
usualmente asignando contraseñas a los usuarios y/o un sistema de control y revocación de 
privilegios. Este último sistema es controlado por el DBMS. 
 
Para poder cumplir su función, el DBMS se apoya en una arquitectura. 
 
Presentaremos una arquitectura, llamada arquitectura de tres esquemas, o de tres niveles, o 
ANSI/SPARC por el comité que la aprobó en 1.978, que permite a un DBMS cumplir con las 
pautas y normas para realizar su tarea, en especial con las referidas a la integridad y a la 
seguridad y permite tener en cuenta las características distintivas del DBMS que permiten: 
 
1. asegurar la independencia de los datos y la independencia de las operaciones, 
2. manejar las vistas distintas que pueden tener distintos usuarios sobre la misma base de 
datos, 
3. emplear un catálogo para el almacenamiento de la descripción de la base de datos. 
 
El objetivo de esta arquitectura es el de separar las aplicaciones del usuario de la base de datos 
almacenada, para lo cual propone esquemas definidos a diferentes niveles. 
 
 
 
 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 9 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
 
 
 
NIVELES. CORRESPONDENCIA ENTRE NIVELES. PROCESOS. 
 
 El Nivel Externo. Incluye varias vistas del usuario, que utiliza la parte de los datos 
almacenados que es de su interés. 
Cada esquema o vista externa muestra al usuario los datos que necesita y le oculta el resto. 
 El Nivel Conceptual. Contiene el esquema conceptual, que describe la estructura de toda la 
base de datos, ocultando los detalles de almacenamiento. 
 El Nivel Interno. Tiene un esquema interno que describe la estructura de almacenamiento de 
la base de datos. 
 
En la mayoría de los casos, los DBMS no distinguen específicamente los tres niveles, pero acepta 
los esquemas señalados. 
 
El proceso de transformar solicitudes y resultados de un nivel a otro se denomina 
correspondencia, o transformación, o mapping. 
 
Si bien la arquitectura de los DBMS no se ha estandarizado tanto como lo puede estar, por 
ejemplo, la de un compilador, la gran mayoría de los sistemas incluyen los siguientes módulos: 
 
· Gestor de archivos: interactúa con el sistema de archivos provisto por el sistema operativo. 
Se ocupa del manejo de las estructuras físicas de almacenamiento, de la administración del 
espacio de memoria secundaria y de los métodos de acceso y búsqueda. Si el gestor de 
Vista 
Externa 2 
Vista 
Externa 1 
Vista 
Externa n 
Usuarios finales Usuario 1 Usuario 2 Usuario n 
Nivel Externo 
Correspondencia 
Externa / Conceptual 
Nivel Conceptual 
Correspondencia 
Conceptual / Interna 
Nivel Interno 
Esquema Conceptual 
Esquema Interno 
Base de datos almacenada 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 10 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
archivos del sistema operativo fuera considerado ineficiente, los diseñadores del DBMS 
diseñan e implementan sus propias rutinas de acceso a archivos. 
· Gestor de datos: se encarga de la interfaz entre los datos y las aplicaciones o consultas de 
los usuarios. 
· Procesador de consultas: este módulo se encarga de traducir el lenguaje de alto nivel en 
que se formulan las consultas a un conjunto de instrucciones básicas que interpreta el 
gestor de datos. Esta traducción la hace siempre optimizando la consulta, esto es, 
implementa la consulta de la manera más eficiente. 
· Controlador del paralelismo: cuando el motor soporta múltiples procesos accediendo y/o 
modificando en paralelo a una misma base de datos, este controlador se encarga de que 
tales procesos no interfieran unos con otros. 
· Sistema de recuperación: junto con el controlador del paralelismo, este módulo se encarga 
del manejo de las transacciones, garantizando así que la base de datos quedará en un 
estado consistente en caso de falla total o parcial. 
 
 
 
CLASIFICACIÓN DE LOS SISTEMAS ADMINISTRADORES 
DE BASES DE DATOS. 
 
Un DBMS puede clasificarse de acuerdo a varios criterios. 
 
1. Según el modelo de datos en que se basa. 
Un modelo de datos es la forma en que se representan los datos, es una descripción de la 
realidad con el propósito de estudiarla. 
 
1.1. Relacionales, 
1.2. De Red, 
1.3. Jerárquicos, 
1.4. Orientados a los objetos. 
 
2. Según el número de usuarios a los que presta servicio. 
 
2.1. Monousuarios: solo atienden a un usuario a la vez, 
2.2. Multiusuarios: atienden a varios usuarios al mismo tiempo. 
 
3. Según la cantidad de sitios donde se encuentra almacenada la base de datos. 
 
3.1. Centralizados: la base de datos y el DBMS se encuentran en un solo computador, 
3.2. Distribuidos: la base de datos y el DBMS están en varios sitios, conectados por una 
red. 
 
4. Según su propósito. 
 
4.1. De propósito general, se diseñan para cualquier aplicación de gestión de bases de 
datos. 
4.2. De propósito especial, se diseñan para una aplicación específica. 
 
 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 11 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
LENGUAJES E INTERFACES DE LOS 
SISTEMAS ADMINISTRADORES DE BASES DE DATOS. 
 
Como hemos visto, un DBMS puede ser utilizadopor diferentes tipos de usuarios. Por lo tanto, 
deberá manejar lenguajes e interfaces apropiadas para cada categoría. 
 
Estos lenguajes deberán ser tales que nos permitan las especificaciones de los esquemas 
externo, conceptual e interno asociados a cada uno de los tres niveles de la arquitectura del 
DBMS, y las correspondencias entre estos niveles. 
 
Para la especificación de las vistas de los usuarios y la correspondencia externa-conceptual, se 
utiliza un lenguaje denominado VDL: View Definition Languaje. 
La especificación del esquema conceptual y de la correspondencia conceptual-interna, se realiza 
en lenguaje DDL: Data Definition Languaje. El DBMS cuenta con un compilador cuya misión es 
procesar los enunciados DDL para identificar la descripción de los elementos del esquema 
conceptual en el catálogo almacenado. 
 
El SDL: Storage Definition Languaje es utilizado para la especificación del esquema interno y 
también se puede utilizar este lenguaje para especificaciones de la correspondencia conceptual-
interna, tal como el DDL. 
 
Una vez que se han compilado los esquemas de la base de datos y se han introducido los datos, 
se requerirá de algún mecanismo que permita la manipulación de los datos persistentes. Las 
operaciones de manipulación más comunes son la obtención, inserción, eliminación y modificación 
de los datos almacenados. Para tal propósito, el DBMS ofrece el DML: Data Manipulation 
Languaje. 
 
Como dijimos, los DBMS actuales no distinguen una clara separación entre los niveles, por ello les 
basta con un DDL y de un DML para las especificaciones de los tres esquemas y lo ofrecen en 
forma de un lenguaje integrado. Un ejemplo representativo es el lenguaje de bases de datos 
relacionales SQL, que estudiaremos con todo detalle en el tema siguiente. 
 
Con respecto a las interfaces, el lenguaje de un DBMS ofrece las siguientes: 
 
1. Interfaces basadas en menúes desplegables: presentan al usuario una lista de opciones que 
lo guían en la formulación de solicitudes. La ventaja de este tipo de interfaz es que brinda al 
usuario la posibilidad de formular peticiones sin necesidad de memorizar la sintaxis 
específica para cada una. 
2. Interfaces gráficas: presentan al usuario los esquemas en forma de diagrama y le permite la 
selección de la parte del diagrama que se exhibe. 
3. Interfaces basadas en formas: presentan al usuario un formulario estandarizado en el cual 
es posible agregar datos nuevos y recuperar datos persistentes. 
4. Interfaces de lenguaje natural: aceptan solicitudes e intentan entenderlas a través de un 
análisis sintáctico y léxico de las mismas. Si la interpretación tiene éxito, la interfaz genera 
una consulta de alto nivel y la envía al DBMS para que se encargue de su procesamiento, 
de lo contrario inicia un diálogo con el usuario para esclarecer la petición. 
5. Interfaces para usuarios paramétricos: son un conjunto pequeño de operaciones, como las 
disponibles en el cajero de un banco. Este tipo de interfaces son diseñadas por los analistas 
del sistema para una clase de usuarios simples. 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 12 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
6. Interfaces para el DBA.: especiales para éste, como órdenes para crear cuentas, asignar 
niveles de seguridad, modificar esquemas, parametrizar el sistema y reorganizar la 
estructura de almacenamiento. 
 
 
INDEPENDENCIA DEL CONOCIMIENTO. 
 
En una aplicación de bases de datos se utiliza el motor o DBMS para realizar la gestión de los 
datos almacenados en la misma en distintos niveles. 
 
Como vimos anteriormente, la arquitectura de los sistemas administradores de bases de datos, 
conocida como ANSI/SPARC, establece tres niveles, interno, conceptual y externo además de las 
correspondencias entre los niveles mencionados. 
 
Utilizando este modelo obtenemos independencia de almacenamiento, dejando los detalles al 
nivel interno. El nivel conceptual de la base de datos, es el mismo para cualquier implementación 
física. 
 
De manera similar, las aplicaciones, se comunican con el nivel externo de la base de datos. 
Dichas aplicaciones poseen en su código un contenido semántico que define el comportamiento 
de los datos almacenados. 
 
El concepto de la independencia del conocimiento sugiere que tal conocimiento semántico, 
que es común a todas las aplicaciones, se puede definir en la base de datos misma. De esa 
forma, se puede obtener un cierto conocimiento fuera de las aplicaciones y dentro de un 
esquema. 
 
Esto traerá un beneficio muy importante pues, al estar definidas dentro de la base de datos las 
reglas que definen el comportamiento de los datos, que son además las reglas de la organización, 
serán las mismas para todas las aplicaciones. 
 
En un DBMS relacional podemos implementar estas reglas a través de triggers o store procedures 
ofunciones. 
 
Esto produce un beneficio para las aplicaciones de base de datos en varios sentidos. Por un lado 
todas las aplicaciones que accedan a las bases de datos trabajarán con el mismo conjunto de 
reglas. Por otro lado, las aplicaciones no necesitan ocuparse de la integridad de los datos. 
 
Además tenemos una ventaja tecnológica adicional, las aplicaciones pueden tomar ventajas de las 
vistas y consultas derivadas automáticamente de los datos almacenados. Tengamos en cuenta 
que un sistema de bases de datos con arquitectura cliente/servidor, las vistas se ejecutan más 
eficientemente del lado del servidor. 
 
Veamos un ejemplo: en una organización que realiza ventas en cuenta corriente a clientes, se 
puede definir la siguiente regla: “Si el saldo de un cliente supera los $ 2.000 el crédito se bloquea”. 
 
Para ello podemos implementar dos reglas en la base de datos. Una que, sin importar que 
aplicación se utilice, al registrar un movimiento en la cuenta corriente, verifique el saldo y, si éste 
supera los $ 2.000, ponga un atributo estado de la cuenta en valor “bloqueado”. 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 13 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
Otra regla impedirá que se puedan registrar movimientos en la cuenta corriente del cliente si el 
atributo en cuestión es igual a bloqueado. 
 
Así ninguna aplicación podrá registrar un movimiento en una cuenta corriente bloqueada y esta 
última se bloqueará instantáneamente al superar el máximo permitido. 
 
 
EL PROCESO DE DISEÑO DE BASES DE DATOS. 
MODELO CONCEPTUAL. MODELO LÓGICO. MODELO FÍSICO. 
 
Para abordar el tema, lo primero que debemos preguntarnos es: ¿ qué es diseñar ?. 
 
Diseñar significa construir modelos. 
 
Parece que no hemos avanzado mucho, porque ahora tenemos que preguntarnos ¿ qué es un 
modelo ?. Un modelo es un vehículo para describir la realidad con el propósito de estudiar parte 
de ella. 
 
Nuestra realidad es la organización en la cual va a ser implementada la base de datos que 
pretendemos diseñar y la parte de la organización que nos interesa concretamente es el conjunto 
de datos persistentes. 
 
Entonces, el proceso de diseño de bases de datos es el proceso de construcción de modelos que 
muestren la estructura de la base de datos. 
 
Cuando abordamos el tema de arquitectura de los sistemas administradores de bases de datos, 
vimos que puede mirarse la base de datos desde tres niveles diferentes: externo, conceptual e 
interno. Por lo tanto, nuestro proceso de diseño deberá ser tal que permita mostrar la estructura 
de la base de datos pero vista desde sus tres niveles de arquitectura. 
 
El proceso de diseño de una base de datos consta de seis fases: 
Fase 1: recolección y análisis de requerimientos. 
Fase 2: diseño conceptual de la base de datos. 
Fase 3: elección del DBMS. 
Fase 4: diseño lógicode la base de datos. 
Fase 5: diseño físico de la base de datos. 
Fase 6: implementación de las aplicaciones. 
 
Esta enumeración de las fases indica, en principio, un orden secuencial de ejecución, lo cual es 
cierto. Ello no quita que a la altura de cualquiera de las fases no surjan detalles que haga 
necesaria una vuelta atrás. Por lo tanto, la salida producida por una fase puede ser alimentación 
para la fase siguiente o bien retroalimentación para alguna de las anteriores. 
 
Por otra parte, el proceso puro de diseño de bases de datos se limita a las fases 2, 3, 4 y 5, siendo 
la fase 1 la que nutre el comienzo del proceso y la fase 6 una continuación del proceso de 
construcción del software. 
 
Fase 1. Recolección y análisis de requerimientos. 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 14 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
La actividad de recolección y análisis de requerimientos es una actividad previa al diseño que se 
realiza para todo el sistema de información que desea implementarse en una determinada 
organización. 
 
Al final de esta actividad, deberá tenerse en claro cuáles son los requerimientos del usuario y cuál 
es la necesidad: 
 
 de datos persistentes y 
 de procesos, 
 
que permitirán que el software cumpla con su función. 
 
La necesidad de datos persistentes y de procesos son una función de la otra: 
 
 los datos persitentes serán procesados para producir información, 
 los procesos actúan sobre los datos persistentes para satisfacer los requerimientos del 
usuario, 
 
y, por ello, es lógico que la recolección y el análisis de los requerimientos del usuario se realice 
teniendo en cuenta tanto a los datos como a los procesos. Pero, al final de la fase, es posible 
separar ambos. 
 
Fase 2. Diseño conceptual de la base de datos. 
 
El objetivo de esta fase es la construcción del modelo conceptual de la base de datos. 
 
Un modelo conceptual es el que muestra la estructura de la base de datos desde el punto de vista 
del contenido. 
 
Este contenido se refiere a: 
 
 las estructuras de los datos persistentes, 
 la semántica o significado de los datos, 
 las relaciones entre los datos. 
 
La virtud de este modelo conceptual es que puede mostrar los datos persistentes desde su 
semántica y es justamente por ello que surge como primer modelo pues, a esta altura del proceso 
de diseño de la base de datos, tenemos en claro solamente cuál es el conjunto de datos que 
deberán ser almacenados. 
Esta fase de diseño conceptual de la base de datos se realiza en forma paralela con el diseño de 
los procesos, cuyo objetivo es la construcción de los modelos de tales procesos. Y es natural que 
ambas actividades sean paralelas, por la dependencia datos-procesos en la etapa de diseño. 
 
Fase 3. Elección del DBMS. 
 
¿ Por qué elegir un DBMS en medio de un proceso de diseño ?. Porque el modelo conceptual 
aporta conocimiento a un muy alto nivel de abstracción. 
 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 15 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
Ahora debemos, gradualmente bajar ese nivel de abstracción aplicando un proceso de 
refinamiento que agrega nivel de detalle en cada etapa, tal que partiendo del modelo conceptual 
produce el modelo físico de la base de datos. 
 
Pero este modelo físico tiene que ver con el DBMS elegido y, por lo tanto, este es el momento de 
decidir qué tipo de DBMS utilizaremos. No entraremos en el detalle del tipo de variables que 
intervienen al momento de elegir el DBMS, pues ese punto ya lo hemos discutido en incisos 
anteriores. 
 
Fase 4. Diseño lógico de la base de datos. 
 
El objetivo de esta fase es la construcción del modelo lógico de la base de datos. 
 
Un modelo lógico es el que muestra la estructura de la base de datos que puede procesar el 
DBMS. 
 
Consiste sencillamente en un conjunto de enunciados escritos en el DDL del lenguaje del DBMS 
elegido, que especifican el nivel externo y el nivel conceptual de la arquitectura de tal DBMS. 
 
Fase 5. Diseño físico de la base de datos. 
 
El objetivo de esta fase es la construcción del modelo físico de la base de datos. 
 
Un modelo físico es el que muestra la estructura que adquiere la base de datos en su 
almacenamiento secundario y los caminos de acceso. 
 
Para poder efectuar estas definiciones, debemos contar con pautas sobre requerimientos 
especiales como: 
 
 tiempo de respuesta y 
 productividad de la consulta, 
 
que son tenidos en cuenta en la actividad de diseño de los procesos, justamente para que estos 
logren la optimización. 
 
Otro factor que ya hemos considerado como de primordial importancia es el de asegurar la 
independencia del conocimiento. Por ello, un conjunto de procesos modelados durante el diseño 
de los procesos deberán ser el conjunto de reglas a incorporar a la base de datos física para 
asegurar esa independencia del conocimiento. 
 
El modelo físico de la base de datos consiste en un conjunto de enunciados escritos en el SDL del 
lenguaje del DBMS elegido, que especifican el nivel interno de la arquitectura de tal DBMS. 
 
Fase 6. Implementación de las aplicaciones. 
 
Con el modelo físico de la base de datos y otros modelos generados como resultado de la 
actividad de diseño de los procesos, podemos continuar con el proceso de construcción del 
software, implementando las aplicaciones de acuerdo a los modelos señalados. 
 
Lo expuesto anteriormente se resume en el siguiente mapa conceptual: 
Universidad Nacional de Salta. Facultad de Ciencias Exactas. Página 16 
Departamento de Informática. Tecnicatura Universitaria en Programación. 
BASES DE DATOS 
 
Lic. Patricia Mac Gaul - Lic. Martín Díaz - Lic. Guillermo Villanueva. (2015). 
 
 
 
 
Requerimientos 
especiales + 
reglas de la 
organización 
Fase 1 Recolección y análisis de requerimientos 
Diseño conceptual 
de la base de datos 
Diseño de 
los procesos 
Fase 2 
Necesidad de datos Necesidad de procesos 
Modelo conceptual 
Elección del 
DBMS 
Fase 3 
Fase 4 
Diseño lógico 
de la base de datos 
Modelo lógico 
Diseño físico 
de la base de datos 
Modelo físico 
Fase 5 
Fase 6 
Otros modelos 
Implementación de las aplicaciones

Continuar navegando