El modelo relacional fue propuesto por EF Codd para modelar datos en forma de relaciones o tablas. Después de diseñar el modelo conceptual de la base de datos usando el diagrama ER, necesitamos convertir el modelo conceptual en el modelo relacional que se puede implementar usando cualquier lenguaje RDBMS como Oracle SQL, MySQL, etc. Entonces veremos qué es 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 almacena datos en forma de relaciones (tablas). Considere una relación ESTUDIANTE con los atributos ROLL_NO, NOMBRE, DIRECCIÓN, TELÉFONO y EDAD que se muestran en la Tabla 1.
ALUMNO
ROLLO_NO | NOMBRE | DIRECCIÓN | TELÉFONO | AÑOS |
1 | RAM | DELHI | 9455123451 | 18 |
2 | RAMESH | GURGAÓN | 9652431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SEGURO | DELHI | 18 |
TERMINOLOGÍAS IMPORTANTES
- Atributo: Los atributos son las propiedades que definen una relación. p.ej; ROLL_NO , NOMBRE
- Esquema de relación: un esquema de relación representa el nombre de la relación con sus atributos. p.ej; ESTUDIANTE (NOMBRE_ROLLO, NOMBRE, DIRECCIÓN, TELÉFONO y EDAD) es un esquema de relación para ESTUDIANTE. Si un esquema tiene más de 1 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 una instancia particular de tiempo se denomina instancia de relación. La Tabla 1 muestra la instancia de relación de ESTUDIANTE en un momento determinado. Puede cambiar siempre que haya 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. La relación ESTUDIANTE definida anteriormente tiene grado 5.
- Cardinalidad: El número de tuplas en una relación se conoce como cardinalidad. La relación ESTUDIANTE definida anteriormente tiene cardinalidad 4.
- Columna: la columna representa el conjunto de valores para un atributo en particular. La columna ROLL_NO se extrae de la relación ESTUDIANTE.
ROLLO_NO |
1 |
2 |
3 |
4 |
- Valores NULL: El valor que no se conoce o no está disponible se denomina valor NULL. Se representa con un espacio en blanco. p.ej; TELÉFONO del ESTUDIANTE que tiene ROLL_NO 4 es NULL.
Restricciones en el modelo relacional
Mientras diseñamos el modelo relacional, definimos algunas condiciones que deben cumplirse para los datos presentes en la base de datos que 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 hay una violación en cualquiera de las restricciones, la operación fallará.
Restricciones de dominio: estas son restricciones de nivel de atributo. Un atributo solo puede tomar valores que se encuentran dentro del rango del dominio. p.ej,; Si se aplica una restricción EDAD>0 en la relación ESTUDIANTE, la inserción de un valor negativo de EDAD resultará en una falla.
Integridad clave: cada relación en la base de datos debe tener al menos un conjunto de atributos que defina una tupla de manera única. Ese conjunto de atributos se llama clave. p.ej; ROLL_NO en STUDENT es una clave. Dos estudiantes no pueden tener el mismo número de registro. Así que 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 solo puede tomar valores de otro atributo de la misma relación o de cualquier otra relación, se denomina integridad referencial. Supongamos que tenemos 2 relaciones
ALUMNO
ROLLO_NO | NOMBRE | DIRECCIÓN | TELÉFONO | AÑOS | SUCURSAL_CÓDIGO |
1 | RAM | DELHI | 9455123451 | 18 | CS |
2 | RAMESH | GURGAÓN | 9652431543 | 18 | CS |
3 | SUJIT | ROHTAK | 9156253131 | 20 | CEPE |
4 | SEGURO | DELHI | 18 | ESO |
RAMA
SUCURSAL_CÓDIGO | SUCURSAL_NOMBRE |
CS | CIENCIAS DE LA COMPUTACIÓN |
ESO | 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 DE REFERENCIA (ESTUDIANTE en este caso) y la relación a la que se refieren otras relaciones se llama RELACIÓN DE REFERENCIA (SUCURSAL en este caso).
ANOMALÍAS
Una anomalía es una irregularidad, o algo que se desvía del estado esperado o normal. 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 de referencia. p.ej; La inserción de un estudiante con BRANCH_CODE ‘YO’ en la relación ESTUDIANTE resultará en un error porque ‘YO’ no está presente en BRANCH_CODE de BRANCH.
Anomalía de eliminación/actualización en la relación referenciada:
No podemos eliminar o actualizar una fila de RELACIÓN REFERENCIADA si el valor del ATRIBUTO REFERENCIADO se usa en el valor del ATRIBUTO REFERENCIADO. p.ej; si intentamos eliminar la tupla de BRANCH que tiene BRANCH_CODE ‘CS’, dará como resultado un error porque BRANCH_CODE hace referencia a ‘CS’ de STUDENT, pero si intentamos eliminar la fila de BRANCH con BRANCH_CODE CV, se eliminará como el el valor no ha sido utilizado por la relación de referencia. Puede ser manejado por el siguiente método:
ON DELETE CASCADE: Eliminará las tuplas de RELACIÓN DE REFERENCIA si el valor utilizado por ATRIBUTO DE REFERENCIA se elimina de RELACIÓN DE REFERENCIA. ej., si eliminamos una fila de SUCURSAL con CÓDIGO_SUCURSAL ‘CS’, las filas en relación ESTUDIANTE con CÓDIGO_SUCURSAL CS (ROLL_NO 1 y 2 en este caso) serán eliminadas.
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. ej., si actualizamos una fila de SUCURSAL con CÓDIGO_SUCURSAL ‘CS’ a ‘CSE’, las filas en relación ESTUDIANTE con CÓDIGO_SUCURSAL CS (ROLL_NO 1 y 2 en este caso) se actualizarán con CÓDIGO_SUCURSAL ‘CSE’.
SUPER CLAVES:
Cualquier conjunto de atributos que nos permita identificar filas únicas (tuplas) en una relación dada se conocen como super claves. De estas súper claves, siempre podemos elegir un subconjunto adecuado entre estos que se puede usar 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.
Operadores básicos en álgebra relacional
Artículo aportado por Sonal Tuteja. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA