Está en la página 1de 3

Bases de datos - relacionales

Una base de datos relacional es una colección de información que


organiza datos en relaciones predefinidas, en la que los datos se
almacenan en una o más tablas (o "relaciones") de columnas y filas, lo
que facilita su visualización y la comprensión de cómo se relacionan las
diferentes estructuras de datos entre sí.

Este es un ejemplo simple de dos tablas que una pequeña empresa


puede usar para procesar pedidos de sus productos. La primera tabla es
una tabla de información del cliente, por lo que cada registro incluye el
nombre, la dirección, información de envío y facturación, el número de
teléfono y otra información de contacto del cliente. Cada fragmento de
información (cada atributo) está en su propia columna y la base de datos
asigna una ID única (una clave) a cada fila. En la segunda tabla, una tabla
de pedidos del cliente, cada registro incluye el ID del cliente que realizó
el pedido, el producto solicitado, la cantidad, el tamaño y el color
seleccionados, etc., pero no el nombre del cliente ni su información de
contacto.

Estas dos tablas tienen una sola cosa en común: la columna de ID (la
clave). Gracias a esa columna en común, la base de datos relacional
puede establecer una relación entre las dos tablas. Entonces, cuando la
aplicación de procesamiento de pedidos de la empresa envíe un pedido a
la base de datos, la base de datos podrá examinar la tabla de pedidos
del cliente, extraer la información correcta sobre el pedido de productos
y usar el ID del cliente de esa tabla para buscar la información de
facturación y envío del cliente en la tabla de información del cliente. A
continuación, el almacén puede extraer el producto correcto, el cliente
puede recibir la entrega del pedido a tiempo y la empresa puede obtener
el pago.
Estructura de las bases de datos - relacionales

El modelo relacional significa que las estructuras de datos lógicas (las


tablas de datos, las vistas y los índices) están separadas de las
estructuras de almacenamiento físicas. Gracias a esta separación, los
administradores de bases de datos pueden gestionar el almacenamiento
físico de datos sin que eso influya en el acceso a esos datos como
estructura lógica. Por ejemplo, si se cambia el nombre del archivo de una
base de datos, eso no significa que vayan a cambiar también los nombres
de sus tablas.

Base de datos - no relacionales


Las bases de datos NoSQL están diseñadas para varios patrones de
acceso a datos que incluyen aplicaciones de baja latencia. Las bases de
datos de búsqueda NoSQL están diseñadas para hacer análisis sobre
datos semiestructurados. El modelo relacional normaliza los datos en
tablas conformadas por filas y columnas.

Lo que todos lo que estos almacenes de datos tienen en común están


que no utilizan un modelo relacional. Además, tienden a ser más
específicos en el tipo de datos que admiten y en cómo se pueden
consultar los datos. Por ejemplo, los almacenes de datos de serie
temporal están optimizados para consultas en secuencias de datos
basadas en el tiempo. Sin embargo, los almacenes de datos de grafos
están optimizados para explorar relaciones ponderadas entre entidades.
Ninguno de los formatos se generalizaría bien en la tarea de administrar
datos transaccionales.

El término NoSQL hace referencia a almacenes de datos que no usan SQL


para las consultas. En su lugar, los almacenes de datos usan otros
lenguajes de programación y otras construcciones para consultar los
datos. En la práctica, "NoSQL" significa "base de datos no relacional",
aunque muchas de estas bases de datos admiten consultas compatibles
con SQL. Sin embargo, la estrategia de ejecución de consultas
subyacente normalmente es de la forma en que una RDBMS tradicional
ejecutaría la misma consulta SQL.
Interacción de los lenguajes programación con
los diferentes tipos de base de datos

Hay personas que han trabajado con MySQL en los sistemas operativos
Linux y BSD's, y de todos los lenguajes de programación con los que han
programado (PHP, Perl, JavaScript, C, Go, Rust, Haskell, Java, Scala,
Ocaml, F#, Python y Ruby), el lenguaje c es el más rápido al interactuar
con la base de datos

Otras dicen que todos los lenguajes de programación permiten


interactuar con las principales bases de datos relacionales. De hecho, casi
todos los productores de base de datos principales desarrollaban
productos para interactuar con C, el cual se utilizaba para procesar
grandes archivos de datos y cargarlos a la base de datos. DB2, por ej., se
usaba mucho con COBOL ya que ambos son de IBM y ambos existen en
ambientes Mainframe.
C#, Java, C/C++, Python, PHP, Ruby, Scala, etc., y así sucesivamente, te
permiten acceder la base de datos. ¿Cuál es mejor? Depende el
propósito y la plataforma. En entorno Windows, .Net. Sin embargo,
entiendo que C/C++ debería ser el mejor ya que dichas herramientas casi
todas están hecha en C/C++. Sin embargo, para aplicaciones de negocios
en términos típicas se utiliza un lenguaje de más alto nivel. Además, hoy
en dia para carga de datos se utilizan DTS: SSIS, BizTalk, Informática,
Monarch, etc. No hay que recurrir a C/C++

Cesar Augusto Peralta Otaño

También podría gustarte