Base de datos

Page 1

Asignatura diseño y base de datos. Definiciones. El diseño de una base de datos es un proceso que se guía por varios principios bien definidos, partiendo de un dominio del cual se obtendrá un modelo conceptual, seguidamente un modelo lógico, al cual se le debe aplicar normalización y finalmente obtener un modelo físico y poder implementarlo. El diseño de base de datos es un proceso cuyo objetivo es definir la estructura adecuada para nuestro sistema de información. ¿Qué es el diseño de base de datos? El diseño de base de datos es un proceso fundamental a la hora de modelar nuestros conjuntos de datos y definir las operaciones que queremos realizar sobre ellos. Los datos son el activo más importante de nuestra organización y una base de datos bien diseñada influye de forma directa en la eficiencia que obtendremos a la hora de almacenar, recuperar y analizar nuestros datos.

Ventajas del diseño de base de datos Un diseño de base de datos realizado de forma correcta nos proporciona unas ventajas fundamentales: Nos permite ahorrar espacio, mediante el diseño de base de datos optimizadas y sin datos duplicados. Nos ayuda a que se preserve la precisión e integridad de los datos y que no se pierda información. Agiliza de forma extrema el acceso y el procesamiento de los datos.


Las fases principales del Diseño de base de datos: Como cada proceso, el diseño de base de datos está compuestos por distintas etapas secuenciales. Recopilación y análisis de requisitos Esta primera fase consiste en un paso previo obligatorio, para asegurarnos de que nuestra base de datos cumplirá con nuestros objetivos. Para ello, deberemos analizar distintos factores, entre los cuales: Los datos que necesitamos almacenar y de dónde provienen. La información que los datos describen. Los usuarios de la base de datos y sus necesidades a la hora de acceder a los datos. Diseño conceptual En esta fase se representan una descripción a alto nivel del contenido de la base de datos, independientemente del sistema de gestión de base de datos que se utilizará a continuación. Se definen en un dibujo las entidades, sus atributos y las relaciones entre ellas. Elección de un sistema de gestión de base de datos Es en esta fase donde elegiremos el sistema de gestión de bases de datos (SGBD) concreto que mejor se adapta a nuestro proyecto, como, por ejemplo, Oracle, MySQL, Microsoft SQL Server y PostgreSQL.

Diseño lógico En esta fase, se traduce el modelo conceptual obtenido anteriormente a un esquema lógico, que describe la estructura de la base de datos. Se trata de la fase en la cual se diseñan las tablas propiamente dichas, con sus filas, columnas y relaciones. El modelo lógico depende del SGBD que se utilizará.


Diseño físico En esta fase se definen las estructuras de almacenamiento de la base de datos de forma física. Es cuando se escribe el código (por ejemplo, SQL) para concretar el diseño en el motor de base de datos que hemos escogido. Implementación Finalmente, se crea y se compila el esquema de la base de datos, se generan los ficheros y las aplicaciones que implementan las transacciones.

CE4.1.1 Describir los diferentes tipos de sistemas de base de datos. Qué tipos de base de datos existen? Bases de datos dinámicas. Son aquellas donde los datos pueden actualizarse o incluso modificarse. ... Bases de datos estáticas. ... Bases de datos jerárquicas. ... Bases de datos de red. ... Bases de datos relacionales. ... Bases de datos deductivas. ... Bases de datos multidimensionales.

¿Qué es una base de datos dinámica? Definición Una base de datos dinámica es aquella en la que se almacenan datos que pueden variar con el paso del tiempo. Para adecuarse a estos datos cambiantes, las bases dinámicas permiten realizar operaciones de edición, actualización o borrado de información. Por ejemplo, imaginemos una tienda online que tiene una base de datos con productos y sus respectivos precios. Se necesitará que sea una base de datos dinámica, ya que el precio de cada producto es susceptible de variar con el tiempo. Características y aspectos a tener en cuenta Vista la relación anterior se puede decir que las principales características de las bases de datos dinámicas son las siguientes:


Son bases de datos relacionales, es decir, en ellas se establecen relaciones entre los registros y sus campos. Están orientadas al almacenamiento de información que podría cambiar en el tiempo. Permiten añadir, modificar o eliminar la información presente en los campos de la base de datos. Se opone a las bases de datos estáticas, las cuáles no permiten editar la información. Ventajas y desventajas Teniendo en cuenta estas características, también se puede afirmar que las bases de datos dinámicas cuentan con una serie de ventajas e inconvenientes. Ventajas Entre las principales ventajas de las bases de datos dinámicas están: Capacidad para adaptarse a bases de datos con información cambiante. Son más flexibles que las bases de datos estáticas. Permiten analizar datos presentes de manera ágil y sencilla Desventajas Por su parte, las principales desventajas de las bases de datos dinámicas se resumen en las siguientes: Con este tipo de bases de datos es posible visualizar y analizar los datos presentes, pero resulta difícil realizar estudios sobre la evolución de la información. Por ejemplo, no sería posible analizar cómo han evolucionado los datos en 2015, 2016, 2017, 2018 y 2019, ya que la base de datos solo contendría los datos más recientes, es decir, los que figuran tras la última modificación. Es por ello que para el estudio de variables a lo largo del tiempo o para análisis de business intelligence se suelen emplear las bases estáticas. Son más complejas de mantener, ya que hay que estar actualizándolas constantemente, lo cual también puede dar lugar a datos erróneos, incompletos o desactualizados. Estructura La estructura de una base de datos dinámica puede ser la misma que la de cualquier base de datos relacional. Es decir, la información se organiza en tablas que a su vez contienen diversas filas y columnas. Las filas corresponden a cada uno de los registros de las bases de datos, mientras que cada columna corresponde a un campo o atributo de cada registro. La única característica especial es que en las bases de datos dinámicas los campos deben ser editables, ya sea manualmente o a través de formularios, para poder mantener la información siempre actualizada. Por ejemplo, una biblioteca que contiene registros de todos sus libros también debe tener un campo para saber su estado. Este campo debe ser editable para conocer en todo momento si el libro está disponible, prestado para uso interno o prestado para uso fuera de la biblioteca.


¿Qué se puede hacer con las bases de datos dinámicas? Dinamizar tablas y organizar matrices de datos. Crear informes basados en información totalmente actualizada. Organizar y segmentar datos en base a diferentes variables. Realizar minería de datos, buscando información basada en distintos criterios. Importar y exportar datos. Simplificar la forma en que se consulta la información usando iconos, barras de datos, colores de celda o formatos de texto. Crear paneles de control interactivos gracias a herramientas como Excel. Dinámicas vs estáticas Como ya hemos comentado, existen dos grandes grupos de bases de datos según la variabilidad de la información que contienen. Por un lado, están las bases de datos dinámicas, que permiten editar añadir, editar o eliminar la información. Por otro lado, están las bases estáticas, cuya información es fija e invariable. Antes poníamos el ejemplo de una tienda online que necesita modificar en su base de datos los precios de cada producto. En este caso sería una base de datos dinámica. Ahora pensemos en el censo de población de un lugar y un año determinado. Esos datos son inamovibles. Es decir, esa población figura como un dato fijo, hasta que se realice el censo del año siguiente. En este caso, se trata de una tabla estática. Estas bases de datos son especialmente útiles para estudiar la evolución de los datos; en el caso del ejemplo, para conocer cómo evoluciona la población año a año en un lugar determinado. Una base de datos que recoge la tasa de conversión de diferentes estrategias de marketing. Diferencia entre base de datos estáticas y dinámicas En la clasificación entre bases de datos según la variabilidad de la información hay dos grandes grupos: las bases de datos estáticas y las dinámicas. La principal diferencia entre ambas es que, mientras las bases de datos estáticas son de solo lectura y no permite modificar o añadir datos, las bases de datos dinámicas son mucho más flexibles y sí permiten editar, actualizar o borrar datos. Por ello, las bases estáticas se suelen emplear para información que es inamovible en el tiempo, mientras que las dinámicas se emplean para crear bases con datos que son susceptibles de variar con el tiempo.

¿Qué son las bases de datos estáticas? Una base de datos estática es aquella cuya función principal es el almacenamiento y registro de datos fijos. Es decir, guarda información que no se va a modificar ni editar con el tiempo.


Se trata de un tipo de bases de datos de solo lectura. Su implementación se suele realizar con el objetivo de registrar datos históricos para poder comparar su evolución a lo largo del tiempo. Por ejemplo, censo de población de un lugar y un año determinado. Esos datos son inamovibles. Es decir, esa población figura como un dato fijo, hasta que se realice el censo del año siguiente. Las bases de información estática son ampliamente utilizadas en el campo de la estadística y suelen estar orientadas a la toma de decisiones de índole empresarial. En contraposición a las bases estáticas están las bases dinámicas, las cuáles sí permiten la edición, actualización o eliminación de datos a lo largo del tiempo. Características y aspectos a tener en cuenta Vista la definición del párrafo anterior, se puede decir que las principales características de las bases de datos estáticas son las siguientes: Son bases de datos de solo lectura. Es decir, están diseñadas para agregar datos fijos que no se pueden modificar con el tiempo. Se utilizan fundamentalmente para almacenar datos históricos o hechos invariables. Se suelen combinar diferentes bases de datos estáticas realizadas en diferentes periodos para analizar la evolución de los datos en el tiempo. Por ello, son muy usadas para hacer estudios de mercado, investigaciones estadísticas y otros proyectos relacionados con el Business Intelligence. Ventajas y desventajas Ventajas Entre las ventajas de las bases de datos estáticas se pueden citar las siguientes: Son bases de datos que tienen total validez a lo largo del tiempo. Es decir, los datos siguen siendo válidos por mucho tiempo que pase. No necesitan mantenimiento de ningún tipo, ya que los datos no son editables. Las consultas suelen ser sencillas ya que se basan en datos fijos. Las relaciones entre tablas también son fáciles de realizar. Se pueden aplicar con numerosos objetivos, pero son especialmente útiles a la hora de comparar estadísticas, o la evolución de cualquier dato en el tiempo. Desventajas Por su parte, las principales desventajas de las bases de datos estáticas son: No sirven para almacenar datos que han de ser modificados en el tiempo. Por ejemplo, el precio de un producto que es susceptible de cambiar. Son poco flexibles y se limitan a una serie de datos muy concretos. 5 ejemplos de base de datos estáticas


Existen numerosos ejemplos de bases de datos estáticas. Pero pongamos algún ejemplo que las ilustre mejor: Las bases de datos del INE (Instituto Nacional de Estadística) que recogen los datos anuales sobre natalidad, ocupación laboral, sueldos medios y un largo etcétera. Bases de datos que recogen el censo de una población a lo largo de los años. Una base de datos que recoge los ingresos mensuales de una tienda en diferentes tablas a lo largo de los meses. Bases de datos que se refieren a hechos históricos o efemérides.

¿Qué son las bases de datos jerárquicas? son bases de datos que almacenan la información en una estructura jerarquizada, concretamente los datos son organizados de forma parecida a un árbol visto del revés. Uno de los principales objetivos de las bases de datos jerárquicas es gestionar grandes volúmenes de datos. Las bases de datos jerárquicas tienen su origen con el comienzo de la programación lógica, aunque no empezaron a usarse más habitualmente hasta 1992. Durante años fueron uno de los modelos de gestión de bases de datos más utilizados, pero con el tiempo y la aparición de otros modelos más ágiles, han ido cayendo en desuso. Características y aspectos a tener en cuenta Las principales características de las bases de datos jerárquicas son las siguientes: Se organizan en forma de árbol invertido, con un nodo raíz, nodos padre e hijos. El árbol se organiza en un conjunto de niveles. El nivel 0 se corresponde al nodo raíz y es el nivel más alto de la jerarquía. Los arcos (enlaces) representan las asociaciones jerárquicas entro dos nodos, carecen de nombre porque entre dos conjuntos de datos solo puede existir una interrelación. Uno nodo padre puede tener un número ilimitado de nodos hijos, pero a un nodo hijo solo le puede corresponder un padre. Todo nodo debe tener un padre, a excepción del nodo raíz. Los nodos sin descendientes se llaman «hojas». Los niveles de la estructura jerárquica se denominan «altura». El número de nodos se llama «momento». Solo pueden existir relaciones de uno a uno de uno a varios. El árbol siempre se recorre en un orden prefijado. La estructura del árbol no se puede modificar cuando ha quedado establecida.


Ventajas y desventajas Las bases de datos jerárquicas cuentan con ventajas y desventajas que deben tenerse en cuenta si se está pensando en implementar este sistema de gestión de datos. Aunque por un lado estamos ante un modelo muy potente, lo cierto es que presenta varias deficiencias que pueden hacerlo inconveniente para determinados sectores y áreas. Ventajas Entre las ventajas de una base de datos jerárquica encontramos, entre otras las siguientes: Las conexiones dentro del árbol son fijas y hace que la navegación por ellas sea rápida. Muestra una estructura de la base de datos fácil de ver y comprender. Permite predefinir relaciones, simplificando las variaciones futuras. Globalizan la información, es decir, cualquier usuario puede acceder a esta información, que se considera un recurso corporativo que no tiene dueños (hablamos dentro del ámbito de una empresa u organización). Permite compartir información. Permite mantener la integridad la información. Mantiene la independencia de datos. Desventajas Pero como decíamos, la base de datos jerárquica también tiene una serie de desventajas, entre las que encontramos: Escasa independencia entre los registros (nodos), puesto que, para acceder a un registro, se debe pasar por los padres, algo que quita flexibilidad a la navegación por la base de datos. Implica una mala gestión de la redundancia de datos, puesto que cuando un registro tiene relación con dos o más registros, debe almacenarse varias veces, puesto que un hijo no puede tener varios padres. Diseñar esta base de datos jerárquica requiere conocer muy bien las unidades de información y las relaciones que tienen estas entre sí. Concepto y esquema El concepto de las bases de datos del modelo jerárquico se basa en la representación de la situaciones de la vida real en las que predominan las relaciones tipo uno a varios (1:N). Su esquema se organiza en niveles múltiples en función de una estricta relación padre-hijo, de tal modo que un padre puede tener más de un hijo, todos ellos localizados en el mismo nivel, peor un hijo solo puede tener un padre situado en el nivel inmediatamente superior al suyo.

Las entidades en este modelo se denominan segmentos (nodos) y los atributos campos. Los segmentos se organizan en niveles, así en un mismo nivel estarían todos los segmentos que dependen de un segmento del nivel inmediatamente superior.


Modelo y Estructura Como decíamos, en las bases de datos jerárquicas la información está almacenada de forma jerárquica, enlazando los registros en una estructura en forma de árbol invertido, donde encontramos un nodo raíz, nodos padres que pueden tener entre 0 y varios nodos hijos. Las relaciones entre los datos en este esquema jerarquizado se establecen siempre a nivel físico, donde los nodos representan los tipos de registro y los arcos los tipos de interrelaciones jerárquicas entre los mismos.

Ejemplos una empresa puede crear una base de datos jerárquica para organizar a sus clientes. Así, el nodo raíz sería Clientes, cada cliente sería un nodo padre, que su vez podrían lugar a nodos hijos como servicios, facturas, presupuestos, datos, etc.

Siguiendo con este ejemplo de la empresa, pongamos ahora que lo que quiere es crear una base de datos jerárquica para organizar a su red de suministros. En este caso el nodo raíz sería Suministros, cada tipo de producto podría sería un nodo padre, del que partirían diferentes nodos hijos: proveedores, datos, facturas, incidencias, histórico pedido, etc.


Final del formulario

¿Qué es una base de datos red? Es aquella base de datos formada por una serie de registros, los cuáles están enlazados entre sí creando una red. Estos registros son similares a los campos en las bases de datos relacionales, y cada uno de ellos contiene un único atributo o valor. Las bases de datos de red son similares a las bases jerárquicas o de árbol invertido. La principal diferencia entre ambas es que las bases jerárquicas solo permiten un único nodo padre, mientras que en las bases de red (también llamadas estructura de plex) es posible crear varios nodos padres. Características y aspectos a tener en cuenta Uno de los principales conceptos a tener en cuenta en una base de datos de red es el término «conjunto». Un conjunto está formado por dos tipos de registro, los cuáles están ligados con una relación «de muchos a muchos». Para poder establecer esta relación, es necesario que haya una conexión entre ambos tipos de registro, lo cual se consigue a través de un registro llamado «conjunto conector». En base al funcionamiento de los conjuntos, se pueden definir las principales características de una base de datos de red: Se disponen en estructura de árbol invertido, pero a diferencia de las bases jerárquicas, es posible que existan varios registros padres. Hay registros padres, llamados «propietario» y registros hijos, llamados «miembro». Cada conjunto está formado por un registro padre y uno o varios registros hijos. A estas colecciones de registros de les denomina ocurrencia de conjuntos.


Ventajas y desventajas Ventajas Entre las principales ventajas de las bases de datos de red está la posibilidad de establecer relaciones de muchos a muchos. Por ejemplo, una tienda online que quiere relacionar a los productos con los pedidos. Un producto puede ser objeto de múltiples pedidos, pero a su vez, un pedido puede contener diversos productos. Una base de datos de red permite establecer este tipo de relaciones cruzadas, lo cual no es posible con las bases jerárquicas estándar. Desventajas Entre las desventajas de las bases de datos de red es que esta relación de muchos a muchos no se puede establecer entre instancias o registros de diferente nivel, como sí sucede en las bases relacionales. Por ejemplo, se puede establecer que un médico tiene relación con varios pacientes, pero no resulta tan sencillo establecer la misma relación en sentido inverso, de un paciente a muchos médicos. Objetivo de la base de datos de red El objetivo de las bases de datos de red es, básicamente, el mismo que el de todas las bases de datos. Esto es, permitir almacenar y organizar la información de forma sencilla e incluir un contenido tan variado como se desee. Pero, además, también cuenta con otros objetivos más específicos: Facilitar el acceso a la información, que los datos puedan ser consultados de forma rápida y sencilla. Favorecer que la información se comparta, es decir, garantizar que varios usuarios puedan consultar la información de forma concurrente. Asegurar la flexibilidad de la información, esto es, que se puedan editar, modificar o eliminar datos que pueden variar a lo largo del tiempo. Permitir almacenar diferentes tipos de datos, desde textos hasta valores numéricos. Ejemplo Pongamos el ejemplo de una tienda online en la que los distintos productos pueden ser asignados a diferentes vendedores. Para plasmar esta relación en el lenguaje de programación Java, el código sería el siguiente.


type producto= record clave: string[] nombreM: string[] cred: string[2] end; type vendedor= record nombre: string[30]; control: string[8]; producto: Producto; {Enlace a producto} end; En definitiva, las bases de datos de red se caracterizan por establecer relaciones entre los diferentes registros por medio de enlaces que crean una red, y por ofrecer la posibilidad de tener uno o varios elementos padre en una misma base de datos. Es decir, funciona de manera similar a una base de datos jerárquica, son la diferencia de que éstas últimas solo permiten un único registro padre. Bases de Datos relacionales Son una colección de elementos de datos organizados en un conjunto de tablas formalmente descritas, desde donde se puede acceder a los datos o volver a montarlos de muchas maneras diferentes sin tener que reorganizar las tablas de la base. La interfaz estándar de programa de usuario y aplicación a una base de datos relacional, es el Lenguaje de Consultas Estructuradas (SQL). Los comandos SQL se utilizan tanto para consultas interactivas como para obtener información de una base de datos relacional y la recopilación de datos para informes. Las bases de datos relacionales se basan en la organización de la información en partes pequeñas que se integran mediante identificadores; a diferencia de las bases de datos no relacionales que, como su nombre lo indica, no tienen un identificador que sirva para relacionar dos o más conjuntos de datos. Además, son más robustas, es decir, tienen mayor capacidad de almacenamiento, y son menos vulnerables ante fallas, estas son sus principales características. Bases de datos no relacionales Están diseñadas específicamente para modelos de datos específicos y tienen esquemas flexibles para crear aplicaciones modernas. Son ampliamente reconocidas porque son fáciles


de desarrollar, tanto en funcionalidad como en rendimiento a escala. Usan una variedad de modelos de datos, que incluyen documentos, gráficos, clave-valor, en-memoria y búsqueda. Las bases de datos no relacionales (NoSQL) son las que, a diferencia de las relacionales, no tienen un identificador que sirva de relación entre un conjunto de datos y otros. Como veremos, la información se organiza normalmente mediante documentos y es muy útil cuando no tenemos un esquema exacto de lo que se va a almacenar. Con relación a formatos, la información de una base de datos puede ser almacenada en tablas o documentos. Cuando los datos son organizados en un archivo de Excel, es en formato tabla, pero cuando simplemente son datos escritos como cartas, fórmulas o recetas, son datos en formato documento. Esto aplica para los dos tipos de bases de datos. Por ejemplo, los datos de una tabla pueden ser transcritos a un documento, todo depende del punto de vista y la necesidad del problema que se vaya enfrentar. Para ilustrar una de las diferencias entre bases de datos SQL y NOSQL, vamos a dar un ejemplo. Imaginemos por un momento una ciudad como Medellín (Colombia), donde todas las personas hablan el mismo idioma, por tanto, es la única forma de que todos los residentes se comuniquen e interactúen. Si se cambia ese idioma se perjudican todos los residentes. Las bases de datos relacionales utilizan un lenguaje de consulta estructurado para la manipulación de datos, estas se conforman por filas, columnas y registros y se almacenan por tablas. Para manipular los datos en SQL, se requiere primero determinar la estructura de estos, si se cambia la estructura de uno de los datos, puede perjudicar todo el sistema, ya que las tablas están relacionadas. Las bases de datos no relacionales tienen un esquema dinámico, no se requiere la estructura de los datos para su manipulación. Los datos se pueden almacenar de cualquier manera, columnas, documentos, gráficos, etc, y cada documento puede tener su propia estructura, sin afectar los demás, puede agregar más campos a medida que se avanza. Están conformadas por documentos, campos y datos del documento, además, se almacenan por colecciones.


¿Entonces cuándo utilizar SQL o NOSQL?

Tanto SQL como NoSQL son tipos de bases de datos recomendadas para utilizar a la hora de comenzar con tus proyectos, cada una de ellas con ventajas y desventajas. Por ejemplo los sistemas contables, o de inventario, son sistemas que requieren transacciones de varias filas, para este tipo de trabajos la mejor opción son las bases de datos SQL (MySq). Si los sistemas son de gestión de contenido, aplicaciones móviles, sistemas de análisis en tiempo real, bases de datos con un crecimiento rápido, con un esquema descentralizado, la mejor opción son bases de datos NOSQL (MongoDB). Algunas de las ventajas de SQL: mayor soporte y más variedad de herramientas debido a que lleva más tiempo en el mercado, es útil para manejar y obtener los datos, permite agregar otros servidores de SQL, por ejemplo una persona puede acceder a la base de datos de otra.


Como desventajas de SQL están: No es flexible (antes de ingresar los objetos, deben estar correctamente validados), mientras más compleja sea la base de datos, requiere mayor procesamiento y eso se puede ver reflejado en el rendimiento y consumo de recursos.

¿Qué son las bases de datos deductivas? El verbo «deducir» hace referencia a la capacidad de extraer conclusiones a partir de cierta información, reglas o principios generales. Y este es básicamente el funcionamiento de las bases de datos deductivas. Una base de datos deductiva consiste en un sistema de almacenamiento que, a través de ciertas reglas definidas, es capaz de utilizar la información contenida en la base de datos para deducir información adicional. Este tipo de bases de datos se fundamenta en materias como la lógica matemática y el cálculo relacional, por ello también se las suele denominar como bases de datos lógicas. Su objetivo es definir nuevas relaciones para el procesamiento de consultas a través de la información presente en la propia base de datos. Para ello, las bases de datos deductivas utilizan un lenguaje declarativo (normalmente Prolog). Este lenguaje tiene la particularidad de definir reglas que marcan lo que el programa, en este caso la base de datos, desea conseguir. Esto lo diferencia de los lenguajes usados habitualmente en otras bases de datos como el SQL, que definen el cómo conseguirlo. En definitiva, las bases de datos activas y deductivas son capaces de deducir nuevos hechos a partir de la información presente en la data base, teniendo en cuenta determinadas reglas definidas de antemano por su lenguaje. Características y aspectos a tener en cuenta Las principales características de las bases de datos deductivas son las siguientes: Utilizan el lenguaje DataLog, un lenguaje declarativo. Permiten hacer consultas a través de reglas lógicas, deduciendo nueva información por medio de los datos presentes en la database. Son capaces de soportar conjuntos y objetos de gran complejidad. Al contrario que en otras bases de datos, no existen relaciones entre entidades, sino predicados. También se basan en hechos en lugar de tulpas. Pueden establecer negaciones por estratos. En cualquier caso, la característica fundamental de esta base de datos es que ha de ser modelada a través de reglas lógicas, las cuáles le permiten deducir información a partir de los datos ya almacenados. Ventajas y desventajas


Las bases de datos deductivas tienen un funcionamiento muy particular, lo cual provoca que su uso tenga ciertas ventajas y desventajas. Ventajas Entre las ventajas de las bases de datos deductivas se pueden citar: Son capaces de deducir información a partir de reglas lógicas que interpretan los datos almacenados. Derivado del punto anterior, contienen menor cantidad de datos y ocupan menos espacio de almacenamiento, ya que hay información que no es necesario almacenar, sino que es la propia base de datos quien se encarga de deducirla. Se pueden realizar consultas recursivas basadas en bucles y ciclos de procesamiento que se repiten. Desventajas Por su parte, las principales desventajas de las bases de datos deductivas son: Es necesario definir criterios a la hora de utilizar las reglas de deducción, para que la base de datos pueda trabajar con coherencia. Obligan a replantear las convenciones formales frecuentes en las bases de datos y adaptarlas a un contexto deductivo. Además de definir criterios lógicos, hay que desarrollar procesos de deducción eficaces. Si las reglas lógicas y los procesos no están correctamente definidos, es probable que la base de datos no arroje resultados coherentes, o incluso que se vea atrapada en bucles infinitos. Comparativa entre deductivas y difusas Con frecuencia, las bases de datos difusas se suelen confundir con las deductivas. Sin embargo, aunque el concepto de ambas es parecido, en realidad funcionan de una forma distinta. Una base de datos difusa está diseñada como una herramienta que alberga información difusa sobre un problema a resolver, de forma que, en base a estos datos, es capaz de modelar y definir relaciones entre variables. Por ello, este tipo de bases difusas se emplea principalmente para relacionar información vaga, difusa o imprecisa. Por ejemplo, cuando se tiene información sobre determinado objeto, pero no se trata de un dato exacto sino aproximado. La principal ventaja de las bases difusas es su capacidad para operar con datos inexactos o aproximados. Sin embargo, también tienen algunos inconvenientes, por ejemplo, se trata de un lenguaje de consulta incómodo, abstracto y no estandarizado, que necesita de la aplicación de numerosos parámetros para ser efectivo y aproximarse lo suficiente a la realidad. Por tanto, la diferencia entre bases de datos deductivas y difusas es que las deductivas extraen información extra y relaciones de los datos ya almacenados, mientras las difusas son capaces de crear estas relaciones en base a datos vagos o poco definidos.


Las bases de datos multidimensionales o MDB son ampliamente utilizadas en el entorno de los Data Warehouse y para aplicaciones encargadas de realizar análisis de procesos en línea. También es habitual que este tipo de bases de datos se empleen usando la información ya contenida en otras bases de datos relacionales. Por otro lado, lo sistemas de gestión de bases de datos multidimensionales (MDDBMS) son capaces de procesar la información a gran velocidad, lo que las convierte en una herramienta muy útil para entornos o aplicaciones que requieren obtener respuestas a las consultas inmediatas o en tiempo real. Características y aspectos a tener en cuenta Las características de las bases de datos multidimensionales hacen que se diferencien de otros sistemas de almacenamiento. Veamos cuáles son los principales aspectos a tener en cuenta en este tipo de databases. OLAP Las tablas de las bases de datos multidimensionales se organizan en forma de cubo, más en concreto se les denomina cubo OLAP (On-Line Analytical Processing). En este tipo de estructura, cada dimensión del cubo equivale a un campo de dimensiones en la tabla, mientas que la información almacenada en cada celda del cubo corresponde a los hechos. Las bases de datos multidimensionales también pueden verse como una sola tabla, pero tienen una peculiaridad. Y es que tienen un campo o columna por cada dimensión, del mismo modo que también tiene un campo por cada hecho (métricas). *Ejemplo: d1, d2, d3,…,m1, m2, m3… *Donde «d» hace referencia a las dimensiones y «m» a las métricas o hechos que se almacenan. De hechos En una base de datos multidimensional están, por una parte, las tablas de hechos. Y es que este tipo de bases de datos se suelen organizar en base a un tema: Ventas, Ganancias, Climatología, etc. OLAP.. Aparte del nombre del hecho y un valor numérico para sus medidas, la tabla de hechos también incluye las claves que permitirán relacionar los hechos con la tabla de dimensiones. De dimensiones Por otro lado, están las tablas de dimensiones, que representan aquello que se quiere almacenar respecto a un tema concreto. En una misma base de datos multidimensional puede haber numerosas tablas de dimensiones asociadas entre sí. Las tablas de dimensiones pueden ser generadas de forma automática, o creadas manualmente por los propios usuarios.


Asimismo, también existen claves naturales o subrogadas. Las claves naturales son aquellas que ya vienen predefinidas. Por su parte, las claves subrogadas se definen de forma manual, son de tipo secuencial y no tienen ningún tipo de relación directa con otros datos. Medidas En las tablas de hechos se almacenan las medidas de los datos. Estas medidas están formadas por dos componentes principales: Una propiedad numérica, un valor, como puede ser el precio de venta de un producto. Una fórmula, de forma que se puedan combinar distintos valores de medidas. Se pueden distinguir entre tres tipos de medidas: Medidas aditivas: pueden ser combinadas a lo largo de varias dimensiones. Por ejemplo, medir las ventas totales de un producto a lo largo del tiempo. Medidas semiaditivas: no está permitida su combinación a lo largo de una o varias dimensiones. Por ejemplo, hacer inventario de productos presentes en el almacén. Sin embargo, no tendría ningún sentido sumar el stock total de un producto a través del tiempo. Medidas no aditivas: no es posible combinarlas en ninguna dimensión Jerarquía El concepto de jerarquía permite que la información se que almacena en las bases de datos multidimensionales se organice en base a diferentes niveles de abstracción. Nivel 1: Todos Nivel 2: Continentes > Europa, Asia Nivel 3: Países > Europa > Francia, Italia, España Nivel 4: Ciudades > España > Madrid, Barcelona, Sevilla Nivel 5: Oficinas > Madrid > Oficina 1, Oficina 2, Oficina 3 Ventajas y desventajas Las estructuras multidimensionales de estas bases de datos les confieren unas características especiales, lo que se traduce en una serie de ventajas e inconvenientes. Ventajas Comenzamos por ver algunas de las principales ventajas de las bases de datos multidimensionales: Son capaces de trabajar con datos con un alto nivel de abstracción. Posibilitan la creación de numerosas relaciones entre diversas dimensiones y hechos Son muy utilizadas en los Data Warehouse y en los procedimientos de aplicaciones analíticas gracias a la gran velocidad de procesado de información y restitución de los datos. Pueden trabajar con datos previamente almacenados en bases de datos relacionales simples.


Desventajas Por otra parte, una de las principales desventajas de las bases de datos multidimensionales es la dificultad para hacer cambios en su estructura. Debido a su complejidad, cuando el usuario desea realizar modificaciones en la estructura de la base de datos, debe diseñar un nuevo cubo OLAP, sin posibilidad de utilizar la estructura previamente diseñada. Estructura La estructura de una base de datos multidimensional puede ser de diferentes tipos. A continuación, vemos algunos de los más frecuentes. Esquema de estrella Es la estructura más empleada en las bases de datos multidimensionales. Está formada por los siguientes elementos: Una tabla central o Fact Table donde se almacenan los datos no redundantes. Una serie de tablas de dimensiones (una por cada dimensión). Cada tabla de dimensiones está formada por un conjunto de atributos. Estos atributos se pueden organizar de forma jerárquica o parcial. Esquema de copo de nieve Es similar a la estructura anterior, con la salvedad de que algunas de las tablas que componen la base de datos están normalizadas. Gracias a esta normalización se pueden generar tablas adicionales, con lo que la estructura resultante tiene una forma parecida a un copo de nieve. Las principales ventajas de este tipo de estructura respecto al esquema de estrella es que se reduce la redundancia y se ahorra espacio de almacenamiento. Esquema de constelación de hechos Es una estructura formada por un conjunto de esquemas de estrella, esto es, múltiples tablas de hechos que se relacionan con otras tablas de dimensiones. Base de datos relacional vs Multidimensional Multidimensional

Relacional

Organización de datos

Celdas, dimensiones, tablas de hechos

Tablas

Nivel de datos

Detallados y agregados

Detallados

Operaciones

Análisis

Actualizaciones

Lenguaje para Querys

MDX

SQL

Uso de espacio en disco

Bajo

Grande

Rendimiento

Bueno

Débil

Flexibilidad

Baja

Alta


Multidimensional

Relacional

Tiempo de procesamiento

Alto

Bajo

Escalabilidad

Baja

Alta

Alcance del diseño

Limitado

Muy grande

Acceso a datos

Soporta acceso directo

Acceso indirecto

En este punto vemos las principales diferencias entre una base de datos multidimensional y una base de datos relacional.

Resumen En definitiva, una base de datos multidimensional es un sistema que permiten añadir nuevas dimensiones a las relaciones que se establecen dentro de la base de datos, gracias a la creación de tablas de dimensiones que se asocian con tablas de hechos. Gracias a ello son bases de datos muy empleadas en la analítica online y a la hora de trabajar con Data Warehouses. Entre sus ventajas están su gran rendimiento y la posibilidad de establecer relaciones complejas. Por contra, su escalabilidad y flexibilidad es bastante baja debido a su estructura. Si quieres consultar más información te recomendamos consultar nuestro artículo sobre bases de datos, donde encontrarás información general y enlaces a otras tipologías de databases.

El modelo entidad relación es una herramienta que permite representar de manera simplificada los componentes que participan en un proceso de negocio y el modo en el que estos se relacionan entre sí. El modelo entidad relación tiene tres elementos principales: 

Entidades: El modelo contará con una entidad por cada uno de los componentes del proceso de negocio. Así, en un negocio de venta de suscripciones a revistas, podemos tener entidades “Cliente”, “Dirección”, “Factura”, “Producto”, o “Incidencias”, entre otras.

Atributos: Los atributos, componente fundamental de cada modelo entidadrelación, nos permiten describir las propiedades que tiene cada entidad. “Nombre”, “Primer Apellido”, “Segundo Apellido”, ”Fecha de nacimiento”, “Género” o “Segmento de valor” serán atributos de la entidad “Cliente”. 

Relaciones: Con las relaciones se establecen vínculos entre parejas de entidades. Cada “Cliente” tendrá una “Dirección” de envío en la que recibirá la suscripción,


podrá estar suscrito a uno o varios “Productos”, y recibirá una “Factura” con la periodicidad acordada. El diagrama entidad relación es la expresión gráfica del modelo entidad relación. En él las entidades se representan utilizando rectángulos, los atributos por medio de círculos o elipses y las relaciones como líneas que conectan las entidades que tienen algún tipo de vínculo. También es muy común el formato de diagrama en el que los atributos de una entidad aparecen listados en filas dentro del rectángulo que representa a esa entidad. Además, es común que, en el modelo entidad-relación, los conectores que indican que dos entidades A y B están relacionadas entre sí tengan una apariencia gráfica diferente dependiendo del tipo de relación que exista entre ellas. Los tipos de relaciones posibles entre dos entidades en un modelo entidad relación son: 

Relación uno a uno: Un “individuo” de la entidad A solamente puede estar relacionado con un “individuo” de la entidad B, y ese “individuo” de la entidad B no puede estar relacionado con otros “individuos” de la entidad A. Por ejemplo, cada miembro de la entidad País se relaciona únicamente con un miembro de la entidad “Ciudad capital de un país”. Cada país puede tener una única capital y cada ciudad capital puede serlo únicamente de un país.

Relación uno a varios: Un “individuo” de la entidad A puede estar relacionado con uno o varios “individuos” de la entidad B, y esos “individuos” de la entidad B no pueden estar relacionados con otros “individuos” de la entidad A. Por ejemplo, cada miembro de la entidad “Padre” puede estar relacionado con uno o varios miembros de la entidad “Hijo”, y cada miembro de la entidad “Hijo” solamente puede tener vínculo con un miembro de la entidad “Padre”.

Relación varios a varios: Cada “individuo” de la entidad A puede estar relacionado con uno o varios “individuos” de la entidad B, y cada “individuo” de la entidad B puede estar relacionado con varios “individuos” de la entidad A. Por ejemplo, cada miembro de la entidad “Cliente” puede estar relacionado con uno o varios miembros de la entidad “Producto”, y cada miembro de la entidad “Producto” puede tener vínculo con varios miembros de la entidad “Cliente”.

La aplicación más extendida del modelo entidad relación en el ámbito empresarial es representar cómo están almacenados los datos en un sistema de información o base de datos. Las aplicaciones informáticas que soportan los procesos de negocio de las


empresas, tanto las operacionales como las informacionales, almacenan la información con la que trabajan en bases de datos, y el modelo entidad relación es una magnífica herramienta para reflejar cómo están organizados los datos en ellas. Gracias al diagrama entidad relación es muy sencillo de forma visual identificar el tipo de diseño que tiene el modelo de datos en una base de datos (jerárquico, estrella, grafo…).


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.