sábado, 12 de septiembre de 2015

Sistema de Gestión de Base de Datos

Es un conjunto de programas que permiten el almacenamiento, modificación y extracció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. Los Sistemas de Gestión de Base de Datos (SGBD) también proporcionan métodos para mantenerla integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permite presentar la información de la base de datos en variados formatos. La mayoría de los SGBD incluyen un generador de informes. También puede incluir un módulo gráfico que permita presentar la información con gráficos y tablas.

Hay muchos tipos de SGBD distintos según manejen los datos y muchos tamaños distintos según funcionen sobre ordenadores personales y con poca memoria a grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.

El administrador de base de datos tiene entre sus funciones:
  • Definir las estructuras de almacenamiento y los métodos de acceso.
  • Definir el esquema de base de datos,
  • Realizar modificaciones del esquema y su organización física.
  • Conceder los permisos de acceso a la información a los diferentes usuarios de la Base de Datos (BD).
  • Determinar los mecanismos para salvar la información.
  • Especificar las restricciones de integridad.
Gráficamente una base de datos puede verse de la siguiente forma:

Características
Abstracción de la información.- El administrador del 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, Así, se definen varios niveles de abstracción.

Independencia.- La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Redundancia mínima.- Lo ideal es lograr una redundancia nula, no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancia.

Consistencia.- En aquellos casos en los que no se ha logrado esta redundancia nula, es necesario que todos los datos repetidos se actualicen de forma simultanea. 

Integridad.- Se trata de garantizar la validez de los datos almacenados. Es decir, proteger los datos ante fallos de Hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.

Seguridad.- Garantizar que la información se encuentre segura frente a usuarios malintencionados, que intenten leer información privilegiada, frente a ataques que deseen manipular o destruir la información, o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios que permiten otorgar diversas categorías de permisos.

Respaldo y Recuperación.- proporcionare formas eficientes de realizar copias de seguridad y restaurar estas copias.

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, para recuperar información, almacenarla. Y también frecuentemente que los accesos se realicen de forma simultanea. El SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias. Es deseable minimizar el tiempo que tarda en darnos la información y en almacenar los cambios realizados.

Componente del SGBD
  1. Un lenguaje de definición de esquemas conceptual.
  2. Un sistema de diccionario de datos.
  3. Un lenguaje de especificación de paquetes de entrada / salida.
  4. Un lenguaje de definición de esquemas de base de datos.
  5. Una estructura simétrica de almacenamiento de datos.
  6. Un módulo de transformación lógica a física.
  7. Un subsistema de privacidad de propósito general.
  8. Un subsistema de integridad de propósito general.
  9. Un subsistema de reserva y recuperación de propósito general.
  10. Un generador de programas de aplicación.
  11. Un generador de programas de informes.
  12. El SGBD incorpora como herramienta fundamental dos lenguajes, para la definición y la manipulación de los datos.
  13. El lenguaje de definición de datos (DDL. Data Definition Language) provee de los medios necesarios para definir los datos con precisión, especificando las distintas estructuras. Acorde con el modelo de arquitectura de tres niveles, habrá un lenguaje de definición de la estructura lógica global, otro para la definición de la estructura interna, y un tercero para la definición de las estructuras externas.
  14. El lenguaje de manipulación de los datos. Pueden diferenciarse en procedí mentales (aquellos que requieren que datos se necesitan y como obtenerlos) y no procedí mentales (que datos se necesitan, sin especificar como obtenerlos), y se encargan de la recuperación de los datos almacenados, de la inserción y supresión de datos en la base de datos, y de la modificación de los existentes.
CORRESPONDENCIA ENTRE ESTOS NIVELES
El sistema manejador de base de datos es un conjunto de programas que se encargan de manejar la creación y todos los accesos a la base de datos. Se compone de un lenguaje de definición de datos (DLL), un lenguaje de manipulación de datos (DML), y de un lenguaje de consulta (SQL).

El SMBD sirve con interfaz entre la base de datos física y las peticiones del usuario. EL SMBD interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia d datos entre la unidad de memoria secundaria y la memoria principal, un SMBD es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que le puedan afectar.

Objetivos de un SMBD
  • Permitir la definición de todos los datos.
  • Permitir la manipulación de los datos.
  • Establecer controles para la seguridad de los datos.
  • Permitir accesos concurrentes.

Funciones de un SMBD
  • Manejo de diccionario de datos: definiciones y relaciones entre los datos.
  • Transformación y presentación de los datos: transformación de los datos nuevos para que satisfaga la estructura definida.
  • Seguridad: fortalecer la seguridad y privacidad de la información.
  • Control de Concurrencia: controla el acceso multiusuario, consiste en controlar la interacción entre los usuarios concurrentes para no afectar la consistencia de los datos.
  • Interacción de los datos: minimiza la redundancia y maximiza la consistencia. Consiste en contar con mecanismos que permiten el control de la consistencia de los datos, evitando que estos se vean perjudicados por cambios no autorizados o previstos,
  • Lenguaje de acceso a la base de datos: interfaz para la programación de aplicaciones. Provee acceso a los datos vía lenguaje de consulta SQL y vía lenguaje procedural (pascal, c, etc.)
  • Interfaz de comunicación de datos: permite el requerimiento de usuarios en ambiente de red. Crea y organiza la base de datos, establece y mantiene las trayectorias de acceso a la base de datos para que puedan ser accesados rápidamente. Maneja los datos de acuerdo a las peticiones de los usuarios. Registra el uso de la base de datos.
  • Interacción con el manejador de archivos: esto lo hace a través de sentencias en DML, al comando del sistema de archivos. Así el SMBD es el responsable del verdadero almacenamiento de la información.
  • Respaldo y recuperación: consiste en contar con mecanismos implantados que permiten la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema.
Criterios para la creación de un SGBD
  • Tamaño de la base de datos (número de registros)
  • Cantidad de usuarios concurrentes
  • Desempeño
  • Integración
  • Características
  • Proveedor
  • Costo
Seguridad que proporciona un SGBD
Un SGBD cuenta con un subsistema de seguridad y autorización que se encarga de garantizar la seguridad de la base de datos contra el acceso no autorizado, para proveer la seguridad necesaria, cuenta con:
  • Identificación y autorización de usuarios: uso de los códigos de acceso y palabras calves, impresiones digitales, reconocimiento de voz barrido de retina, etc.
  • Autorización: usa derechos de accesos de datos por el terminal, por las operaciones a realizar o por la fecha u hora del día.
  • Uso de técnicas de cifrado: para proteger las bases de datos distribuidos o con acceso por red o internet.
  • Diferentes tipos de cuentas: cada cuenta tiene permisos diferentes según el perfil creado por el administrador, quien también necesita la creación de su cuenta para tener las concesiones y privilegios requeridos.
  • Manejo de tablas de usuarios: cada usuario tiene código y contraseña, en la tabla se controlan las operaciones efectuadas en cada sesión de trabajo por cada usuario, lo cual facilita una auditoria a la base de datos.
OBJETIVOS DE UN MANEJADOR DE BASE DE DATOS
El SGBD es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. El objetivo principal del sistema gestor de base de datos es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto practica como eficiente.

Se compone de un lenguaje de definición de datos (DLL: data definition languaje) de un lenguaje de manipulación de datos (DML: data manipulation languaje) y de un lenguaje de consulta (SQL: structured query languaje).

El lenguaje de definición de datos (DLL), es utilizado para escribir todas las estructuras de información de información y los programas que se usan para construir, actualizar e introducir la información que contiene una base de datos. El DLL permite al administrador de la base de datos especificar los elementos de datos que integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad, los controles a efectuar antes de autorizar el acceso a la base de datos.

El lenguaje de manipulación de datos (DML) es utilizado para escribir programas que crean, actualizan y extraen información de las bases de datos. Siempre de acuerdo con las especificaciones y las normas de seguridad dictada por el administrador.

El lenguaje estructurado de consulta (SQL) es una sublenguaje de base de datos utilizado en al consulta, actualización y gestión de base de datos relacionales. Es el estándar de facto para los productos de base de datos.

Una consulta es una instrucción de solicitud para recuperar información. La parte DML se llama lenguaje de consultas.

No hay comentarios:

Publicar un comentario