logo

Modelo relacional en DBMS

E.F. Codd propuso el modelo relacional para modelar datos en forma de relaciones o tablas. Luego de diseñar el modelo conceptual de la Base de Datos utilizando diagrama ER , necesitamos convertir el modelo conceptual en un modelo relacional que pueda implementarse utilizando cualquier RDBMS lenguaje como Oracle SQL, MySQL, etc. Entonces veremos qué es el Modelo Relacional.

El modelo relacional utiliza una colección de tablas para representar tanto los datos como las relaciones entre esos datos. Cada tabla tiene varias columnas y cada columna tiene un nombre único. Las tablas también se conocen como relaciones. El modelo relacional es un ejemplo de modelo basado en registros. Los modelos basados ​​en registros se denominan así porque la base de datos está estructurada en registros de formato fijo de varios tipos. Cada tabla contiene registros de un tipo particular. Cada tipo de registro define un número fijo de campos o atributos. Las columnas de la tabla corresponden a los atributos del tipo de registro. El modelo de datos relacionales es el modelo de datos más utilizado y la gran mayoría de los sistemas de bases de datos actuales se basan en el modelo relacional.

¿Qué es el modelo relacional?

El modelo relacional representa cómo se almacenan los datos en las bases de datos relacionales. Una base de datos relacional consta de una colección de tablas, a cada una de las cuales se le asigna un nombre único. Considere una relación ESTUDIANTE con los atributos ROLL_NO, NOMBRE, DIRECCIÓN, TELÉFONO y EDAD que se muestran en la tabla.



Estudiante de mesa

ROLL_NO NOMBRE DIRECCIÓN TELÉFONO EDAD
1 RAM DELHI 9455123451 18
2 RAMESH GURGAÓN 9652431543 18
3 SUJITO ROHTAK 9156253131 20
4 SEGURO DELHI 18

códigos de error de Linux

Terminologías importantes

  • Atributo: Los atributos son las propiedades que definen una entidad. p.ej.; ROLL_NO , NOMBRE DIRECCIÓN
  • Esquema de relación: Un esquema de relación define la estructura de la relación y representa el nombre de la relación con sus atributos. p.ej.; ESTUDIANTE (ROLL_NO, NOMBRE, DIRECCIÓN, TELÉFONO y EDAD) es el esquema de relación para ESTUDIANTE. Si un esquema tiene más de una relación, se llama esquema relacional.
  • Tupla: Cada fila de la relación se conoce como tupla. La relación anterior contiene 4 tuplas, una de las cuales se muestra como:
1 RAM DELHI 9455123451 18
  • Instancia de relación: El conjunto de tuplas de una relación en un momento particular de tiempo se denomina instancia de relación. La Tabla 1 muestra la instancia de relación de ESTUDIANTE en un momento particular. Puede cambiar cada vez que hay una inserción, eliminación o actualización en la base de datos.
  • Grado: El número de atributos en la relación se conoce como grado de la relación. El ALUMNO La relación definida anteriormente tiene grado 5.
  • Cardinalidad: El número de tuplas en una relación se conoce como cardinalidad . El ALUMNO La relación definida anteriormente tiene cardinalidad 4.
  • Columna: La columna representa el conjunto de valores para un atributo particular. La columna ROLL_NO se extrae de la relación ESTUDIANTE.
ROLL_NO

1

2

3

infierno de devolución de llamada en javascript

4

  • Valores NULOS: El valor que no se conoce o no está disponible se denomina valor NULL. Está representado por un espacio en blanco. p.ej.; El TELÉFONO del ESTUDIANTE que tiene ROLL_NO 4 es NULL.
  • Clave de relación: Estas son básicamente las claves que se utilizan para identificar las filas de forma única o también ayudan a identificar las tablas. Estos son de los siguientes tipos.
    • Clave primaria
    • Llave candidata
    • Súper clave
    • Clave externa
    • Clave alternativa
    • Clave compuesta

Restricciones en el modelo relacional

Al diseñar el modelo relacional, definimos algunas condiciones que deben cumplirse para los datos presentes en la base de datos y se denominan restricciones. Estas restricciones se verifican antes de realizar cualquier operación (inserción, eliminación y actualización) en la base de datos. Si se viola alguna de las restricciones, la operación fallará.

Restricciones de dominio

Éstas son restricciones a nivel de atributo. Un atributo sólo puede tomar valores que se encuentren dentro del rango del dominio. p.ej.; Si se aplica una restricción EDAD>0 a la relación ESTUDIANTE, insertar un valor negativo de EDAD resultará en un error.

Integridad clave

Cada relación en la base de datos debe tener al menos un conjunto de atributos que defina una tupla de forma única. Ese conjunto de atributos se llama claves. p.ej.; ROLL_NO en ESTUDIANTE es clave. No pueden haber dos estudiantes con el mismo número de lista. Entonces una clave tiene dos propiedades:

  • Debe ser único para todas las tuplas.
  • No puede tener valores NULL.

Integridad referencial

Cuando un atributo de una relación sólo puede tomar valores de otro atributo de la misma relación o de cualquier otra relación, se llama integridad referencial . Supongamos que tenemos 2 relaciones.

Estudiante de mesa

ROLL_NO NOMBRE DIRECCIÓN TELÉFONO EDAD BRANCH_CODE
1 RAM DELHI 9455123451 18 CS
2 RAMESH GURGAÓN 9652431543 18 CS
3 SUJITO ROHTAK 9156253131 20 CEPE
4 SEGURO DELHI 18 ÉL

Rama de mesa

BRANCH_CODE SUCURSAL_NOMBRE
CS CIENCIAS DE LA COMPUTACIÓN
ÉL TECNOLOGÍAS DE LA INFORMACIÓN
CEPE INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES
CV INGENIERÍA CIVIL

BRANCH_CODE de STUDENT solo puede tomar los valores que están presentes en BRANCH_CODE de BRANCH, lo que se denomina restricción de integridad referencial. La relación que hace referencia a otra relación se llama RELACIÓN REFERENCIADA (ESTUDIANTE en este caso) y la relación a la que hacen referencia otras relaciones se llama RELACIÓN REFERENCIADA (RAMA en este caso).

iterador java para mapa

Anomalías en el modelo relacional

Un anomalía es una irregularidad o algo que se desvía del estado normal o esperado. Al diseñar bases de datos, identificamos tres tipos de anomalías: Insertar, Actualizar y Eliminar.

Anomalía de inserción en la relación de referencia

No podemos insertar una fila en RELACIÓN DE REFERENCIA si el valor del atributo de referencia no está presente en el valor del atributo al que se hace referencia. p.ej.; La inserción de un estudiante con BRANCH_CODE 'ME' en la relación ESTUDIANTE resultará en un error porque 'ME' no está presente en BRANCH_CODE de BRANCH.

Anomalía de eliminación/actualización en la relación de referencia:

No podemos eliminar ni actualizar una fila de RELACIÓN REFERENCIADA si el valor de ATRIBUTO REFERENCIADO se usa en el valor de ATRIBUTO REFERENCIADO. p.ej; si intentamos eliminar una tupla de BRANCH que tiene BRANCH_CODE 'CS', resultará en un error porque BRANCH_CODE de STUDENT hace referencia a 'CS', pero si intentamos eliminar la fila de BRANCH con BRANCH_CODE CV, se eliminará ya que el valor no ha sido utilizado por la relación de referencia. Se puede manejar mediante el siguiente método:

Al eliminar cascada

Eliminará las tuplas de RELACIÓN DE REFERENCIA si el valor utilizado por ATRIBUTO DE REFERENCIA se elimina de RELACIÓN REFERENCIADA. p.ej.; Porque, si eliminamos una fila de BRANCH con BRANCH_CODE 'CS', las filas en relación ESTUDIANTE con BRANCH_CODE CS (ROLL_NO 1 y 2 en este caso) se eliminarán.

En cascada de actualización

Actualizará el ATRIBUTO DE REFERENCIA en RELACIÓN DE REFERENCIA si el valor del atributo utilizado por ATRIBUTO DE REFERENCIA se actualiza en RELACIÓN DE REFERENCIA. por ejemplo, si actualizamos una fila de BRANCH con BRANCH_CODE 'CS' a 'CSE', las filas en relación ESTUDIANTE con BRANCH_CODE CS (ROLL_NO 1 y 2 en este caso) se actualizarán con BRANCH_CODE 'CSE'.

tipo de en java

Súper llaves

Cualquier conjunto de atributos que nos permita identificar filas únicas (tuplas) en una relación determinada se conoce como superclaves. De estas superclaves, siempre podemos elegir un subconjunto adecuado entre ellas que pueda usarse como clave principal. Estas claves se conocen como claves candidatas. Si hay una combinación de dos o más atributos que se utilizan como clave principal, la llamamos clave compuesta.

Reglas de Codd en el modelo relacional

Edgar F Codd propuso el modelo de base de datos relacional donde estableció reglas. Ahora éstas se conocen como las Reglas de Codd. Para que cualquier base de datos sea perfecta, debe seguir las reglas.

Para obtener más información, consulte Reglas de Codd en el modelo relacional .

Ventajas del modelo relacional

  • Modelo sencillo: El modelo relacional es simple y fácil de usar en comparación con otros lenguajes.
  • Flexible: El modelo relacional es más flexible que cualquier otro modelo relacional presente.
  • Seguro: El modelo relacional es más seguro que cualquier otro modelo relacional.
  • Precisión de los datos: Los datos son más precisos en el modelo de datos relacionales.
  • Integridad de los datos: La integridad de los datos se mantiene en el modelo relacional.
  • Las operaciones se pueden aplicar fácilmente: Es mejor realizar operaciones en el modelo relacional.

Desventajas del modelo relacional

  • El modelo de base de datos relacional no es muy bueno para bases de datos grandes.
  • A veces resulta difícil encontrar la relación entre tablas.
  • Debido a la compleja estructura, el tiempo de respuesta a las consultas es elevado.

Características del modelo relacional

  • Los datos se representan en filas y columnas llamadas relaciones.
  • Los datos se almacenan en tablas que tienen relaciones entre ellas, lo que se denomina modelo relacional.
  • El modelo relacional admite operaciones como definición de datos, manipulación de datos y gestión de transacciones.
  • Cada columna tiene un nombre distinto y representan atributos.
  • Cada fila representa una única entidad.