Fundamentos Esenciales de Bases de Datos y el Modelo Relacional

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,9 KB

Introducción a las Bases de Datos

Una base de datos es una colección de datos interrelacionados, almacenados en conjunto y diseñados para minimizar redundancias perjudiciales o innecesarias. Su objetivo principal es organizar la información de manera eficiente para su posterior recuperación y gestión.

Los datos se almacenan de forma que resulten independientes tanto de las aplicaciones que los utilizan (independencia lógica) como de la organización interna y los dispositivos físicos donde se almacenan (independencia física). Esto permite modificar la estructura de almacenamiento o las aplicaciones sin que necesariamente se afecten mutuamente.

Existen diversos tipos de bases de datos, siendo uno de los más extendidos el modelo relacional.

Bases de Datos Relacionales

En una base de datos relacional, los datos se presentan al usuario como un conjunto de tablas que están relacionadas entre sí. Este modelo se fundamenta en los trabajos de Edgar F. Codd, utilizando principios de la lógica de predicados y la teoría de conjuntos.

El modelo relacional presenta la realidad como un conjunto de entidades entre las cuales se establecen relaciones.

Conceptos Fundamentales del Modelo Relacional

Entidad

Una entidad representa cualquier objeto, ya sea tangible (como un cliente o un producto) o intangible (como una transacción o un curso), sobre el cual se desea almacenar información. Las entidades se caracterizan por:

  • Nombrarse generalmente con un sustantivo en singular (por ejemplo, "Cliente", "Producto").
  • Tener existencia propia e identificable.
  • Cada ocurrencia (instancia) de una entidad es distinta de las demás.
  • Todas las ocurrencias de una misma entidad comparten las mismas características o atributos.

Tabla

La tabla es la estructura fundamental en una base de datos relacional y es la percepción que el usuario tiene de cómo se organizan los datos. Se define por las siguientes características:

  • Está estructurada en filas (horizontales) y columnas (verticales).
  • Cada fila, también conocida como registro o tupla, representa una ocurrencia o instancia individual de la entidad que la tabla modela.
  • Cada columna, también conocida como campo o atributo, representa una característica o propiedad específica de la entidad. Contiene valores del mismo tipo de dato para todas las filas.
  • El valor es el dato específico que se encuentra en la intersección de una fila y una columna.
  • La información se obtiene a partir de los valores almacenados en las columnas de las filas.
  • Las relaciones entre diferentes tablas se establecen mediante columnas comunes (generalmente utilizando claves primarias y foráneas).
  • Las columnas se identifican unívocamente por su nombre dentro de la tabla.
  • El número de columnas (es decir, el conjunto de atributos) de una tabla permanece constante una vez que ha sido definida.
  • El número de filas en una tabla es dinámico y varía a medida que se añaden, modifican o eliminan datos.
  • Todas las filas dentro de una tabla deben ser únicas; no puede haber dos filas que sean idénticas en todos sus valores de columna. Esto se garantiza usualmente mediante una clave primaria.
  • El orden en que se almacenan o presentan las filas y las columnas no es intrínsecamente significativo para la lógica de la tabla.
Propiedades de una Tabla
  • Cardinalidad: Se refiere a la cantidad de filas (o registros) que contiene una tabla en un momento determinado.
  • Grado: Corresponde al número de columnas (o atributos) que componen la tabla.
  • Dominio: Es el conjunto de todos los valores posibles que puede tomar un atributo (columna) específico. El dominio define el tipo de dato (por ejemplo, texto, número, fecha) y cualquier restricción aplicable a los valores de esa columna (por ejemplo, que un número sea positivo).

Claves (Keys)

Una clave es un atributo o un conjunto de atributos que desempeñan un papel crucial en la identificación y relación de los datos dentro de las tablas. Su función principal es asegurar la unicidad de los registros y facilitar el establecimiento de relaciones.

  • Una clave debe permitir la identificación unívoca de cada fila, lo que significa que no puede haber dos filas con el mismo valor de clave, evitando así la redundancia de registros completos.
Tipos de Claves
  • Claves candidatas (Candidate Keys): Son todos aquellos atributos o conjuntos de atributos que cumplen con el requisito de unicidad y, por lo tanto, podrían servir como clave primaria de una tabla. Cada clave candidata identifica de forma única una fila.
  • Clave primaria (Primary Key): Es una de las claves candidatas que se elige específicamente para identificar unívocamente cada registro en la tabla. Una tabla solo puede tener una clave primaria, y sus valores no pueden ser nulos.
  • Claves alternativas (Alternate Keys): Son aquellas claves candidatas que no fueron seleccionadas como la clave primaria. Aunque no son la clave principal, también identifican unívocamente los registros.
  • Clave ajena o foránea (Foreign Key): Es un atributo o conjunto de atributos en una tabla (la tabla referenciante) cuyos valores deben coincidir con los valores de la clave primaria de otra tabla (la tabla referenciada) o, en algunos casos, de la misma tabla. Las claves ajenas son el mecanismo fundamental para establecer y mantener la integridad referencial y las relaciones entre tablas.

Operaciones Relacionales Fundamentales

El modelo relacional define un conjunto de operaciones, conocidas como álgebra relacional, que permiten manipular y consultar los datos almacenados en las tablas. Las operaciones más básicas incluyen:

  • Unión (UNION): La unión de dos relaciones (tablas) R y S, que deben ser compatibles en sus atributos (mismo número y tipo de columnas), es otra relación que contiene todas las tuplas (filas) que están en R, o en S, o en ambas. Las tuplas duplicadas se eliminan automáticamente en el resultado.
  • Diferencia (DIFFERENCE o MINUS): La diferencia de dos relaciones R y S (R - S), compatibles en sus atributos, es otra relación que contiene todas las tuplas que están en la relación R pero no están en la relación S.
  • Selección (SELECT o RESTRICT): Define una nueva relación que contiene solo aquellas tuplas de una relación R que satisfacen una condición o predicado especificado (criterio de selección). Mantiene todos los atributos de la relación original. Es una operación que filtra filas.
  • Proyección (PROJECT): Define una nueva relación que contiene un subconjunto vertical de una relación R, es decir, solo los valores de los atributos (columnas) especificados en la operación. Las filas duplicadas que puedan surgir como resultado de seleccionar solo ciertas columnas se eliminan.
  • Producto Cartesiano (CARTESIAN PRODUCT): Define una relación que es la concatenación de cada una de las tuplas de una relación R con cada una de las tuplas de una relación S. Si R tiene m tuplas y n atributos, y S tiene p tuplas y q atributos, el producto cartesiano R x S tendrá m*p tuplas y n+q atributos.

Entradas relacionadas: