El c lculo relacional
Download
1 / 15

El Cálculo Relacional. - PowerPoint PPT Presentation


  • 169 Views
  • Uploaded on

El Cálculo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Cálculo Relacional. Lenguaje formal para manipular y definir relaciones. Lenguaje no procedimental. Las fórmulas son expresiones que denotan relaciones.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' El Cálculo Relacional.' - hamal


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
El c lculo relacional

El Cálculo Relacional.

John Freddy Duitama Muñoz.

Facultad de Ingeniería.

U.de.A.

John Freddy Duitama M. Universidad de Antioquia.


C lculo relacional
Cálculo Relacional.

  • Lenguaje formal para manipular y definir relaciones.

  • Lenguaje no procedimental.

  • Las fórmulas son expresiones que denotan relaciones.

  • Existen cálculo relacional de tuplas y el cálculo relacional de dominios.

    Cálculo Relacional de tuplas.

    Una forma de la lógica en donde las variables son tuplas.

    {t / P(t)} el conjunto de tuplas tales que el predicado P es cierto.

John Freddy Duitama M. Universidad de Antioquia.


Definiciones b sicas
Definiciones Básicas

Una consulta del cálculo relacional de tuplas tiene la forma

{ t / P(t) }

  • t  R denota que la tupla t está en la relación R.

  • t [A] denota el valor del atributo A en la tupla t.

  • {t / P(t)} el conjunto de tuplas tales que el predicado P es cierto.

    Ejemplo: { t / t  R ( Q ( t ) ) }

    Existe una tupla t en R tal que el predicado Q(t) es verdadero.

    {s/ s  Empleados Ù s[cargo]=“Auxiliar” }

John Freddy Duitama M. Universidad de Antioquia.


Tomos para las f rmulas bien formadas f b f
Átomos para las fórmulas bien formadas. (f.b.f)

  • t  R, donde t una variable tupla y R una relación.

  • s [A] qt [B];

    s, t = variables tupla.

    A,B= atributos de las relaciones sobre las que definolas variables s , t.

    qÎ{ < , > , <= , >= , != , = } y los dominios de A y B pueden compararse con estos operadores.

    3. s[A] q c. Concconstante en el dominio del atributo A.

John Freddy Duitama M. Universidad de Antioquia.


Reglas de construcci n para las f rmulas bien formadas
Reglas de construcción para las fórmulas bien formadas.

  • Un átomo es una f.b.f.

  • Si P1 es una f.b.f. entoncesØP1 y (P1) son f.b.f.

  • Si P1 y P2 son f.b.f entonces:

    P1 Ú P2 , P1 Ù P2 , P1  P2 son f.b.f.

  • Si P1(a) es una f.b.f. que contiene a una variable libre s entonces:

    $s ( P1(s) ) y "s(P1(s)) son f.b.f.

    Expresiones equivalentes.

    P1 Ù P2 <==> Ø (ØP1 Ú Ø P2)

    "s (P1(s)) <==> Ø$s (Ø P1(s) )

    Ø P1 Ú P2 <==> P1 ==> P2

    Ø ( P Ù Q ) º Ø P Ú Ø Q

    Ø ( P Ú Q ) º Ø P ÙØ Q

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

Cada atributo asociado a un dominio.

1. Encontrar el nro-préstamo, la sucursal, el id del cliente y el valor para los préstamos mayores en valor a 1200.

{ t/ t  préstamo Ù t [valor] > 1200 }

Notación alternativa:

{t[nro-préstamo, sucursal, cliente, valor]/

t  préstamo Ù t [valor] > 1200 }

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta1
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente (id, nombre, dirección, ciudad).

Sucursal (cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito (nro-cuenta, sucursal, cliente, saldo)

2. Encuentre el id de los clientes con préstamos mayores a 1200.

{ t / $s  préstamo ( s[valor] > 1200 Ùs[cliente] = t[cliente] ) }

Notación alternativa.

{ t[cliente] / $s  préstamo ( s[valor] > 1200 Ù

s[cliente] = t[cliente] ) }

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta2
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

3. Hallar el id de los clientes que tienen préstamos, depósitos o ambas cosas en la sucursal de código S001 .

{t / $s préstamo (s[cliente]= t[cliente] Ù s[sucursal] = “S001” )

Ú

$ u depósito (t[cliente] = u[cliente] Ù u[sucursal] = “S001”)}

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta3
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

4. Encontrar el id de los clientes que tienen tanto un depósito como un préstamo en la sucursal de código S001.

{t / $s préstamo ( s[cliente] = t[cliente]

Ù s[sucursal] = “S001” )

Ù

$u depósito ( t[cliente] = u[cliente]

Ùu[sucursal] = “S001” )

}

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta4
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

5. Encontrar el id de los clientes con préstamos en la sucursal de código “S002”. Informar ciudad de residencia del cliente.

{t /$s préstamo ( s[cliente]=t[cliente]

Ù s[sucursal] = “S002”

Ù$ u cliente ( u[id] = s[cliente]

Ù u[ciudad] = t[ciudad] ) )

}

Esquema nueva relación: t [cliente, ciudad]

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta5
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

6. Encontrar el id de todos los clientes que tiene depósitos en la sucursal S002, pero que no tienen préstamos en esta sucursal.

{t / $s  depósito ( s[cliente]=t[cliente]

Ù s[sucursal] = “S002” )

  • Ù

  • Ø$u  préstamo ( u[cliente]=t[cliente]

    Ù u[sucursal] = “S002”)

    }

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta6
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

7. Encuentre el id de todos los clientes que tienen préstamos en una sucursal ubicada en la ciudad donde residen.

{t / $s préstamo ( s[cliente]=t[cliente]

Ù$u cliente ( s[id] = u[cliente]

Ù$z sucursal(z[ciudad] = u[ciudad] Ù z[cod] = s[sucursal] ) ) )

}

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta7
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

8. Encontrar los clientes que tienen depósitos en todas las sucursales ubicadas en Medellín.

{ t / "s  sucursal ( s[ciudad] = “Medellín” 

$d depósito ( d[cliente] = t[cliente]

Ù s[cod] = d[sucursal] ) )

}

John Freddy Duitama M. Universidad de Antioquia.


El c lculo de tuplas como lenguaje de consulta8
El cálculo de tuplas como lenguaje de consulta.

Sean las relaciones:

Cliente(id, nombre, dirección, ciudad).

Sucursal(cod, nombre, ciudad)

Préstamo(nro-préstamo, sucursal, cliente, valor).

Depósito(nro-cuenta, sucursal, cliente, saldo)

8-a. Encontrar los clientes que tienen depósitos en todas las sucursales ubicadas en Medellín.

{ t / Ø$ s sucursal ( s[ciudad] = Medellín Ù

Ø$d depósito ( d[cliente] = t[nombre-cliente]

Ùs[nombre-sucursal] = d[nombre-sucursal]

) )

}

John Freddy Duitama M. Universidad de Antioquia.


Dominio de una f rmula relacional de tuplas p
Dominio de una fórmula relacional de tuplas P.

dom(P)= es el conjunto de todos los valores a los que P hace referencia

  • Los valores mencionados en P.

  • Los valores que son explícitos en las relaciones que aparecen en P

    dom( t Î préstamo  t[saldo] > 1200 ) =

    El conjunto que contenga a 1200

    El conjunto de todos los valores que aparecen en préstamo.

    Una expresión es segura si todos los valores que aparecen en el resultado son valores del dom(P).

    Que pasa con (dom(t  préstamo t[saldo] > 1200 ) ?

    En este cálculo solo usaremos expresiones seguras.

John Freddy Duitama M. Universidad de Antioquia.


ad