Dpto. Lenguajes y Sistemas Informáticos
T3.2006-07
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Índice
• introducción
– ¿Qué es? ¿Para qué sirve? ¿Por qué me va a interesar?
• concepto de relación
– La base del modelo, cómo funciona
• representación de objetos
– La vida real desde el punto de vista relacional
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Índice (y 2)
• restricciones semánticas
– Cómo se “comportan” los objetos, como se relacionan entre ellos
• operadores
– Necesitaré acceder a los datos, insertar nuevos, borrar ...
• otras características
– No son del modelo propiamente pero ...
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Modelo relacional, Bases de datos relacionales
– Tedd Codd - 1970
• Actualmente el más usado (transaccional)
• Estructura: la relación matemática
(la tabla)
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Modelo relacional, Bases de datos relacionales
– Tedd Codd - 1970
• Actualmente el más usado (transaccional)
sencillo
expresivamente potente
lenguaje de definición y manipulación de datos: SQL
– “menos difícil” que los lenguajes tradicionales (cobol, fortran, c ...)
• Estructura: la relación matemática
(la tabla)
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Modelo relacional, Bases de datos relacionales
– Tedd Codd - 1970
• Actualmente el más usado (transaccional)
• Estructura: la relación matemática (la tabla)
tabla = { columnas } (clase de objetos)
columnas = clase de dato
filas = datos (instancias de la clase de objetos)
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Mi base de datos: “MandoMuzik”
• Cantantes, discos, año de publicación ...
• ¿Cómo la “guardo”?
¿Fichero secuencial, directo, aleatorio?
¿Tabla hash ?
¿Lista ordenada?
¿Lista doblemente enlazada?
¿Árboles B?
¿Grafo con múltiples enlaces?
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Mi base de datos: “MandoMuzik”
• ¿Cómo consulto mi BD?
¿Ordenado por autor, por álbum, por autor y álbum...?
Sólo me interesa el etno-funk-progresivo
Cualquier cosa menos “triunfitos”, porfa
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
¿Y si hay algo que me lo da
“casi todo” hecho?
Pues claro, los sistemas de gestión de
bases de datos basados en...
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
el modelo el modelo
relacional
relacional
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
¿Y eso qué es?
Una forma de ver los datos, como tablas con filas y columnas (el sistema ya se encarga de almacenar los datos como
buenamente pueda, no te preocupes) , y que te muestra esos datos, simplemente,
preguntando por lo que quieres
saber...
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
autor título año
CORNELIUS Point 02
UNDERWORLD A Hundred Days Off 02
BOOM BOOM SATELLITES Out Loud 01
FILTER The Amalgamut 03
CATHY JEAN I Want 98
PROPELLERHEADS Decksandrumsandrocandroll 98
JANE'S ADDICTION Strays 03
La tabla Atributos
(componentes)
Individuos
(tuplas)
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Una consulta:
selecciona “autor”,
“título” de la tabla
“música” donde
“año”= 98
autor título año
CATHY JEAN I Want 98
PROPELLERHEADS Decksandrumsandrocandroll 98
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Predecesores
• modelo jerárquico
• modelo red
¿Diferencias?
• Estructuras de datos
Dificultad de representación
Consultas de “experto”
1 21 PEPE ITIG 2 A 3 52 LUISA ITIS 2 C 2 23 ANA ITIG 2 A
1 21 PEPE ITIG 2 A 3 52 LUISA ITIS 2 C 2 23 ANA ITIG 2 A
estructura de registros
tabla
Alumno = {nº expediente,
dni, nombre, titulación,
curso, grupo}
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
¿Porqué “gana” el modelo relacional?
• Es sencillo
No tiene (al menos a la vista) punteros o similares
• Fuerte base matemática (conjuntos)
• Utiliza lenguajes de especificación
Se pregunta por lo que se quiere conocer, no se navega por registros mediante punteros
Los puede utilizar cualquiera con un mínimo de entrenamiento
SQL fue el gran apoyo del MR
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
CONCEPTO DE RELACI
CONCEPTO DE RELACI Ó Ó N N
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
¿Estructuras de un modelo?
• Son las “palabras” de este “lenguaje”
• Conocer las estructuras es conocer el
“lenguaje” y poder “hablar”
• Las estructuras dictan cómo puedo representar la realidad
Cómo se combinan las “palabras” hasta representar
conceptos complejos con los que poder comunicarnos
con un SGBD y con otras personas
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
¿Estructura del modelo relacional?
• La Relación Matemática, más conocida como Relación o, más aún, como
Tabla.
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Relación Matemática
• Estructura del modelo relacional
• Informalmente, tabla
• ¡La relación es un conjunto!
R R ⊆ ⊆ D D 1 1 × × D D 2 2 × × ... ... × × D D n n Alumno ⊆ nº expediente ×
dni × nombre × titulación,
curso × grupo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Definiciones Definiciones
Dominio
Producto Cartesiano Relación
Características de la relación
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Definiciones Definiciones
Relación
• Producto Cartesiano
Dominio
• Características de la relación
R R ⊆ ⊆ D D 1 1 × × D D 2 2 × × ... ... × × D D n n
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Definiciones Definiciones
Relación
• Producto Cartesiano
Dominio
• Características de la relación
D 1 × D 2 × ... × D n
= { < d 1 , d 2 , ..., d n >
/ d 1 ∈ D 1 , d 2 ∈ D 2 , ..., d n ∈ D n }
R R ⊆ ⊆ D D 1 1 × × D D 2 2 × × ... ... × × D D n n
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Definiciones Definiciones
Relación
• Producto Cartesiano
Dominio
• Características de la relación
D i ≈ “tipo de datos”
R R ⊆ ⊆ D D 1 1 × × D D 2 2 × × ... ... × × D D n n
D 1 × D 2 × ... × D n
= { < d 1 , d 2 , ..., d n >
/ d 1 ∈ D 1 , d 2 ∈ D 2 , ..., d n ∈ D n }
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Definiciones Definiciones
Relación
• Producto Cartesiano
Dominio
• Características de la relación
grado: dominios Grado(R) = n
cardinalidad: cantidad de tuplas (depende del instante en el que se “mire” la relación)
D 1 × D 2 × ... × D n
= { < d 1 , d 2 , ..., d n >
/ d 1 ∈ D 1 , d 2 ∈ D 2 , ..., d n ∈ D n } D i ≈ “tipo de datos”
R R ⊆ ⊆ D D 1 1 × × D D 2 2 × × ... ... × × D D n n
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
R ⊆ D 1 × D 2
D 1 = { 1, 0 } D 2 = { a, b, c }
D 1 × D 2 = {<1,a> <1,b> <1,c> <0,a> <0,b> <0,c>}
• Grado(R) = 2
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
R ⊆ D 1 × D 2
D 1 = { 1, 0 } D 2 = { a, b, c }
D 1 × D 2 = {<1,a> <1,b> <1,c> <0,a> <0,b> <0,c>}
• Grado(R) = 2
R = { <1,a> <1,b> <1,c> <0,a> } R = { <1,a> <1,b> <1,c> <0,a> }
• Cardinalidad(R) = 4
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
R ⊆ D 1 × D 2
• R es es un conjunto
No contiene ni contendrá tuplas duplicadas
– El producto nunca “produce” dos tuplas iguales
No existe orden entre las tuplas
– En los conjuntos no hay relación de orden
Sí existe orden entre las componentes de las tuplas
– Se habla de la primera componente, de la
segunda, de la última ...
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Esquema de la relación Alumno
nº expediente ∈ domE { 1 .. 3000 }
dni ∈ domD { c / c es cadena(8) }
nombre ∈ domN { c / c es cadena(30) }
titulación ∈ domT { ‘II’, ‘ITIG’, ‘ITIS’ }
curso ∈ domC { 1, 2, 3, 4, 5 }
grupo ∈ domG { ‘A’ .. ‘Z’ }
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Esquema de la relación Alumno
Contenido
nº expediente ∈ domE { 1 .. 3000 }
dni ∈ domD { c / c es cadena(8) }
nombre ∈ domN { c / c es cadena(30) }
titulación ∈ domT { ‘II’, ‘ITIG’, ‘ITIS’ }
curso ∈ domC { 1, 2, 3, 4, 5 }
grupo ∈ domG { ‘A’ .. ‘Z’ }
1 PEPE ITIG 2 A
3 LUISA ITIS 2 C 2 ANA 21 ITIG 2 A
52
23
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
REPRESENTACI
REPRESENTACI Ó Ó N DE N DE OBJETOS
OBJETOS
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Representar un sistema de información
• Adaptación del concepto de relación matemática
– Hacer la relación matemática más útil y
“amigable”
• Tabla o relación
– Propiedades que sugiere la representación de la
relación y que no son ciertas
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Representar un sistema de información
• Usar la relación para aplicar los mecanismos de abstracción
clasificación, agregación, generalización
• … y las restricciones semánticas
de dominio, de identificación, de
correspondencia entre clases
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Adaptación del concepto de relación matemática
• No es cómodo acceder a las
componentes de la tupla por su orden
– Se va a utilizar para almacenar y gestionar datos – debo saber que el nombre es la tercera
componente de cada tupla
Alumno ⊆ domE × domD × domN
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Adaptación del concepto de relación matemática
• Dar nombre a las componentes
Referencia simbólica al dato representado en la tupla
Alumno ⊆ domE × domD × domN
Alumno = { <exp : domE>
<dni : domD>
<nombre : domN>}
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Adaptación del concepto de relación matemática
• Esquema (intensión)
• Contenido (extensión)
Alumno =
{ <exp:domE> <dni:domD> <nombre:domN> }
{{<exp : 3> <dni: 21333555> <nombre : LUISA> }
{ <nombre : PEPE> <dni: 22444666> <exp : 1> }
{<dni: 21777333> <exp : 2> <nombre : ANA> }}
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Adaptación del concepto de relación matemática
• Definición de una relación en el MR
Esquema
Contenido (extensión de R)
Grado(R) = n
Cardinalidad(R) = m
R = { <A i : D i > } i = 1, 2, .. n
R = { { <A 1 : V 11 > .. <A n : V n1 > } { <A 1 : V 1j > .. <A … n : V nj > } }
j = 1, 2, .. m
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Percepción de la relación
• El concepto matemático de relación se representa (nosotros la vemos, se pinta en un papel...) como una
tabla con filas y columnas
– los términos relación y tabla, coloquialmente, se utilizan indistintamente
tendemos a confundir la realidad física con el
concepto que representa
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
Percepción de la relación
tendemos a confundir la realidad física con el concepto que representa
autor título año
UNDERWORLD A Hundred Days Off 02
CORNELIUS Point 01
UNDERWORLD Beacoup Fish 98
BLUE NILE,THE A Walk Across The Rooftop 83
BOOM BOOM SATELLITES Out Loud 01
SMASHING PUMPKINS Gish 91
Varios ¿artistas? Operación Pastelazo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
la tabla sugiere orden entre las filas
Percepción de la relación
tendemos a confundir la realidad física con el concepto que representa
autor título año
UNDERWORLD A Hundred Days Off 02
CORNELIUS Point 01
UNDERWORLD Beacoup Fish 98
BLUE NILE,THE A Walk Across The Rooftop 83
BOOM BOOM SATELLITES Out Loud 01
SMASHING PUMPKINS Gish 91
Varios ¿artistas? Operación Pastelazo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
la tabla sugiere orden entre las filas la tabla sugiere orden entre las columnas (lo que no es incorrecto del todo)
Percepción de la relación
tendemos a confundir la realidad física con el concepto que representa
autor título año
UNDERWORLD A Hundred Days Off 02
CORNELIUS Point 01
UNDERWORLD Beacoup Fish 98
BLUE NILE,THE A Walk Across The Rooftop 83
BOOM BOOM SATELLITES Out Loud 01
SMASHING PUMPKINS Gish 91
Varios ¿artistas? Operación Pastelazo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
la tabla sugiere orden entre las filas la tabla sugiere orden entre las columnas (lo que no es incorrecto del todo)
Percepción de la relación
tendemos a confundir la realidad física con el concepto que representa
autor título año
UNDERWORLD A Hundred Days Off 02
CORNELIUS Point 01
UNDERWORLD Beacoup Fish 98
BLUE NILE,THE A Walk Across The Rooftop 83
BOOM BOOM SATELLITES Out Loud 01
SMASHING PUMPKINS Gish 91
Varios ¿artistas? Operación Pastelazo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características
la tabla sugiere orden entre las filas la tabla sugiere orden entre las columnas (lo que no es incorrecto del todo) y, además, puedo duplicar filas si me da la gana
Percepción de la relación
tendemos a confundir la realidad física con el concepto que representa
autor título año
UNDERWORLD A Hundred Days Off 02
CORNELIUS Point 01
UNDERWORLD Beacoup Fish 98
BLUE NILE,THE A Walk Across The Rooftop 83
BOOM BOOM SATELLITES Out Loud 01
SMASHING PUMPKINS Gish 91
Varios ¿artistas? Operación Pastelazo
introducción concepto de
relación representación
de objetos restricciones
semánticas operadores otras características