modelo relacional

22
-1 4.1 Presentación del Modelo Relacional 4.2 Estática del Modelo Relacional 4.3 Dinámica del Modelo Relacional Álgebra Relacional Tratamiento de Valores Nulos Tema IV: El Modelo Relacional Tema IV: Tema IV: El Modelo El Modelo Relacional Relacional -mar 05 2 Esquema Lógico Externo Esquema Lógico Externo Esquema Lógico Externo Esquema Lógico Externo Esquema Lógico Global Estructura Física Estructura Física Estructura Física Estructura Física Transformación Lógica Transformación Física Mundo Real Modelo de Datos Tema 4.1: Presentación del Modelo Tema 4.1: Presentación del Modelo Relacional Relacional

Upload: yovana-velasqz

Post on 11-Feb-2016

6 views

Category:

Documents


0 download

DESCRIPTION

lo fundamental del modelo relacional

TRANSCRIPT

1

- 1

4.1 Presentación del Modelo Relacional

4.2 Estática del Modelo Relacional

4.3 Dinámica del Modelo Relacional• Álgebra Relacional• Tratamiento de Valores Nulos

Tema IV: El Modelo Relacional

Tema IV:Tema IV: El Modelo El Modelo RelacionalRelacional

-mar 05 2

EsquemaLógicoExterno

EsquemaLógicoExterno

EsquemaLógicoExterno

EsquemaLógicoExterno

EsquemaLógicoGlobal

EstructuraFísica

EstructuraFísica

EstructuraFísica

EstructuraFísica

TransformaciónLógica

TransformaciónFísica

MundoReal

Modelo de

Datos

Tema 4.1: Presentación del Modelo Tema 4.1: Presentación del Modelo RelacionalRelacional

2

-mar 05 3

1970 E.F. Codd, "Relational Model of Data for Large Shared Data Banks,”Communications of the ACM , 13, 1970, pp. 377--387. Codd (IBM) propone los modelos de datos y introduce el modelo relacional

1975 El SPARC de ANSI propone la arquitectura a tres niveles para BB.DD.1975-77 SEQUEL (Structured English QUEry Language) sobre SEQUEL-XRM de IBM1979 ORACLE: primer SGBDR (basado en SQL); 1980 Le siguen DB2, Sybase, Informix… o copian su interfaz (Adabas, Ingres…)1982 ANSI presenta una propuesta basada en SQL de IBM1985 Codd critica la debilidad del estándar (poco fiel al modelo relacional)1986 Primera estandarización: el ANSI-SQL1987 Estandarización ISO: el SQL-ISO (9075)1990 Versión 2 del Modelo Relacional: DRDA (Distributed Relational Database

Access) de IBM en su arquitectura SAA (System Application Architecture)

1992 Nuevo estándar: SQL2 (SQL92) de ISO, con tres niveles (entry, intermediate, full)

1999 Revisión del estándar SQL

Tema 4.1: Tema 4.1: Presentación del Presentación del Modelo RelacionalModelo Relacional

-mar 05 4

Tema 4.1: Presentación del Modelo Tema 4.1: Presentación del Modelo RelacionalRelacional

MODELO RELACIONAL* ESTÁTICA

Objetos Interrelaciones Restricciones - Objetos no permitidos-

-inherentes (estructurales)-semánticas

Representación

* DINÁMICALocalización

(navegación/especificación)Acción

-recuperación-actualización

} Relaciones, Atributos y Dominios

{TablasGrafos

3

- 5

4.1 Presentación del Modelo Relacional

4.2 Estática del Modelo Relacional

4.3 Dinámica del Modelo Relacional• Álgebra Relacional• Tratamiento de Valores Nulos

Tema IV: El Modelo Relacional

Tema IV:Tema IV: El Modelo El Modelo RelacionalRelacional

-mar 05 6

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

El modelo relacional se basa en la noción matemática de relación:R: N x N ,, R {(x, y) / y = x2 }

R {(1, 1), (2, 4), (3, 9), ...}

Dominio: totalidad de valores de la misma naturaleza en eluniverso de discurso

Relación: subconjunto del producto cartesiano de n dominios persona: DNI x Nombre,, persona: {(03456789, José), (03451940, Gualterio), ...}

Atributo: propiedad común a los elementos de una generalidaddefinida sobre un dominio

4

-mar 05 7

El elemento básico del Modelo Relacional es la RELACIÓN, que puede representarse como una tabla:

col. 1 col. ncol. 2

dd

d d

dd

d

dd11

21

m1

12

22

m2

1n

2n

mn

NOMBRE

Distinguimos:• Nombre• Atributos• Tuplas• Dominios

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 8

DOMINIO:

• Conjunto finito de valores homogéneos y atómicos, caracterizado por un nombre.

• Se puede definir por intensión o por extensión.Ej: Dominio Estados Civiles

• También existen dominios compuestos.

ATRIBUTO

• Columna de una relación que representa una propiedad de la misma, y que está caracterizada por un nombre.

• Un atributo toma sus valores de un dominio.

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

5

-mar 05 9

DNI_P NOMBRE TITULACIÓN

57321 J. PEREZ D. INFORMAT.95117 L. GARCIA L. MATEMAT.1431 F. GOMEZ D. FISICAS

83601 R. LOPEZ L. INFORMAT.

RELACIONAL

PROF

NOMBRE DE LA RELACIÓN

GRADO (3)

TUPLAS

ATRIBUTOS

CARDINALIDAD (4)

DONINIOSNOS_DNI NOMBRES TITULOS

Ejemplo de Relación:

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 10

RELACIÓN TABLA FICHERO

TUPLAATRIBUTO

GRADOCARDINALIDAD

FILACOLUMNA

N. DE COLUMNASN. DE FILAS

REGISTROCAMPO

N. DE CAMPOSN. DE REGISTROS

Comparación de la terminología:

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

6

-mar 05 11

Definición y Representación de una Relación:

• Definición por Intensión:definición invariable de la semántica de una relación (Esquema)

• Definición por Extensión:conjunto de tuplas de una relación en un momento del tiempo.

Representación:• de un Esquema de Relación: nombre de la relación seguido de la

colección de atributos que la caracterizan (el orden no importa)• de una Relación en tabla: una columna por atributo, una fila por tupla

(el orden de las columnas no importa, pero es el mismo en todas las filas)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 12

Esquema de relación (intensión):

NOTA(DNI_P:NOS_DNI, DNI_A:NOS_DNI, CALIF:CALIFICS)

Relación (Extensión):

NOTA DNI_P DNI_A CALIF.

57321 132851 4,557321 5682 8,257321 13007 9,095117 13251 3,595117 3232 7,81431 3232 1,51431 13007 9,5

83602 13251 5,483602 3232 8,3

Extensión e Intensión de una Relación:

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

7

-mar 05 13

CLAVES:

• Una clave candidata de una relación es un conjunto de atributos que identifican unívoca y mínimamente cada tupla de la relación. Se distingue entre:

Clave primariaClave alternativa

• Se denomina clave ajena de una relación R2 a un conjunto de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relación R1 (R1 y R2 no son necesariamente distintas)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 14

EMPLEADO(NOMBRE,DEPARTAMENTO,SALARIO,FECHA_NAC, EXT_TELEFÓNICA)

DEPARTAMENTO(NUMERO_DEPT, NOMBRE)

Ejemplo de Grafo Relacional con claves primarias y ajenas

EMPLEADONOMBRE DEPARTAMENTO SALARIO FECHA_NAC EXT_TELEFÓNICAPablo Montero 14 220.000 10-11-67 6543Beatriz Cristobal 13 300.000 20-9-68 6577J. Luís Martín 11 150.000 25-6-77 6433Almudena López 13 350.000 4-5-60 6422Angel Vallejo 14 400.000 15-4-72 6321Pedro García 11 200.000 12-3-70 6323

DEPARTAMENTONUMERO_DEPT NOMBRE11 Contabilidad13 Marketing14 Informática

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

8

-mar 05 15

Restricciones inherentes: impuestas por el propio modelo

1. En una relación no puede haber dos tuplas iguales (obligatoriedad de clave primaria)

2. El orden de las tuplas y el de los atributos no es relevante

3. Cada atributo sólo puede tomar un único valor del dominio sobre el cual está definido (no hay grupos repetitivos)

4. Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo (regla de integridad de entidad)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

RESTRICCIONES

-mar 05 16

Restricciones semánticas (o de usuario): facilidades ofrecidas por el modelo para representar la semántica del mundo real.

1. La restricción de clave primaria (PRIMARY KEY) permite declarar un atributo o conjunto de atributos como la clave primaria de una relación

2. La restricción de unicidad (UNIQUE) nos permite definir claves alternativas

3. La restricción de obligatoriedad (NOT NULL) permite declarar si uno o varios atributos de una relación deben tomar siempre un valor

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

RESTRICCIONES

9

-mar 05 17

Restricciones semánticas (o de usuario): Cont.

4. La restricción de clave ajena (FOREIGN KEY), o de integridad referencial, se utiliza para, mediante claves ajenas (un conjunto de atributos en una relación que es una clave primaria en otra o lamisma relación) enlazar relaciones de una base de datos. Es necesario definir las opciones de borrado y modificación

• Borrado/modificación en cascada (CASCADE)

• Borrado/modificación restringido (RESTRICT)

• Borrado/modificación con puesta a nulos (SET NULL)

• Borrado/modificación con puesta a un valor por defecto (SET DEFAULT)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

RESTRICCIONES

-mar 05 18

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

Restricciones semánticas (o de usuario): Cont.

5. Restricciones de Verificación (CHECK): En algunos casos puede ocurrir que sea necesario especificar una condición que deben cumplir los valores de determinados atributos de una relación de la BD aparte de las restricciones ya vistas de clave primaria, unicidad, obligatoriedad y clave ajena

Ejemplo:

para la relación EMPLEADO podría definirse una restricción sobre el atributo SALARIO que estableciera que "el rango del salario de un empleado puede oscilar entre las 100.000 y las 500.000 ptas".

RESTRICCIONES

10

-mar 05 19

Restricciones semánticas (o de usuario): Cont.

6. Aserciones (ASSERTION): Restricciones en las que la condición se establece sobre elementos de distintas relaciones (por ello debe tener un nombre que la identifique).

Ejemplo:

"no hay ningún empleado que trabaje en el departamento de contabilidad que gane más de 1200 €”

7. Disparadores (TRIGGER): A veces puede interesar especificar una acción distinta del rechazo cuando no se cumple una determinada restricción semántica. En ese caso, se recurre al uso de los disparadores o triggers que nos permiten además de indicar una

condición, especificar la acción que queremos se lleve a cabo si la condición se hace True.

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

RESTRICCIONES

-mar 05 20

¿Cómo asociar las tablas entre si?

Consideraremos el número de tuplas que intervienen por parte de cada relación.

• Uno a Uno: correspondencia biunívocaSe podría fusionar ambos esquemas en uno sólo. La clave ajena puedelocalizarse en cualquiera de los dos

• Uno a Muchos: correspondencia múltipleUn esquema (uno) es padre del otro (muchos). La clave ajena se sitúa en la relación que participa con múltiples tuplas.

• Muchos a Muchos: tiene que existir una relación intermedia.

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

11

-mar 05 21

• Para toda interrelación se debe especificar que regla ha de aplicarseen cada acción que haga peligrar la integridad (on Delete / on Update)

• El conjunto de todos los esquemas de relación de una BDR, con sus interrelaciones y RI que aplican, se denomina Esquema Relacional

• Se puede representar gráficamente mediante un Grafo Relacional

Ejemplo: Grafo Relacional de una BDR de seguros

Conductor (DNI, Nombre, PrimerApellido, SegundoApellido)

Coche (Matrícula, Marca, Modelo, Color, Dueño)

Póliza (CódPóliza, Coche, Tomador, Conductor*)DC / UC DSN / UC

DNA / UNA

DSD / UC

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 22

Alumno(cod_matricula, nombre, ciudad, cod_grupo)

Grupo(cod_grupo, curso, turno)

Profesor(cod_profesor, nombre, ciudad, categoría, salario)

Impartir(cod_grupo, cod_profesor, asignatura, horas)

Base de Datos de una Universidad (grafo relacional)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

12

-mar 05 23

Base de Datos de una Universidad (tablas)Alumnocod_matricula nombre ciudad cod_grupo101 Juan Montero Alcorcón 11102 Alicia Cristobal Leganés 11202 Ana Vallejo Leganés 21300 Ignacio López Móstoles 31103 Leticia Martínez Alcorcón --

GrupoCod_grupo Curso Turno11 1 M12 1 T21 2 M22 2 T31 3 T

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 24

Base de Datos de una Universidad (tablas)GrupoCod_grupo Curso Turno11 1 M12 1 T21 2 M22 2 T31 3 T

ProfesorCod_profesor Nombre Ciudad Categoría Salario1p D. Cuadra Madrid T1 200.0002p E. Nieto Las Rozas T2 250.0003p P. Martínez Alcorcón T1 225.0004p C. Nieto Madrid T2 150.0005p A. Sierra Madrid T3 120.0006p C. García Madrid T1 135.0007p J. Montero Madrid T3 125.000

ImpartirCod_grupo Cod_profesor Asignatura Horas11 1p Intr. Informática 2011 2p SGBD 1521 1p Ficheros y BD 1231 2p Diseño de BD 20

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

13

-mar 05 25

Base de Datos de una Biblioteca (grafo relacional)

Autor(nombre, fecha_nac, nacionalidad)

Escribe(nombre, cod_documento)

Documento(cod_documento, titulo, tipo_documento, precio, num_copias)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

-mar 05 26

AutorNombre Fecha_nac NacionalidadMiguel de Cervantes 9-10-1547 EspañolaEmily Bronte 2-9-1818 InglesaIsaac Asimov 23-4-1930 AmericanaChristian Jacq 30-6-1947 FrancesaKen Follet 5-8-1949 InglesaPaloma Martínez 2-9-68 EspañolaP. Isasi 3-4- 66 EspañolaD. Borrajo 23-8-65 Española

DocumentoCod_documento Título Tipo_documento Precio Num_copias11 El Quijote Novela 5000 2212 Cumbres Borrascosas Novela 4000 1213 La Pirámide Asesinada Novela 2000 1514 La Ley del Desierto Novela 2000 1015 Introducción a la ciencia Divulgativo 4500 1316 Los Pilares de la Tierra Novela 6000 717 Gramáticas, Leng. y Aut. Técnico 3500 6

EscribeNombre Cod_documentoMiguel de Cervantes 11Emily Bronte 12Isaac Asimov 15Christian Jacq 13Christian Jacq 14Ken Follet 16Paloma Martínez 17P. Isasi 17D. Borrajo 17

Base de Datos de una Biblioteca (tablas)

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

14

-mar 05 27

NOMBRE_E DIRECCIÓN CIUDAD PAÍSeditorial

COD_DOC TÍTULO IDIOMA NUM_COPIAS NOMBRE_E _ _ libro

COD_DOC NUM-EJEMPLAR COD_DOC NOMBRE_T NOMBRE_Tejemplar tratatema

COD_DOC NUM_SFECHA_PNUM_EJEMPLAR FECHA_Spresta consta

socio DOMICILIO TELNUM_S DNI TIPO_S

TEMA_ S TEMA__P

Base de Datos de una biblioteca

Tema 4.2: Estática del Modelo Tema 4.2: Estática del Modelo RelacionalRelacional

- 28

4.1 Presentación del Modelo Relacional

4.2 Estática del Modelo Relacional

4.3 Dinámica del Modelo Relacional• Álgebra Relacional• Tratamiento de Valores Nulos

Tema IV: El Modelo Relacional

Tema IV:Tema IV: El Modelo El Modelo RelacionalRelacional

15

-mar 05 29

• Se entiende una relación como un conjunto (de tuplas sin repetición)

• Una BD es una colección de esos conjuntos (más alguna restricción). Si las operaciones está alterando las relaciones en el tiempo, se puededecir que son cambios en el estado de la Base de Datos (transiciones):

O(BDi) = BDj * la base de datos cambia, se dinamiza

• Para realizar esos cambios, es necesario intervenir a través de un lenguaje

Los lenguajes relacionales son de especificación. Se distinguen dos tipos:

- Algebraicos: los cambios se describen mediante las operaciones que sufre la BD → álgebra relacional

- Predicativos: se describe el estado final de la BD deseado, sin especificar cómo alcanzarlo → cálculo relacional

Tema 4.3: Tema 4.3: Dinámica del Modelo Dinámica del Modelo RelacionalRelacional

-mar 05 30

Describiendo el Camino: el Álgebra Relacional• Cuando se opera una BD se dan dos pasos: selección y acción• Las operaciones necesarias en la selección las encontramos en el

Álgebra de Conjuntos. Estas operaciones parten de dos conjuntos(relaciones) y resultan en un conjunto nuevo (o nueva relación)

O: esqR1 x esqR2 → esqR3 ,, O(R1,R2) = R3 operadores binariosO: esqR x esqR → esqR ,, O(R1,R2) = R3 operadores binarios

(de esquema compatible)

• Se añaden algunas operaciones nuevas (unarias) necesarias en el relacionalO: esqR → esqR ,, O(R) = R’ operadores unarios

Tema 4.3: Tema 4.3: Dinámica del M. RelacionalDinámica del M. Relacional

16

-mar 05 31

R R’σrombo=negro

Selección: escogemos las tuplas que cumplan una condición

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Operadores UnariosUnarios (I)(I)

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo DumasAsi-1 El Fin de la Eternidad Asimov

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorLibros

Dum-2 El Conde de Montecristo DumasDum-1 Los Tres Mosqueteros DumasSignat. Título Autor

σautor=‘Dumas’ (Libros)

(se escogen filas)

-mar 05 32

πrombo

Proyección: todas las tuplas, pero no enteras

R R’

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo DumasAsi-1 El Fin de la Eternidad Asimov

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorLibros

El Capitán Alatriste P-Reverte

El Conde de Montecristo Dumas

El Fin de la Eternidad Asimov

Los Tres Mosqueteros DumasTítulo Autorπtítulo,autor (Libros)

(se escogen columnas)

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Operadores UnariosUnarios (II)(II)

17

-mar 05 33

AA ∪ B

Unión: todas las tuplas de ambas relaciones (compatibles)

B R

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo Dumas

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorAventuras

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo DumasAsi-1 El Fin de la Eternidad Asimov

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorAventuras ∪ Lecturas

Ner-1 Veinte poemas de amor NerudaAsi-1 El Fin de la Eternidad AsimovNer-1 Veinte poemas de amor NerudaSignat. Título AutorLecturas

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (I)Operadores Binarios (I)

-mar 05 34

Intersección: todas las tuplas que estén en ambas (compatibles)

A ∩ B RA B

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo Dumas

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorAventuras

Per-1 El Capitán Alatriste P-Reverte

Signat. Título AutorAventuras ∩ Lecturas

Per-1 El Capitán Alatriste P-ReverteNer-1 Veinte poemas de amor NerudaSignat. Título AutorLecturas

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (II)Operadores Binarios (II)

18

-mar 05 35

A - B

Diferencia: tuplas que aparecen en la primera y no en la otra

RA B

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo Dumas

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorAventuras

Per-1 El Capitán Alatriste P-ReverteNer-1 Veinte poemas de amor NerudaSignat. Título AutorLecturas

Signat. Título AutorAventuras - Lecturas

Dum-2 El Conde de Montecristo Dumas

Dum-1 Los Tres Mosqueteros Dumas

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (III)Operadores Binarios (III)

-mar 05 36

División: tuplas de la primera que contienen la otra y sin esta

AA ÷ B RB

Per-1 El Capitán Alatriste P-Reverte

Dum-2 El Conde de Montecristo Dumas

Dum-1 Los Tres Mosqueteros DumasSignat. Título AutorLibros

DumasAutor

Autores

Signat. TítuloLibros ÷ Autores

Dum-2 El Conde de Montecristo

Dum-1 Los Tres Mosqueteros

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (IV)Operadores Binarios (IV)

19

-mar 05 37

AA x B

Producto Cartesiano: tuplas de ambas en todas las combinaciones

R

B

Cocido CastillaPote Galicia

Gazpacho AndalucíaEspecialidad Región

Comidas

RuedaRiojaDenominación

Vinos

Comidas x Vinos

Gazpacho AndalucíaCocido Castilla

Gazpacho AndalucíaEspecialidad Región

RuedaRiojaDenominación

Pote GaliciaPote Galicia

Cocido Castilla RuedaRioja

RuedaRioja

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (V)Operadores Binarios (V)

-mar 05 38

Combinación: tuplas del producto que cumplen una condición

A BA θA.círculo=B.círculo B R

Mengano 18Zutano 9

Fulano 29Nombre EdadPersonas

Sólo tu 0Matrix 18Título CalificaciónPelículas

0Sólo tu0Sólo tu18Matrix

Personas θ Edad ≥ Calificación Películas

Mengano 18Zutano 9

Fulano 29

Nombre EdadMatrix 18Título Calificación

Fulano 29Sólo tu 0

Mengano 18

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (VI)Operadores Binarios (VI)

20

-mar 05 39

Combinación Natural: combinación con condición de igualdad

AA *círculo B

B R

Mengano 434848Zutano 383090

Fulano 569074Nombre DNIPersonas

Seat Ibiza 569074Ford Escort 383090Marca DueñoCoches Ford Escort

Personas *DNI Coches

Zutano 383090

Nombre DNISeat IbizaMarca

Fulano 569074

• observar que se elimina la columna repetida

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Operadores Binarios (VII)Operadores Binarios (VII)

-mar 05 40

Operadores Primarios y Operadores Derivados• Algunos operadores del álgebra relacional pueden ser sustituidos

por una secuencia de otras operaciones algebraicas. • Aquellos se dirá que son operadores derivados.• Por otro lado, operadores primitivos son los que no pueden ser

obtenidos por ninguna secuencia de otros operadores primitivos

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional

Primarios•Selección•Proyección•Producto Cartesiano

• Unión• Diferencia

Derivados• Intersección• División• Combinación• Combinación Natural

A - (A-B)π... σ… (AxB)σ… (AxB)π... σ… (AxB)

21

-mar 05 41

R R’GROUP BY rombo

Agrupación: nuevas tuplas, según un criterio sobre la original

COUNT

1

21

......

EspañolNacionalidad

26,5Avg(Edad)

4Count

......

...Inglés 43,5 2 ...

Group by Nacionalidad (Personas)Mengano 49John Doe 73

Fulano 29Nombre Edad

Smith 14

EspañolInglés

EspañolNacionalidad

InglésZutano 3Pelancejo 25

EspañolEspañol

Personas

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Otros OperadoresOtros Operadores

-mar 05 42

R Cierre rombo-círculo

Cierre Transitivo: todas las tuplas y sus descendientesse opera en base a una interrelación reflexiva

R’

PersonasPersonas (Nombre, Edad, Hijo)

Mengano 49Zutano 3

Fulano 29Nombre Edad

Pelancejo 25

PelancejoZutanoHijo

Zutano

Cierre Hijo (Personas)

Zutano 3

Fulano 29Nombre Edad

Pelancejo 25

ZutanoHijo

Zutano

Mengano 49 ZutanoMengano 49 Pelancejo

Tema 4.3.1: Tema 4.3.1: Álgebra Relacional Álgebra Relacional Otros OperadoresOtros Operadores

22

-mar 05 43

Tema 4.3.2: Tema 4.3.2: Valores NulosValores Nulos

Algunas propiedades pueden no registrar un valor para ciertos miembros de la generalidad por ser dicho valor desconocido o inaplicable.

Ejemplo: coche(matrícula, marca, modelo, ..., tipo de carburador, ...)• puede que no sepa de qué tipo es el carburador,

pero que me interese mantener el resto de la información

• algunas ocurrencias pueden no tener carburador (ni tipo), pero deben tener cabida en la generalidad

• si quiero añadir un atributo nuevo a la generalidad, ¿qué valor deben adoptar las tuplas existentes para ese nuevo atributo?

Para cubrir esta necesidad se considera un símbolo especial:el valor nulo. Pero ¿cómo se opera con él?

-mar 05 44

Tema 4.3.2: Tema 4.3.2: Valores NulosValores Nulos

• Operaciones Aritméticas (+, -, *, ÷): el resultado de operar cualquier cosa con un valor nulo es nulo

• Operaciones de Agregación: hay que decidir cómo agregar lo nulo (por defecto, se cuenta como una tupla que no afecta en la operaciónde agregación, salvo para la operación de calcular la cardinalidad)

- Count: cardinalidad de la relación (contando nulos como un valor)- Máx (Mín): el máximo del resto (sin nulos) o nulo.- Avg: la media del resto (sin nulos) o nulo- . . .

• Operaciones Especiales : - Is Null: comprueba que el valor cuestionado sea nulo- If Null: derivada de la anterior, señala un valor para sustituir nulos.