Ir al contenido principal

MODELOS DE BASES DE DATOS

 

Modelos de bases de datos

  • Modelo relacional: 
Desarrollado por EF Codd desde IBM en la década de 1970, el modelo de base de datos relacional permite que cualquier tabla se relacione con otra mediante un atributo común. En lugar de usar estructuras jerárquicas para organizar los datos, Codd propuso un cambio a un modelo de datos en el que los datos se almacenan, se consultan y se relacionan en tablas sin reorganizar las tablas que los contienen. 
Consta de:
Tablas: 
En el modelo relacional, la información se organiza en tablas. Cada tabla representa una entidad específica, como "Clientes" o "Productos". Las tablas se componen de filas y columnas.
 
Filas: 
Las filas en una tabla se conocen como "registros". Cada registro representa una entrada individual de datos. Por ejemplo, en una tabla de "Clientes", cada registro podría representar a un cliente en particular.
 
Columnas: 
Las columnas de una tabla se llaman "atributos" o "campos" y representan las categorías de información relacionadas. Cada columna contiene un tipo de datos específico, como texto, números, fechas, etc. Por ejemplo, en una tabla de "Clientes," podrías tener columnas para "Nombre," "Dirección," "Teléfono," y así sucesivamente.
 
Clave Primaria: 
Cada tabla debe tener una "clave primaria". Esta es una columna o conjunto de columnas que sirve para identificar de manera única cada registro en la tabla. La clave primaria evita la duplicación de datos y garantiza que cada registro sea único en la tabla.
 
Clave Foránea: 
Las "claves foráneas" se utilizan para establecer relaciones entre tablas. Una clave foránea es un campo en una tabla que hace referencia a la clave primaria de otra tabla. Esto permite relacionar datos en diferentes tablas. Por ejemplo, en una base de datos de ventas, podrías usar una clave foránea en la tabla de "Pedidos" para vincular cada pedido con un cliente específico en la tabla de "Clientes."
 
Integridad Referencial: 
La integridad referencial es un principio importante en el modelo relacional. Asegura que las relaciones entre tablas sean coherentes y que no haya datos "huérfanos". En otras palabras, garantiza que las relaciones entre los datos sean precisas y que no existan registros sin una correspondencia válida en otra tabla.

  •  Modelo de Entidad-Relación (E-R): 

El modelo E-R se utiliza para diseñar bases de datos y representa entidades (objetos del mundo real) y las relaciones entre ellas.

Utiliza diagramas que muestran entidades como rectángulos y relaciones como líneas.

Es útil para visualizar y planificar la estructura de la base de datos antes de implementarla.

Consta de:

Entidad: 

Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.

Estas entidades se representan en un diagrama con un rectángulos, con esquinas redondeadas

Atributos: 

Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).

Los atributos se representan como círculos que descienden de una entidad, y no es necesario representarlos todos, sino los más significativos

Relación: 

Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable.

Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.

 Claves: 

Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los demás registros (no permitiendo que el atributo específico se repita en la entidad) o le aplica un vínculo (exactamente como comentábamos en las relaciones). Estos son los distintos tipos:

Superclave:

Aplica una clave o restricción a varios atributos de la entidad, para así asegurarse que en su conjunto no se repitan varias veces y así no poder entrar en dudas al querer identificar un registro.

Clave primaria: 

Identifica inequívocamente un solo atributo no permitiendo que se repita en la misma entidad. Como sería la matrícula o el número de chasis de un coche (no puede existir dos veces el mismo).

Clave externa o clave foránea:

Este campo tiene que estar estrictamente relacionado con la clave primaria de otra entidad, para así exigir que exista previamente ese clave. 


  • Modelo Jerárquico 

El modelo jerárquico organiza los datos en una estructura de árbol, donde un nodo raíz tiene varios niveles de nodos secundarios.
Cada nodo puede tener varios nodos hijos, pero solo puede tener un nodo padre.
Este modelo se utilizó ampliamente en bases de datos en la década de 1960.
Ejemplo: En una base de datos jerárquica, se podría representar una biblioteca con un nodo raíz para "Biblioteca", nodos secundarios para "Secciones" y nodos hoja para "Libros" en cada sección.

  • Modelo de Red:

En este modelo, los datos se organizan en una estructura de red, que consiste en nodos interconectados. Los nodos representan entidades, y las relaciones se establecen a través de enlaces.
Cada nodo puede estar conectado a varios otros nodos.
Ejemplo:
 En un modelo de red, podría representarse una organización con nodos para departamentos y empleados, donde los empleados están vinculados a sus respectivos departamentos.

 

Ejemplo de como se organizan los datos en el modelo relacional

Supongamos que tienes una tabla de clientes y una de pedidos:



La tabla de clientes contiene datos sobre el cliente:

-ID de cliente (clave primaria)

-Nombre del cliente

-Dirección de facturación

-Dirección de envío 

En la tabla de clientes, el ID del cliente es una clave primaria que identifica de forma única a ese cliente en la base de datos relacional. Ningún otro cliente tendría el mismo ID de cliente.

La tabla de pedidos contiene información transaccional sobre un pedido:

-ID de pedido (clave primaria)

-ID de cliente (clave foranea)

-Fecha del pedido

-Fecha de envío

-Estado del pedido

En la tabla pedidos, la clave primaria para identificar un pedido específico es el ID de pedido. Puedes conectar un cliente con un pedido mediante el uso de una clave externa para vincular el ID de cliente de la tabla de clientes.

Las dos tablas ahora están relacionadas según el ID de cliente compartido, lo que significa que puedes consultar ambas tablas para crear informes formales o usar los datos en otras aplicaciones. Por ejemplo, un administrador de sucursal de venta minorista podría generar un informe sobre todos los clientes que realizaron una compra en una fecha específica o averiguar qué clientes tenían pedidos con una fecha de entrega retrasada en el último mes.

Conclusión:

La elección del modelo de datos y la estructura de una base de datos es una decisión fundamental en la gestión de información. Cada modelo tiene sus propias ventajas y desventajas, y la elección correcta depende de los requisitos específicos de un proyecto. Los modelos de datos como el relacional, el de red, el jerárquico y el E-R permiten representar y organizar datos de manera efectiva, mientras que las estructuras de bases de datos, como tablas, registros y campos, proporcionan un marco sólido para almacenar y recuperar información. Al comprender estos conceptos, los profesionales de la base de datos pueden diseñar sistemas eficientes que satisfagan las necesidades de organizaciones y aplicaciones en la era de la información. La gestión de datos efectiva es esencial para el éxito en un mundo cada vez más impulsado por datos.
 

 

Comentarios

Entradas populares de este blog

Tipos de datos de Oracle 21c

  Tipo de dato Numérico de Oracle 21c NUMBER(precision, scale) Este tipo de dato se utiliza para almacenar números de punto fijo. La precisión representa el número total de dígitos en el número, y la escala es la cantidad de dígitos a la derecha del punto decimal. INTEGER o INT Este tipo de dato se utiliza para almacenar números enteros. FLOAT(p) Se utiliza para almacenar números de punto flotante. La "p" representa la precisión binaria, es decir, el número total de bits utilizados para representar el número. DOUBLE PRECISION: Similar a FLOAT, pero con mayor precisión. Tipo de dato Cadenas de caracteres de Oracle 21c CHAR(n) Este tipo de dato se utiliza para almacenar cadenas de caracteres de longitud fija. El número "n" representa la longitud máxima de la cadena. VARCHAR2(n) Similar a CHAR, pero para cadenas de longitud variable. El número "n" representa la longitud máxima de la cadena. CLOB Se utiliza para almacenar grandes cantidades de datos de caracte...

Normalización de bases de datos

 La normalización de bases de datos es un proceso de diseño que busca organizar la información de una base de datos de manera eficiente y sin redundancias, reduciendo la posibilidad de anomalías y mejorando la integridad de los datos. El objetivo principal es evitar la redundancia de datos y eliminar las dependencias funcionales no deseadas. El proceso de normalización se lleva a cabo a través de una serie de reglas llamadas formas normales. Las formas normales van desde la primera forma normal (1NF) hasta la quinta forma normal (5NF), y cada una de ellas aborda ciertos aspectos de la organización de los datos. A continuación, se presenta un resumen de las primeras tres formas normales: Primera Forma Normal (1NF) : Requiere que cada celda de una tabla contenga un solo valor y que cada columna tenga un nombre único. Además, los datos no deben contener grupos repetitivos. Segunda Forma Normal (2NF): Para cumplir con la 2NF, la tabla debe cumplir con la 1NF y, además, todas las colum...

TENDENCIAS ACTUALES

Inteligencia Artificial y Machine Learning en Bases de Datos: La integración de capacidades de inteligencia artificial y machine learning en los sistemas de gestión de bases de datos permite análisis más avanzados y automatización de tareas Bases de Datos sin Servidor: La tendencia hacia arquitecturas sin servidor ha llevado al desarrollo de bases de datos sin servidor, donde los desarrolladores pueden centrarse en el código y la lógica de la aplicación sin preocuparse por la gestión de la infraestructura subyacente. Blockchain en Bases de Datos: La tecnología blockchain se está utilizando para proporcionar una mayor seguridad y transparencia en las transacciones de bases de datos, especialmente en aplicaciones financieras y de cadena de suministro. Bases de Datos Distribuidas y Escalabilidad: Con el crecimiento continuo de datos, la necesidad de bases de datos distribuidas y soluciones escalables se mantiene. Tecnologías como Apache Cassandra y CockroachDB abordan estos desafíos....