martes, 3 de diciembre de 2013

FUNCIÓN DE UN SISTEMA MANEJADOR DE BASE DE DATOS

Las funciones de un sistema manejador de base de datos permiten manipular, describir y utilizar datos e interfaces. La función de descripción o definición permite al administrador de la base de datos especificar los elementos de datos que la integran, su estructura,  los controles a afectar antes de autorizar el acceso a la base, así como las características de tipo físico y las vistas lógicas de los usuarios.  Para la estructura externa y lógica global, la función de descripción ha de proporcionar los instrumentos para la definición de las entidades y su identificación, atributos de la misma, interrelaciones entre ellas, autorizaciones de acceso, restricciones de integridad.La función de Manipulación permite a los usuarios de la base de datos buscar, añadir, suprimir y modificar los datos contenidos en la misma, siempre de acuerdo con las especificaciones y las normas de seguridad dictadas por el administrador. La función de manipulación se llevara a cabo por medio de un lenguaje de manipulación de datos (LMD) que facilita los instrumentos necesarios para la realización de estas tareas y por último, se encuentra la función de Utilización que reúne todas las interfaces que necesitan los diferentes usuarios para comunicarse con la base y proporciona un conjunto de procedimientos para el administrador. Las exigencias respecto a la forma de utilizar la base de datos son muy diferentes, según los tipos de procesos y según los usuarios, siendo preciso que la función de utilización responda a todas ellas.

NIVELES DE UN SMBD - ESQUEMA - NIVELES

Los niveles de la  base de datos especifican las estructuras que conforman la base de datos. Representa tres niveles: 1. Nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso.2. Nivel conceptual: trata de la representación de los datos, recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos. 3. Nivel externo: es el nivel de mayor abstracción. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. 

Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición de datos (LDD). El resultado de la compilación de las estructuras del LDD es un conjunto de tablas que se almacenan en un archivo especial llamado diccionario de datos o directorio de datos. Este archivo se consulta antes de leer o modificar los datos reales del sistema de base de datos.


CRITERIOS PARA LA SELECCIÓN DE UN SMBD

         Entre los criterios que maneja una base de datos se encuentran: a) Un buen DBMS permitirá una fácil carga de datos en la Base de Datos desde archivos planos. b) El DBMS deberá permitir que múltiples usuarios puedan utilizar las Bases de Datos sin perder la integridad o llegar a una situación de interbloqueo (esto es importante en aplicaciones de múltiples usuarios). c) El DBMS debe ser soportado por varias configuraciones de Hardware, esto es necesario si hay probabilidad de cambiar el Hardware. d) El DBMS debería proporcionar unos buenos mensajes de error. e)Verificar la existencia de las restricciones en cuanto al número limitado de campos por registros, de registros por archivos o de archivos por Base de Datos.

COMANDOS DEL LENGUAJE DE DEFINICION DE DATOS (DDL – DATA DEFINITION LANGUAJE)

- CREATE: Este comando crea un objeto dentro de la base de datos.  Puede ser  una tabla, índice, o consulta almacenada que la base de datos soporte. 

Ejemplo (crear una tabla)
CREATE TABLE 'TABLA_NOMBRE'
'CAMPO_1' INT,
'CAMPO_2' STRING

-  DROP: Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.

Ejemplo
ALTER TABLE ''TABLA_NOMBRE''
(
DROP COLUMN ''CAMPO_NOMBRE1''
)

- ALTER: Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.  Se utiliza para hacer modificaciones en sentencias SQL Para eliminar una tabla de una base de datos tenemos la sentencia DROP TABLE. Con ella quitamos una o varias definiciones de tabla y todos los datos, índices, desencadenadores, restricciones y especificaciones de permisos que tengan esas tablas. Las vistas o procedimientos almacenados que hagan referencia a la tabla quitada se deben quitar explícitamente con DROP VIEW o DROP PROCEDURE. Su sintaxis es:

        DROP TABLE [nbBaseDatos.[nbEsquema].|nbEsquema.]nbTabla[ ,...n ] [ ;

Ejemplo (agregar columna a una tabla)
ALTER TABLE 'TABLA_NOMBRE' (
ADD NUEVO_CAMPO INT UNSIGNED meel
)

- TRUNCATE: Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.

Ejemplo
TRUNCATE TABLE ''TABLA_NOMBRE1''

INDICE

PROCESAMIENTO DE CONSULTA

 El procesamiento de consulta 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

El procesamiento de transacciones tiene como objetivo las cuestiones referentes a la integridad de la Base de Datos, recuperación y control de la concurrencia. Una transacción es un programa de aplicación, generalmente de duración breve, que accede y actualiza una parte también generalmente pequeña de la base de datos pudiendo controlar múltiples transacciones ejecutando el paralelo sobre una misma base de datos corriendo en un sistema que puede fallar. Los objetivos del gestor de transacciones del SMBD son: evitar que las transacciones interfieran unas con otras al ejecutar en paralelo, y garantizar que la base de datos no sea dañada en forma irreparable por caídas, ya sea del sistema en sí o de alguna de las transacciones. 

MANEJO DE ALMACENAMIENTO

El manejo de almacenamiento lo realizan los Administradores de la Base de Datos quienes crean las estructuras de almacenamiento apropiadas y los métodos de acceso escribiendo un conjunto de definiciones, que son traducidas por el compilador del Lenguaje de Definición y Almacenamiento de datos. 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.

ADMINISTRACION DE BASE DE DATOS


          Una de las principales razones para usar un sistema de gestión  de base de datos es tener un control centralizado tanto de los datos como de los programas que acceden a estos datos. La persona que tiene este control  central se llama Administrador de la Base de Datos (DBA) el cual es el responsable de los aspectos ambientales de una base de datos. 

TAREAS Y FUNCIONES A REALIZAR POR UN ADMINISTRADOR DE BASE DE DATOS


Tareas
-          La definición del sistema lógico y físico de la base de datos
-          La definición de las vistas de usuario
-          La asignación y edición de permisos para los usuarios
-          Mantenimiento y seguimiento de la seguridad en la base de datos
-          Mantenimiento general del sistema gestor de base de datos

Funciones
Las funciones de un administrador de bases de datos dependen de la descripción del puesto, corporación y políticas de Tecnologías de Información (TI). Por lo general se incluye recuperación de desastres (respaldos y pruebas de respaldos), análisis de desempeño y optimización, y algo de asistencia en el diseño de la base de datos.

- Recuperabilidad: La recuperabilidad se realiza cuando hay error en los datos, en el software o hardware, por tanto, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo en que se encontraba en estado consistente antes de que la falla se causara. Las actividades de recuperación incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice los riesgos de daño ó pérdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del área en antelación a un desastre anticipado. La recuperación es una de las tareas más importantes de los DBAS.

- Integridad: La integridad de una base de datos significa que la base de datos ó los programas que generaron su contenido, incorporen métodos que aseguren que el contenido de los datos del sistema no se rompa así como las reglas del negocio. 

- Seguridad: Significa la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las políticas del negocio, así como, las decisiones de los encargados. 

- Disponibilidad: Significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. 

- Rendimiento: Significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es solo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales.

- Desarrollo/Soporte a pruebas: Uno de las funciones menos respetadas por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la prioridad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.