El mundo de las bases de datos y los sistemas manejadores de base de datos
El mundo de las bases de datos y los sistemas manejadores de base de datos .
Bases de datos
Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular.
Sistema de base de datos:
Un Sistema de Bases de Datos (SBD) es una serie de recursos para manejar grandes volúmenes de información, sin embargo no todos los sistemas que manejan información son bases de datos.
Un sistema de bases de datos debe responder a las siguientes características:
Independencia de los Datos: Es decir, que los datos no dependen de programa y por tanto cualquier aplicación puede hacer uso de los datos.
Reducción de la Redundancia: Llamamos redundancia a la existencia de duplicación de los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios.
Seguridad: Un SBD debe permitir que tengamos un control sobre la seguridad de los datos.
Sistema manejadores de base de datos (SMBD):
Los sistemas manejadores de base de datos (SGBD), en inglés: DataBase
Management System (DBMS), son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de los sistemas manejadores de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización. Es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.
Funciones Principales:
Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente.
Manejar los datos de acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos.
Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando del sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperación.
Características:
Abstracción de la información: Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario.
Redundancia mínima: Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante
Consistencia: En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
Seguridad: La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra seguras frente a usuarios malintencionados, que intenten leer información privada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado.
Integridad: Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.
Respaldo y recuperación: Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea.
Control de la concurrencia: En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea.
Evolución de los sistemas gestores de base de datos
Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Vamos a realizar una investigación en la línea del tiempo de los sistemas gestores de bases de datos.
En 1884 Herman Hollerith, creó la máquina automática de tarjetas perforadas. Los registros antes se realizaban de forma manual, pero este señor diseñó una máquina tabuladora o censadora basada en tarjetas perforadas.
Década de los 60
En 1950 aparecieron las cintas magnéticas, que através de este mecanismo se empezó a automatizar la información, con la desventaja de que solo se podía hacer de forma secuencial.
En 1951 sale a la venta el UNIVAC, este ordenador reemplazo las cintas perforadas por las cintas magnéticas
Entre 1960 y 1969 se dió a las primeras generaciones de bases de datos red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y árboles.
En 1961 gracias a los discos se dió un gran salto, ya que los datos no tendrían porque ir en orden lineal, sino que se podían consultar directamente y nos ahorra mucho tiempo.
En 1963 aparecieron las Base de Datos de red y jerárquicas. Los discos dieron paso a las Bases de Datos, de red y jerárquicas; gracias a los programadores y a las ventajas de los discos, eran posible guardar estructuras de datos como listas y árboles.
En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database Management System), por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos,los cuales se limitan a la estructuración del almacenamiento físico de los datos. Con los DBMS se crea el concepto de Administración de los datos, por medio de actividades integradas que permiten verlos físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por estructuras donde se establecen vínculos de integridad, métodos de acceso y organización física sobre los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios, seguridad, atomicidad e independencia física y lógica de los datos, entre otros.
El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data
Store , se crea bajo el concepto del Modelo de Datos de Red (Bachgman,
1965); luego se desarrolla el IMS: Information Management System , sobre el concepto del Modelo de Datos Jerárquico. Estos DBMSs eran accesados
normalmente por lenguajes de programación como Cobol usando interfases de bajo nivel haciendo que las tareas de creación de aplicaciones y mantenimiento de los datos fuesen controlables, pero aún complejas.
En 1967 surge el primer lenguaje de programación orientado a objetos, Simula, el cual fue propuesto para simulación de actividades. En este los procedimientos podían ser asociados a un tipo para representar el comportamiento de una instancia, introduciendo así el concepto de Clase. Simula, soporta paralelismo permitiendo muchas entidades interactivas en una simulación. Además comparte objetos acoplando datos y procedimientos.
Comenzando los años 80’s ya se siente la necesidad de que los DBMS actuales manipulen objetos complejos y estructuras como las usadas en sistemas CAD y CASE, entre otras. A partir de esto se da inicio a dos grandes tendencias: los ORDBMS (Object Relational Database Management System) los cuales se proyectan como una extensión de los RDBMS hacia el paradigma OO, y los OODBMS (Object Oriented Database Management System) estarían disponibles para almacenar y manipular las clases, los objetos, la asociación entre ellos y sus métodos. Así, finalizando los años 80s se crean los OODBMSs por medio de productores como O2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no se hicieron tan comerciales como los existentes RDBMS ya que el concepto de Orientación a Objetos se seguía manejando muy a nivel del lenguaje de programación, sin que se trabajaran estructuras de almacenamiento Orientadas a Objetos dependientes de estos .
Así, en 1991 surge la ODMG (Object Database Management Group) el cual estandariza los OODBMSs a partir del ODMG-93.
Luego en 1992 el comité ANSI X3H2 inicia un trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo fue programado para finalizarse en 1995, pero aún se sigue trabajando en este con un tiempo límite de terminación, en el año 1999.
En 1993 nace la World Wide Web, a través de éste se facilitará la consulta a Bases de Datos.
En la actualidad…
Las tres grandes compañías que dominan el mercado de las Bases de Datos son IBM, Microsoft y Oracle. Por su parte, en el campo de internet, la compañía que genera gran cantidad de información de Google.
En 2009 aparece el protocolo open archives initiative. Últimamente, se tiene tendencia a que las Bases de Datos que cumplan con el protocolo Open Archives Initiative – Protocol for Metadata Harvesting (OAI-PMH) los cuales permiten el almacenamiento de gran cantidad de artículos que permiten una mayor visibilidad y acceso en el ámbito científico general.
Sistemas de base de datos relacionales.
Una base de datos relacional es una recopilación de elementos de Una base de datos relacional es una recopilación de elementos de datos con relaciones predefinidas entre ellos. Estos elementos se datos con relaciones predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con columnas y filas. Las organizan como un conjunto de tablas con columnas y filas. Las tablas se utilizan para guardar información sobre los objetos que se tablas se utilizan para guardar información sobre los objetos que se van a representar en la base de datos. Cada columna de una tabla van a representar en la base de datos. guarda un determinado tipo de datos y un campo almacena el valor real de un atributo. Las filas de la tabla representan una recopilación de valores relacionados de un objeto o una entidad. Cada fila de una tabla podría marcarse con un identificador único denominado clave principal, mientras que filas de varias tablas pueden relacionarse con claves extranjeras. Se puede obtener acceso a estos datos de muchas formas distintas sin reorganizar las propias tablas de la base de datos
Arquitecturas cliente-servidor:
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
Arquitecturas multi-capas:
La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red:
clientes y servidores. Consecuentemente, estas arquitecturas genéricas se
refieren a veces como arquitecturas de dos niveles o dos capas.
Algunas redes disponen de tres tipos de nodos:
1) Clientes que interactúan con los usuarios finales.
2) Servidores de aplicación que procesan los datos para los clientes.
3)Servidores de la base de datos que almacenan los datos para los servidores de aplicación.
Esta configuración se llama una arquitectura de tres-capas.
Ventajas de las arquitecturas n-capas:
La ventaja fundamental de una arquitectura n-capas comparado con una
arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la carga en los diversos servidores; es más escalable.
Desventajas de las arquitecturas de la n-capas:
1) Pone más carga en la red, debido a una mayor cantidad de tráfico de la
red.
2) Es mucho más difícil programar y probar el software que en arquitectura
de dos niveles porque tienen que comunicarse más dispositivos para
terminar la transacción de un usuario.
Componentes de una (DBMS)
DBMS: Database Management System Colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. Los componentes de una DBMS son:
1) Data definition language (DDL):
Define elementos de los datos en la base de datos
2) Data manipulation language (DML):
Manipula datos para aplicaciones
3) Data dictionary:
Definiciones de todas las variables en la base
Funcionalidades de DBMS
Las funciones principales de un DBMS son:
1) Crear y organizar la Base de datos.
2) Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente.
3) Manejar los datos de acuerdo a las peticiones de los usuarios.
4) Registrar el uso de las bases de datos.
5) Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando de el sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.
6) Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.
7) Control de concurrencia. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos.
8) Seguridad e integridad. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.
LENGUAJE DE DEFINICIÓN DE DATOS
(DDL, Data Definition Language):
Permite definir las estructuras que almacenarán los datos y los procedimientos o funciones para realizar las consultas. Al principio fue usado el referente a Codasyl, donde se establecía el esquema de la base de datos usando descripciones de los registros y campos del modelo. Posteriormente se utilizó como parte del SQL y en la actualidad se hace referencia a cualquier lenguaje formal usado para describir datos o estructuras.
Sencillo lenguaje artificial para definir y describir los objetos de la base de datos, su estructura, relaciones y restricciones. En la práctica puede consistir en un subconjunto de instrucciones de otro lenguaje informático.
Comando :
CREATE:Utilizado para crear nuevas tablas, stored procedures e índices
DROP:Empleado para eliminar tablas, stored procedures e índices
ALTER:Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos
Consulta
Ver la información que desea ver un usuario por medio de comandos dentro de la base de datos Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable.
Procesamiento de consultas: EL procesamiento de consultas hace referencia a la serie de actividades implicadas en la extracción de datos de una base de datos. Estas actividades incluyen la traducción de consultas expresadas en lenguajes de bases de datos de alto nivel en expresiones implementadas en el nivel físico del sistema, así como transformaciones de optimización de consultas y la evaluación real de las mismas. Los pasos básicos a tomar en cuenta son:
1) Análisis y traducción.
2) Optimización.
3) Evaluación.
Procesador de Consultas.
Interacciona con el usuario mediante sentencias específicas en un Lenguaje de Consulta . Éstos son poderosos y bastante flexibles como para proporcionar soluciones múltiples a un problema, uno de los más estandares es el SQL ( Lenguaje de Consulta Secuencial) .
Procesamiento de transacciones
Una transacción es parte de las sentencias de control y consiste en una secuencia de instrucciones de consulta y actualizaciones. La norma SQL especifica que una transacción comienza implícitamente cuando se ejecuta una instrucción SQL. Una de las siguientes instrucciones SQL debe finalizar la transacción:
1) Commit work compromete la transacción actual; es decir, hace que los cambios realizados por la transacción sean permanentes en la base de datos.
2) Rollback work causa el retroceso de la transacción actual; es decir, deshace todas las actualizaciones realizadas por las instrucciones SQL de la transacción; así, el estado de la base de datos se restaura al que existía previo a la ejecución de la transacción.
Manejo de almacenamiento:
La mayoría de las bases de datos se almacenan en las llamadas memorias
secundarias, especialmente discos duros, aunque, en principio, pueden emplearse también discos ópticos, memorias flash, etc. Las razones por las cuales las bases de datos se almacenan en memorias secundarias son:
1) En general, las bases de datos son demasiado grandes para entrar en la memoria primaria.
2) La memoria secundaria suele ser más barata que la memoria primaria (aunque esta última tiene mayor velocidad).
Ø La memoria secundaria es más útil para el almacenamiento de datos permanente, puesto que la memoria primaria es volátil.
Administración de base de datos:
El administrador de bases de datos (DBA1 ) es el profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.
Funciones:
1) Implementar, dar soporte y gestionar bases de datos corporativas
2) Crear y configurar bases de datos relacionales
3) Ser responsables de la integridad de los datos y la disponibilidad
4) Diseñar, desplegar y monitorizar servidores de bases de datos
5) Diseñar la distribución de los datos y las soluciones de almacenamiento
6) Garantizar la seguridad de las bases de datos, incluyendo backups y recuperación de desastres
7) Planificar e implementar el aprovisionamiento de los datos y aplicaciones
8) Diseñar planes de contingencia
9) Diseñar y crear las bases de datos corporativas de soluciones avanzadas
10) Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios
11) Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas
Comentarios
Publicar un comentario