You are on page 1of 24

2.

-SISTEMAS GESTORES DE BASES DE DATOS

2.0.1. LA INFORMACIÓN Y SU ALMACENAMIENTO Un sistema de información consta de un conjunto de actividades que administran la información relevante en una entidad, generalmente, una empresa. Se encarga de la distribución de los datos según unos determinados requerimientos, del correcto reparto de la información entre sus usuarios y de su almacenamiento en soportes adecuados basados en ordenadores y en los avances de las telecomunicaciones. . 2.0.2. Estructura básica de almacenamiento: el archivo Para almacenar la información, ofrecen una estructura de datos de alto nivel llamada archivo que distribuye los datos en dispositivos externos de almacenamiento. Normalmente los archivos de datos están formados por un conjunto de registros de tipo lógico. Estos registros lógicos no son más que estructuras de datos constituidas por uno o más elementos llamados campos que constituyen una unidad para un determinado proceso. Cuando se necesita utilizar un archivo en un programa, se define el tipo de registro que lo formará y, posteriormente, lo utiliza según las operaciones que facilite sobre él el lenguaje de programación. Nombre del archivo: CLIENTES Nombre del registro: R-CLIEN Campo clave: NIF Formato del registro: Campo 1 2 3 4 Nombre NIF APELLIDOS NOMBRE NACIMIENTO Tipo de datos Alfanumérico Alfanumérico Alfanumérico Fecha Longitud 10 20 15 8

.............................................................................................................. Las características más importantes de los archivos son: Residen en soportes externos, por lo que su existencia no está limitada al tiempo de ejecución del programa que lo crea, sino que permanece cuando éste termina.  Los datos pueden transportarse de un ordenador a otro.  Tienen capacidad de almacenamiento ilimitada ya que, aunque un soporte tiene capacidad limitada, un archivo puede distribuirse en varios soportes.

Los archivos pueden clasificarse atendiendo a la función que realizan, se pueden dividir de la siguiente forma:

a) Permanentes. Sus registros varían poco en el tiempo. También se conocen con el nombre de archivos maestros.  Constantes. Su información permanece prácticamente invariada, utilizándose como archivos de consulta.  De situación. Reflejan el estado o situación actual de una empresa o entidad. Estos archivos se actualizan periódicamente para adaptarlos a una nueva situación. Son los “menos permanentes”.  Históricos. Se obtienen de los anteriores cuando éstos dejan de utilizarse, y sirven para hacer estudios futuros estadísticos o de consulta.
b) De movimientos. En ellos se almacena temporalmente la información que se utiliza para actualizar los archivos de situación. c) De maniobra. Son archivos temporales creados durante la ejecución de un programa y borrados habitualmente al terminar el mismo. Por ejemplo, archivos intermedios utilizados en procesos de ordenación. Las operaciones que pueden realizarse sobre un archivo son:
 Crear la estructura del archivo. CREATE, establece la estructura y posición del archivo en el dispositivo de almacenamiento.  Abrir un archivo creado para poder utilizarlo. Cuando el archivo ya existe, debe abrirse para trabajar con él, bien sea para consultarlo o para actualizarlo. OPEN.  Leer un registro de un archivo. Transfiere la información del registro actual al área de datos del programa que solicita la lectura. READ.  Escribir un registro en un archivo. Graba en el soporte de almacenamiento el contenido de un registro con los datos especificados en el área de datos del programa. WRITE.  Cerrar un archivo cuando ya no va a utilizarse. Esta operación es obligatoria antes de concluir un programa. Si un archivo queda abierto, se corre el riesgo de perder información. CLOSE actualiza la situación real del archivo y elimina de memoria la tabla mantenida por el sistema para agilizar las operaciones de acceso al archivo.  Eliminar un archivo. Cuando un archivo deja de tener validez, es conveniente borrarlo del dispositivo de almacenamiento para no desperdiciar espacio. DELETE.  Renombrar un archivo. RENAME permite cambiar el nombre a un archivo.  Copiar un archivo. Consiste en duplicar la información de un archivo en otro.

cambiar el nombre al nuevo por el del maestro. Este modo de acceso es consecuencia de que los primeros dispositivos de almacenamiento que eran soportes secuenciales (tarjetas perforadas. Es una operación de alto nivel que permite dar a un archivo organización indexada. 2. cintas perforadas y cintas magnéticas).3. hay que leer todos los que hay delante de él. Organizaciones físicas de archivo Existen cuatro tipos de organización física de un archivo: secuencial. lo que supone que si el archivo está ordenado.  En la actualidad se utilizan poco los archivos con organización secuencial.  Acceso directo. sobre todo. Entre sus inconvenientes:  Para acceder a un registro. Las operaciones de lectura o de escritura se hacen sobre el registro físicamente contiguo al último que se utilizó.  No se puede borrar un registro porque se generaría un hueco. . Existen básicamente tres modos de acceso:  Acceso secuencial. trasladar el maestro actualizado a uno nuevo y. los registros se almacenan uno detrás de otro. Modos de acceso a los registros de un archivo Independientemente de cómo estén organizados los datos en un archivo.  Indexar un archivo. Editar un archivo.0. El único modo permitido de acceso a los registros es el secuencial. indexada e invertida. ya que sólo está permitido añadir registros al final del archivo. 2. hay que reordenarlo. posteriormente.  Acceso por índice. que de media son la mitad de los registros del archivo. el cual se lee o escribe directamente.  Para actualizar un archivo es necesario un archivo de movimientos. Las ventajas de este método radican en que no desaprovechan espacio de almacenamiento y en la elevada eficiencia de recuperación de registros cuando el porcentaje de consultados es suficientemente grande. Se utiliza. sin dejar huecos y en el orden en que se van grabando. para los programas. Consiste en crear un índice ordenado con las claves del archivo. relativa. se busca secuencialmente la clave en el índice.0. Permite modificar el contenido de un archivo. Los registros pueden leerse y escribirse directamente en la posición física que ocupan en el archivo (tambores y discos magnéticos). en archivos de texto. Organización secuencial: Con este tipo de organización.4. que lleva asociada la dirección real del registro en el archivo. 1) No se puede insertar un registro en medio de otros dos. es importante la forma en que puede accederse a los registros. Para acceder a los registros. El acceso a los registros del archivo se hará a través de un archivo índice que estará ordenado por el campo que se indexó (clave).

Para el modo secuencial basta con utilizar una variable como contador de cubos e ir accediendo a los cubos cuya dirección coincida con la variable. el archivo de habitaciones de un hotel con un número fijo de habitaciones por planta y con el dígito del número de planta precediendo al número de habitación. El número así obtenido se multiplica por el factor de ajuste. Los cubos están numerados de 1 a n (ó de 0 a n-1). el número total de registros que puede contener el archivo es el número de cubos multiplicado por el número de registros que caben en cada cubo. 2. Cada posición se denomina cubo. A la A se le asociaría 1. por lo que hay que adaptarlo multiplicándolo por un factor de ajuste. por ejemplo. por ejemplo. un archivo de habitaciones de un hotel con clave el número de habitación. siendo n el número de cubos del archivo. El método consiste en restar a la clave la suma de todos los huecos anteriores. Para acceder directamente. De esta forma. siempre que se desea acceder a los datos de un registro. el acceso a los registros del mismo cubo se hace de forma secuencial.  De restas sucesivas. Cada cubo puede contener uno o varios registros. 2) Organización relativa: Un archivo con organización relativa es un conjunto de posiciones contiguas de memoria que tiene longitud fija. Existen multitud de algoritmos de conversión de claves como:  Direccionamiento directo. Todos los algoritmos transforman el valor de la clave en un valor numérico y en algunos. Se utiliza para claves numéricas consecutivas que contienen muchos huecos de valores conocidos previamente. en el que se almacenan los datos que aparecen anualmente en las guías. La dirección del cubo en el que se encuentra un registro se calcula por su campo clave. aplicando el algoritmo correspondiente. etc. Un ejemplo de archivo con organización secuencial puede ser el de abonados a una compañía telefónica. el número resultante no está en el rango de direcciones posibles. a la B. Una variante consiste en asignar el valor numérico ASCII correspondiente. Si los cubos tienen más de un registro. Es posible acceder a los registros en los modos secuencial y directo. Por tanto.Únicamente se aconseja esta organización para archivos históricos y constantes. El valor del campo clave se transforma en una de las direcciones lógicas válidas mediante un algoritmo de conversión. antes hay que convertir el valor de su campo clave. en el caso de un hotel con 10 plantas y 30 habitaciones por planta sería . Se denomina dirección lógica al número de cubo en el que se encuentra un registro y dirección física a la que realmente ocupa el registro en el soporte donde se almacena el archivo. Consiste asignar a cada dígito un valor numérico que se corresponde con su orden alfabético. Se utiliza cuando las claves tienen rangos de valores densos y cada valor tiene asociada una dirección en el archivo. Esta técnica se denomina hashing. Los valores de todos los dígitos que forman la clave se suman y el resultado se transforma en número octal. Así. se debe conocer la dirección que ocupa el registro en el archivo. El número de cubos que forman el archivo está predeterminado inicialmente. Dirección real = valor clave buscada – clave más pequeña + 1  Conversión binario-octal.

también se generarán muchos huecos. pero que esté muy cercano.. No es el mejor..... se corre el riesgo de dejar muchos huecos (número de direcciones – número primo).de la siguiente forma: Huecos: 999 Habitación: Huecos anteriores: Dirección asociada: 1 a 100.. 231 a 300. Se suman estos dos números y el resultado se .. los dígitos exteriores en ambos extremos se desplazan hacia dentro de modo que se trasladan y queden dos números del orden de magnitud del número de direcciones. • Una solución intermedia consiste en encontrar un número menor que el número de direcciones. se toma el resto de la división entera como dirección lógica del registro y se le suma 1 si se desea adaptarlo al rango de direcciones 1. multiplicar este valor por el número de direcciones disponibles y despreciar los decimales resultantes. porque si el número es divisible por números pequeños. las de la derecha e izquierda y tomar el mismo número de dígitos centrales como tenga el número de direcciones posibles como un valor decimal comprendido entre 0 y 1. las cifras extremas. que sea primo o no tenga divisores menores de 10. n. 131 a 200. generará demasiados sinónimos (se estudian más adelante). Consiste en eliminar del número obtenido al elevar la clave al cuadrado. • Direccionamiento por plegamiento. hay que multiplicar por un factor de ajuste. En este método. Si se elige el menor de los primos mayores. Para la elección del divisor existen varias opciones. y si el primo es bastante mayor que el número de direcciones. por ejemplo: Número de direcciones: Primo más cercano: Clave a transformar: Resto de 5431 entre 997: Dirección asociada: 1000 997 5431 446 446 • Direccionamiento por el centro del cuadrado. es decir.. A continuación. El concepto de hueco se estudia más adelante. • Elegir el número primo más cercano al número de direcciones físicas para minimizar el número de sinónimos. Si se elige el mayor de los primos menores que él. 931 a 411 100 + 3 plantas * 70 huecos/planta = 310 411-310 = 101  Direccionamiento por división: Se divide el valor del campo clave por un número fijo. entre las que destacan: • Elegir el número de direcciones más uno.

Sus inconvenientes son los siguientes: • Hay que hacer una estimación inicial del número de registros que podrá tener el archivo. En el ejemplo de direccionamiento por división los cubos 998. Organización indexada: La organización indexada nace para suplir las deficiencias de la secuencial (no hay acceso directo a los registros) y de la relativa (se accede directamente a los registros sólo por un campo). 999 y 1000 serán huecos. por consiguiente. seguramente. Las modificaciones se hacen directamente sobre el registro elegido. Su función es análoga al índice de un libro. • Todos los algoritmos. producen sinónimos. ya que no existe ningún valor en el rango del campo clave que. Gracias al acceso directo. excepto el de direccionamiento directo. El algoritmo que menos sinónimos genera es el de división. También puede ser necesario recuperar los registros en una secuencia distinta a la que ocupan físicamente. • Todos los algoritmos. Dos registros son sinónimos si. teniendo claves diferentes.multiplica por el factor de ajuste. En muchos casos conviene recuperar la información accediendo por campos que no son clave. facilitando la búsqueda. producen huecos. corriendo el riesgo de desperdiciar espacio o llenarlo pronto y. genere la dirección de dicho cubo. despreciando los decimales. tener que trasladarlo a otro archivo de mayor capacidad. el algoritmo les asigna la misma dirección. a la clave 4434 también le correspondería la dirección 446. • Se tiene que elegir un buen algoritmo de transformación de claves en direcciones. Las altas se realizan asignando al registro un cubo con algún registro vacío. desaprovechamiento de espacio) o creando un archivo adicional con organización secuencial o relativa exclusivamente para los sinónimos. En el ejemplo del algoritmo de direccionamiento por división. 3) . al aplicar el algoritmo. La principal ventaja de esta organización es la rapidez con que se pueden recuperar de forma aleatoria. Un hueco es un cubo que nunca será ocupado por ningún registro. se puede actualizar un archivo sin utilizar otro de movimientos. Este problema puede solucionarse dando capacidad de más de un registro a cada cubo y guardando todos los sinónimos de una dirección en su cubo (lo que implica. El archivo índice se mantiene ordenado por el campo de datos. Se denomina archivo índice a un archivo que contiene dos campos: uno con los valores del campo por el que se desea recuperar la información y otro con la dirección física (puntero) que ocupa el registro en el archivo de datos. excepto el de direccionamiento directo.

• De valor. En los índices de nivel mayor de uno se busca el primer elemento mayor o igual que el deseado. • Al actualizar el archivo de datos se debe reorganizar todos sus índices para mantener la coherencia. Se almacenan en una columna los nombres de las claves de acceso y en la otra un puntero con la dirección de la clave en el índice. Contiene las claves por las que se desea acceder. Contiene todos los valores distintos de los campos clave y un puntero con un conjunto de valores del archivo de datos que cumplen la condición de la clave. DATOS LECTORES Dirección Código 1 111 2 222 3 333 4 444 5 555 6 666 7 777 Nombre Juan Rosa Pedro Raúl Carlos Sofía Ana Sexo V M V V V M M Tipo Infantil Investigador Colaborador Infantil Normal Trabajador Infantil . complica los algoritmos de mantenimiento del índice. sin embargo. Apellidos + Nombre. Para un archivo de datos se crean dos índices: 4) • De nombre. • Los índices pueden ser varios niveles. Clave A B C D E F G H I J K L M N O P Q Puntero 7 1 8 10 9 2 11 3 5 4 6 12 15 13 14 17 16 Dirección 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Código 100 110 120 130 140 160 200 210 250 300 360 400 500 550 600 700 999 Nombre B F H J I K A C E D G L N O M Q P Organización invertida: Los sistemas de gestión de bases de datos utilizan accesos más complejos que los utilizados en sistemas de archivos. establecen organizaciones de archivos de alto nivel basadas en las anteriores. Por ello.• Un archivo de datos puede tener asociados tantos índices como sea necesario. • Puede utilizarse una combinación de campos para formar el campo de un índice. Una organización de alto nivel es la invertida. Este procedimiento facilita el acceso a los registros. por ejemplo.

etc. de tal forma que el acceso a un dato se hace pasando sobre todos los datos que le preceden en el soporte.4. b) Direccionables.7 2 5 6 Iván V Colaborador ÍNDICE VALOR Dirección Valor-clave 1 V 2 M 3 Colaborador 4 Infantil 5 Investigador 6 Normal 7 Trabajador ÍNDICE NOMBRE Nombre-Clave Puntero Sexo 1 Tipo 3 2. El espacio de almacenamiento se divide en espacios parciales direccionables individualmente. pudiendo acceder a un dato por la dirección en que está almacenado. sin que sea necesario pasar por los datos almacenados en direcciones físicas anteriores. los CD-ROM. Ejemplos pueden ser los disquetes.8 1. .5. los discos duros.7 3. Los datos se graban a continuación de otros.6 2. Gestión de archivos en soportes La gestión de archivos es una de las tareas principales de los sistemas operativos.3.0.6.0.5.4.8 888 Puntero 1.6. Existen dos tipos de soporte: a) Secuenciales. Criterios de selección de organizaciones físicas 2. El ejemplo clásico es la cinta magnética. El trabajo es distinto según el tipo de soporte que se utilice.

Se diferencian las estructuras lógicas y físicas.2. de la Figura 1. evitando aplicaciones aisladas. El concepto de relación cobra importancia. La descripción de la estructura lógica se separa de los lenguajes de programación. ¿Cuál es el correcto? . D3.. por ejemplo. En la Figura 1.1. Más aún. por lo cual tanto los lenguajes de programación como las estructuras de datos se centraban en realizar de manera más eficiente una tarea específica.se puede ver claramente como la tarea (tratamientos) es un elemento central en el diseño de las estructuras de datos que utiliza. Originalmente las aplicaciones que se desarrollaban en las organizaciones estaban orientadas a cubrir necesidades muy específicas de procesamiento.1. de manera que el usuario final solo se vincule con las estructuras lógicas.-Evolución: De los Sistemas Orientados a los Procesos a los Sistemas Orientados a los Datos Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar. si el dato D6 tiene un valor distinto en el archivo F4 al que tiene en el archivo F5.vemos que existen datos (D1. Por ejemplo si el tratamiento T5 no existiese.. de modo que se requiere de herramientas que permitan definirlas y almacenarlas. si profundizamos el análisis.esta situación resultaba claramente peligrosa por las inconsistencias que acarrea. ¿tendría sentido que exista el archivo F5?. D4 y D6) que residen en distintos archivos – siendo conceptualmente únicos.1. Se tiende a integrar las aplicaciones.

2. las bases de datos buscan resolver principalmente aquel problema. los datos se almacenan de modo que resulten independientes de los programas que los usan. evitar las inconsistencias que se producían por la utilización de los mismos datos lógicos desde distintas plataformas físicas (archivos) a través de procesos independientes. Definición 2: "Colección integrada y generalizada de datos. se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados". estructurada atendiendo a las relaciones naturales de modo que suministre todos los caminos de acceso necesarios a cada unidad de datos con objeto de poder atender todas las necesidades de los diferentes usuarios". su finalidad es servir a una o más aplicaciones de la mejor forma posible. Martin. los datos. Deen. 1985. Definición 1: "Colección de datos interrelacionados almacenados en conjunto sin redundancias perjudiciales o innecesarias. 2. con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real. Todas coinciden en que es un conjunto de datos almacenados en un soporte de acceso directo. Definición 3: "Colección de datos integrados. para después vincular aquellos con los procesos que los utilizan. Es en este análisis en que las Bases de Datos como una unidad tanto teórica como conceptual y física cobran importancia. Y el mecanismo sobre el cual esto se articula es el de disminuir la redundancia a través del establecimiento de relaciones entre los datos de una organización.-Concepto de Base de Datos La idea de base de datos surge como una necesidad de mantener datos relacionados. que . Los datos están interrelacionados y estructurados de acuerdo a un modelo que sea capaz de recoger el máximo contenido semántico. Las definiciones de base de datos son numerosas. 1975. El análisis entonces comienza por formular la lógica de los datos organizacionales como un todo.Así.

(recordar los sistemas tradicionales de archivos). deben mantenerse independientes de éstas. de manera que éstas se almacenan junto con los datos.2. seguridad y confidencialidad del conjunto de los datos". • • • • • . La independencia. incluidos en el SGBD. de los tratamientos sobre los datos y estos mismos. Definición 4: "Una base de datos consiste en alguna colección de datos persistentes e independientes usados por una organización determinada. 1995) 2.. Las redundancias físicas. también una definición y documentación completas (metadatos) se almacenan junto con los datos. pero si se admite cierta redundancia física por motivos de eficiencia. habrán de ser capaces de conservar la integridad. únicas para cada tipo de datos. y en algunos casos. de modo que éstos están documentados. actualmente se le está dando mucha importancia a las restricciones semánticas. La redundancia de datos debe ser controlada. es decir a múltiples usuarios y a diferentes aplicaciones (recordar los sistemas tradicionales de archivos). la descripción. A. sean tratadas por el mismo sistema. por ejemplo: • El mundo real considera interrelaciones entre datos y restricciones semánticas que deben estar presentes en una base de datos. comunes y bien determinados. sino que también debe almacenar interrelaciones entre datos. convenientes muchas veces a fin de responder a objetivos de eficiencia. y cualquier cambio que se produzca en la documentación debe quedar recogido en el sistema. La actualización y recuperación de las bases de datos debe realizarse mediante procesos bien determinados. de forma que no existan duplicidades perjudiciales ni innecesarias. Esto significa que en las bases de datos NO está permitida la redundancia lógica.Análisis del concepto de base de datos El concepto de Base de Datos determina algunas características que le son propias. ha tenido una enorme influencia en la arquitectura de los SGBD (recordar los sistemas tradicionales de archivos). de modo que no puedan producirse incoherencias. 1993. han de estar almacenadas junto con los mismos. Las bases de datos pretenden servir a toda la organización. seguridad y confidencialidad de la base. La definición y descripción del conjunto de datos contenido en la base debe ser única e integrada con los mismos datos. procedimientos que han de estar diseñados de modo que se mantenga la integridad. y su definición y descripción." (Date. En las bases de datos.han de ser compartidos por diferentes usuarios y aplicaciones. Por otro lado. tanto lógica como física. de Miguel. Los procedimientos de actualización y recuperación. Una base de datos no solo debe almacenar entidades y atributos (recordar los sistemas tradicionales de archivos).2.

dirección. sobre el cual se establecen los procesos que los utilizan.La independencia Dato-Proceso Una de las principales ventajas que provee una base de Datos es la independencia entre los datos y los tratamientos que se hacen de ellos. En otras palabras.2. siempre se puede obtener recurriendo a los registros de EMPLEADO correspondiente. en los cuales los datos eran sumamente dependientes de los programas al extremo que lenguajes como COBOL definían en su código la estructura de los archivos –esto lo podemos ver actualmente en C y Pascal. que la Base de Datos es integrada. Con lo anterior se crea un sustrato de datos modelando la organización. existir registros de INSCRIPCION que representan inscripciones de empleados en cursos de capacitación. Se establecen mecanismos de definición y de descripción que no requieren de procesos. 2. Tal comportamiento es en verdad consecuencia del hecho de que la Base de Datos es integrada. Compartida: Se entiende que partes individuales de la Base de Datos pueden compartirse entre varios usuarios distintos. En el caso del ejemplo anterior se tiene que los datos de los registros de EMPLEADOS son compartidos por usuarios del departamento de personal y capacitación. Donde la definición y mantenimiento de este sustrato es teóricamente independiente de los procedimientos de la organización y los procesos que apoyan su realización. diferentes usuarios percibirán de modos muy distintos una base de datos. en el sentido que cada uno de ellos puede tener acceso a la misma parte de la Base de Datos y utilizarla con propósitos diferentes.2. donde se elimina parcial o totalmente cualquier redundancia entre los mismos. A diferencia de los sistemas orientados al procesos. de hecho. no hay necesidad de incluir este dato (redundante) en los registro de INSCRIPCION. Supongamos que para llevar a cabo el proceso de administración de los cursos se necesita conocer el departamento de cada estudiante inscrito. una base de datos específica puede contener registros de EMPLEADO.4. etc.2. . y. salario. Desde luego.3. además. Lo anterior era válido para cualquier acceso a los datos de un conjunto de archivos..e. los subconjuntos de diferentes usuarios se procesarán de muy diversas maneras. se advierte en que cualquier usuario tendrá acceso sólo a algún subconjunto de la Base completa.Las características elementales de una Base de Datos El objetivo de disminuir la redundancia de un conjunto de datos determina dos características fundamentales que poseerá cualquier sistema de Bases de Datos: Integrada: se entiende que una base de datos puede considerarse como una unificación de varios archivos de datos independientes. esta declaración era sólo modificable en tiempo de edición quedando fija ya en tiempo de compilación. departamento. P. para que un proceso pueda utilizar un determinado dato que se encontraba almacenado en un archivo debía hacer la declaración completa de la estructura de este archivo. que incluyen el nombre.. Consecuencia del mismo hecho. Con ello la estructura de los datos de las tablas que los contienen son altamente dependiente de los procesos que los utilizan.

se eliminan las divergencias en los resultados. Mejor y más normalizada documentación: la mayoría de los SGBD Independencia de estos respecto de los tratamientos y viceversa Mejor disponibilidad de los mismos Mayor eficiencia en la recogida. Así se evita la reprogramación de las aplicaciones. cambios en la incorporación. pues éstos se comparten entre las aplicaciones. cambios en la estructura física o caminos de acceso no deben obligar a alterar los programas.2. Así. en donde el valor informativo del conjunto de datos es superior a la suma del valor informativo de los elementos individuales. Mejor disponibilidad de los datos para el conjunto de los usuarios: en una base de datos ningún usuario es propietario de los datos. desaparición de datos. por lo que los resultados de estos son coherentes y comparables. en todos los tratamientos se utilizan los mismos datos. Por otro lado.3. existiendo una mayor disponibilidad y transparencia. Es el punto de partida para la adaptación de los sistemas de información a la evolución de las organizaciones. • • • • . Mayor valor informativo: esto se refiere al concepto de sinergia. codificación y entrada Mayor coherencia Mayor valor informativo Mejor y más normalizada documentación de la información Acceso más rápido y sencillo de los usuarios finales Más facilidades para compartir los datos por el conjunto de los usuarios Mayor flexibilidad para atender a demandas cambiantes.-Ventajas de las bases de datos Una sistematización de las ventajas de las Bases de Datos bosquejadas e los puntos anteriores los podemos resumir en el siguiente cuadro: Cuadro resumen de las ventajas de las bases de datos Referidas a Los datos Ventajas • • • Los resultados • • • Los usuarios • • • Análisis cuadro anterior • Independencia de los datos respecto a los tratamientos y viceversa: esto supone que un cambio en los tratamientos no imponga un nuevo diseño lógico y/o físico de la base de datos. Coherencia de los resultados: debido a que la información de la base de datos se recoge y se almacena una sola vez.

proporcionan herramientas para reflejar el contenido semántico de los datos. etc.5.-Componentes de los Sistemas de bases de datos . SGBD comerciales. compiladores. los diccionarios. validación e ingreso de datos al sistema: al no existir redundancias. sobre todo en organizaciones grandes donde una base de datos se puede ver como la centralización del poder en manos de unos pocos. la disminución de redundancias y las técnicas de compactación hacen que disminuya el espacio en disco. sistemas operativos. Personal especializado: es clave la administración de la base de datos. es decir. Existe también una resistencia al cambio. los datos se capturan y validan una sola vez aumentando el rendimiento del proceso previo al almacenamiento Reducción del espacio de almacenamiento: por un lado.4. computadores más poderosos. Desfase entre teoría y práctica: muchos ejecutivos asumen que ciertas funcionalidades son ya un hecho. Sin embargo. • Mayor eficiencia en la captura. generalmente los encargados de su administración. sobre todo que este involucra a toda la organización. El siguiente cuadro resume algunas de aquellas. punteros. referencias. incluyen una descripción de los datos dentro del sistema. cuando en realidad son estudios teóricos. En el éxito de esto el papel mediador de los profesionales de informática es fundamental. 2. Cuadro resumen de las desventajas de las bases de datos Relativas a La implantación Desventajas • • Costosa en equipos (lógico y físico) Ausencia de estándares (Antes) Larga y difícil puesta en marcha Rentabilidad a mediano plazo Personal especializado Desfase entre teoría y práctica • • Los usuarios • • Análisis del cuadro anterior Instalación costosa: equipos: nuevas instalaciones o ampliaciones. • 2.-Desventajas de las bases de datos Las desventajas de una base de datos no las podemos dejar de mencionar. listas invertidas también ocupan espacio. se requiere de conocimientos específicos.

etc. etc.. Programas de aplicación Un conjunto de usuarios (finales. sobre un Esquema Interno que es la formalización de esto. DBMS) o motor. de interfaces. DBA. etc. la Vista Interna es de un nivel muy bajo y corresponde al almacenamiento físico de los datos de la Base.Un sistema de bases de datos contempla los siguientes componentes: • • • • • • La base de datos El Sistema de Gestión de Bases de Datos (SGBD. etc. Las correspondencias se pueden definir como una asociación de distintas representaciones para un mismo dato. en la cual se detallan los principales componentes de ella además de las relaciones entre ellos y la base de datos lógica. e.3.) En la Figura 1. programadores de aplicaciones.d. Veamos una descripción simple de aquellos elementos: Una Vista Externa es una visión particular de un usuario o un grupo de usuarios de la Base de Datos. de administración. La Vista Conceptual pretende ser la representación total y abstracta de los datos que componen la Base. la formalización de esta se logra mediante el Esquema Conceptual.se puede observar un esquema general del la arquitectura de una base de datos. Por último. . herramientas de desarrollo. El Esquema Externo representa una forma de definición o formalización de esta vista externa. índices. tal como Oracle.) Máquinas Programas utilitarios (generadores de informes. tipos de registros almacenados. Sybase.

DBMS es la sigla en inglés de Sistema de Administración de Bases de Datos. e. cada solicitud de acceso de un usuario al SABD es interpretada e inspeccionadas las correspondencias. que corresponde al Software que maneja todos los accesos a la Base de Datos. de los datos necesarios y la formalización de los distintos esquemas externos. Puede haber distintos tipos de DSL para un mismo sistema. La interfaz con el Usuario es el límite de acceso que tiene un Usuario común a la Base. Luego se define el contenido de la Base de Datos generando un Modelo Conceptual.d. el Administrador de Bases de Datos (DBA) corresponde a la persona o grupo de personas encargada del control general del sistema.d. básicamente. y es la que contiene información acerca de una empresa determinada.. atendiendo a las necesidades de los usuarios en los tres niveles.e. Conocido como afinamiento o Tunning • • • • • 2. Controles de desempeño y responder a los cambios de requerimiento: la idea aquí es lograr un desempeño aceptable. una respuesta coherente a las necesidades de la pregunta. a continuación. Definir los controles de autorización y procedimientos de validación: involucra la definición de restricciones de seguridad y protección para la conservación de la integridad de los Datos. . C. su objetivo es la operación exitosa del sistema. La base de datos es un depósito único de datos para toda la organización. La colección de datos es la base de datos. por lo que debe ser capaz de integrar los distintos sistemas y aplicaciones. COBOL.Un DSL es un sublenguaje de datos.6.. el DSL provee herramientas a los lenguajes tradicionales para que se integren al Sistema de Base de Datos. FORTRAN. Por último.El sistema de Gestión de Bases de Datos (SGBD o DBMS) Un sistema de gestión de bases de datos consiste de una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos.). generando. Definir una estrategia de respaldo y recuperación: esto corresponde a un esquema de seguridad más amplio que lo anterior y. e. Decidir la estructura de almacenamiento y la estrategia de acceso: esto es decidir como deben representarse los datos en forma interna y hacer la correspondencia entre estos y el modelo conceptual ya definido. en la Base. según expectativas. táctico y estratégico. Toda organización puede verse en tres niveles de gestión: operacional. etc. El objetivo principal de un SGBD es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar información en la base de datos. es una combinación de dos lenguajes: un lenguaje de definición de datos (DDL) y un lenguaje de manipulación de Datos (DML). todo lo que está bajo este límite es transparente (desconocido) para él. Este lenguaje representa un nexo entre el Sistema de Base de Datos y algún lenguaje anfitrión (p. del Sistema mediante mecanismos de control. Sus responsabilidades o funciones incluyen: • Decidir el contenido de la Base de Datos: comprende la identificación de entidades de interés para la organización y los datos a registrar de éstas entidades. Vincularse con los usuarios: comprende toda una labor de prestación de servicios que busca garantizar la existencia.

lenguajes. autorizaciones de acceso. que suministra. su identificación. procedimientos. El SGBD también debe proporcionar a los otros usuarios (analistas. etc. alfanumérico.) Caminos de acceso como punteros e índices. Funciones del SGBD De Descripción o Definición Debe permitir al administrador de la base especificar los datos que la integran. restricciones de integridad. etc. así como las características de tipo físico y las vistas lógicas de los usuarios. los controles a efectuar antes de autorizar el acceso a la base. etc. A nivel interno se define: • • • • Espacio reservado para la base(volúmenes. decimal. propio del SGBD. la función de descripción proporciona los instrumentos para la definición de entidades. interrelaciones entre ellas. A nivel externo y conceptual. los medios necesarios para describir.. Esta función la realiza el lenguaje de definición de datos (LDD). cilindros y pistas) Longitud de los campos Modo de representación de los datos (binario. las reglas de integridad semántica. administradores) las correspondientes herramientas que les permitan un adecuado desarrollo de sus funciones. nivel lógico global o conceptual y nivel interno). atributos.El objetivo del SGBD es suministrar la interfaz entre el conjunto de los datos y dichos usuarios. Definición del SGBD El SGBD es un conjunto coordinado de programas. . tanto a usuarios no informáticos como a los analistas. manteniendo su integridad. su estructura y las relaciones que existen entre ellos. programadores. y debe ser capaz de definir las estructuras de datos a los tres niveles (nivel externo. etc. confidencialidad y seguridad. recuperar y manipular los datos almacenados en la base. programadores o al administrador.

hace necesario contar con diferentes lenguajes y procedimientos que permitan la comunicación con la base de datos. que posee todas las instrucciones necesarias para llevar a cabo estas tareas. . etc. Casi la totalidad de los SGBD disponen de lenguajes de 4ta generación. C). Algunas de estas funciones de servicio son: • • • cambiar capacidades de los archivos obtener estadísticas de utilización respaldos copias de seguridad cargar y descarga de la base seguridad. Lenguajes de manipulación de datos Para cumplir los objetivos asignados a la función de manipulación. mediante un conjunto de instrucciones (lenguaje huésped) que son admitidas por un lenguaje de programación (lenguaje anfitrión). sin necesidad de apoyarse en otro lenguaje se llaman autocontenidos. tendremos lenguajes de definición y lenguajes de manipulación. extraer y manipular los datos en algún lenguaje de programación. Los usuarios informáticos. Los lenguajes que por si mismos pueden actuar con la base de datos. Esto se realiza mediante el lenguaje de manipulación de datos (LMD). analistas y programadores requerirán medios poderosos por los cuales podrán definir. se ha de contar con lenguajes que den a los usuarios la posibilidad de referirse a determinados conjuntos de datos que cumplan ciertas condiciones (criterio de selección).De Manipulación Permite a los usuarios de la base (todos) buscar. de acuerdo a las especificaciones y normas de seguridad dadas por el administrador. A este lenguaje se le llama lenguaje anfitrión (por ejemplo. o bien. • • Lenguajes de los SGBD Las distintas funciones que cumple un SGBD. Por tipo de función. como el DBA. mediante un lenguaje auto contenido. eliminar o modificar los datos de la base. De Utilización Reúne todas las interfaces que necesitan los diferentes tipos de usuarios para comunicarse con la base y proporciona un conjunto de procedimientos para el administrador. que se caracterizan por ser poco procedimentales y el acceso a la base de datos se realiza mediante sentencias embebidas en el lenguaje de 4ta generación y escritas en SQL (SGBD relacionales).

El almacenamiento de los datos. es decir. con lo que se consigue: • • Los datos se presentarán de formas distintas. como SQL. Por otro lado. Este objetivo. Aquí basta con decir qué se quiere. es decir. que recuperan o actualizan datos registro a registro. Otros lenguajes actúan sobre un conjunto de registros. se tienen k especificar las operaciones.7. Los otros dos niveles corresponden al nivel de máquina o interno y al nivel de usuario o externo.. Este concepto de independencia implica la separación entre el almacenamiento y la organización lógica de los datos. (NO hace falta otro lenguaje para hablar con la base de datos) Los LMD pueden ser procedimentales o no procedimentales. . tal como el SQL. según las necesidades de los usuarios. El no procedimental es aquel en el que no tengo k elegir un procedimiento. En los procedimentales. puede actuar como huésped o autocontenido.Distintos niveles de abstracción en una base de datos y arquitectura ANSI/X3/SPARC Uno de los principales objetivos de las bases de datos es conseguir la independencia entre las estructuras lógica y física de los datos. que puedes pedir un dato Los lenguajes orientados al usuario final deben ser lo menos procedurales posible. para obtener ciertos resultados. 2. los cambios en la estructura de los datos tendrán una repercusión mínima en los programas de aplicación y viceversa. su estructura lógica y los programas de aplicación serán independientes unos de otros. que tiene como consecuencia la independencia entre datos y aplicaciones. Así. esquema. de forma que una única sentencia puede dar lugar a la recuperación o actualización del conjunto de registros que cumpla el criterio de selección especificado. los LMD pueden ser navegacionales. En las bases de datos aparece un nuevo nivel de abstracción llamado nivel conceptual. ha tenido gran influencia en la arquitectura de los SGBD. sin explicar cómo obtenerlo. Esta estructura intermedia es una representación global de los datos independiente de equipos y los usuarios (visión de la empresa). si necesitamos especificar con detalle el acceso a la base tendremos un lenguaje procedimental. estructura lógica global.El SQL como lenguaje de manipulación de datos tiene la propiedad dual.

si por el contrario se pueden separar con facilidad son débilmente acoplados. Esta distinción entre lenguaje anfitrión y lenguaje embebido es transparente para el usuario. se dice que son fuertemente acoplados. 2. derecho a borrar o insertar determinados datos. 2.1. Habrá tantos esquemas externos como exijan las diferentes aplicaciones y un mismo esquema externo puede ser utilizado por varias aplicaciones. tal como COBOL por ejemplo. Los usuarios pueden ser programadores de aplicaciones o usuarios finales.Esquema o Estructura Lógico Global / Nivel conceptual / Esquema canónico. Los usuarios programadores de aplicaciones tendrán lenguajes de programación convencionales o algún lenguaje propio de 4ta generación. Si ambos lenguajes son difícilmente separables. Actualmente la mayoría de los sistemas son débilmente acoplados. El SQL (Structured Query Language) es usado en casi todos los sistemas relacionales actuales. Este nivel se ocupa de las vistas individuales de los usuarios. La estructura física o esquema interno es la forma como se organizan los datos en el medio de almacenamiento físico.La estructura lógica de usuario o esquema externo (nivel usuario) es la visión que tiene de la base de datos cada usuario en particular.2. . La estructura lógica global o esquema responde al enfoque del conjunto de la empresa (visión del administrador). manejado por ejemplo por menús o formularios. Estos usuarios disponen de un lenguaje. En casi todos los sistemas el SQL puede utilizarse como lenguaje interactivo o de consulta o bien embebido en otros lenguajes.7. Recordar lo visto anteriormente en los lenguajes de un SGBD..Esquema Externo / Nivel Externo En él deberán encontrarse reflejados solo aquellos datos e interrelaciones que necesite un usuario en particular.. También deben especificarse las restricciones de uso.7. que para los usuarios finales será un lenguaje de consulta o algún lenguaje de aplicación especial. como por ejemplo.

existen elementos comunes que son: • Estrategia de almacenamiento: Asignar espacios de almacenamiento para los datos. Dependiendo del SGBD podrá definir punteros entre registros. Este nivel se define mediante un esquema conceptual. secuencia de registros. deberá incluir la descripción de todos los datos e interrelaciones entre éstos. También debe considerarse como se tratan los desbordes. Por ser la visión general de los datos. privilegiando ciertos caminos de acceso. secundarias. agrupamientos. Camino de acceso: Se incluye la especificación de claves primarias. de páginas asignadas a cada área de almacenamiento. Técnicas de compresión de datos Técnicas de criptografía Correspondencia conceptual/interna: especifica como se representan los registros y campos conceptuales en el nivel interno.3. las definiciones en DDL conceptual no deberán implicar consideraciones de estructura de almacenamiento. restricciones de integridad y confidencialidad. Es tarea del DBA controlar tales modificaciones. Si se altera la definición de la estructura de almacenamiento. Estructura funcional de un SGBD. 2.8. Sin embargo. También se especifica la estrategia de emplazamiento de los datos que ha sido utilizada para optimizar tiempo y espacio de memoria secundaria. Para escribirlo se utiliza un DDL conceptual. • • • • • • • • 2. El paso del mundo real al esquema conceptual corresponde a un proceso de modelado. Organizaciones físicas: para mejorar la recuperación y los tiempos de acceso. indexación. . tamaño de los buffers de E/S. nº. así como relaciones existentes entre los distintos espacios de almacenamiento. el sistema debe dar facilidades al DBA para definir hashing. en el esquema conceptual no debe haber representaciones de campos almacenados. etc.7. índices. claves de ordenación. En este punto es donde se utilizan los modelos conceptuales. etc. etc. Por lo tanto.. Es importante señalar que para que exista independencia de los datos. la correspondencia conceptual/interna deberá modificarse también para que no varíe el esquema conceptual. Técnicas de Tunning y optimización Dispositivos de memoria: tamaño de la página.Esquema interno/ Nivel Interno Este esquema es dependiente del SGBD. Control de acceso: reglas para proteger la confidencialidad y seguridad de la base de datos. deben ser definiciones de contenidos de información.Tiene por objetivo describir en términos abstractos pero con absoluta fidelidad una cierta realidad de una organización y de su proceso de gestión.

• Gestor de memoria intermedia. • Diccionario de datos. se debería poner . • Precompilador del DML embebido. El gestor de almacenamiento incluye: • Gestor de autorización e integridad. se necesitan varias estructuras de datos como parte de la implementación física del sistema: • Archivos de datos. El diccionario de datos se usa mucho. Algunas de estas funciones del sistema de bases de datos las puede proporcionar el sistema operativo de la computadora. que convierte las instrucciones del DML embebidas en un programa de aplicación en llamadas a procedimientos normales en el lenguaje anfitrión. los sistemas operativos de la computadora proporcionan sólo los servicios más básicos y los sistemas de bases de datos deben construirse sobre esta base. encontrando así una buena estrategia para ejecutar la consulta. y que las ejecuciones de transacciones concurrentes ocurran sin conflictos. que asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema. • Intérprete del DDL (Data Definition Language). en componentes de procesamiento de consultas y componentes de gestión y almacenamiento. El precompilador debe interactuar con el compilador del DML para generar el código apropiado. que ejecuta las instrucciones a bajo nivel generadas por el compilador de DML. que traduce las instrucciones del DML en lenguaje de consultas a instrucciones a bajo nivel que entiende el motor de evaluación de consultas. Los componentes funcionales de un sistema de base de datos se pueden dividir. que comprueba que se satisfagan las ligaduras de integridad y la autorización de los usuarios para acceder a los datos. que es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en la memoria caché. el diseño de un sistema de bases de datos debe incluir consideraciones de la interfaz entre el sistema de base de datos y el sistema operativo. En la mayoría de los casos. Además. • Motor de evaluación de consultas. el compilador del DML intenta transformar las peticiones del usuario en otras equivalentes pero más eficientes. a grandes rasgos. que interpreta las instrucciones del DDL y las registra en un conjunto de tablas que contienen metadatos. que almacenan la base de datos en sí.Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. que almacena metadatos acerca de la estructura de la base de datos. que gestiona la reserva de espacio de almacenamiento en disco y las estructuras de datos usadas para representar la información almacenada en disco. Por lo tanto. Así. Además. • Gestor de transacciones. • Gestor de archivos. Los componentes de gestión de almacenamiento proporcionan la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y envío de consultas al sistema. Los componentes de procesamiento de consultas incluyen: • Compilador de DML (Data Manipulation Language).

que almacenan información estadística sobre los datos en la base de datos. • Índices. En la siguiente figura se muestra una estructura completa de un SGBD con sus componentes y las relaciones que existen entre ellos: Diccionario de datos: Metadatos.especial énfasis en el desarrollo de un buen diseño e implementación eficiente del diccionario. que proporcionan acceso rápido a elementos de datos que tienen valores particulares. o Datos de Datos . El procesador de consultas usa esta información para seleccionar las formas eficientes para ejecutar una consulta. • Datos estadísticos.

Información guardada en ficheros intenta reflejar el mundo real Las BDD daban una vision global de los datos y demas. manipulen y controlen El GBD tiene k permitir trabajar con aplicaciones o programas k tienen lenguajes embebidos . mostrando solo los datos necesarios a kien los necesita. es fundamental k los datos este en un soporte Fundamental k los SGBD tengan lenguajes k permitan definir estructura. dando tambien seguridad Los accesos a ficheros.