Fundamentos de Bases de Datos: Modelos, Estructura y Diseño
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 10,6 KB
Breve Historia del Dato
El dato es una representación de la realidad, y si concretamos a qué hace referencia, lo convertimos en información. El origen del dato es la escritura, y la arcilla es la tecnología más antigua cuyos restos han perdurado. Se inventó el papel, luego Gutenberg la imprenta, después la máquina analítica de Babbage, considerada precursora de los equipos informáticos actuales; y Ada Lovelace es considerada la primera programadora de la historia informática.
Modelo de Datos
Un modelo o base de datos es una representación de la realidad, organizada para que pueda ser tratada por una máquina (el ordenador). Podemos clasificar los datos en tres categorías:
- Datos estructurados: Su tipo y tamaño pueden predeterminarse, facilitando así mucho su tratamiento por las máquinas. La mayoría de los datos rutinarios operativos de las empresas son de este tipo (contabilidad, email, nombre, etc.).
- Datos no estructurados: Información heterogénea, multiformato, que no es posible predeterminar ni tipo, ni tamaño ni formato de los datos (número, imagen, vídeo, texto, documentos PDF, etc.).
- Datos semiestructurados: A mitad de camino entre los dos anteriores, y se gestionan bajo las normas de algún lenguaje de programación (JSON, HTML).
Hoy los datos estructurados son la materia prima de las bases de datos relacionales, así como de las herramientas de inteligencia de negocio; los otros dos están más en el campo del Big Data. El factor humano en el diseño del modelo de datos es relevante; es necesario buscar el equilibrio entre la fidelidad de la representación y el coste, ya que convertir la realidad en un modelo de datos no es fácil (además de que ese modelo de datos va a ser gestionado por una máquina, por tanto, la realidad a representar va a ser simplificada y organizada para adaptarse a las limitaciones de la máquina).
Las bases de datos relacionales son el modelo más extendido y se basan en que la información se estructura en tablas bidimensionales, y estas tablas se relacionan entre sí de alguna manera.
Diferentes Acepciones del Término Fichero
a) Se refiere a cómo se almacenan los programas y los datos en los dispositivos de almacenamiento permanentes: se habla de fichero o archivo en relación a lo que se almacena, identificado por un nombre y en un soporte permanente, como puede ser un disco duro, DVD, lápiz de memoria, etc.
- Ficheros de programas: Contienen las instrucciones a ejecutar por un ordenador. Un software de aplicación (como un procesador de textos) estará compuesto al menos por un fichero de programa, pudiendo estar formado por cientos o incluso miles. Dentro de los ficheros de programas, aquellos pertenecientes al sistema operativo son conocidos como “ficheros del sistema”.
- Ficheros de datos: Contienen la información que será tratada por los ficheros de programas. Generalmente, estos son entendidos solo por la aplicación que los creó, aunque afortunadamente cada vez hay mayor compatibilidad entre distintos formatos (al menos mediante traducción).
**Sistema operativo: Programa o conjunto de programas de ordenador que facilitan el funcionamiento de la propia máquina, permitiendo la gestión de los recursos de la misma, sean recursos hardware, internos o periféricos, o recursos software (las aplicaciones). WINDOWS/LINUX son sistemas operativos para computadoras personales. ANDROID/WINDOWS MOBILE/IOS son sistemas operativos para dispositivos móviles o tabletas.
b) Segundo contexto que se refiere a cómo tratar la información, independientemente de cómo esta se almacene, y que conceptualiza al fichero como un conjunto homogéneo de información referente a un mismo tema, convenientemente estructurada para ser tratada por el ordenador.
Los conceptos básicos que se usan para organizar información son tres: fichero, registro y campo.
Tablas o Ficheros
Contienen información sobre la realidad que se quiere describir, que debe ser homogénea (en caso de que no sea homogénea, debemos hacer uso de más de un fichero para describir esa realidad). Un modelo/base de datos relacional casi con total seguridad estará formado por múltiples ficheros o tablas de datos.
Registro
Dentro de la tabla se corresponde a una fila concreta (ej. cliente), es decir, un elemento concreto de la realidad descrita. Lo que realmente se relaciona en el modelo relacional son registros gracias a que deben compartir un campo común, que pudiéndose llamar de diferente manera, deben contener la misma información.
Columna o Campo
Característica concreta de la realidad representada; la información real a mecanizar ha de ser descompuesta en diversos atributos (los llamados campos, o las columnas de una tabla); ej. el CIF de un cliente.
Un fichero se compone de un determinado número de registros, cada uno de los cuales estará compuesto por la información procedente de los campos.
Las Relaciones
Cuando relacionas dos tablas, cada registro de cada una de las tablas se puede relacionar con uno o más registros de la otra; para ello se usa el concepto de clave primaria o principal de las tablas: consiste en escoger un campo de los existentes (o una combinación de campos) siempre que tengamos la completa seguridad que su valor (o la combinación de sus valores) no puede repetirse en más de un registro. Dos tablas pueden relacionarse de tres formas (solo de una de estas tres formas): uno a varios, uno a uno, y varios a varios.
La base conceptual y lógica para abordar el diseño de bases de datos relacionales es organizar la información en tablas bidimensionales relacionadas entre sí: “Una base de datos debe consistir en un conjunto de ficheros con información integrada y no redundante, convenientemente estructurada, organizada independientemente de su utilización, accesible a tiempo y por múltiples caminos, concebida para servir a múltiples usuarios y dotada de la seguridad y confidencialidad necesaria”.
Aplicación Informática SGBD
Para convertir la realidad en una base de datos necesitamos usar una aplicación informática, siendo la más habitual los SGBD “Sistema Gestor de Base de Datos” (por tanto, este es un intermediario que se sitúa entre el usuario o la aplicación y la base de datos).
Funciones:
- Función de creación: Crear diversos ficheros, sus campos y sus relaciones.
- Función de administración: Manejo de datos desde la introducción, consulta, selección, emisión de informes, etc.
- Función de control: Establecer sistemas de seguridad de acceso, copias, creación de interfaz de acceso, etc.
Sistema Gestor de Base de Datos (SGBD) es el software gracias al cual se crean o modifican las bases de datos, debiendo permitir consultarlas para extraer de ellas la información adecuada.
Otros Modelos
Además del modelo relacional existe el modelo jerárquico, el modelo en red y el modelo estrella.
Modelo Jerárquico
El primero que se puso en marcha, los ficheros se relacionan de forma jerárquica formando una estructura en árbol en el que cada registro tiene un único elemento o raíz. Esta estructura reduce la redundancia de datos, pero no las evita. Cada fichero depende de un solo fichero hacia arriba, y puede tener varios ficheros dependientes hacia abajo; además todas las relaciones en este sistema son de uno a uno o de uno a varios.
Modelo en Red
Este modelo evolucionó al de redes: Posibilidad de establecer relaciones varios a varios entre registros, reduciendo así las redundancias.
Modelo Relacional
Es el más reciente y el más eficaz a la hora de evitar redundancias. La información se organiza en ficheros y estos se relacionan a través de un campo en común. También es el sistema más eficaz a la hora de añadir o modificar datos, y para consultar datos (modelo más usado).
Modelo o Esquema Estrella
Variante del modelo relacional muy usado en los últimos tiempos, podríamos definirlo como un modelo relacional no estricto, ya que no evita toda la redundancia, aunque sí simplifica el modelo. Consiste en poner en el centro a la tabla que contiene los hechos, y, a su alrededor, a las entidades más estables que intervienen en los mismos. Contiene la misma información que el modelo relacional, pero con algo más de redundancia.
Datos Organizados en un Único Fichero
Existen ocasiones en las que los datos se organizan en un único fichero: Una única tabla infestada de redundancias, pero que no representan un grave perjuicio (siempre y cuando todos los datos sean correctos).
Metodología de Diseño
En un sentido amplio, podríamos entender que el diseño comprende a todo el sistema de base de datos, así el hardware necesario, el personal implicado y los recursos financieros deberían ser tenidos en cuenta en el diseño. De forma más restrictiva, podríamos pensar solo en el diseño del modelo de datos, es decir, en la determinación de tablas bidimensionales y sus relaciones.
Los principios básicos que caracterizan un buen diseño de base de datos son:
- Debe ser completo (contemplar todos los datos que se precisen).
- No redundante (si se trata de un modelo relacional nunca debe contemplar el mismo dato más de una vez. No obstante, los modelos estrella o de tabla única admiten redundancias).
- Debe reflejar los procesos de negocio.
- Flexible y elegante (debe ser simple para que pueda ser mejor entendido y se pueda cambiar fácilmente si fuese necesario).
- Entendible e integrable (debe convivir y comunicarse con otros modelos, presentes o futuros, propios o ajenos. Es conveniente que la organización maneje protocolos de diseño comunes).
- Equilibrado (se debe encontrar el equilibrio entre las características descritas).
- Y, por último, rentable (debe dar respuestas a las preguntas que sobre los datos se le planteen, en tiempo y coste adecuado).
Pero ello no solo depende del modelo de datos: básicamente será el hardware y el software que se emplee el factor determinante del rendimiento del sistema. Aplicando estos principios a nivel práctico, el diseño de un buen modelo de datos debe cumplir con: Nombres cortos y significativos, cada columna debe representar un solo hecho, cada hecho debe representarse en una sola columna, incluir información no evidente, no incluir columnas calculadas.