martes, 24 de abril de 2018

martes, 6 de marzo de 2018


SGBD

Definición:
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos.
Algunos de los ejemplos de los gestores de bases de datos son Oracle, Mysql, Sql server, DB2, etc.

Características:
·         Abstracción de información: Estas ahorran a los usuarios el almacenamiento físico, sea que una base ocupe 1 o cientos de archivos, este hecho es transparente para los usuarios.
·         Independencia: Consiste en modificar los datos sean físicos o lógicos sin la necesidad de realizar cambios a las aplicaciones que les sirven.
·         Redundancia mínima: Un buen diseño de una base de datos evita la redundancia de información, lo ideal es que la redundancia en estas sea nula, pero hay ocasiones donde la base de datos es tan compleja que es imposible evitar una que otra redundancia en esta.
·         Consistencia: Dado que hay ocasiones en que la redundancia no es nula, es necesaria una consistencia en la información, que haya una actualización de datos coherente, es decir que estos datos se actualicen de manera simultánea.
·         Seguridad: Toda información guardada en una base de datos tiene un valor, por eso los SGBD deben garantizar que la información está segura frente a todo usuario malintencionado que quiera conocer o sacar información privilegiada, por eso los SGBD disponen de unos niveles de seguridad según los privilegios o permisos otorgados al usuario.
·         Integridad: Esta trata de garantizar o adoptar las medidas necesarias para validar los datos almacenados en las bases de datos, es decir cuidar los datos ante los daños de hardware, usuarios que ingresan datos de manera incorrecta o cualquier otra circunstancia que dé cabida al daño de la información almacenada.
·         Respaldo y recuperación: los SGBD deben permitir realizar copias de seguridad frecuentemente y recuperar información a base de esas copias de seguridad.
·         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. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias en el almacenamiento de la información y llegar a tumbar el mismo.


Arquitectura de los SGBD

Para manejar las BD, los SGBD necesitan conocer su estructura, el esquema de  la  BD  es  un  elemento  fundamental  de  la  arquitectura  de  un  SGBD  que  permite  independizar  el  SGBD de la BD; de este modo, se puede cambiar el diseño de la BD (su esquema) sin tener que hacer ningún cambio en el SGBD.

·         Esquemas y niveles: este esquema consiste en dos niveles conceptuales que son los lógicos y los físicos, el nivel lógico consiste en ocultar los detalles de cómo se almacena la información, como se mantiene y como se accede físicamente a ellos, en este solo se habla de entidades, atributos y reglas de integridad; mientras que el nivel físico se trata de que índices tendremos y que características presentaran, donde y como queremos que se agrupen los registros, el tamaño de la página, etc.

De acuerdo con la arquitectura ANSI/SPARC, debía haber tres niveles de esquemas (tres niveles de abstracción). La idea básica de ANSI/SPARC consistía en descomponer el nivel lógico en dos: el nivel externo y el nivel conceptual. Denominábamos nivel interno lo que aquí hemos denominado nivel físico.

En el nivel externo se sitúan las diferentes visiones lógicas que los procesos usuarios (programas de aplicación y usuarios directos) tendrán de las partes del BD que utilizarán. Estas visiones se denominan esquemas externos.

En el nivel conceptual hay una sola descripción lógica básica, única y global, que denominamos esquema conceptual, y que sirve de referencia para el resto de los esquemas.

En el nivel físico hay una sola descripción física, que denominamos esquema interno.





·         Independencia de datos: En este veremos cómo los tres niveles nos muestran los tipos diferentes de independencia de datos de niveles lógicos y físicos.

Hay independencia física cuando los cambios en la organización física del BD no afectan al mundo exterior (es decir lo programas de usuarios o los usuarios directos).

De acuerdo con la arquitectura ANSI/SPARC, habrá independencia física cuando los cambios en el esquema interno no afecten al esquema conceptual ni a los esquemas externos.



cuando cambiamos de un soporte a otro, o los cambiemos de lugar dentro de un soporte, no se verán afectados ni los programas de aplicación ni los usuarios directos ya que no se modificará el esquema conceptual no el externo.

Si hay independencia física de los datos, lo único que varía al cambiar el esquema interno son las correspondencias entre el esquema conceptual y el interno. Hay independencia lógica cuando los usuarios no se ven afectados por los cambios en el nivel lógico.



·         Flujos de datos y de control: Para entender el funcionamiento  de  un  SGBD,  a  continuación  veremos  los principales pasos de la ejecución de una consulta sometida al SGBD por un programa de aplicación. Explicaremos las líneas generales del flujo de datos y de control entre el SGBD, los programas de usuario y los BD.

Recordad que el SGBD, con la ayuda del SO, lee páginas (bloques) de los soportes donde está almacenada el BD físico, y las lleva a un área de buffers o memorias caché en la memoria principal. El SGBD pasa registros desde los buffers hacia el área de trabajo del mismo programa.

Supongamos que la consulta pide los datos del alumno que tiene un determinado DNI. Por lo tanto, la respuesta que el programa obtendrá será un solo registro y lo recibirá dentro de un área de trabajo propia.






·         Modelos de BD: Un BD es una representación de la realidad, dicho de otra manera, se puede identificar como un modelo de la realidad, siendo el componente fundamental para modelar un SGBD, sin embargo, en otros SGBD se usan otros tipos de componentes.

El conjunto de componentes o herramientas conceptuales que un SGBD proporciona para modelar recibe el nombre de modelo de BD. Los cuatro modelos de BD más utilizados en los SI son el modelo relacional, el modelo jerárquico, el modelo en red y el modelo relacional con objetos.

Los modelos de BD siempre proporcionan 3 tipos de herramientas las cuales son la estructura de datos con la cual se puede construir la BD, Los diferentes tipos de restricciones o tipos de integridad que las SGBD tendrá que hacer cumplir en los datos y una serie de operaciones para trabajar con los datos almacenados.





 Implementación

Para implementar un SGBD primero hay que saber las necesidades, la simplificación, el modelamiento su tipo de desarrollo, buscando un lenguaje de desarrollo compatible a lo que se busca, y también su disponibilidad y dinamicidad de uso.

Se busca un precio de licencia coherente a los requisitos exigidos por quien necesita de esta SGBD, mirando también su tiempo de montaje eh implementación y su tipo de infraestructura, después de su montaje se debe dar una capacitación a los operarios encargados de manejar en el SGBD.

En estos se busca unas ventajas que destaquen de otros como los son:
Su capacidad de almacenamiento
Su sistema actualizable
Su sistema de seguridad y corrección de errores
Entre otras ventajas que vuelven ese SGBD en el indicado para su implementación y correspondiente uso por parte de la empresa.

Por último, se busca que sus desventajas sean lo más mínimas posibles, por ejemplo, su duración en instalación, su constante actualización entre otras más.

Instancia

Tipos de instancias Online
Transaction Processing (OLTP): compra/venta, telemarketing
Segmentos cortos de rollback
Shared Pool muy largo Redo log suficiente Índices en discos separados Segmentos temporales pequeños
Decisión SupportSystems (DSS): datawarehouse Segmentos largos de rollback Shared Pool relativamente corto Redo log suficiente Índices apropiados Segmentos largos de temporal ParallelQuery en la medida de lo posible (si está disponible) Los usuarios que deseen conectarse a una base de datos, se conectan a lo que se conoce como la instancia de la base de datos (del inglés instance).Es el modo más sencillo de trabajo, el usuario dispone de un software en su máquina local, por lo que se encuentra en el lado del cliente, capaz de conectar con el SGBD. En ese momento se lanza un proceso de usuario. Ese proceso deberá comunicarse (a través de las redes apropiadas) con el proceso de servidor, un programa lanzado en el lado del servidor que está permanentemente en ejecución. El proceso de servidor comunica a su vez con la instancia de la base de datos, otro proceso en ejecución a través del cual se accede a la base de datos. Configurar instancias Cada instancia de Motor de base de datos debe configurarse satisfacer los requisitos de rendimiento y disponibilidad definidos para las bases de datos hospedadas por la instancia. El Motor de base de datos incluye opciones de configuración que controlan comportamientos como el uso de recursos y la disponibilidad de características como los comportamientos de control como el uso de los recursos y la disponibilidad de características como auditoría o recursividad desde encadenado.

           
DBA 

tiene muchos acrónimos, pero el más utilizado es el de “Doing Business As” en inglés, o sea, “Haciendo Negocio Como”, este término también es usado en la escritura de negocios y legal. Esta se refiere a que existe una diferencia entre el nombre legal del negocio y el nombre con el que opera día a día (el nombre con el que se da a conocer la empresa). 


https://grepora.files.wordpress.com/2015/06/dba.jpg?w=665


Un administrador de base de datos (DBA), este es el que esta al frente o lleva a cabo todas las actividades relacionadas con el cuidado de un ambiente de base de datos exitoso. Las responsabilidades incluyen el diseño, implementación y mantenimiento del sistema de base de datos; el establecimiento de políticas y procedimientos relativos a la gestión, la seguridad, el mantenimiento y el uso del sistema de gestión de base de datos; y la capacitación de los empleados en la gestión y el uso de las bases de datos.

http://cdn02.pucp.education/academico/2016/06/16141056/gestion_datos160616.jpg



Funciones
En las funciones de DBA encontramos las siguientes:
·         Gestión General de Base de Datos.
·         Modelado de Datos y Diseño de Base de Datos.
·         Auditoria.
·         Integración con aplicaciones.
·         Resguardo y recuperación de datos.
·         Inteligencia de negocios y almacenamiento.
·         Planificación de capacidad.
·         Administración de cambios.
·         Desarrollo de aplicaciones.

A continuación, se dará una pequeña definición de cada una de las funciones:
FUNCIONES
SIGNIFICADO
Gestión General de Base de Datos
El DBA es la persona con más conocimientos sobre base de datos en una organización. Como tal, este debe entender las principales reglas de la tecnología de base de datos relacional y debe ser capaz de comunicarlos con precisión a los demás.
Modelado de Datos y Diseño de Base de Datos
Un DBA debe ser un profesional experto en la recopilación y análisis de las necesidades del usuario para así poder obtener las variedades modelos de datos conceptuales y lógicos. Esta tarea suele ser más difícil de lo que parece a simple vista. Un modelo conceptual de datos describe los requisitos de datos a un nivel muy alto, un modelo de datos lógico proporciona en profundidad los detalles de los tipos de datos, longitudes, relaciones y cardinalidad. El DBA utiliza técnicas de normalización para ofrecer modelos de datos que reflejen las necesidades de los datos de la empresa.
Auditoria
Una de las tareas de un DBA es identificar qué usuarios tienen acceso a insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO sólo podría ser necesaria por un tiempo limitado, para usuarios específicos o datos específicos. También puede ser requerida 24/7 para todos los datos que se introduzcan en el DBMS. Regularmente, para realizar las funciones de autorías los DBA tienen que trabajar en combinación con los auditores internos y externos de la empresa.

Integración con aplicaciones
La mayoría de las empresas hoy en día utilizan aplicaciones de terceros (casi nadie ya desarrolla sus propias aplicaciones in-house), muy pocas de estas aplicaciones funcionan de manera aislada. En otras palabras, las aplicaciones tienen que interconectarse unas con otras, generalmente utilizando base de datos como el medio para compartir los datos. Los DBA a menudo se involucran en los procesos de integrar las aplicaciones existentes con las bases datos que administran. Esto puede incluir la creación de aplicaciones a medida, scripts, etc.

Resguardo y recuperación de datos
Uno de los aspectos más fundamentales del trabajo del DBA es proteger los datos de la organización. Esto incluye hacer copias de seguridad periódicas de los datos y mantenerlos a salvo de la destrucción accidental o intencional. Además, diseñar, implementar y probar un plan de recuperación para que cuando se presenten los problemas, los datos se pueden restaurar rápidamente.
Inteligencia de negocios y almacenamiento de datos
Una de las áreas de mayor crecimiento para el DBA es la Inteligencia de Negocios (BI) y almacenamiento de datos. Esto se debe a que cada vez más organizaciones están tratando de extraer toda la información que pueda con el fin de tomar mejores decisiones de negocios.
Planificación de capacidad
En la mayoría de las organizaciones, el número y tamaño de las bases de datos crece rápidamente. Es la responsabilidad del DBA gestionar el creciente volumen de datos y diseñar los planes apropiados para administrarlos. Esto incluye también la gestión del hardware donde se almacenan los datos.
Administración de cambios
La configuración del servidor SQL Server o MySQL, el esquema de base de datos, el código de Transact-SQL, y muchas otras facetas del ecosistema de aplicaciones cambian con el tiempo. A menudo es la responsabilidad del DBA realizar el análisis de impacto antes de realizar los cambios dentro de una DBMS. Implementar cambios, hacer pruebas piloto y documentar todos los cambios y procedimientos es parte del trabajo de un DBA.
Desarrollo de aplicaciones
Muchos administradores de base datos deben de desarrollar aplicaciones y scripts con el objetivo de automatizar tareas relacionadas con la inserción, sustracción o borrado de información dentro del manejador de base de datos. En general, éste debe de colaborar a nivel de integración de sistema con los desarrolladores de aplicaciones, por lo que a veces se ve en la obligación de desarrollar código para casos específicos.

ROLES
En los roles de DBA encontramos los siguientes:
·         Recuperabilidad.
·         Integridad.
·         Seguridad.
·         Disponibilidad.
·         Desempeño.
·         Desarrollo y soporte a pruebas.
·         Administrar el sistema manejador de base de datos.
·         Establecer el diccionario de datos.
·        
Asegurar la confiabilidad de la base de datos.

A continuación, se dará una pequeña definición de cada una de las funciones:

ROLES
SIGNIFICADO
Recuperabilidad
La recuperabilidad significa que, si se da algún error en los datos, hay un bug de programa o de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el daño se causara.
Integridad
La integridad de una base de datos significa que, la base de datos o 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. Por ejemplo, un distribuidor puede tener una regla la cual permita que solo los clientes individuales puedan solicitar órdenes; a su vez cada orden identifique a uno y solo un proveedor.
Seguridad
Uno de los principales roles del DBA es monitorizar y administrar la seguridad de la base de datos. Esto incluye agregar o remover usuarios, auditoria, checkear problemas de seguridad, cambiar los datos de acuerdo a las políticas del negocio, etc.
Al igual que otros metadatos, una DBMS relacional maneja la seguridad en forma de tabla.
Disponibilidad
Esto significa que los usuarios tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. De manera incremental los negocios han ido requiriendo que su información esté disponible todo el tiempo (7x24).
Desempeño
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.
Desarrollo y soporte a pruebas

Es un deber poco respetado, pero algunos lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción 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.
Una vez diseñada las bases de datos, es puesta en práctica utilizando productos del DBMS, procediéndose entonces a la creación de los datos (captura inicial).
Administrar el sistema manejador de base de datos
Esto tiene que ver con administrar el sistema manejador de base de datos. Existe una gran actividad al interior de un DBMS. La concurrencia de múltiples usuarios requiere la estandarización de los procesos de operación; el DBA es responsable de éstas especificaciones y de asegurarse que estas lleguen a quienes concierne.
Establecer el diccionario de datos
Cuando se definen estándares sobre la estructura de la base de datos, se deben de registrarse en una sección del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de proceso pueden acceder. Este metadato debe precisar información que nos indique con claridad el tipo de datos que serán utilizados, sus ámbitos de influencia y sus limitantes de seguridad.
Asegurar la confiabilidad de la base de datos
Se trata de realizar un sistema de bases de datos lo suficientemente robusto para que sea capaz de recuperarse frente a errores o usos inadecuados. Se deben utilizar gestores con las herramientas necesarias para la reparación de los posibles errores que las bases de datos pueden sufrir, por ejemplo, tras un corte inesperado de luz.
La posibilidad de fallos de hardware o de software requiere procedimientos de recuperación de la base de datos.







Bibliografía
Cavsi (2009) ¿Qué es un gestor de base de datos? Recuperado de http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema-gestor-de-bases-de-datos-o-sgbd/
Moreno Martin Alfonso (2014) Implementación de Oracle como SGBD , Recuperado de https://prezi.com/dad_adddemnw/implementacion-de-oracle-como-sgbd/
Gómez (2008) Introducción a las bases de datos, Recuperado de https://ggomez.files.wordpress.com/2008/09/sesion3.pdf
Logar Deisy (2014) Arquitectura de los SGBD, Recuperado de https://prezi.com/6cch6mtcemw_/arquitectura-de-los-sgbd/