Cálculo relacional de dominio

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En informática, el cálculo relacional de dominio (DRC) es un cálculo que fue introducido por Michel Lacroix y Alain Pirotte como un lenguaje de consulta de base de datos declarativo para el modelo de datos relacionales..

En DRC, las consultas tienen el formato:

{}.. X1,X2,....,Xn.. ▪ ▪ p().. X1,X2,....,Xn.. )}{displaystyle {langle X_{1},X_{2},...,X_{n}rangle mid p(langle X_{1},X_{2},...,X_{n}rangle)}}

donde cada Xi es una variable de dominio o constante, y p().. X1,X2,....,Xn.. ){displaystyle p(langle X_{1},X_{2},...,X_{n}rangle)} denota a DRC fórmula. El resultado de la consulta es el conjunto de tuples X1 a Xn que hacen realidad la fórmula del RDC.

Este lenguaje usa los mismos operadores que el cálculo de tuplas, los conectores lógicos ∧ (y), ∨ (o) y ¬ (no). El cuantificador existencial (∃) y el cuantificador universal (∀) se pueden utilizar para vincular las variables.

Su expresividad computacional es equivalente a la del álgebra relacional.

Ejemplos

Que (A, B, C) signifique (Rango, Nombre, ID) en la relación Empresa

y que (D, E, F) signifique (Nombre, DeptName, ID) en la relación Departamento

Todos los capitanes de la nave estelar USS Enterprise:

{}.A,B,C.▪ ▪ .A,B,C.▪ ▪ Enterprise∧ ∧ A=.Captain.}{displaystyle left{\fn\fnMicrosoft\fnMicrosoft\\\\\\\fn\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\display\\\\\\\\\\\\\\\\\\\\\\\\\\\\\display\\\\\\\\\\\\\\\\\\\ {leftlangle A,B,Crightrangle}mid {leftlangle A,B,Crightrangle in mathrm {Enterprise} land A=mathrm {'Captain'}\right}}

En este ejemplo, A, B, C denota tanto el conjunto de resultados como un conjunto en la tabla Empresa.

Nombres de los miembros de la tripulación de Enterprise que están en Stellar Cartography:

{}.B.▪ ▪ ∃ ∃ A,C.A,B,C.▪ ▪ Enterprise∧ ∧ ∃ ∃ D,E,F.D,E,F.▪ ▪ Departments∧ ∧ F=C∧ ∧ E=.StellarCartographSí..}{displaystyle {begin{aligned}{leftlangle Brightrangle } mid {exists A,Cleftlangle A,B,Crightrangle in mathrm {Enterprise}\\fnMicrosoftfncipes D,E,Fleftlangle D,E,Frightrangle in mathrm {Departments}CmmmmmmmmmmmmmcH00cH002cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH002cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH00cH002cH00cH00cH00cH00 ¿Qué?

En este ejemplo, solo estamos buscando el nombre, y ese es B. La condición F = C es un requisito que describe la intersección de los miembros de la tripulación de Enterprise Y los miembros del Departamento de Cartografía de Stellar.

Una representación alternativa del ejemplo anterior sería:

{}.B.▪ ▪ ∃ ∃ A,C.A,B,C.▪ ▪ Enterprise∧ ∧ ∃ ∃ D.D,.StellarCartographSí..,C.▪ ▪ Departments}{displaystyle left\\\\c\c\c\c\\\\\\c\\\\\\c\\c\\\\\c\c\\\\c\\\c\\\\\\c\\\\\\\\\c\\\\ccc\\\c\\\c\\\\\\c\\\\\\\c\\\\\\c\\\cc\\\\\\\\\\\\\\\\\c\\\\\\ Brightrangle A,Cleftlangle A,B,Crightrangle in mathrm {Enterprise}\land {exists D\leftlangle D,mathrm {'Stellar Cartography'} Crightrangle in mathrm {Departments}right}}

En este ejemplo, el valor del dominio F solicitado se coloca directamente en la fórmula y la variable de dominio C se reutiliza en la consulta sobre la existencia de un departamento, dado que ya tiene el dominio de un miembro de la tripulación. IDENTIFICACIÓN.

Contenido relacionado

Computación parasitaria

La computación parasitaria es una técnica de programación en la que un programa en interacciones normales autorizadas con otro programa logra que el otro...

Punto de acceso

Punto de acceso, Punto de acceso o Punto de acceso pueden referirse...

Área de trabajo personal

Una red de área personal es una red informática para interconectar dispositivos electrónicos dentro del espacio de trabajo de una persona individual. Un...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save