UNIVERSITARIA COLEGIO UNIVERSITARIO DE CARACAS PROGRAMA NACIONAL DE FORMACIN EN INFORMTICA UNIDAD CURRICULAR: ADMINISTRACIN DE BASE DE DATOS
Tareas del Sistema Gestor de Base de Datos
Facilitador: Vladimir Pea
Caracas, octubre de 2014
Participantes: Aguana A., Fernanda E. CI: V- 19.583.674 Da Silva A., Luis M CI: V- 19.396.066
Introduccin
Sistema Gestor de Bases de Datos (SGBD) tambin llamado DBMS (Data Base Management System) se define como una coleccin de datos relacionados entre s, estructurados y organizados, y un conjunto de programas que acceden y gestionan esos datos. Este software proporciona servicios para la creacin, el almacenamiento, el procesamiento y la consulta de la informacin almacenada en base de datos de forma segura y eficiente. Un SGBD acta como un intermediario entre las aplicaciones y los datos facilitando la gestin de los mismos. El Sistema Gestor de Base de Datos es responsable de realizar varias tareas o funciones que permiten la manipulacin seguridad e integridad de los datos y adems la recuperacin de los mismos a travs de mecanismos de control que generalmente poseen esto sistemas. A continuacin se desarrollaran con ms detalle esta serie de tareas o funciones que cumplen los Sistemas Gestores de Base de Datos.
Tareas o Funciones de un Sistema Gestor de Base de Datos
Las tareas o funciones esenciales de un Sistema Gestor de Base de Datos son las siguientes: 1. Definicin y Manipulacin de los Datos: La Definicin se lleva a cabo mediante el Lenguaje de Definicin de datos (L.D.D.) el S.G.B.D. permite describir y definir los esquemas de la base de datos. Este lenguaje debe permitir: La creacin de objetos conceptuales La descripcin de estructuras fsicas La definicin de vistas Toda esta informacin se almacena en el diccionario de datos, el SGBD proporcionara mecanismos para gestionar de manera ms eficiente el diccionario de datos, que contiene el conjunto de las descripciones de objetos de la base de datos. Con respecto a la Manipulacin de los Datos se lleva a cabo realizando consultas, inserciones y actualizacionesde los mismos a travs de lenguajes de manipulacin de datos que est compuesto por un conjunto de comandos que permiten la consulta o puesta al da (insercin, modificacin y borrado) de los datos de una base de datos. Esta funcin se encarga de todas las operaciones de intercambio de datos entre los usuarios y la base de datos. Los L.M.D. funciona de forma diferente, segn el modelo de datos: En los modelos en red y jerrquicos son, lenguajes procedimentales (se indica que datos se quieren y como se van a obtener esos datos).
En el modelo relacional son lenguajes declarativos o no procedimentales (se indica que datos se quieren pero no la forma de obtenerlos), y no es necesario indicar cmo se tiene que acceder a los datos, es suficiente indicar qu es lo que se desea obtener.
2. Implantacin de la integridad de los Datos. Para mantener la integridad y consistencia de los datos se utilizan mecanismos para evitar que los datos sean perjudicados por cambios no autorizados Con esta funcinse trata de garantizar la coherencia de los datos, comprobando que slo los usuarios autorizados puedan efectuar las operaciones correctas sobre la base de datos. Esto se consigue mediante: Un control sobre los usuarios que acceden a la base de datos y los tipos de operaciones que estn autorizados a realizar. Este control se llama gestin de autorizaciones, y permite crear o borrar usuarios y conceder o retirar derechos a efectuar determinados tipos de operaciones (por ejemplo: crear objetos, borrar objetos, modificar datos, etc.). La validacin de las operaciones realizadas con los datos. Este control se hace mediante un conjunto de reglas llamadas restricciones de integridad. Una proteccin de los datos contra los accesos malintencionados y los fallos. La correcta utilizacin de todas estas operaciones de integridad constituye una tarea esencial del Administrador de la base de datos.
3. Implantacin de Seguridad. Un SMBD cuenta con un subsistema de seguridad y autorizacin que se encarga de garantizar la seguridad de la base de datos contra el acceso no autorizado. Mantener la Seguridad de los Datos de la base de datos de usos mal intencionados o no autorizados se denomina seguridad de los datos. La seguridad se encarga de limitar a los usuarios a ejecutar nicamente las operaciones permitidas. Identificacin y autorizacin de usuarios: Uso de cdigos de acceso y palabras clave, impresiones digitales, reconocimiento de voz, barrido de retina, etc. Autorizacin: Usar derechos de acceso dados por el Terminal, por las operaciones a realizar o por la fecha u hora del da. Uso de tcnicas de cifrado: Para proteger las bases de datos distribuidas, o con acceso por red o Internet. Diferentes tipos de cuentas: Cada cuenta tiene permisos diferentes segn el perfil creado por el administrador, quien tambin necesita la creacin de su cuenta para tener las concesiones y privilegios requeridos. Manejo de tabla de usuarios: Cada usuario tiene cdigo y contrasea, en la tabla se controlan las operaciones efectuadas en cada sesin de trabajo por cada usuario, lo cual facilita una auditoria a la base de datos.
4.Copia de Seguridad y Recuperacin Los SGBD deben proporcionan instrumentos para evitar o remediar fallos. Ante cualquier tipo de fallo hay que asegurar que despus de una actualizacin, la BD queda en estado consistente. Un sistema de recuperacin consiste en restaurar la BD a un estado que se sepa correcto, tras cualquier fallo que la haya dejado en un estado incorrecto o al menos sospechoso. La recuperacin en un sistema de base de datos significa principalmente la recuperacin de la propia base de datos; es decir, el restablecimiento de la misma a un estado correcto o mejor dicho consistente, despus de que alguna falla haya ocasionado que el estado actual sea inconsistente Para hacer una copia de respaldo de una base de datos se recomienda crear un dump. En Sql existe el comando, pero vara dependiendo del sistema manejador de Base de Datos, en este caso se usara Mysql, pero no presentan muchas diferencias Para hacer un dump de todas las bases de datos es necesario ejecutar el comando: mysqldump --user=****** --password=****** -A > /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de slo algunas bases de datos es necesario ejecutar el comando: mysqldump --user=****** --password=****** db_1 db_2 db_n> /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de todas las tablas de una base de datos es necesario ejecutar el comando: mysqldump --user=****** --password=****** db > /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de slo ciertas tablas de una base de datos es necesario ejecutar el comando: mysqldump --user=****** --password=****** db --tablas tab1 tab2 > /Ruta/Hacia/archivo_dump.SQL Para cada uno de este comando es necesario indicar un usuario (user) y la contrasea (password) con derechos de administrador en la base de datos. Restauracin Para restaurar un dump tan slo hay que ejecutar el comando: mysql --user=****** --password=****** db_nom < /Ruta/Hacia/archivo_dump.SQL
5. Control de Concurrencia La mayora de las bases de datos se utilizan en entornos multi-usuario, en los que muchos clientes utilizando la misma aplicacin, o muchas aplicaciones cada una con uno o muchos clientes acceden a la misma base de datos. Cada una de esas aplicaciones enviar consultas al gestor, y normalmente cada hilo de ejecucin ser una transaccin diferente. En la mayora de los sistemas operativos actuales, las diferentes tareas o hilos se ejecutan de forma intercalada (incluso en el caso de mquinas con varios procesadores). Es decir, el sistema operativo decide por su cuenta cuando suspender una de las tareas y darle un poco de tiempo de ejecucin a otra. Si hay tareas simultneas o concurrentes sobre la misma base de datos, esta intercalacin puede resultar en que las lecturas y escrituras de las diferentes tareas o aplicaciones en el medio fsico se realicen en cualquier orden y secuencia. El acceso simultneo descrito puede dar como resultados informacin inconsistente o simplemente incorrecta, dependiendo de la mala o buena suerte que tengamos en la intercalacin de las lecturas y escrituras simultneas. Esta problemtica ha llevado a disear e implementar diferentes estrategias de control de concurrencia, que se encargan de evitar todos esos problemas, de modo que los desarrolladores de las aplicaciones pueden olvidarse de ellos al escribir su cdigo. Por ejemplo, si tenemos una estructura de tablas relacional que incluye las siguientes: PEDIDO (id, num-cliente, id-prod, cantidad, precio) PRODUCTO (id-prod, nombre, ..., stock) Pueden ocurrir diferentes problemas relacionados con la escritura simultnea con otras escrituras o lecturas, incluyendo los siguientes: Dos sentencias UPDATE que actualicen un mismo producto decrementando el stock del mismo en una unidad podran terminar en que una de ellas no se realizase. Si pensamos en un UPDATE como una secuencia de una lectura y una escritura, puede que ambos UPDATE hagan la lectura, por ejemplo, de un stock de 10, y despus las escrituras, decrementan ese dato, quedando el resultado en 9, mientras que lo correcto era un resultado de 8. Supongamos una sentencia que primero comprueba que hay stock del producto P, y despus inserta un nuevo PEDIDO de diez unidades del producto P, que tiene un stock de 10, seguido de un UPDATE al stock por esa cantidad. Puede que otra insercin de un pedido se ejecute antes del UPDATE pero despus de la comprobacin, haciendo quedar el stock del producto en negativo. Existen varias tcnicas para controlar la concurrencia. Los bloqueos son los ms conocidos, aunque tambin se utiliza el control multi-versin y otras tcnicas como las marcas de tiempo. La administracin de la concurrencia involucra como los datos son consultados y actualizados en un ambiente multiusuario. Existen dos tipos de control de la concurrencia: Concurrencia de Lectura: (Instruccin SELECT) Administrada a travs de los niveles de aislamiento. Concurrencia de Actualizacin: Instrucciones INSERT, DELETE y UPDATE.
Conclusion
En la actualidad, las bases de datos forman parte de las nuevas tecnologas que se han asentado en la Era de la Informacin. Los grandes bancos de datos que poseen prcticamente todas las empresas, organizaciones e instituciones del mundo las convierten en elementos muy importantes para su funcionamiento. Estas grandes bibliotecas digitales contienen informacin importante y confidencial por lo que es necesaria la utilizacin de programas que permitan manipular y crear entornos seguros para mantenerla. Los Sistemas Manejadores de Bases de Datos son la piedra angular de estas nuevas tecnologas que permiten controlar y perfeccionar un trabajo que cada vez es mas necesario en un mundo interconectado
Referencias Bibliogrficas
Tom Base de Datos Blog (2010) Funciones de un gestor de base de datos [Articulo en Lnea] Disponible en: http://tombasededatos.wordpress.com/2010/08/27/1-7-2-funciones-de-un- gestor-de-base-de-datos/ Sicilia, Miguel A (2013) Funciones de los Sistemas Gestores de Base de Datos [Articulo en Linea] Disponible en: http://cnx.org/contents/4c8f8481-db21- 45b2-b854-ecfc2dfaad1e@1/Funciones_de_los_Sistemas_Gest Mc Graw Hill ( s/f) Sistemas Gestores de base de datos Disponible en: http://www.mcgraw-hill.es/bcv/guide/capitulo/8448148797.pdf Mc GRAW-HILL Fundamentos de bases de datos [Documento en Lnea] Abraham Silberschatz