La bases de datos como T-SQL se denominan bases de datos relacionales. Y se llaman así peorque se basan en el modelo relacional.
Que igual suena tontada pero también te hace plantearte ¿que es el modelo relacional?
Aunque recientemente han surgido alternativas (como las bases de datos NoSQL), las bases de datos relacionales siguen siendo la piedra angular de la mayoría de los sistemas empresariales, bancarios y de gestión crítica.
En este artículo vamos a desglosar qué significa realmente que una base de datos sea “relacional” y por qué es tan importante para nosotros como desarrolladores.
¿Qué es el modelo relacional?
El modelo relacional fue propuesto por E.F. Codd en 1970 mientras trabajaba para IBM y ha sido el estándar de la industria del software durante décadas.
Su idea revolucionaria fue organizar los datos en tablas (matemáticamente llamadas “relaciones”), en lugar de usar estructuras jerárquicas o de red que eran comunes en esa época.
En este modelo, la información se almacena en objetos llamados tablas, que constan de filas y columnas.
La gran ventaja del modelo relacional es su independencia lógica. Podemos cambiar la estructura de la base de datos sin alterar necesariamente las aplicaciones que acceden a ella, siempre y cuando mantengamos la interfaz de consulta.
Estructura de la información
Para entender una base de datos relacional, debemos visualizarla como un conjunto de tablas que se conectan entre sí.
La Base de Datos es el contenedor principal que agrupa, estructura y gestiona toda la información de un sistema o aplicación.
Por ejemplo: TiendaOnlineDB, RecursosHumanosDB.
Podemos imaginarla como el archivo completo de Excel (el libro de trabajo) o como un gran archivador físico en una oficina.
Pero, en realidad, no solo almacena datos. Conviven tablas, las reglas de seguridad, las relaciones entre distintas entidades y la programación interna del motor.
La Tabla es el objeto fundamental de almacenamiento en una base de datos relacional. Es la estructura donde residen los datos.
Por ejemplo: Usuarios, Productos, Facturas.
Podemos imaginar una tabla como una rejilla bidimensional (muy similar a una hoja de Excel), pero mucho más estricta.
Pero, en realidad, cada tabla debe representar una única entidad o concepto del sistema o de tu modelo de datos.
Las columnas representan los atributos o características de la entidad modelada en la tabla. Cada columna tiene:
- Un nombre único dentro de la tabla (ej:
Nombre,Precio,FechaRegistro). - Un tipo de dato definido.
Puedes pensar en ellos como son las divisiones verticales de una tabla. Pero, a diferencia de Excel, donde en una celda pones un número y en la de abajo escribes “Hola”, en una base de datos relacional toda la columna debe respetar el tipo de dato.
Si definimos una columna Edad como un entero (INT), T-SQL no nos permitirá insertar el texto “Veinte” en ella. Esta rigidez es lo que garantiza la calidad de los datos.
Cada fila representa una instancia única de la entidad que modela la tabla. También se las conoce como Registros o Tuplas.
Una tabla puede tener desde cero filas (tabla vacía) hasta miles de millones.
- Si la tabla es
Productos, una fila sería “Monitor 24 pulgadas, marca Dell, 150€”
Puedes pensar en ellas como las divisiones horizontales de la tabla.
Un Valor (o dato) es la intersección exacta entre una fila y una columna. Es la unidad de información más pequeña y atómica de nuestra base de datos.
Puedes visualizarlo directamente como una única celda dentro de tu hoja de Excel.
Si cruzamos la fila del registro “Monitor 24 pulgadas” con la columna “Precio”, el valor específico que encontramos ahí es 150.
Este valor aislado no tiene sentido por sí mismo, pero adquiere todo su significado gracias al contexto de la fila y columna a las que pertenece, y siempre debe cumplir las reglas de tipo de dato dictadas por su columna.
El concepto de “Relación”
Lo que realmente da potencia a este modelo no es solo guardar datos en tablas, sino la capacidad de establecer relaciones entre ellas (de ahí su nombre).
Imaginemos que queremos guardar un pedido. En lugar de escribir todos los datos del cliente (nombre, dirección, email) cada vez que hace una compra, simplemente guardamos una referencia a ese cliente.
Esto se logra mediante dos conceptos clave que veremos en profundidad más adelante, pero que debemos conocer ya:
- Primary Key (Clave primaria): Un identificador único para cada fila de una tabla (ej: ID de Cliente).
- Foreign Key (Clave Foránea): Un campo que apunta a la Clave Primaria de otra tabla.
Gracias a esto, evitamos la redundancia de datos y mantenemos la información organizada y eficiente.
Integridad referencial
Entender las relaciones nos lleva a un concepto clave en T-SQL: la Integridad referencial.
El motor de base de datos vigila estas relaciones para que no cometamos errores lógicos.
- Si intentas crear un
Pedidopara unClienteque no existe, SQL Server te lo impedirá. - Si intentas borrar un
Clienteque ya tienePedidosasociados, SQL Server te lo impedirá.
Esto asegura que no queden “registros huérfanos” en nuestra base de datos, manteniendo la consistencia de la información.
