Introducción del modelo relacional y las reglas de Codd en DBMS

Terminología 

Modelo relacional: 

– 
* Fue propuesta por el Dr. EFCodd. 
*Utiliza el concepto de relaciones para representar todos y cada uno de los archivos. 
*Las relaciones son tablas bidimensionales. 
* Es fácil de implementar y de fácil simplificación en las operaciones de 
manipulación de los datos. 
* Este es el modelo de datos más popular.
* Es simple de implementar.
*Utiliza la clave principal y la clave secundaria para conectar dos archivos cualesquiera.
*La teoría de la normalización se utiliza para diseñar el modelo de datos basado en objetos.
*El álgebra relacional y el cálculo relacional se utilizan para procesar las 
relaciones manualmente.
*Muchos de los lenguajes de bases de datos están orientados al manejo de 
modelos de datos relacionales.
* Un RDM consiste en relaciones con para conectarlas por campos clave. Una 
relación tiene algunos atributos. Son
*La relación se representa en filas y columnas.
* Cada columna de la relación se llama atributo.
*Cada fila en la relación se llama tupla.
*Cada relación puede tener una columna única, es decir, clave principal.
* Cada relación puede tener n-columnas y n-tuplas.
Cada relación está precedida por el nombre de esa relación. Los campos de las 
relaciones se separan por comas y se colocan entre paréntesis de la 
relación.
ESTUDIANTE (StudNo, Sname, Special)
MATRÍCULA (StudNo, Subcode, marcas)
ASIGNATURA (Subcode, Subname, Maxmarks, Faccode)
FACULTAD (Faccode, Fname, Dept) 

 El modelo relacional representa los datos en forma de relaciones o tablas. Esquema relacional: el esquema representa la estructura de una relación. p.ej; El esquema relacional de la relación ESTUDIANTE se puede representar como: ESTUDIANTE (NO_ESTUDIO, NOMBRE_ESTUDIO, TELÉFONO_ESTUDIO, ESTADO_ESTUDIO, PAÍS_ESTUDIO, EDAD_ESTUDIO) Instancia relacional: el conjunto de valores presentes en una relación en un momento determinado se conoce como instancia relacional, como se muestra en la tabla 1 y Tabla 2. Atributo: Cada relación se define en términos de algunas propiedades, cada una de las cuales se conoce como atributo. Por ejemplo, STUD_NO, STUD_NAME, etc. son atributos de la relación ESTUDIANTE. Dominio de un atributo:Los valores posibles que un atributo puede tomar en una relación se llama su dominio. Por ejemplo, el dominio de STUD_AGE puede ser de 18 a 40. Tupla: cada fila de una relación se conoce como tupla. p.ej; La relación ESTUDIANTE dada a continuación tiene 4 tuplas. Valores NULL: los valores de algún atributo para algunas tuplas pueden ser desconocidos, faltantes o indefinidos, que se representan como NULL. Dos valores NULL en una relación se consideran diferentes entre sí. La Tabla 1 y la Tabla 2 representan un modelo relacional que tiene dos relaciones ESTUDIANTE y ESTUDIANTE_CURSO.image

Proveedores de RDBMS: –
* Hay muchos proveedores diferentes que producen 
sistemas de administración de bases de datos relacionales (RDBMS).
Proveedores de DBMS Producto DBMS Producto.

 

ÁLGEBRA RELACIONAL:- 
*Es un lenguaje procedimental.
* Consta de un conjunto de operadores que se pueden realizar sobre las relaciones. 
* Forma la base para muchos otros sublenguajes de datos de alto nivel como 
SQL, QBE. 
* El álgebra relacional tiene principalmente 9 tipos de operadores. Estos son

* UNIÓN
* INTERSECCIÓN
* MENOS
* TIEMPOS
* SELECCIÓN
* PROYECCIÓN
* UNIR
* DIVISIÓN
* RENOMBRAR
1. UNIÓN (U):- 
* A y B son dos relaciones. Muestra valores totales (Atributos) en ambas 
relaciones. 
*Evita los valores duplicados en ambas relaciones.
* Se puede usar el símbolo U
Sintaxis:- A UNION B (o) AUB
ejemplo:- A = {empleado, gerente, vendedor}
B = {presidente, empleado, gerente}
A UNION B = {empleado, gerente, vendedor, presidente}
2. INTERSECCIÓN (∩):-
*A y B son dos relaciones. Muestra elementos comunes en ambas 
relaciones. 
* Se puede usar el símbolo “∩”
Sintaxis:- A INTERSECT B (o) A ∩ B
Ejemplo:- A = {empleado, gerente, vendedor}
B = {presidente, empleado, gerente}
A INTERSECCIÓN B = {empleado, gerente}
3. DIFERENCIA (─):- 
 A y B son dos relaciones. Muestra elementos en relación A, no en 
relación B. 
Sintaxis:- A MENOS B (O) A ─ B
Ejemplo:- A = {empleado, gerente, vendedor} B = {presidente, empleado, gerente}
A MENOS B = {vendedor } 

 

4. PRODUCTO CARTESIANO(X):- 
 A y B son dos relaciones. Tiene una nueva relación que consiste en todas 
las combinaciones por pares de todos los elementos en A y B. 
 La relación A tiene “m” elementos y la relación B tiene “n” elementos, entonces 
la relación resultante será “m * n”. 
 Sintaxis:- A VECES B (O) AXB
Ejemplo:- A = {empleado, gerente, vendedor}
B = {presidente, empleado, gerente}
A VECES B = { (empleado, presidente), (empleado, empleado), ( empleado, gerente), (gerente, 
presidente), (gerente, empleado), (gerente, gerente), (vendedor, presidente), 
(vendedor, empleado), (vendedor, gerente) }
5. SELECCIÓN ():-
 Muestra todos los atributos o columnas de todas las filas de una relación.
 El operador “” se puede utilizar para seleccionar los atributos en una relación.
Notación – σcondición(nombre de la relación) 

 

6. PROYECCIÓN (π):- 
 Muestra algunas columnas especificadas en una relación.
El operador «π» se puede utilizar para seleccionar algunas columnas específicas en una 
relación. Sintaxis:- π(col1,col2…) Nombre de la relación
 Muestra algunas columnas específicas usando alguna condición
Ejemplo:- π(sno,sname,total) MARCAS

 

Selecciona tuplas que satisfacen el predicado dado de una relación. 

7. JOIN ( ):-
*Combina dos o más relaciones. 
* Se puede utilizar el símbolo.
* Se puede dividir principalmente en principalmente 4 tipos. Estos son principalmente
o Unión interna
o Unión externa
o Unión externa izquierda o Unión externa
derecha 

8. DIVIDE (÷): 
*Divide la tupla de una relación a otra relación
Sintaxis:- A DIVIDE B (OR) A ÷ B
Ejemplo:- A = {empleado, gerente, vendedor} B = {empleado, gerente}
A DIVIDIR B = {vendedor} 

9. RENOMBRAR(ρ):-
* Da otro nombre a la relación.
Sintaxis:- ρ(RELACIÓN ANTIGUA, RELACIÓN NUEVA)
Ej:- ρ(ESTUDIANTE, NOTAS)
Cambia la relación “estudiante” a relación “Notas”.
* También cambia el nombre de la columna especificada.
* Cambia el nombre de la columna anterior al nombre de la columna nueva.
Sintaxis:- ρ(NOMBRE DE ESTUDIANTE A NOMBRE) NOMBRE DE LA RELACIÓN 

Ventajas del Álgebra Relacional
*El álgebra relacional tiene una base matemática sólida.
* El trasfondo matemático del álgebra relacional es la base de
muchos desarrollos y teoremas interesantes.
* Si tenemos dos expresiones para la misma operación y si
se demuestra que las expresiones son equivalentes, entonces un optimizador de consultas puede
sustituir automáticamente la forma más eficiente.
Desventajas del álgebra relacional
* El álgebra relacional no puede ejecutarse en un servidor de base de datos.
*El álgebra relacional no puede hacer aritmética. 
Por ejemplo, el precio de la gasolina es 50/-, al aumentar el precio un 10%, lo que 
no se puede hacer usando álgebra relacional.
*No puede ordenar o imprimir resultados en varios formatos.
*No puede realizar operaciones agregadas. 

 

Reglas de Codd

Las reglas de Codd fueron propuestas por EF Codd que deberían ser satisfechas por el modelo relacional.

  1. Regla fundamental: para cualquier sistema que se anuncie como un sistema de administración de bases de datos relacionales, o que afirme serlo, ese sistema debe poder administrar bases de datos en su totalidad a través de sus capacidades relacionales.
  2. Regla de información: los datos almacenados en el modelo relacional deben ser un valor de alguna celda de una tabla.
  3. Regla de Acceso Garantizado: Cada elemento de datos debe ser accesible por el nombre de la tabla, su clave principal y el nombre del atributo cuyo valor se determinará.
  4. Tratamiento sistemático de valores NULL: El valor NULL en la base de datos solo debe corresponder a valores faltantes, desconocidos o no aplicables.
  5. Catálogo en línea activo: la estructura de la base de datos debe almacenarse en un catálogo en línea que pueda ser consultado por usuarios autorizados.
  6. Regla de sublenguaje de datos completos: una base de datos debe ser accesible mediante un lenguaje admitido para la operación de definición, manipulación y gestión de transacciones.
  7. Regla de actualización de vista: el sistema debe actualizar automáticamente las diferentes vistas creadas para varios propósitos.
  8. Regla de inserción, actualización y eliminación de alto nivel: el modelo relacional debe admitir operaciones de inserción, eliminación, actualización, etc. en cada nivel de relaciones. Además, se deben admitir operaciones de conjunto como Unión, Intersección y Menos.
  9. Independencia de los datos físicos: cualquier modificación en la ubicación física de una tabla no debe imponer modificaciones a nivel de la aplicación.
  10. Independencia de los datos lógicos: cualquier modificación en el esquema lógico o conceptual de una tabla no debe imponer modificaciones a nivel de la aplicación. Por ejemplo, la fusión de dos tablas en una no debería afectar el acceso de la aplicación, lo cual es difícil de lograr.
  11. Independencia de la integridad: las restricciones de integridad modificadas en el nivel de la base de datos no deberían imponer modificaciones en el nivel de la aplicación.
  12. Independencia de la distribución: la distribución de datos en varias ubicaciones no debe ser visible para los usuarios finales.
  13. Regla de no subversión: el acceso de bajo nivel a los datos no debería poder eludir la regla de integridad para cambiar los datos.

PUERTA Pregunta

Dados los modelos relacionales y de ER básicos, ¿cuál de los siguientes es INCORRECTO? [GATE CS 2012] A. Un atributo de una entidad puede tener más de un valor B. Un atributo de una entidad puede ser compuesto C. En una fila de una tabla relacional, un atributo puede tener más de un valor D. En una fila de una tabla relacional, un atributo puede tener exactamente un valor o un valor NULO Respuesta: En el modelo de relación, un atributo no puede tener más de un valor. Entonces, la opción C es la respuesta. Este artículo es una contribución de Sonal Tuteja . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.orgo envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *