🔻Bases de Datos🔻
⧫Arquitectura y Sistemas gestores⧫
Este blog fue creado en base a la clase de Fundamentos de base de datos como actividad enfocada en los sistemas gestores y su arquitectura, tratando de cubrir variedad de información para comprender y estudiar sobre estos conceptos.
INTRODUCCIÓN
El uso y manejo de la información digital se ha vuelto algo necesario en la actualidad, debido al alto trafico de datos que circulan día a día. Sin embargo, a pesar de no ser un recurso tangible también requiere de sistemas de gestión y seguridad. Que garanticen el fácil manejo y la integridad de los datos a pesar de las posibles fallas del servidor. Es aquí donde las Bases de Datos se diseñan para manipular grandes cantidades de información a merced de múltiples usuarios.
【Conceptos básicos de base de datos】
Una base de datos es un sistema de archivos para programas que permite almacenar, organizar y mantener seguros diferentes tipos de datos para la accesibilidad del usuario final. El objetivo principal de una base de datos es almacenar archivos y preservarlos contra el tiempo y deterioro para ser utilizados posteriormente de manera eficaz.
Una base de datos está conformada por modelos o tablas; cada tabla tiene N atributos, de diferentes tipos de datos, ellos se guardan como registros.
⧫Tipos de base de datos...
En el campo, existen principalmente 2 tipos de motores de
base de datos, relacionales y no relacionales. Cada una es más
adecuada dependiendo del caso de uso.
Base de Datos Relacional: Consiste en almacenar datos en forma de relaciones, todo dentro de un esquema lógico que en este caso son tablas, las relaciones son creadas a través de columnas en las tablas que hacen referencia a otro registro.
Base de Datos No Relacional: También conocida como NoSQL son las Bases de Datos que no siguen el modelo Relacional y que tampoco utilizan SQL como lenguaje de consultas, se caracterizan también por no seguir los principios ACID y también por utilizar colecciones en vez de tablas para almacenar datos.
Para consultar toda la información de CLIK AQUI :




【Objetivos de las bases de datos】
- Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual.
- Redundancia mínima: se trata de usar la base de datos como repositorio común de datos para distintas aplicaciones.
- Acceso concurrente por parte de múltiples usuarios: control de concurrencia mediante técnicas de bloqueo o cerrado de datos accedidos.
- Distribución espacial de los datos: la independencia lógica y física facilita la posibilidad de sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no tiene por qué preocuparse de la localización espacial de los datos a los que accede.
- Integridad de los datos: se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas externas), como de operación (introducción de datos incoherentes).
-

- Consultas complejas optimizadas: la optimización de consultas permite la rápida ejecución de las mismas.
- Seguridad de acceso y auditoría: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El sistema de auditoría mantiene el control de acceso a la base de datos, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento.
- Respaldo y recuperación: se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la pérdida de datos.
- Acceso a través de lenguajes de programación estándar: se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programación ajenos al sistema de base de datos propiamente dicho.
En bancos: transacciones de tarjeta de crédito: para comprar con tarjetas de crédito y la generación de los extractos mensuales.
【Modelos y clasificación de BD】
- Según la variabilidad de la base de datos
La primera clasificación que abordaremos, depende de la forma en la que los datos son estructurados dentro de la base de datos. No podían ser otras que las BD estáticas y dinámicas.
BD Estáticas
Son bases de datos diseñadas especialmente para la lectura de sus datos. Su implementación en la mayoría de los casos es para almacenar y registrar datos históricos y desarrollar estudios que permitan entender su comportamiento a través del tiempo.
Esto es de especial utilidad para las empresas que desean realizar proyecciones estadísticas y orientar los procesos de tomas de decisiones desde el ámbito empresarial.
BD Dinámicas
En contraste a las Bases de datos estáticas, los datos de estas bases son modificables al pasar el tiempo, permitiendo funciones constantes de actualización, edición y eliminación de los datos.
Un ejemplo para entender cómo usamos estas bases de datos en nuestra vida pueden ser los inventarios de las tiendas. Se ingresan productos, códigos y precios. Estos cambian al acabarse los productos y/o incluir productos nuevos en el inventario.
- Según el contenido
Bases de Datos Bibliográficas
Son un registro que nos ayuda a clasificar diversos campos de datos.
Una BD simple sobre este modelo puede incluir los siguientes campos: autor, fecha de publicación, editorial, titulo, etc.
Estos campos pueden ser consultados de forma separada o conjunta. Pero es importante resaltar que en este tipo de base de datos no conseguiremos la totalidad de la información contenida en el documento.
Bases de datos de texto completo
La base de datos de texto completo es una BD muy funcional que nos permite buscar términos específicos, palabras claves y todas las opciones de una BD de datos bibliográficos, con la gran diferencia que en esta BD podemos consultar el texto íntegro que está archivado.
Estás bases de datos son de especial utilidad para cumplir con objetivos académicos y de investigación científica.
Directorios
Son bases de datos con las que tratamos a diario. Inclusive, tu móvil, tienes una base de datos de este tipo que has construido y que seguramente le tienes un backup en la nube.
Comúnmente son utilizadas con fines empresariales. Contienen elementos básicos que nos permiten ordenar y organizar la información como por ejemplo:
- Nombres y direcciones
- Contacto telefónico y direcciones de correo electrónico
- Datos de facturación, códigos postales, entre otros.
- Según los modelos de bases de datos
Algunos de estos tipos de bases de datos obedecen su estructuración a la forma en la que guardan sus datos (descripciones), otras dependen de los métodos de almacenamiento y recuperación de esas descripciones.
BD jerárquicas
Las BD jerárquicas son como bien lo destaca su nombre, una base de datos en la que se almacena la información en una estructura jerárquica o con un orden de importancia.
La estructura jerárquica que conseguimos en los árboles se construye con segmentos que conocemos como nodos y ramas.
Los segmentos o nodos para construir el árbol pueden ser de tres formas o categorías:
- Padre: es un nodo del cual se desprenden descendientes. Todos los padres están ubicados al mismo nivel y tienen el mismo valor de importancia.
- Hijo: es un nodo que depende del nodo padre. Se puede decir que es una derivación del anterior.
- Raíz: es el origen de los datos, debido a que no tiene un nodo padre. Está situado en el nivel superior del árbol. De él se desprenden todos los nodos.
Las BD de datos en red, tienen un gran parecido a las jerárquicas; su diferencia principal en la composición del nodo. En este modelo los nodos pueden tener diversos padres.
En la actualidad este tipo de base de datos no es usado con frecuencia ya que la dificultad de su modificación y adaptación eleva el grado de complejidad de su estructuración haciéndola muy poco atractiva para programadores y usuarios finales.
En la actualidad este tipo de base de datos no es usado con frecuencia ya que la dificultad de su modificación y adaptación eleva el grado de complejidad de su estructuración haciéndola muy poco atractiva para programadores y usuarios finales.
Bases de datos Transaccionales
Estas bases de datos cumplen una función muy específica. Se encargan del envío y recepción de datos a gran velocidad.
Las BD transaccionales en realidad son poco comunes para usuarios de ordenadores que no estén relacionados con el ámbito industrial y de producción en líneas complejas.
Un caso puntual en el cual podemos tener algún contacto con una BD transaccional es en un sistema bancario que registra operaciones de intercambio de dinero entre cuentas.
De una cuenta se emiten los datos de debido del dinero y de forma inmediata en la cuenta de destino se deben generar los datos de carga de la cantidad recibida.
Un caso puntual en el cual podemos tener algún contacto con una BD transaccional es en un sistema bancario que registra operaciones de intercambio de dinero entre cuentas.
De una cuenta se emiten los datos de debido del dinero y de forma inmediata en la cuenta de destino se deben generar los datos de carga de la cantidad recibida.
Bases de datos multidimensionales
Estas BD están pensadas para funciones específicas. No existe mayor diferencia entre las bases de datos multidimensionales y las BD relacionales. El punto que las separa es apreciable sólo a nivel conceptual. Ya que en estas, los campos o atributos de una tabla pueden ser de dos tipos.
Pueden representar dimensiones dentro de una tabla de datos o directamente pueden representar las métricas que se pretenden obtener.
Base de datos orientadas a objetos
Imposible no emocionarse ya al hablar de bases de datos que usamos a diario. Las bases orientadas a objetos son de las más modernas con las que contamos. Además no hay que dejar de lado su gran capacidad y potencia. En estas, no se almacena información detallada sobre el objeto, se almacena por completo al objeto.
Se dota al objeto de un conjunto de características propias para diferenciarlo de objetos que puedan ser similares. Las ventajas de este modelo son obvias frente a las descritas con anterioridad. Admiten mayor cantidad de contenido y permiten al usuario tener más información de primera mano.
【Arquitectura de bases de datos】
Hay tres características importantes inherentes a los
sistemas de bases de datos: la separación entre los programas de aplicación y
los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de
un catálogo para almacenar el esquema de la base de datos. En 1975, el comité
ANSI-SPARC (American National Standard Institute Standards Planningand
Requirements Committee) propuso una arquitectura de tres niveles para los
sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas
tres características.


El objetivo de la arquitectura de tres niveles es el de
separar los programas de aplicación de la base de datos física.
En esta
arquitectura, el esquema de una base de datos se define en tres niveles de
abstracción distintos:
En el nivel interno se describe la estructura física de la
base de datos mediante un esquema interno.
- Este esquema se especifica mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como los métodos de acceso.
En el nivel conceptual se describe la estructura de toda la
base de datos para una comunidad de usuarios (todos los de una empresa u
organización), mediante un esquema conceptual.
- Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar el esquema.
En el nivel externo se describen varios esquemas externos o
vistas de usuario.
- Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas.
【Arquitectura del SGBD】
Para trabajar con nuestras BD, los SGBD necesitan conocer su estructura (qué entidades tipo habrá, qué atributos tendrán, etc.).
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 sin tener que hacer ningún cambio en el SGBD.
El nivel lógico nos oculta los detalles de cómo se almacenan los datos, cómo se mantienen y cómo se accede físicamente a ellos. En este nivel sólo se habla de entidades, atributos y reglas de integridad.
Por cuestiones de rendimiento, nos podrá interesar describir elementos de nivel físico como, por ejemplo, qué índices tendremos y qué características presentarán, cómo y dónde queremos que se agrupen físicamente los registros, de qué tamaño deben ser las páginas, etc.
De este modo, de acuerdo con ANSI/SPARC, habría los tres niveles de esquemas que mencionamos a continuación:
- 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 de la 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.
【Funciones de los SGBD】
Codd, el creador del modelo relacional, ha establecido una
lista con los ocho servicios que debe ofrecer todo SGBD.
1. Un SGBD debe proporcionar a los usuarios la
capacidad de almacenar datos en la base de datos, acceder a ellos y
actualizarlos. Esta es la función fundamental de un SGBD y por supuesto, el SGBD
debe ocultar al usuario la estructura física interna (la organización de los ficheros
y las estructuras de almacenamiento).
2. Un SGBD debe proporcionar un catálogo en el que
se almacenen las descripciones de los datos y que sea accesible por los usuarios.
Este catálogo es lo que se denomina diccionario de datos y contiene información
que describe los datos de la base de datos (metadatos). Normalmente, un diccionario
de datos almacena:
- Nombre, tipo y tamaño de los datos.
- Nombre de las relaciones entre los datos.
- Restricciones de integridad sobre los datos.
- Nombre de los usuarios autorizados a acceder a la base de datos.
- Esquemas externos, conceptual e interno, y correspondencia entre los esquemas.
- Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos.
3. Un SGBD debe proporcionar un mecanismo que garantice
que todas las actualizaciones correspondientes a una determinada transacción se
realicen, o que no se realice ninguna. Una transacción es un conjunto de acciones
que cambian el contenido de la base de datos.
4. Un SGBD debe proporcionar un mecanismo que asegure
que la base de datos se actualice correctamente cuando varios usuarios la están
actualizando concurrentemente.
5. Un SGBD debe proporcionar un mecanismo capaz de
recuperar la base de datos en caso de que ocurra algún suceso que la dañe.
6. Un SGBD debe proporcionar un mecanismo que garantice
que sólo los usuarios autorizados pueden acceder a la base de datos.
7. Un SGBD debe ser capaz de integrarse con algún software
de comunicación. Muchos usuarios acceden a la base de datos desde terminales.
8. Un SGBD debe proporcionar los medios necesarios
para garantizar que tanto los datos de la base de datos, como los cambios que se
realizan sobre estos datos, sigan ciertas reglas.
【Los principales componentes
del gestor de la BD】
- Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.
- Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos.
- Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.
- Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas.
- Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones.
- Planificador (Schedule). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.
【Conclusiones】
Como se vio en este blog acerca de las bases de datos, sus funciones, objetivos y toda la arquitectura que estas conllevan, se puede definir el amplio espectro tecnológico que han traído a la sociedad actualmente.
El desarrollo de una base de datos depende siempre de para que tipo de datos va estar destinado el programa o el servidor y ahí es donde está el sentido de la compleja arquitectura que conlleva.
Estos sistemas gestores tienen el objetivo claro, que es el de facilitar el manejo absoluto de los datos y la información entre usuarios, tener el control y el poder sobre los datos nos permite comprender la importancia que estas nuevas tecnologías traen consigo y así estudiar y mejorar las mismas...
🔻Les dejamos un vídeo acerca de las BD🔻
REFERENCIAS:

