• No se han encontrado resultados

Tema II: El modelo relacional de datos (2.3) El modelo relacional de datos.

N/A
N/A
Protected

Academic year: 2021

Share "Tema II: El modelo relacional de datos (2.3) El modelo relacional de datos."

Copied!
28
0
0

Texto completo

(1)

El modelo relacional de datos

(2.3)

El modelo relacional de datos.

9 conocer las estructuras de datos del modelo: la tupla y la relación.

9 conocer básicamente la forma de modelar la realidad utilizando el modelo relacional.

9 conocer los mecanismos del modelo relacional para expresar restricciones de integridad.

9 conocer los lenguajes de manipulación propuestos para este modelo de datos: Álgebra Relacional y Cálculo Relacional de Tuplas.

Objetivos:

(2)

9 2.1 Modelo relacional de datos (Aproximación algebraica).

– 2.1.1 Estructuras de datos: tupla, relación.

– 2.1.2 Operadores asociados a la estructura relación: Álgebra Relacional.

9 2.2 Esquema relacional: representación de la realidad.

9 2.3 Modelo relacional de datos (Aproximación lógica)

– 2.3.1 Interpretación lógica de una base de datos relacional.

– 2.3.2 Cálculo Relacional de Tuplas.

9 2.4 Restricciones de integridad.

El modelo relacional de datos.

El modelo relacional de datos.

2.3. Modelo relacional de datos (Aproximación lógica)

(3)

2.3.1 Interpretación lógica de una BD relacional.

LÓGICA de 1er ORDEN

“Sistema formal que permite razonar sobre un universo de discurso”

qué es

cómo

•lenguaje: permite expresar aserciones sobre el universo de interés.

•reglas de evaluación: permiten determinar el valor de verdad de las aserciones.

2.3.1 Interpretación lógica de una BD relacional.

(4)

Dominio (D)

Luis

María Juan

AD1

BDA

Ejemplo: sistema de información sobre la matrícula.

Propiedades (P):

• ser un alumno

• ser una asignatura

• estar matriculado

Aserción:

Todos los alumnos están matriculados de una asignatura

información sobre las propiedades de P en el dominio D

¿es cierta esta aserción en D?

2.3.1 Interpretación lógica de una BD relacional.

es-alumno ⇒ {María, Juan, Luis}

es-asignatura ⇒ {AD1, BDA}

está-matriculado ⇒ { (Luis, AD1), (Juan, BDA) } Información sobre las propiedades de P en el dominio D

La aserción:

“Todos los alumnos están matriculados de una asignatura”

es falsa

2.3.1 Interpretación lógica de una BD relacional.

(5)

Ejemplo: formalización en lógica de 1erorden.

lenguaje: permite expresar aserciones sobre el universo de interés

Lenguaje L:

constantes = {María, Juan, Luis, AD1, BDA}

predicados = {Alumno(.), Asignatura(.), Matriculado(. , .)}

variables = {x, y, z, …}

conectivas = ∧, ∨, ¬, → cuantificadores = ∀, ∃

símbolos auxiliares = ‘(‘, ‘)’, ‘,’, …

F= ∀x (Alumno(x) → ∃y Matriculado(x, y) )

“Todos los alumnos están matriculados de una asignatura”

conjunto de símbolos

reglas de evaluación: permiten determinar el valor de verdad de las expresiones

Interpretación I del lenguaje L:

• dominio D = {María, Juan, Luis, AD1, BDA}

• interpretación de cada predicado:

alumno ⇒ {María, Juan, Luis}

asignatura ⇒ {AD1, BDA}

matriculado ⇒ { (Luis, AD1), (Juan, BDA) }

conocimiento que se tiene sobre los predicados en un dominio

F= ∀x (Alumno(x) → ∃y Matriculado(x, y) )

F se evalúa a FALSO en I

2.3.1 Interpretación lógica de una BD relacional.

(6)

Base de datos relacional:

Asignatura AD1 BDA Alumno

María Juan Luis

Matriculado Luis AD1 Juan BDA

Interpretación I del lenguaje L:

• dominio D = {María, Juan, Luis, AD1, BDA}

• interpretación de cada predicado:

alumno ⇒ {María, Juan, Luis}

asignatura ⇒ {AD1, BDA}

matriculado ⇒ { (Luis, AD1), (Juan, BDA) }

la interpretación de cada predicado puede representarse como una relación

2.3.1 Interpretación lógica de una BD relacional.

Una interpretación de un lenguaje de 1er ordenpuede verse como una base de datos relacional en la que los nombres de relación coinciden con los símbolos de predicado

Una base de datos relacional puede verse como una interpretación de un lenguaje de 1erorden en el que los símbolos de predicado coinciden con los nombres de relación

2.3.1 Interpretación lógica de una BD relacional.

(7)

Base de datos relacional:

Asignatura AD1 BDA Alumno

María Juan Luis

Matriculado Luis AD1 Juan BDA Esquema relacional:

alumno (nombre: dom_nom) asignatura (código: dom_cod)

matriculado (nombre:dom_nom, código: dom_cod)

lenguaje L

interpretación I de L

Lenguaje L:

constantes = {María, Juan, Luis, AD1, BDA}

predicados = {Alumno(.), Asignatura(.), Matriculado(. , .)}

variables = {x, y, z, …}

conectivas = ∧, ∨, ¬, → cuantificadores = ∀, ∃

símbolos auxiliares = ‘(‘, ‘)’, ‘,’, …

Esquema relacional

Base de datos relacional

Interpretación I del lenguaje L:

• dominio D = {María, Juan, Luis, AD1, BDA}

• interpretación de cada predicado:

alumno ⇒ {María, Juan, Luis}

asignatura ⇒ {AD1, BDA}

matriculado ⇒ { (Luis, AD1), (Juan, BDA) }

2.3.1 Interpretación lógica de una BD relacional.

(8)

F= ∀x (Alumno(x) → ∃y Matriculado(x, y) ) El lenguaje L se pude usar como lenguaje de consultas

¿Están matriculados todos los alumnos de alguna asignatura?

¿Qué alumnos están matriculados de BDA?

F= Alumno(x) ∧ Matriculado(x, ‘BDA’) )

2.3.1 Interpretación lógica de una BD relacional.

F= ∀x (Alumno(x) → ∃y Matriculado(x, y) )

El lenguaje L se pude usar como lenguaje de consultas

¿Están matriculados todos los alumnos de alguna asignatura?

F es una fórmula cerrada que se evalúa a un valor de verdad en la interpretación I de L

2.3.1 Interpretación lógica de una BD relacional.

X es una variable ligada

al cuantificador ∀ Y es una variable ligada al cuantificador

(9)

Lógica bivaluada: cierto falso

G H F = G ∧ H F = G ∨ H G Æ H G F = ¬ G falso falso falso falso cierto falso cierto cierto falso falso cierto falso cierto falso falso cierto falso cierto cierto

cierto cierto cierto cierto cierto

F= ∀x (Alumno(x) → ∃y Matriculado(x, y) ) Base de datos relacional:

Asignatura AD1 BDA Alumno

María Juan Luis

Matriculado Luis AD1 Juan BDA

interpretación I de L

Luis

María Juan

AD1

BDA

D

X Alumno(X) Y Matriculado (X, Y) Alumno(X) Matriculado (X, Y)

BDA falso cierto

AD1 falso cierto

Luis cierto BDA falso falso

cierto

AD1 cierto

Juan cierto BDA cierto cierto

María cierto BDA falso falso

falso

AD1 falso

2.3.1 Interpretación lógica de una BD relacional.

F se evalúa a FALSO en I

falso

Luis falso

falso

Juan falso

falso

María falso

(10)

El lenguaje L se pude usar como lenguaje de consultas

F es una fórmula abierta cuya evaluación consiste en buscar los valores de X para los que F se evalúa a CIERTO en I

2.3.1 Interpretación lógica de una BD relacional.

X es una variable libre

¿Qué alumnos están matriculados de BDA?

F= Alumno(x) ∧ Matriculado(x, ‘BDA’) )

Base de datos relacional:

Asignatura AD1 BDA Alumno

María Juan Luis

Matriculado Luis AD1 Juan BDA

interpretación I de L

Luis

María Juan

AD1

BDA

D

X Alumno(X) Matriculado (X, ‘BDA’) Alumno(X) Matriculado (X, ‘BDA’)

BDA falso falso

AD1 falso falso

Luis cierto falso falso

Juan cierto cierto cierto

María falso falso

2.3.1 Interpretación lógica de una BD relacional.

F= Alumno(x) ∧ Matriculado(x, ‘BDA’) )

cierto

la evaluación de F devuelve el conjunto de valores {’Juan’}

(11)

Interpretación lógica de una BD relacional:

esquema relacional lenguaje L base de datos

relacional interpretación de L

las consultas a la BD relacional son fórmulas abiertas del lenguaje L

la evaluación de una consulta consiste en buscar los valores de las variables libres para las que la fórmula se evalúa a CIERTO en la BD

2.3.2 Cálculo Relacional de Tuplas.

2.3.2 Cálculo Relacional de Tuplas.

(12)

cod_pro nombre teléfono cod_dep Profesor

cod_dep nombre director teléfono Departamento

cod_asg nombre semestre teoría prac cod_dep Asignatura

Esquema relacional

cod_pro cod_asg gteo gpra Docencia

2.3.2 Cálculo Relacional de Tuplas.

Departamento (cod_dep: tira(5), nombre: tira(40), director tira(30), teléfono : entero) Asignatura (cod_asg: tira(3), nombre: tira(40), semestre: tira(2),

teoría: real, prác: real, cod_dep: tira(5))

Profesor (cod_pro : tira(3), nombre : tira(40), teléfono: entero, cod_dep: tira(5) ) Docencia ( cod_asg: tira(3), cod_pro: tira(3), gteo: entero, gpra: entero)

Esquema relacional

2.3.2 Cálculo Relacional de Tuplas.

(13)

cod_dep nombre director teléfono DSIC Sistemas Informáticos y

Computación V. Botti 3500

DISCA Ingeniería de Sistemas, Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e Investigación Operativa

L. Barceló 4900

OEM Org. de Empresas, Economía

Financ. y Contabilidad M. Pérez 6800

cod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC RFC Robert Fuster i Capilla 6789 MAT JBD José V. Benlloch Dualde 5760 DISCA MAF María Alpuente Frasnedo 3560 DSIC CPG Cristina Pérez Guillot 7439 IDM JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

Profesor

Departamento

cod_dep nombre director teléfono

DSIC Sistemas Informáticos y

Computación V. Botti 3500

DISCA Ingeniería de Sistemas,

Computadores y Automática A. Crespo 5700 MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e Investigación

Operativa L. Barceló 4900

OEM Org. de Empresas, Economía

Financ. y Contabilidad M. Pérez 6800

Asignatura

Departamento

cod_ asg nombre semestre teoría prac cod_dep

B D A B ases de D atos 2B 3 3 D SIC

AD 1 Algoritm os y E structuras de D atos 1

1A 4 2 D SIC

FC O F undam entos de

com putado res 1A 4,5 4,5 D ISC A

M AD M atem ática D iscreta 1A 3 3 M A T

IN T Inglés Técnico 1B 3 3 ID M

FF I Fundam entos F ísicos

de la Inform ática 1A 3 3 FIS

E C 2 E structuras de C om putadores 2

2A 3 3 D ISC A

2.3.2 Cálculo Relacional de Tuplas.

(14)

cod_ asg nombre semestre teoría prac cod_dep

B D A B ases de D atos 2B 3 3 D SIC

AD 1 Algoritm os y E structuras de D atos 1

1A 4 2 D SIC

FC O F undam entos de

com putado res 1A 4,5 4,5 D ISC A

M AD M atem ática D iscreta 1A 3 3 M A T

IN T Inglés Técnico 1B 3 3 ID M

FF I Fundam entos F ísicos

de la Inform ática 1A 3 3 FIS

E C 2 E structuras de C om putadores 2

2A 3 3 D ISC A

cod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC RFC Robert Fuster i Capilla 6789 MAT JBD José V. Benlloch Dualde 5760 DISCA MAF María Alpuente Frasnedo 3560 DSIC CPG Cristina Pérez Guillot 7439 IDM JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Profesor Asignatura

Docencia

2.3.2 Cálculo Relacional de Tuplas.

2.3.2 Cálculo Relacional de Tuplas.

Lenguaje L:

constantes = {JCC, MCG, RFC, ..., AD1, BDA, ..., DSIC, DISCA, ..., Juan C. Casamayor Ródenas, Daniel Gil Tomás, ..., 3, 6, 4.5,..., 1A, 3B, ..., 3376, 7796, 7753, ... }

predicados = { Profesor(., ., ., .), Asignatura(., ., ., ., ., .), Departamento(. , ., ., .), Docencia(., ., ., .) }

variables = {x, y, z, …}

conectivas = ∧, ∨, ¬, → cuantificadores = ∀, ∃

símbolos auxiliares = ‘(‘, ‘)’, ‘,’, …

Esquema relacional

(15)

cod_pro nombre teléfono cod_dep JCC Juan C. Casamayor Ródenas 7796 DSIC RFC Robert Fuster i Capilla 6789 MAT JBD José V. Benlloch Dualde 5760 DISCA MAF María Alpuente Frasnedo 3560 DSIC CPG Cristina Pérez Guillot 7439 IDM JTM José M. Torralba Martínez 4590 OEM IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

Profesor

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y

Estructuras de Datos 1 1A 4 2 DSIC FCO Fundamentos de

computadores

1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos

de la Informática 1A 3 3 FIS

EC2 Estructuras de

Computadores 2 2A 3 3 DISCA

Asignatura

c o d _ a sg c o d _ p r o g te o g p r a

B D A JC C 2 4

M A D R F C 1 2

F C O D G T 2 2

A D 1 M A F 1 1

IN T C P G 1 0

E C 2 J B D 2 0

B D A M C G 1 3

A D 1 JC C 1 1

F C O J B D 2 2

A D 1 M C G 1 1

Docencia

cod_dep nombre director teléfono

DSIC Sistemas Informáticos y

Computación V. Botti 3500

DISCA Ingeniería de Sistemas, Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e Investigación Operativa

L. Barceló 4900

OEM Org. de Empresas, Economía Financ. y Contabilidad

M. Pérez 6800

BD relacional

las consultas a la BD relacional son fórmulas abiertas del lenguaje L

la evaluación de una consulta consiste en buscar los valores de las variables libres para las que la fórmula se evalúa a CIERTO en la BD relacional 2.3.2 Cálculo Relacional de Tuplas.

(16)

2.3.2 Cálculo Relacional de Tuplas.

El lenguaje L se pude usar como lenguaje de consultas

F es una fórmula abierta cuya evaluación consiste en buscar los valores de X1, X2, X3 para los que F se evalúa a CIERTO en la BD X1, X2, X3 son variables libres

¿Qué profesores imparten BDA y cuántos grupos?

F= Docencia ( ‘BDA’, X1, X2, X3) )

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Docencia

F= Docencia ( ‘BDA’, X1, X2, X3) )

la evaluación de F devuelve el conjunto de tripletes:

{{’JCC’, 2, 4}, {‘MCG’, 1, 3}}

2.3.2 Cálculo Relacional de Tuplas.

(17)

F= Docencia (X1, ‘BDA’, X2, X3) )

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Docencia

Para usar el lenguaje L como lenguaje de consultas es necesario conocer el orden de los atributos

Se ha perdido el concepto de atributo

2.3.2 Cálculo Relacional de Tuplas.

Lenguaje de 1erorden con variables-tupla Cálculo Relacional de Tuplas

•Variables-tupla: variable de tipo tupla.

• Definición de una variable-tupla: una variable-tupla se define sobre un esquema de relación.

•Dominio de una variable-tupla: todas las posibles tuplas del esquema de la relación.

(18)

2.3.2 Cálculo Relacional de Tuplas.

Docencia ( cod_asg: tira(3), cod_pro: tira(3),

gteo: entero, gpra: entero)

DX: Docencia (variable-tupla del tipo del esquema de Docencia) Dominio de DX

{(cod_asg,‘BDA’), (cod_pro,‘JCR’),(gteo, 1),(gpra, 3)}

...

{(cod_asg,‘AD3’), (cod_pro,‘JCR’),(gteo, 1),(gpra, 3)}

{(cod_asg,‘BDA’), (cod_pro,‘MCG’),(gteo, 1),(gpra, 3)}

{(cod_asg,‘EC2’), (cod_pro,‘JBD’),(gteo, 2),(gpra, 0)}

{(cod_asg,‘FFF’), (cod_pro,‘KKK’),(gteo, 1),(gpra, 3)}

dominio infinito

F es una fórmula abierta cuya evaluación consiste en buscar los valores de DXpara los que F se evalúa a CIERTO en la BD

DX es una variable libre

¿Qué profesores imparten BDA y cuántos grupos?

F= DX.cod_asg=‘BDA’

2.3.2 Cálculo Relacional de Tuplas.

el dominio de DX es infinito la evaluación de F es infinita

(19)

F es una fórmula abierta cuya evaluación consiste en buscar los valores de DXpara los que F se evalúa a CIERTO en la BD DX es una variable libre

¿Qué profesores imparten BDA y cuántos grupos?

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

Docencia (DX) se evalúa a CIERTO en la BD para las tuplas del dominio de DX que pertenecen a la extensión de la relación Docencia

¿Qué profesores imparten BDA y cuántos grupos?

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

2.3.2 Cálculo Relacional de Tuplas.

los predicados son todos de aridad 1: Docencia (.)

con las variables-tupla se pueden usar los operadores del tipo tupla

son necesarios predicados de comparación

(20)

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Docencia

2.3.2 Cálculo Relacional de Tuplas.

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

{{(cod_asg,‘BDA’), (cod_pro,‘JCR’),(gteo, 1),(gpra, 3)}, {(cod_asg,‘BDA’), (cod_pro,‘MCG’),(gteo, 1),(gpra, 3)}}

2.3.2 Cálculo Relacional de Tuplas.

DX Docencia (DX)

cierto

falso falso

cierto

falso

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

Dominio de DX

Asignatura Profesor Docencia Departamento BD relacional

{(cod_asg,‘BDA’), (cod_pro,‘JCR’), (gteo, 1), (gpra, 3)}

DX.cod_asg=‘BDA’

F1 F2

F=F1 F2 cierto {(cod_asg,‘AD3’), (cod_pro,‘JCR’),

(gteo, 1),(gpra, 3)}

{(cod_asg,‘FFF), (cod_pro,‘KKK),

(gteo, 1),(gpra, 3)} falso

{(cod_asg,‘EC2), (cod_pro,‘JBD),

(gteo, 2),(gpra, 0)} cierto falso falso

{(cod_asg,‘BDA’), (cod_pro,‘MCG),

(gteo, 1),(gpra, 3)} cierto cierto cierto

... evaluación infinita dominio

infinito

(21)

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

¿Cómo evitar una evaluación infinita?

para los valores de DX que no están en la extensión de Docencia F se evalúa a FALSO

es suficiente evaluar F para los valores de DX que están en la extensión de Docencia rango de la

variable DX condición de

pertenencia

conjunción

Las condiciones de pertenencia para las variables y la forma sintáctica de las fórmulas pueden evitar la evaluación infinita

2.3.2 Cálculo Relacional de Tuplas.

DX Docencia (DX)

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

Dominio de DX

Asignatura

Profesor Departamento

Docencia

BD relacional

DX.cod_asg=‘BDA’

F1 F2

F=F1 F2

cierto cierto

{(cod_asg,‘BDA’), (cod_pro,‘JCR’),

(gteo, 1), (gpra, 3)} cierto

{(cod_asg,‘AD1’), (cod_pro,‘MAF’),

(gteo,1),(gpra, 1)} cierto falso falso

{(cod_asg,‘INT’), (cod_pro,‘CPG’),

(gteo, 1),(gpra, 0)} cierto falso falso

cierto falso

{(cod_asg,‘MAD’), (cod_pro,‘RFC),

(gteo, 1),(gpra, 2)} falso

cierto {(cod_asg,‘FCO’), (cod_pro,‘DGT’),

(gteo, 2),(gpra, 1)} falso falso

tuplas10

(22)

DX Docencia (DX) DX.cod_asg=‘BDA’F1 F2

F=F1 F2

{(cod_asg,‘EC2’), (cod_pro,‘JBD’),

(gteo, 2),(gpra, 0)} cierto falso falso

{(cod_asg,‘BDA’), (cod_pro,‘MCG),

(gteo, 1),(gpra, 3)} cierto cierto cierto

{(cod_asg,‘AD1’), (cod_pro,‘JCC’),

(gteo, 1),(gpra, 1)} cierto falso falso

{(cod_asg,‘FCO’), (cod_pro,‘JBD),

(gteo, 2),(gpra, 2)} cierto falso falso

{(cod_asg,‘AD1’), (cod_pro,‘MCG’),

(gteo, 1),(gpra, 1)} cierto falso falso

evaluación finita

2.3.2 Cálculo Relacional de Tuplas.

{{(cod_asg,‘BDA’), (cod_pro,‘JCR’), (gteo, 1), (gpra, 3)}, {(cod_asg,‘BDA’), (cod_pro,‘MCG’), (gteo, 1), (gpra, 3)}}

2.3.2 Cálculo Relacional de Tuplas.

¿Qué profesores imparten BDA y cuántos grupos?

F= Docencia ( DX) ∧ DX.cod_asg=‘BDA’

{{(cod_asg,‘BDA’), (cod_pro,‘JCR’), (gteo, 1), (gpra, 3)}, {(cod_asg,‘BDA’), (cod_pro,‘MCG’), (gteo, 1), (gpra, 3)}}

{Dx.cod_pro, DX.gteo, DX.gpra Docencia ( DX) ∧ DX.cod_asg=‘BDA’}

para poder seleccionar los atributos que interesan

(23)

condición de pertenencia de DX condición de

pertenencia de PX

¿Nombres de profesores que imparten BDA?

{PX.nombreProfesor ( PX) ∧

{ {(nombre, ‘Juan C. Casamayor Ródenas’)}, {(nombre, ‘Matilde Celma Giménez’)} } PX es una variable libre:

devuelve valores de la BD

DX es una variable ligada: se introduce para expresar condiciones

DX (Docencia (DX) ∧ DX.cod_pro=PX.cod_pro ∧ DX.cod_asg=‘BDA’)}

condición de pertenencia de AX condición de

pertenencia de DX

2.3.2 Cálculo Relacional de Tuplas.

¿Nombres de departamentos que no tienen adscritas asignaturas?

{DX.nombreDepartamento ( DX) ∧

{ {(nombre, ‘Estadística e Investigación Operativa)}, {(nombre, ‘Organización de Empresas...’)} } DX es una variable libre:

devuelve valores de la BD

AX es una variable ligada: se introduce para expresar condiciones

¬∃AX (Asignatura (AX) ∧ AX.cod_dep=DX.cod_dep)}

(24)

condición de pertenencia de DX

condición de pertenencia de AX

AX (Asignatura (AX) ∧ (AX.semestre=‘1A’ ∨AX.semestre =‘1B’) ∧ condición de

pertenencia de PX

2.3.2 Cálculo Relacional de Tuplas.

¿Nombres de profesores que imparten docencia en el 1er curso?

{PX.nombreProfesor ( PX) ∧

PX es una variable libre:

devuelve valores de la BD

AX y DX son variables ligadas: se introducen para expresar condiciones

DX(Docencia(DX)∧DX.cod_pro=PX.cod_pro∧DX.cod_asg=AX.cod_asg))}

condición de pertenencia de DY

condición de pertenencia de DX

DX (Docencia (DX) ∧ DX.cod_pro=PX.cod_pro ∧ condición de

pertenencia de PX

2.3.2 Cálculo Relacional de Tuplas.

¿Nombres de profesores que imparten mas de una asignatura?

{PX.nombreProfesor ( PX) ∧

PX es una variable libre:

devuelve valores de la BD

DX y DY son variables ligadas: se introducen para expresar condiciones

DY(Docencia(DY)∧DY.cod_pro=PX.cod_pro ∧ DX.cod_asg ≠ DY.cod_asg))}

(25)

condición de pertenencia de DY condición de

pertenencia de DX

DX (Docencia (DX) ∧ DX.cod_pro=PX.cod_pro ∧ condición de

pertenencia de PX

{PX.nombreProfesor ( PX) ∧

DY(Docencia(DY)∧DY.cod_pro=PX.cod_pro∧DX.cod_asg≠DY.cod_asg))}

Dominio de DX, DY

Dominio de PX

Dominio de definición Dominio de evaluación

Profesor Docencia

infinito

infinito finito

finito

2.3.2 Cálculo Relacional de Tuplas.

{X.nom_atributo

Y (C’(Y)

condición de pertenencia sobre X

fórmula abierta con la variable libre X que expresa las condiciones de la consulta variable libre

condición de pertenencia sobre Y variable

ligada

C(X) ∧ F ( X) }

F’ ( X, Y))

(26)

condición de pertenencia de DX

condición de pertenencia de AX condición de

pertenencia de PX

2.3.2 Cálculo Relacional de Tuplas.

¿Nombres de profesores que imparten todas las asignaturas?

{PX.nombreProfesor ( PX) ∧

∀AX ( Asignatura (AX)

DX(Docencia(DX)∧DX.cod_pro=PX.cod_pro∧DX.cod_asg=AX.cod_asg) )}

AX Asignatura (AX)

F1 F2

F=F1 F2

valores de AX que no están en

Asignatura falso cierto

1, ..., 2 cierto

MAD cierto cierto

2.3.2 Cálculo Relacional de Tuplas.

DX(Docencia(DX)∧...

DX

1, ..., 10 cierto

BDA falso falso

PX RFC

falso

Profesor Docencia

JCC MAD cierto 1, ..., 10 falso falso

falso Asignatura

...

(27)

condición de pertenencia de DX

condición de pertenencia de AX condición de

pertenencia de PX

¿Nombres de profesores que imparten todas las asignaturas de su departamento?

{PX.nombreProfesor ( PX) ∧

∀AX ( (Asignatura (AX) ∧ AX.cod_dep = PX.cod_dep)

DX(Docencia(DX)∧DX.cod_pro=PX.cod_pro∧DX.cod_asg=AX.cod_asg) )}

2.3.2 Cálculo Relacional de Tuplas.

{X.nom_atributo

Y (C’(Y)

condición de pertenencia sobre X

fórmula abierta con la variable libre X que expresa las condiciones de la consulta variable libre

condición de pertenencia sobre Y variable

ligada

C(X) ∧ F ( X) }

F’ ( X, Y))

Y (C’(Y)

condición de pertenencia sobre Y variable

ligada

F’ ( X, Y)) }

Fórmula segura: se puede evaluar accediendo sólo a la extensión de la BD

(28)

2.3.2 Cálculo Relacional de Tuplas.

Cálculo Relacional de Tuplas:

•lenguaje de 1er orden con variables de tipo tupla.

•las variables-tupla se definen sobre el

esquema de una relación y sus dominios suelen ser infinitos.

•los predicados relacionales son de aridad 1.

•R(t) se evalúa a CIERTO si la tupla t está en la extensión de R en la BD.

•las condiciones de pertenencia de la forma R(t) y la forma sintáctica de las fórmulas evitan las evaluaciones infinitas.

Ejercicios:

1. Obtener el código de los profesores que imparten asignaturas que no son de su departamento.

2. Obtener el nombre de los profesores que tienen toda su docencia en la misma asignatura 2.3.2 Cálculo Relacional de Tuplas.

Referencias

Documento similar

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil

Las personas solicitantes deberán incluir en la solicitud a un investigador tutor, que deberá formar parte de un grupo de investigación. Se entiende por investigador tutor la

Estos planes de recolo- cación deben garantizar a las personas despedi- das un servicio continuado durante un periodo mínimo de seis meses que incluya medidas de formación

Si para construir y evaluar una FBF necesitamos una interpretación y un LPO, para todo esquema de base de datos relacional (BDR) y para cada estado de base de datos

dni nombre dirección 21333555 LUISA c/A, 3 22444666 PEPE c/C, 33 21777333 ANA c/E, 333 ASIGNATURA. código

La solución que se ha planteado, es que el paso o bien se hiciese exclusivamente por el adarve de la muralla, o que una escalera diese acceso por la RM evitando la estancia (De

Imparte docencia en el Grado en Historia del Arte (Universidad de Málaga) en las asignaturas: Poéticas del arte español de los siglos XX y XXI, Picasso y el arte español del