• No se han encontrado resultados

Concepto de modelo de datos Un modelo de datos es un conjunto de:

N/A
N/A
Protected

Academic year: 2021

Share "Concepto de modelo de datos Un modelo de datos es un conjunto de:"

Copied!
34
0
0

Texto completo

(1)

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.

(2)

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.

(3)

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.

(4)

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

(5)

El modelo relacional (II)

• Dominio:

– Conjunto finito de valores. – Homogéneos. Atributos Cardinalidad 3 Grado 4 CATEGORIAS Catedrático Titular Ayudante APELLIDOS NOMBRES CODIGOS HNNNN XXXXXX XXXXXX 15 50 PROFESOR NOMBRE CODIGO APELLIDOS H0001 H0002 H0003 Antonio Amparo Isabel García García Pérez Pérez Fernández Fernández CATEGORIA Catedrático Ayudante Titular Tuplas DOMINIOS

(6)

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.

(7)

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.

(8)

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

(9)

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 !!!

(10)

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:

(11)

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 I I F OR C A F C C C A C A F C A C A F I I C A C F I A F NOT C A F F A C I I

(12)

Á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.

(13)

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

(14)

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).

(15)

Operador primitivo unario restricció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

CODIGO NOMBRE APELLIDOS CATEGORIA

H0002 Amparo Pérez Pérez Ayudante

(16)

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 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 CATEGORIA πcategoria(PROFESOR)

(17)

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 NOMBRE CODIGO APELLIDOS H H H Antonio Amparo Isabel García García Pérez Pérez Fernández Fernández CATEGORIA Catedrático Ayudante Titular PDI1 NOMBRE CODIGO APELLIDOS

H0003 Isabel Fernández Fernández

TRABAJO Titular

(18)

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 NOMBRE CODIGO APELLIDOS H0001 H0002 H0003 Antonio Amparo Isabel García García Pérez Pérez Fernández Fernández CATEGORIA Catedrático Ayudante Titular PDI NOMBRE CODIGO APELLIDOS H0003 H0004 H0005 Isabel José Carlos Fernández Fernández Hernández Hernández Martínez Martínez CATEGORIA Titular Ayudante Titular NOMBRE CODIGO APELLIDOS H0001

H0002 AntonioAmparo García GarcíaPérez Pérez

CATEGORIA Catedrático Ayudante

(19)

Operador primitivo binario diferencia

• Dos relaciones r1 y r2 con esquemas compatibles:

– r(R) = {ti / ti ∈ r1 ∧ ti ∉ r2} σPROFESOR NOMBRE CODIGO APELLIDOS H0001 H0002 H0003 Antonio Amparo Isabel García García Pérez Pérez Fernández Fernández CATEGORIA Catedrático Ayudante Titular PDI NOMBRE CODIGO APELLIDOS H0003 H0004 H0005 Isabel José Carlos Fernández Fernández Hernández Hernández Martínez Martínez CATEGORIA Titular Ayudante Titular NOMBRE CODIGO APELLIDOS H0001 H0002 Antonio Amparo García García Pérez Pérez CATEGORIA Catedrático Ayudante PROFESOR - PDI

(20)

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)}

(21)

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

(22)

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.

(23)

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. 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 NUMERO DATOS

10000 Tratamiento de datos H0001 Antonio García García Catedrático

PROFESOR * ASIGNATURA

(24)

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 NOMBRE CODIGO APELLIDOS H0001 H0002 H0003 Antonio Amparo Isabel García García Pérez Pérez Fernández Fernández CATEGORIA Catedrático Ayudante Titular PDI NOMBRE CODIGO APELLIDOS H0003 H0004 H0005 Isabel José Carlos Fernández Fernández Hernández Hernández Martínez Martínez CATEGORIA Titular Ayudante Titular NOMBRE CODIGO APELLIDOS

H0003 Isabel Fernández Fernández

CATEGORIA Titular

(25)

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,…,V

i(n1-n2),Vi(n1-n2+1),…,Vin> ∈ r1}

Puede definirse como R1 : R2 = C(R1) – C (R2

(26)

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

(27)

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.

(28)

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 3500

(29)

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ísica Química Química Matemáticas Estadística Química Analítica Estadística Estadística Calculo

Cierre transitivo de TEMAS

TEMA_P TEMA_S Física Química Química Matemáticas Estadística Física Física Química Matemáticas Química Analítica Estadística Estadística Calculo Analítica Estadística Calculo Calculo

(30)

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: /*/

(31)

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 NUMERO DATOS 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)

(32)

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

(33)

Operador posible (II)

• Ejemplo b=c R2 R1 b=c R2 MAYBE R1 R1 a 1 1 2 Nulo 3 b 5 Nulo 4 2 Nulo R2 c 5 2 Nulo Nulo d 3 4 6 7 a b c d 1 Nulo 5 2 5 2 3 4 a b c d 1 1 1 1 1 1 1 2 2 Nulo Nulo Nulo 3 3 5 5 5 Nulo Nulo Nulo Nulo 4 4 2 2 2 Nulo Nulo 5 Nulo Nulo 5 2 Nulo Nulo Nulo Nulo 2 Nulo Nulo 5 2 3 6 7 3 4 6 7 6 7 4 6 7 3 4

(34)

Operador posible (III)

• Ejemplo

PROFESOR_ASIGNATURA

PROFESOR_ASIGNATURA

CODIGO NOMBRE APELLIDOS CATEGORIA NUMERO DATOS 10000 10001 10002 Nulo Nulo Nulo Tratamiento de datos Análisis estadístico Cálculo numérico Nulo Nulo Nulo 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

CODIGO NOMBRE APELLIDOS CATEGORIA NUMERO DATOS

10002 Cálculo numérico H0002 Amparo Pérez Pérez Ayudante

CODIGO NOMBRE APELLIDOS CATEGORIA NUMERO DATOS σNUMERO=”10002”PROFESOR_ASIGNATURA

Referencias

Documento similar

PRESIDENTA: FERNÁNDEZ CASCÓN, AVELINA PRESIDENTE: SÁNCHEZ FERNÁNDEZ, JOSÉ ANTONIO VOCAL 1: BAZ RODRÍGUEZ, Mª DOLORES VOCAL 1: CASTILLO HERNÁNDEZ, CATALINA VOCAL 2:

Eugenio Cejudo García, José Antonio Cañete Pérez, Francisco Navarro Valverde, Alberto Capote Lama.. Universidad

En 1918 los alemanes ocuparon el territorio letón y sólo tras su derrota, el 18 de noviembre, los nacionalistas encontraron el momento para hacer pública la independencia,

Nature and Custom Traditional accounts of early modernity show civic human- ist thought abandoning the abstract subtleties of Aristotelian universals and embracing the more

PERSONAL DOCENTE E INvESTIgADOR Isabel María Abad Guerrero Amparo Bentabol Manzanares Juan Antonio Campos Soria Mercedes Cordones Ramírez Antonio Fernández Morales

García Cabello José Manuel García Fernández Laura María. García Ferrero

García Cabello José Manuel García Fernández Laura María. García Herranz

CEREZO GARCÍA-VERDUGO, JOSÉ FERNANDO RENOVACIÓN CÉSPEDES VILLALBA, JUAN CARLOS RENOVACIÓN. FERNÁNDEZ TINOCO,