modelo relacional
DESCRIPTION
lo fundamental del modelo relacionalTRANSCRIPT
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.