Está en la página 1de 9

Los Sistemas de Gestión de Base de Datos

El Sistema de Información de una Empresa o de cualquier Organización es un


sistema más al servicio de ésta y de sus objetivos, en ningún caso
independiente de su estrategia y, como algunos autores afirman, resulta ser
parte de su Infraestructura, ya que hoy no se considera
Concepto de Almacenamiento estructurado
El Sistema de Información de una Empresa o de cualquier Organización es un
sistema más al servicio de ésta y de sus objetivos, en ningún caso
independiente de su estrategia y, como algunos autores afirman, resulta ser
parte de su Infraestructura, ya que hoy no se considera
perteneciente a ninguna unidad organizativa ni actividad determinada sino
interdependiente con los demás sistemas componentes de la organización
El Sistema de Información de una organización ya no es algo vinculado a un
departamento aislado, sino que es parte de la infraestructura de la
organización. Tal es la importancia de un Sistema de Información, y de los
datos gestionados por éste, que se estima que de las empresas que tienen una
pérdida principal de registros automatizados el 43 % nunca vuelve a abrir, el
51 % cierra en menos de dos años, y sólo el 6 % sobrevivirá el largo plazo [1]
Una de las aportaciones más relevantes que ha supuesto la informática para
los Sistemas de Información es el concepto de Base de Datos (B.D.); al menos
por las siguientes razones:
1. Incorpora una visión global del conjunto de datos de una organización en
cuyo diseño todos sus departamentos deben estar de acuerdo.
2. Estructura el S.I. alrededor de la B.D. considerada como Núcleo del
Sistema.
En los últimos años la evolución de los S.I. ha sido realmente notable,
haciéndose cada vez mayores las exigencias de prestaciones de información
almacenada en el Sistema, lo que ha supuesto un avance continuado de la
tecnología de las B.D. y un fuerte impacto económico sobre las organizaciones
que han aplicado estas tecnologías.
Evolución de la gestión de los datos
Datos dependientes de las aplicaciones (hardcode). Datos de
acceso no estandarizado de forma procedimental (ficheros).
En los comienzos de la historia de la informática los datos estaban integrados
en los programas como constantes (práctica que habitualmente se conoce
como "hardcode", o parámetro incluído en código y por tanto no configurable).
Con la aparición de los ficheros como colección de datos homogénea, es decir,
integrados por elementos estructurados de la misma manera, en el que cada
elemento contiene el mismo tipo de información y almacenada en soporte
informático determinado, se diferencian de manera incipiente la estructura
lógica que representa el punto de vista del usuario y la estructura física de los
datos (en general cinta magnética y por lo tanto organización secuencial de los
datos).
Posteriormente, la definición de ficheros independientes del resto del programa
podrá llevarse a cabo por medio del lenguaje de programación. De esta
manera, se facilita el acceso y actualización de los ficheros, y se evita la
programación de muchas tareas repetitivas. Como consecuencia de la aparición
de subsistemas de gestión de datos integrados en los sistemas operativos las
estructuras lógica y física se empiezan a diferenciar.
El nivel de diferenciación entre las estructuras lógica y física alcanzado hasta
este momento no es suficiente para evitar la dependencia casi total de los
datos respecto a los programas y viceversa, y de ambos respecto a la
máquina. Si un programa guardaba la información manejada en ficheros
(binarios o de texto), el formato del fichero no estaba estandarizado, ni por
tanto la forma de acceso a los datos almacenados en el fichero. En
consecuencia, cada programa usaba sus propios formatos, y el acceso a los
datos estaba fuertemente relacionado con la aplicación (que es la que daba
estructura al fichero).
Con el fin de atenuar estas dependencias (entre datos y aplicaciones) se pasa
a una arquitectura que diferencia claramente la representación de los datos
orientados hacia el problema (estructura lógica de los datos) de la
representación orientada hacia la máquina (estructura física de los datos),
siendo necesaria una transformación (mapping) de una en otra.
Aparición de las Bases de Datos. Arquitectura a dos niveles.
En la década de los 60 nacen los primeros S.G.B.D. Los sistemas dejan de
estar orientados al proceso o tratamiento y se orientan hacia las B.D. Los datos
y sus interrelaciones se integran en las B.D. y se aíslan de las aplicaciones. La
estructura lógica se hace más flexible y sencilla y la estructura física se
complica buscando mejorar el rendimiento.
Los S.G.B.D. facilitan la descripción y el almacenamiento de las interrelaciones
permitidas, que a su vez caracterizan los distintos Modelos de Datos
Jerárquico, red, relacionar.
El tipo de Arquitectura de los primeros S.G.B.D. era a dos niveles:
1. Estructura Global (características lógicas y físicas): Esquema
2. Vistas Lógicas Externas de los usuarios: Subesquemas
Aparición de la arquitectura de 3 niveles de ANSI.
En la arquitectura de dos niveles se introdujo un nivel de abstracción más,
pasándose a una arquitectura de tres niveles, en busca de conseguir la
independencia lógica y física de los datos.
Más adelante veremos los detalles de la arquitectura de 3 niveles de ANSI/
SPARC/X3.
Sistemas de Gestión de Base de Datos (SGBD)
Las B.D. Requieren básica y fundamentalmente un Software de Gestión que
facilite las operaciones y las interfaces con los usuarios. Este software es el
Sistema de Gestión de Bases de Datos (S.G.B.D.)
Algunas definiciones de SGBD.
"EL S.G.B.D. es un conjunto coordinado de programas, procedimientos,
lenguajes… que suministra, tanto a los usuarios no informáticos, como a los
analistas programadores, o al administrador, los medios necesarios para
describir y manipular los datos integrados en la base, manteniendo su
integridad, confidencialidad y seguridad." [2]
"Colección de datos correspondientes a las diferentes perspectivas de un
sistema de información (de una empresa o institución), existentes en algún
soporte de tipo físico (normalmente de acceso directo), agrupados en una
organización integrada y centralizada en la que figuran no sólo los datos en sí,
sino también las relaciones existentes entre ellos, y de forma que se minimiza
la redundancia y se maximiza la independencia de los datos de las aplicaciones
que los requieren." [3]
"Una base de datos es una colección de datos estructurados según un modelo
que refleje las relaciones y restricciones existentes en el mundo real. Los
datos, que han de ser compartidos por diferentes usuarios y aplicaciones,
deben mantenerse independientes de éstas, y su definición y descripción han
de ser únicas estando almacenadas junto a los mismos. Por último, los
tratamientos que sufran estos datos tendrán que conservar la integridad y
seguridad de éstos." [4]
Este software capaz de soportar B.D. proporciona facilidades para definir
Esquemas Conceptuales a través del llamado DDL (Data Definition Language,
Lenguaje de Definición de Datos) y además suministra operaciones para
consultar y actualizar (altas, bajas y modificaciones) la información residente
en la B.D. A este segundo tipo de lenguaje se le conoce por DML (Data Manage
Language: Lenguaje de Manipulación de Datos).
Arquitectura de referencia que debe tener un SGBD según ANSI
La arquitectura de los S.G.B.D. quedó establecida en 1975. El Comité ANSI/X3/
SPARC (grupo de estudio del Standards Planning and Requirementes
Committee del Organismo Estadounidense de Normalización - American
National Standards Institute -) viene ocupándose desde principios de los años
70 de la normalización de los SGBD. Después de una serie de informes
parciales, publica en 1975 un informe provisional ANSI (1975), donde propone
la arquitectura a 3 niveles. Un informe posterior ANSI (1977) revisa y detalla
esta arquitectura. Prosiguen los trabajos y en Mayo de 1985 aparece un nuevo
informe del DAFTG (Database Architecture Framework TaskGroup) subgrupo
del DBSSG (Database System Study Group) en donde se presenta el Modelo de
Referencia para la estandarización de los SGBD (ANSI-1986)
Características que debe tener un SGBD
En general todos los SGBD presentan unas características comunes. Estas
fueron ya definidas por Codd y posteriormente revisadas en función de las
nuevas necesidades detectadas con la generalización del uso de las bases de
datos. Idealmente, el SGBD debe poseer una serie de características
indispensables para satisfacer a los usuarios, tales como:
• Mantener la independencia entre los programas y la estructura de la base
de datos. Así se simplifica el mantenimiento de las aplicaciones que
acceden a la base de datos. Aunque esta independencia nunca es
absoluta, los SGBD, principalmente los relacionales, van respondiendo
cada vez mejor a esta exigencia.
• Asegurar la coherencia de los datos. En lo posible, no debe existir
redundancia de datos, los datos deben estar almacenados una sola vez
en la base de datos.
• Permitir a los usuarios almacenar datos, acceder a ellos y actualizarlos.
Además, el SGBD debe hacerlo de forma transparente al usuario,
ocultando la estructura física interna de los datos y la forma de
almacenarlos.
• Contener un catálogo accesible por los usuarios en el que se almacenen
las descripciones de los datos de forma centralizada. Este catálogo se
denomina diccionario de datos y permite identificar y eliminar las
redundancias y las inconsistencias.
• Garantizar que todas las actualizaciones correspondientes a una
determinada transacción se realicen, o que no se realice ninguna. Una
transacción es un conjunto de acciones que cambian el contenido de la
base de datos. Si la transacción falla durante su realización, la base de
datos quedará en un estado inconsistente. Algunos de los cambios se
habrán hecho y otros no, por lo tanto, los cambios realizados deberán
ser deshechos para devolver la base de datos a un estado consistente.
Esta característica se denomina atomicidad.
• Permitir que varios usuarios tengan acceso al mismo tiempo a los datos.
Cuando dos o más usuarios acceden a la base de datos y al menos uno
de ellos está actualizando datos, el SGBD deberá gestionar el acceso
concurrente, impidiendo que haya datos corruptos o inconsistentes. Aquí
el SGBD puede permitir la simultaneidad de accesos mediante el manejo
eficiente de los bloqueos de la bases de datos.
• Garantizar la recuperación de la base de datos en caso de que algún
suceso la dañe. El fallo puede ser debido a una avería en algún
dispositivo hardware o un error del software, que hagan que el SGBD
aborte, o puede ser debido a que el usuario detecte un error durante la
transacción y la aborte antes de que finalice. En todos estos casos, el
SGBD debe proporcionar un mecanismo capaz de recuperar la base de
datos llevándola a un estado consistente.
• Garantizar la seguridad de la base de datos. Esto es, sólo los usuarios
autorizados pueden acceder a la base de datos, permitiendo diferentes
niveles de acceso. La protección debe ser contra accesos no autorizados,
tanto intencionados como accidentales.
• Garantizar la integridad de la base de datos. Esto requiere la validez y
consistencia de los datos almacenados. Normalmente se expresa
mediante restricciones, que son una serie de reglas que la base de datos
no puede violar.
• Mantener la disponibilidad continua. La base de datos debe estar siempre
disponible para su acceso. El SGBD debe proporcionar utilidades de
administración, mantenimiento y gestión que puedan realizarse sin
detener el funcionamiento de la base de datos.
• Proporcionar herramientas de administración de la base de datos. Estas
herramientas permiten entre otras funcionalidades: importar y exportar
datos, monitorizar el funcionamiento y obtener estadísticas de utilización
de la base de datos, reorganizar índices y optimizar el espacio liberado
para reutilizarlo.
• Integrarse con algún software gestor de comunicaciones. Muchos
usuarios acceden a la base de datos desde terminales remotos, por lo
que la comunicación con la máquina que alberga al SGBD se debe hacer
a través de una red. Todas estas transmisiones de mensajes las maneja
el gestor de comunicaciones de datos. Aunque este gestor no forma
parte del SGBD, es necesario que el SGBD se pueda integrar con él.
• Garantizar la escalabilidad y elevada capacidad de proceso. El SGBD
debe aprovechar todos los recursos de máquina disponibles en cada
momento, aumentado su capacidad de proceso, conforme disponga de
más recursos.
• Poseer un lenguaje de definición de datos que permita fácilmente la
creación de nuevas bases de datos, así como la modificación de su
estructura.
• Poseer un lenguaje de manipulación de datos, que permita la inserción,
eliminación, modificación y consulta de los datos de la base, de la forma
más eficiente y conveniente posible.
• Permitir el almacenamiento de enormes cantidades de datos (miles de
millones de caracteres), sin que el usuario perciba una degradación en
cuanto al rendimiento global del sistema. Para ello el SGBD debe utilizar:
índices, partición de tablas, etc.
La forma en que las distintas bases de datos comerciales y académicas
abordan estas características difieren enormemente, no sólo por las técnicas
utilizadas sino también por las aproximaciones o paradigmas con que se han
desarrollado.
Ventajas de las Bases de Datos
El uso de las B.D. ha crecido vertiginosamente debido a las ventajas que
presentan:
• En relación con los datos:
◦ Independencia de éstos respecto a los tratamientos y viceversa
◦ Disminución de las redundancias
◦ Mayor disponibilidad de los mismos
◦ Protección de los datos
◦ Mayor eficiencia en la recogida, codificación y entrada en el
sistema
• En relación con los resultados:
◦ Mayor coherencia
◦ Mayor valor informativo
◦ Mayor eficiencia
◦ Mejor y más normalizada documentación de la información
• En relación con los usuarios:
◦ Acceso más rápido y sencillo de los usuarios finales
◦ Facilidades para compartir los datos
Una de las principales ventajas de implantar un Sistema de Gestion de Base de
Datos en una organización radica en que se independizan los datos, que
residen en el gestor de base de datos, de las aplicaciones que hacen
tratamiento de ellos. Los beneficios de esto son muchos: la lógica de las
aplicaciones no se ocupa de cómo se debe acceder a los datos, ni de la forma
en que estos se han almacenado (de esto se ocupa el gestor, que se
especializa en todas las peculiaridades del acceso y modificación de datos), los
datos residen en la base datos, pudiendo ser accedidos desde diferentes
sistemas, o pudiendose migrar la aplicación sin problemas.
La arquitectura de tres niveles y el modelo de referencia
de ANSI/X3/SPARC.
La arquitectura ANSI-SPARC es un diseño abstracto para la elaboración de
estándares en materia de SGBD, cuyos primeros trabajos datan del año 1975.
La mayoría de SGBD comerciales actuales están basados en mayor o menor
medida en este modelo (pese a que nunca se ha convertido en un estándar
formal de iure, siendo por tanto un estándar de facto).
La principal innovación introducida por el modelo ANSI-SPARC consiste en
introducir el concepto de independencia de los datos. La introducción de
tres capas de abstracción (esquema externo o vistas de usuarios, esquema
conceptual o lógico y esquema físico o interno) permite que se pueda modificar
una de las capas sin que se vea afectado el resto (y por tanto, aumentando la
flexibilidad de las aplicaciones).
Más información sobre la Arquitectura de 3 niveles de ANSI/X3/SPARC
Modelos de datos y Sistemas de Gestión de Bases de
Datos.
El concepto de modelo de datos es un concepto que trasciende el ámbito de los
Sistemas de Gestión de Base de Datos, pero que tiene una aplicación directa
para los SGBD, y juega un papel esencial dentro del Modelo de Referencia de
ANSI. Existen múltiples definiciones del concepto modelo de datos:
"Un modelo de datos, en el campo de la ingeniería del software, es un modelo
abstracto que describe cómo se representan los datos y cómo se accede a
ellos. Los modelos de datos definen, de un modo formal, elementos de datos y
sus interrelaciones, para un determinado dominio objeto del problema
(universo del discurso). Los modelos de datos se suelen especificar
mediante lenguajes de modelado de datos."
“Conjunto de conceptos, reglas y convenciones que nos permiten describir los
datos de una parcela del mundo real (Universo del discurso)”.
“Modelizar consiste en definir un mundo abstracto y teórico tal que las
conclusiones que se pueden deducir de él coincidan con las manifestaciones
aparentes del mundo real”.
En el Modelo de Referencia de ANSI, uno de los componentes esenciales del
núcleo del SGBD es el Sistema de Control de Transformación de Datos (SCTD).
El SCTD incorpora operadores para definir y manipular los datos gestionados,
mediante los lenguajes de definición de datos (DDL) y lenguaje de
manipulación de datos (DML). El SCTD está basado en un modelo de datoso
o metamodelo capaz de soportar la descripción y la manipulación de otros
modelos de datos.
En el proceso de abstracción que es el diseño de una base de datos se trata de
modelizar el mundo real para lo cual nos apoyamos en un Modelo de Datos,
considerado así como una herramienta intelectual que facilita la interpretación
de nuestro universo de discurso y su representación. El Modelo de Datos debe
recoger dos tipos de propiedades de la realidad a modelar : Estáticas y
Dinámicas.
• Estáticas. No varían con el tiempo. Se corresponden con la Componente
Estática del modelo, que es el 'conjunto de reglas que nos permiten
generar la estructura y se definen mediante el Lenguaje de Definición de
Datos:
◦ conjunto de objetos (entidades con sus atributos)
◦ conjunto de asociaciones entre objetos (interrelaciones)
◦ conjunto de restricciones (pueden ser inherentes u opcionales)
• Dinámicas. Varían con el tiempo. Se corresponden con la Componente
Dinámica del MD que es el conjunto de operadores que se pueden aplicar
sobre la estructura y se definen mediante el Lenguaje de Manipulación de
Datos.
Existen diferentes clasificaciones de los modelos de datos, muchas de ellas
escapando del alcance de los Sistemas de Gestión de Bases de Datos. Dentro
de los modelos de datos que tienen implantación directa en este ámbito, cabe
destacar los siguientes:
• Modelo de Datos en Red y Modelo CODASYL.
• Modelo Jerárquico.
• Modelo relacional y modelo relacional extendido.
• Modelo de datos orientado a objetos.
Accede a información detallada sobre los modelos de datos de implantación en
SGBD
Lenguajes de una base de datos: DDL, DML, lenguaje
de control de transacciones, lenguajes de cuarta
generación (4G).
Para proporcionar a los usuarios las diferentes facilidades, los SGBD deben
ofrecer lenguajes especializados e interfaces apropiadas para cada tipo de
usuario: administradores de la base de datos, disenadores, programadores de
aplicaciones y usuarios finales.
La interaccion del usuario con la base de datos debe efectuarse a traves de
alguna tecnica que haga facil la comunicacion, y que permita al usuario
centrarse en el problema que desea solucionar, mas que en la forma de
expresarlo. La mejor forma de alcanzar este objetivo, es darle un lenguaje
parecido al lenguaje natural, que le permita expresar de forma sencilla los
requerimientos.
DDL. Lenguaje de definición de datos.
El lenguaje de definicion de datos esta orientado a la definicion, descripcion y
mantenimiento de la estructura de la base de datos. Permite al administrador
definir los datos con facilidad y precision, especificando sus distintas
estructuras. Debe tener facilidad para describir la estructura del esquema
conceptual, hacer las especificaciones relativas al esquema fisico, y declarar las
estructuras del esquema externo, requeridas por las aplicaciones.
Para el caso concreto de los SGBD relacionales, se utiliza como estandar el
SQL, para crear las bases de datos a partir del esquema relacional. Mediante el
DDL del SQL se crean tablas, columnas con los dominios correspondientes,
indices, claves, las restricciones de integridad, etc. El SGBD posee un
compilador de DDL cuya funcion consiste en procesar las sentencias del
lenguaje para identificar las descripciones de los distintos elementos de los
esquemas y almacenarlas generalmente en una base de datos especial que
contiene los metadatos. Esta base de datos especial, es comunmente llamada
diccionario de datos o catalogo del SGBD. Dicho catalogo es el que se consulta,
para obtener la estructura de la base de datos, toda vez que se quiere leer,
modificar o eliminar los datos de la base de datos.
El Diccionario de Datos es el lugar donde se guarda información acerca de
todos los datos que forman la BD: su descripción y la de los objetos que la
forman. En una BD relacional, el diccionario de datos proporciona información
acerca de:
La estructura lógica y física de la BD. Esquemas externo, conceptual e interno,
y correspondencia entre los esquemas.
Las definiciones de todos los objetos de la BD: tablas, vistas, índices,
disparadores, procedimientos, funciones, etc.
El espacio asignado y utilizado por los objetos.
Los valores por defecto de las columnas de las tablas.
Información acerca de las restricciones de integridad.
Los privilegios y roles otorgados a los usuarios.
Estadísticas de utilización, tales como la frecuencia de las transacciones y el
número de accesos realizados a los objetos de la base de datos.
Se puede tener un historial de los cambios realizados sobre la base de datos.
EL DDL permite especificar:
• Elementos de datos
• Estructura de datos
• Relaciones entre datos
• Reglas de integridad
• Vistas logicas
• Espacio reservado para la base de datos
• Formato de representacion (binario, decimal, …)
• Modo de acceso (punteros, indices, …)
DML: LENGUAJE DE MANIPULACION DE DATOS.
El lenguaje de consulta y manipulacion de datos sirve para obtener, insertar,
eliminar y modificar los datos de la base de datos. Al igual que el programador
necesita el DML como lenguaje huesped dentro de un lenguaje anfitrion que
maneja, el usuario no informatico necesita de un instrumento para
comunicarse con la base de datos. Este instrumento suele ser un DML
autocontenido, que da facilidades a los usuarios con pocos conocimientos de
programacion a acceder y manipular los datos en modo interactivo.
El lenguaje de manipulacion de datos SQL, puede actuar al mismo tiempo
como huesped y como autocontenido, cumpliendo la propiedad dual (Codd
1990). En una primera clasificacion de los DML, hay dos tipos lenguajes segun
su definicion:
• DML procedural. El programador especifica que datos se necesitan y
como obtenerlos. Se deben especificar todas las operaciones de acceso a
datos llamando a los procedimientos necesarios para obtener la
informacion requerida. Estos lenguajes acceden a un registro, lo
procesan y basandose en los resultados obtenidos, acceden a otro
registro, que tambien deben procesar. Asi se va accediendo a registros y
se van procesando hasta que se obtienen los datos deseados. Las
sentencias de un DML procedural deben estar embebidas en un lenguaje
de alto nivel. Como ya hemos comentado este es el lenguaje conocido
como lenguaje anfitrion.
• DML no procedural. El usuario o programador especifica que datos quiere
obtener sin decir como se debe acceder a ellos. El SGBD traduce las
sentencias del DML en uno o varios procedimientos que manipulan los
conjuntos de registros necesarios. Esto libera al usuario de tener que
conocer cual es la estructura fisica de los datos y que algoritmos se
deben utilizar para acceder a ellos. A los DML no procedurales tambien
se les denomina lenguajes declarativos. El lenguaje DML no
procedural mas conocido es el SQL. Los lenguajes no procedurales
son mas faciles de utilizar y conocer que los procedurales porque el
SGBD oculta al usuario los detalles sobre como se ha realizado la
operacion solicitada.
En una segunda clasificacion de los LMD, hay dos tipos de lenguajes segun
como recuperan la informacion:
• Navegacionales: Recuperan o actualizan los datos registro a registro,
debiendo el programador indicar el camino que se ha de recorrer, a
traves de la estructura definida, hasta llegar al registro buscado. Se
utilizan estos lenguajes en base de datos en red y jerarquicas.
• No navegacionales: Actuan sobre un conjunto de registros. Una unica
sentencia puede dar lugar a recuperar o actualizar todos los registros
que cumplan una determinada condicion. El SQL es de este tipo.
En el caso del SQL, asociado al DML se suele encontrar un modulo optimizador
que se ocupa de analizar la peticion contra la base de datos y decidir el mejor
camino de acceso con el fin de acelerar la ejecucion. Para la toma de
decisiones, el optimizador necesita de la informacion contenida en el catalogo o
diccionario del SGBD. La manipulacion de datos comprende las siguientes
operaciones:
• Recuperacion de Informacion.
• Insercion de nueva Informacion.
• Eliminacion de informacion existente.
• Modificacion de Informacion Almacenada.


LENGUAJE DE CONTROL DE DATOS (DCL)


EL lenguaje de Control de Datos sirve para trabajar en un entorno
multiusuario, donde es muy importante la proteccion y la seguridad de los
datos y la comparticion de datos por parte de usuarios. Se encarga
principalmente de tres actividades sobre la base de datos:
• Control de permisos de acceso
• Control de concurrencia
• Control de transacciones

También podría gustarte