presentación de powerpoint - uv
TRANSCRIPT
Adquisición y Tratamiento de Datos 1
El modelo relacional
Concepto de modelo de datos
• Un modelo de datos es un conjunto de:– Conceptos.– Reglas.– Convenciones.
• Que nos permiten:– Describir.– Manipular.
• Los datos de un cierto mundo real que deseamos almacenar.
Adquisición y Tratamiento de Datos 2
El modelo relacional
Estática de un modelo de datos
• La estática de un modelo de datos esta compuesta por:– Elementos permitidos:
• Objetos: Entidades, relaciones, registros, etc.• Asociaciones entre objetos: Interrelaciones, conjuntos.• Propiedades: Atributos, campos, etc.• Dominios: Valores que pueden tomar las propiedades.
– Elementos no permitidos o restricciones.• Inherentes: Propias del modelo.• De integridad o semánticas: Impuestas por representar el
modelo el mundo real.
Adquisición y Tratamiento de Datos 3
El modelo relacional
Dinámica de un modelo de datos
• La ocurrencia del esquema en ta es BDa
• La ocurrencia del esquema en tb es BDb
• Si se ha producido algún cambio en el esquema entre ta y tb, entonces BDa <> BDb
• El cambio se debe producir por un operador O de forma que O(BDa)= BDb
• Una operación tiene dos componentes:– Localización o enfoque: Localizar el objeto(s) sobre
el(los) que actúa.– Acción: Realizada sobre los objetos localizados.
Adquisición y Tratamiento de Datos 4
El modelo relacional
El modelo relacional (I)
• Esta basado en la relación.
• Se representa mediante tablas.
NOMBRE
atributo 1 atributo 2 … atributo n
…
…
…
…
…… …
XXX
XXX
XXX
XXX
XXX XXX XXX
XXX
XXX tupla 1
tupla 2
…
tupla m
Adquisición y Tratamiento de Datos 5
El modelo relacional
El modelo relacional (II)
• Dominio:– Conjunto finito de valores.– Homogéneos.– Atómicos.
Atributos
Cardinalidad 3
Grado 4
CATEGORIAS
Catedrático
Titular
Ayudante
APELLIDOSNOMBRESCODIGOS
HNNNN XXXXXX XXXXXX
15 50
PROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003
AntonioAmparoIsabel
García GarcíaPérez PérezFernández Fernández
CATEGORIA
CatedráticoAyudanteTitular
Tuplas
DOMINIOS
Adquisición y Tratamiento de Datos 6
El modelo relacional
Concepto de valor nulo (I)
• Un valor nulo es una señal que representa:– Información desconocida.– Atributo inaplicable.– Etc.
• Su existencia es necesaria para:– Crear elementos con valores desconocidos en este
momento.– Añadir nuevos atributos a relaciones existentes.– Etc.
Adquisición y Tratamiento de Datos 7
El modelo relacional
Concepto de valor nulo (II)
• La introducción de valores nulos exige redefinir las operaciones:– De comparación.– Aritméticas.– Algebraicas.– Agregación.
• Por ejemplo, ¿son iguales dos valores nulos?.
• Necesidad de definir L3V y L4V.
Adquisición y Tratamiento de Datos 8
El modelo relacional
Lógica trivaluada (I)
• Trabaja con tres valores:– Cierto o verdadero (C).– Falso o mentira (F).– Quizás o nulo (Q).
AND
C
Q
F
C
C
Q
Q
Q
Q
F
F
F
F F F
OR
C
Q
F
C
C
C
Q
C
Q
F
C
Q
C Q F
NOT
C
Q
F
F
Q
C
Adquisición y Tratamiento de Datos 9
El modelo relacional
Lógica trivaluada (II)
• Tres nuevos operadores sobre valores nulos:– MAYBE(A) -> C si A=Q.– IS_NULL(A) -> C si A=Q.– IF_NULL(A,B) -> A si A<>Q, B si A=Q.
• No es intuitiva, pues si hacemos las preguntas:– A=Libros con fecha <=2000.– B= Libros con fecha >2000.
• A unión B no contiene todos los libros, !!! Faltan los libros de fecha desconocida !!!
Adquisición y Tratamiento de Datos 10
El modelo relacional
Lógica trivaluada (III)
• Por ello, expresiones que son verdad en L2V como:– X=X– P OR NOT(P)
• No son validas en L3V, debiendo ser transformadas:– P OR NOT(P) OR Q.
Adquisición y Tratamiento de Datos 11
El modelo relacional
Lógica cuatrivaluada
• Diferencia entre valores nulos inaplicables (I) de valores nulos desconocidos (A).
• No existen productos relacionales que la utilicen.
AND
C
A
F
C
C
A
A
A
A
F
F
F
F F F
I
I
I
I
I
F
II F
OR
C
A
F
C
C
C
A
C
A
F
C
A
C A F
I
I
C
A
C
F
IA F
NOT
C
A
F
F
A
C
I I
Adquisición y Tratamiento de Datos 12
El modelo relacional
Álgebra relacional• Sea R una relación y O un operador del álgebra
relacional, entonces:– R’=O(R) es una relación.
• Por ello se cumple la propiedad de cierre:– R’=On(...O2(O1(R))) es una relación.
• Los operadores pueden clasificarse en:– Primitivos: No pueden obtenerse de otros.– Derivados: Pueden obtenerse de otros.– Unarios: Actúan sobre una sola relación.– Binarios: Actúan sobre dos relaciones.
Adquisición y Tratamiento de Datos 13
El modelo relacional
Operador de asignación y renombrado
• Permite almacenar el resultado de una consulta en una nueva relación y para renombrar atributos:– R’ <- O(R)– R’ <- R
– R’(A1,A2,...,An)<-O(R)
– R’(A1,A2,...,An)<-R
Adquisición y Tratamiento de Datos 14
El modelo relacional
Operador primitivo unario restricción (I)
• La restricción () obtiene de una relación R los elementos que cumplen una condición p:– r’(R) = { ti ∈ r(R) / p(ti) = “cierto”}
• La condición P puede ser sencilla o compuesta (utilizando los operadores AND, OR y NOT).
Adquisición y Tratamiento de Datos 15
El modelo relacional
Operador primitivo unario restricción (II)• Ejemplo:
σPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003H0004H0005
AntonioAmparoIsabelJoséCarlos
García GarcíaPérez PérezFernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
CatedráticoAyudanteTitularAyudanteTitular
CODIGO NOMBRE APELLIDOS CATEGORIA
H0002H0004
AmparoJosé
Pérez PérezHernández Hernández
AyudanteAyudante
σcategoria=ayudante(PROFESOR)
Adquisición y Tratamiento de Datos 16
El modelo relacional
Operador primitivo unario proyección• La proyección () obtiene de una relación R los
atributos X seleccionados (X ⊂ A y X ≠ Ø):– r’(R’) = {ti(X) / X ⊂ A}
• Ejemplo:σPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003H0004H0005
AntonioAmparoIsabelJoséCarlos
García GarcíaPérez PérezFernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
CatedráticoAyudanteTitularAyudanteTitular
CATEGORIA
CatedráticoAyudanteTitular
πcategoria(PROFESOR)
Adquisición y Tratamiento de Datos 17
El modelo relacional
Operadores binarios• Los operadores binarios exigen generalmente que las
relaciones sean compatibles en sus esquemas:– ∀ A1i ∃ A2j / dom(A1i) = dom(A2j) y ∀ A2j ∃ A1i / dom(A2j) = dom(A1i)
• Esto no implica que los nombres de los atributos sean los mismos, pues si son distintos se pueden renombrar:
– PDI(codigo, nombre, apellidos, categoria) ← PDI1σPROFESOR
NOMBRECODIGO APELLIDOS
H� • ¨ ÿH� • ¨ ÿH� • ¨ ÿ
AntonioAmparoIsabel
García GarcíaPérez PérezFernández Fernández
CATEGORIA
CatedráticoAyudanteTitular
PDI1
NOMBRECODIGO APELLIDOS
H0003H0004H0005
IsabelJoséCarlos
Fernández FernándezHernández HernándezMartínez Martínez
TRABAJO
TitularAyudanteTitular
Adquisición y Tratamiento de Datos 18
El modelo relacional
Operador primitivo binario unión• Dos relaciones r1 y r2 con esquemas compatibles:
– r(R) = {ti / ti ∈ r1 ∨ ti ∈ r2}
• Los elementos duplicados se eliminan pues es un conjunto.
σPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003
AntonioAmparoIsabel
García GarcíaPérez PérezFernández Fernández
CATEGORIA
CatedráticoAyudanteTitular
PDI
NOMBRECODIGO APELLIDOS
H0003H0004H0005
IsabelJoséCarlos
Fernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
TitularAyudanteTitular
NOMBRECODIGO APELLIDOS
H0001H0002H0003H0004H0005
AntonioAmparoIsabelJoséCarlos
García GarcíaPérez PérezFernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
CatedráticoAyudanteTitularAyudanteTitular
PROFESOR ∪ PDI
Adquisición y Tratamiento de Datos 19
El modelo relacional
Operador primitivo binario diferencia
• Dos relaciones r1 y r2 con esquemas compatibles:
– r(R) = {ti / ti ∈ r1 ∧ ti ∉ r2}
σPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003
AntonioAmparoIsabel
García GarcíaPérez PérezFernández Fernández
CATEGORIA
CatedráticoAyudanteTitular
PDI
NOMBRECODIGO APELLIDOS
H0003H0004H0005
IsabelJoséCarlos
Fernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
TitularAyudanteTitular
NOMBRECODIGO APELLIDOS
H0001H0002
AntonioAmparo
García GarcíaPérez Pérez
CATEGORIA
CatedráticoAyudante
PROFESOR - PDI
Adquisición y Tratamiento de Datos 20
El modelo relacional
Operador primitivo binario producto cartesiano generalizado (I)
• Dos relaciones r1 y r2 con esquemas R1 y R2, su producto cartesiano generalizado:– Tendrá un esquema R dado por:
– (A1i : D1i ,…, A1n1 : D1n1, A2i’ : D2i’ ,…, A2n2 : D2n2)
– Tendrá una extensión dada por:• {<V1i1,…,V1in1,V2j1,…,V2jn2> / ∀i ∀j (<V1i1,…,V1in1> ∈ r1 ∧ < V2j1,
…,V2jn2> ∈ r2)}
Adquisición y Tratamiento de Datos 21
El modelo relacional
Operador primitivo binario producto cartesiano generalizado (II)
• Ejemplo: ASIGNATURA PROFESOR
DESCRIPCION NUMERO
10000 10001 10002
Tratamiento de datos Análisis estadístico Cálculo numérico
NOMBRE CODIGO APELLIDOS
H0001 H0002
Antonio Amparo
García García Pérez Pérez
CATEGORIA
Catedrático Ayudante
NOMBRE CODIGO APELLIDOS
H0001 H0001 H0001 H0002 H0002 H0002
Antonio Antonio Antonio Amparo Amparo Amparo
García García García García García García Pérez Pérez Pérez Pérez Pérez Pérez
CATEGORIA
Catedrático Catedrático Catedrático Ayudante Ayudante Ayudante
NOMBRE NUMERO
10000 10001 10002 10000 10001 10002
Tratamiento de datos Análisis estadístico Cálculo numérico Tratamiento de datos Análisis estadístico Cálculo numérico
PROFESOR X ASIGNATURA
Adquisición y Tratamiento de Datos 22
El modelo relacional
Operador derivado binario combinación
• La combinación de dos relaciones esta formada por las tuplas que satisfacen la condición:
• {<V1i1 … V1in1 V2j1 … V2jn2> / ∀i ∀j (<V1i1 … V1in1> ∈ r(R1) ∧ <V2j1 … V2jn2> ∈ r(R2) ∧ V1ik V2jl}
• Donde representa una condición que han de satisfacer las tuplas resultantes.
• Es un producto cartesiano generalizado seguido de una restricción.
Adquisición y Tratamiento de Datos 23
El modelo relacional
Operador derivado binario combinación natural• Es una combinación en la cual se elimina de las tuplas
resultantes uno de los atributos de la condición.• Es un producto cartesiano generalizado seguido de
restricción y de proyección.ASIGNATURAPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003H0004H0005
AntonioAmparoIsabelJoséCarlos
García GarcíaPérez PérezFernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
CatedráticoAyudanteTitularAyudanteTitular
DATOSNUMERO
100001000110002
Tratamiento de datosAnálisis estadísticoCálculo numérico
PROFESOR
H0001H0001H0002
CODIGO NOMBRE APELLIDOS CATEGORIA DATOSNUMERO
100001000110002
Tratamiento de datosAnálisis estadísticoCálculo numérico
H0001H0001H0002
AntonioAntonioAmparo
García GarcíaGarcía GarcíaPérez Pérez
CatedráticoCatedráticoAyudante
PROFESOR * ASIGNATURA (PROFESOR.CODIGO=ASIGNATURA.PROFESOR)
Adquisición y Tratamiento de Datos 24
El modelo relacional
Operador derivado binario intersección
• Dos relaciones r1 y r2 con esquemas compatibles– r(R) = {ti / ti ∈ r1 ∧ ti ∈ r2}
• Puede definirse como R1 ∩ R2 = R1 – (R1 – R2) o también R2 – (R2 – R1).
σPROFESOR
NOMBRECODIGO APELLIDOS
H0001H0002H0003
AntonioAmparoIsabel
García GarcíaPérez PérezFernández Fernández
CATEGORIA
CatedráticoAyudanteTitular
PDI
NOMBRECODIGO APELLIDOS
H0003H0004H0005
IsabelJoséCarlos
Fernández FernándezHernández HernándezMartínez Martínez
CATEGORIA
TitularAyudanteTitular
NOMBRECODIGO APELLIDOS
H0003 Isabel Fernández Fernández
CATEGORIA
Titular
PROFESOR n PDI
Adquisición y Tratamiento de Datos 25
El modelo relacional
Operador derivado binario división (I)
• Dos relaciones r1 y r2 con esquemas R1 y R2, su división:– Tendrá un esquema R dado por:
• (A11, A12,…,A1n1) – (A21, A22,…,A2n2)
– Tendrá una extensión dada por:• r(R) = {<Vi1,…,Vi(n1-n2)> / ∀ <Vi(n1-n2+1),…,Vin2 > ∈ r2 ∃ <Vi1,…,Vi(n1-
n2),Vi(n1-n2+1),…,Vin> ∈ r1}
Puede definirse como R1 : R2 = C(R1) – C (R2
X C (R1) – R1)
– Siendo C el conjunto de atributos de A menos B.
Adquisición y Tratamiento de Datos 26
El modelo relacional
Operador derivado binario división (II)• Ejemplo: ASIGNATURA PROFESOR_ASIGNATURA
NOMBRE CODIGO APELLIDOS
H0001 H0001 H0002 H0002 H0002 H0003 H0004 H0004 H0005 H0005
Antonio Antonio Amparo Amparo Amparo Isabel José José Carlos Carlos
García García García García Pérez Pérez Pérez Pérez Pérez Pérez Fernández Fernández Hernández Hernández Hernández Hernández Martínez Martínez Martínez Martínez
CATEGORIA
Catedrático Catedrático Ayudante Ayudante Ayudante Titular Ayudante Ayudante Titular Titular
ASIGNATURA
10000 10002
ASIGNATURA
10000 10001 10000 10001 10002 10003 10002 10003 10000 10002
CODIGO NOMBRE APELLIDOS CATEGORIA
H0002 H0005
Amparo Carlos
Pérez Pérez Martínez Martínez
Ayudante Titular
PROFESOR_ASIGNATURA : ASIGNATURA
Adquisición y Tratamiento de Datos 27
El modelo relacional
Operador agrupación (I)
• Se utiliza para poder aplicar funciones de agregación:– Suma.– Media.– Frecuencia.
• Agrupan en subconjuntos que poseen valores comunes de ciertos atributos especificados.
Adquisición y Tratamiento de Datos 28
El modelo relacional
Operador agrupación (II)• Ejemplo:
PROFESOR
NOMBRE CODIGO APELLIDOS
H0001 H0002 H0003 H0004 H0005
Antonio Amparo Isabel José Carlos
García García Pérez Pérez Fernández Fernández Hernández Hernández Martínez Martínez
CATEGORIA
Catedrático Ayudante Titular Ayudante Titular
SALARIO
3500 1500 2400 1600 2600
CATEGORIA MEDIA(SALARIO)
Catedrático Ayudante Titular
3500 1550 2500
PROFESOR AGRUPACION_POR CATEGORIA,MEDIA(SALARIO)
Adquisición y Tratamiento de Datos 29
El modelo relacional
Operador cierre transitivo• Es una operación unaria sobre dos atributos
compatibles (tienen el mismo dominio) de una relación.
TEMAS
TEMA_P TEMA_S
FísicaQuímicaQuímicaMatemáticasEstadística
QuímicaAnalíticaEstadísticaEstadísticaCalculo
Cierre transitivo de TEMAS
TEMA_P TEMA_S
FísicaQuímicaQuímicaMatemáticasEstadísticaFísicaFísicaQuímicaMatemáticasFísica
QuímicaAnalíticaEstadísticaEstadísticaCalculoAnalíticaEstadísticaCalculoCalculoCalculo
Adquisición y Tratamiento de Datos 30
El modelo relacional
Operador combinación externa (I)
• Impide que desaparezcan tuplas cuando se aplica la combinación natural debido a que una tupla no “combina” con ninguna otra.
• Introducen valores nulos en la combinación.
• El valor nulo puede aparecer en:– La derecha: /* -> Permanecen tuplas de la izquierda.– La izquierda: */ -> Permanecen tuplas de la derecha.– Ambas: /*/
Adquisición y Tratamiento de Datos 31
El modelo relacional
Operador combinación externa (II)• Ejemplo:
PROFESOR_ASIGNATURA
ASIGNATURA PROFESOR
NOMBRE CODIGO APELLIDOS
H0001 H0002 H0003 H0004 H0005
Antonio Amparo Isabel José Carlos
García García Pérez Pérez Fernández Fernández Hernández Hernández Martínez Martínez
CATEGORIA
Catedrático Ayudante Titular Ayudante Titular
DATOS NUMERO
10000 10001 10002
Tratamiento de datos Análisis estadístico Cálculo numérico
PROFESOR
H0001 H0001 H0002
CODIGO NOMBRE APELLIDOS CATEGORIA DATOS NUMERO
10000 10001 10002 NULL NULL NULL
Tratamiento de datos Análisis estadístico Cálculo numérico NULL NULL NULL
H0001 H0001 H0002 H0003 H0004 H0005
Antonio Antonio Amparo Isabel José Carlos
García García García García Pérez Pérez Fernández Fernández Hernández Hernández Martínez Martínez
Catedrático Catedrático Ayudante Titular Ayudante Titular
PROFESOR /* ASIGNATURA (PROFESOR.CODIGO=ASIGNATURA.PROFESOR)
Adquisición y Tratamiento de Datos 32
El modelo relacional
Operador posible (I)
• Puede aplicarse con cualquier otro operador del algebra
• Utiliza la lógica trivaluada y admite como validos los resultados “quizás”.– X = NULL– NULL =NULL
Adquisición y Tratamiento de Datos 33
El modelo relacional
Operador posible (II)• Ejemplo
b=cR2R1
b=cR2MAYBE R1
R1
a
112Nulo3
b
5Nulo42Nulo
R2
c
52NuloNulo
d
3467
a b c d
1Nulo
52
52
34
a b c d
111111122NuloNuloNulo3333
555NuloNuloNuloNulo44222NuloNuloNuloNulo
5NuloNulo52NuloNuloNuloNulo2NuloNulo52NuloNulo
3673467674673467
Adquisición y Tratamiento de Datos 34
El modelo relacional
Operador posible (III)• Ejemplo
PROFESOR_ASIGNATURA
PROFESOR_ASIGNATURA
CODIGO NOMBRE APELLIDOS CATEGORIA DATOSNUMERO
100001000110002NuloNuloNulo
Tratamiento de datosAnálisis estadísticoCálculo numéricoNuloNuloNulo
H0001H0001H0002H0003H0004H0005
AntonioAntonioAmparoIsabelJoséCarlos
García GarcíaGarcía GarcíaPérez PérezFernández FernándezHernández HernándezMartínez Martínez
CatedráticoCatedráticoAyudanteTitularAyudanteTitular
CODIGO NOMBRE APELLIDOS CATEGORIA DATOSNUMERO
10002 Cálculo numéricoH0002 Amparo Pérez Pérez Ayudante
CODIGO NOMBRE APELLIDOS CATEGORIA DATOSNUMERO
10002NuloNuloNulo
Cálculo numéricoNuloNuloNulo
H0002H0003H0004H0005
AmparoIsabelJoséCarlos
Pérez PérezFernández FernándezHernández HernándezMartínez Martínez
AyudanteTitularAyudanteTitular
σNUMERO=”10002”PROFESOR_ASIGNATURA
MAYBE(σ)NUMERO=10002PROFESOR_ASIGNATURA