El Modelo Relacional - RUA, Repositorio Institucional de ...Modelo relacional, Bases de datos...

43
Dpto. Lenguajes y Sistemas Informáticos Universidad de Alicante El Modelo Relacional T3.2006-07

Transcript of El Modelo Relacional - RUA, Repositorio Institucional de ...Modelo relacional, Bases de datos...

Dpto. Lenguajes y Sistemas Informáticos

Universidad de Alicante

El Modelo Relacional

T3.2006-07

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

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

BD1 2006-07

Modelo Relacional

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)

BD1 2006-07

Modelo Relacional

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)

sencilloexpresivamente potentelenguaje 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)

BD1 2006-07

Modelo Relacional

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 datofilas = datos (instancias de la clase de objetos)

BD1 2006-07

Modelo Relacional

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?

BD1 2006-07

Modelo Relacional

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-progresivoCualquier cosa menos “triunfitos”, porfa

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

el modelo el modelo relacionalrelacional

BD1 2006-07

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

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

autor título añoCORNELIUS Point 02UNDERWORLD A Hundred Days Off 02BOOM BOOM SATELLITES Out Loud 01FILTER The Amalgamut 03CATHY JEAN I Want 98PROPELLERHEADS Decksandrumsandrocandroll 98JANE'S ADDICTION Strays 03

La tabla Atributos(componentes)

Individuos(tuplas)

BD1 2006-07

Modelo Relacional

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ñoCATHY JEAN I Want 98PROPELLERHEADS Decksandrumsandrocandroll 98

BD1 2006-07

Modelo Relacional

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ónConsultas 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 A3 52 LUISA ITIS 2 C2 23 ANA ITIG 2 A

estructura de registros

tabla

Alumno = {nº expediente, dni, nombre, titulación,

curso, grupo}

BD1 2006-07

Modelo Relacional

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ónSe pregunta por lo que se quiere conocer, no se navega por registros mediante punterosLos puede utilizar cualquiera con un mínimo de entrenamientoSQL fue el gran apoyo del MR

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

CONCEPTO DE RELACICONCEPTO DE RELACIÓÓNN

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

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.

BD1 2006-07

Modelo Relacional

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 ⊆⊆ DD11 ×× DD22 ×× ......×× DDnn

Alumno ⊆ nº expediente ×dni × nombre × titulación, curso × grupo

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

DefinicionesDefiniciones

Dominio

Producto Cartesiano

Relación

Características de la relación

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

DefinicionesDefiniciones

Relación

• Producto CartesianoDominio

• Características de la relación

R R ⊆⊆ DD11 ×× DD22 ×× ......×× DDnn

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

DefinicionesDefiniciones

Relación

• Producto Cartesiano

Dominio

• Características de la relación

D1 × D2 × ...× Dn= { < d1, d2, ..., dn >

/ d1 ∈ D1, d2 ∈ D2, ..., dn ∈ Dn }

R R ⊆⊆ DD11 ×× DD22 ×× ......×× DDnn

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

DefinicionesDefiniciones

Relación

• Producto Cartesiano

Dominio

• Características de la relaciónDi ≈ “tipo de datos”

R R ⊆⊆ DD11 ×× DD22 ×× ......×× DDnn

D1 × D2 × ...× Dn= { < d1, d2, ..., dn >

/ d1 ∈ D1, d2 ∈ D2, ..., dn ∈ Dn }

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

DefinicionesDefiniciones

Relación

• Producto Cartesiano

Dominio

• Características de la relacióngrado: dominios Grado(R) = ncardinalidad: cantidad de tuplas (depende del instante en el que se “mire” la relación)

D1 × D2 × ...× Dn= { < d1, d2, ..., dn >

/ d1 ∈ D1, d2 ∈ D2, ..., dn ∈ Dn }

Di ≈ “tipo de datos”

R R ⊆⊆ DD11 ×× DD22 ×× ......×× DDnn

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

R ⊆ D1 × D2

D1 = { 1, 0 } D2 = { a, b, c }

D1 × D2 = {<1,a> <1,b> <1,c> <0,a> <0,b> <0,c>}

• Grado(R) = 2

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

R ⊆ D1 × D2

D1 = { 1, 0 } D2 = { a, b, c }

D1 × D2 = {<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

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

R ⊆ D1 × D2• 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 ...

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

Esquema de la relación Alumnonº 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’ }

BD1 2006-07

Modelo Relacional

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 ITIG 2 A21

52

23

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

REPRESENTACIREPRESENTACIÓÓN DE N DE OBJETOSOBJETOS

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

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ánticasde dominio, de identificación, de correspondencia entre clases

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

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 componentesReferencia simbólica al dato representado en la tupla

Alumno ⊆ domE × domD × domN

Alumno = { <exp : domE> <dni : domD>

<nombre : domN>}

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

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) = nCardinalidad(R) = m

R = { <Ai : Di> } i = 1, 2, .. n

R = { { <A1 : V11> .. <An : Vn1> }…

{ <A1 : V1j> .. <An : Vnj> } }j = 1, 2, .. m

BD1 2006-07

Modelo Relacional

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

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

Percepción de la relacióntendemos a confundir la realidad física con el concepto que representa

autor título añoUNDERWORLD A Hundred Days Off 02CORNELIUS Point 01UNDERWORLD Beacoup Fish 98BLUE NILE,THE A Walk Across The Rooftop 83BOOM BOOM SATELLITES Out Loud 01SMASHING PUMPKINS Gish 91Varios ¿artistas? Operación Pastelazo

BD1 2006-07

Modelo Relacional

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óntendemos a confundir la realidad física con el concepto que representa

autor título añoUNDERWORLD A Hundred Days Off 02CORNELIUS Point 01UNDERWORLD Beacoup Fish 98BLUE NILE,THE A Walk Across The Rooftop 83BOOM BOOM SATELLITES Out Loud 01SMASHING PUMPKINS Gish 91Varios ¿artistas? Operación Pastelazo

BD1 2006-07

Modelo Relacional

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óntendemos a confundir la realidad física con el concepto que representa

autor título añoUNDERWORLD A Hundred Days Off 02CORNELIUS Point 01UNDERWORLD Beacoup Fish 98BLUE NILE,THE A Walk Across The Rooftop 83BOOM BOOM SATELLITES Out Loud 01SMASHING PUMPKINS Gish 91Varios ¿artistas? Operación Pastelazo

BD1 2006-07

Modelo Relacional

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óntendemos a confundir la realidad física con el concepto que representa

autor título añoUNDERWORLD A Hundred Days Off 02CORNELIUS Point 01UNDERWORLD Beacoup Fish 98BLUE NILE,THE A Walk Across The Rooftop 83BOOM BOOM SATELLITES Out Loud 01SMASHING PUMPKINS Gish 91Varios ¿artistas? Operación Pastelazo

BD1 2006-07

Modelo Relacional

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óntendemos a confundir la realidad física con el concepto que representa

autor título añoUNDERWORLD A Hundred Days Off 02CORNELIUS Point 01UNDERWORLD Beacoup Fish 98BLUE NILE,THE A Walk Across The Rooftop 83BOOM BOOM SATELLITES Out Loud 01SMASHING PUMPKINS Gish 91Varios ¿artistas? Operación Pastelazo

BD1 2006-07

Modelo Relacional

introducción

concepto de relación

representación de objetos

restricciones semánticas

operadores

otras características

Percepción de la relación

en todo caso, siempre se cumplirán las propiedades de la relación

– sugiera lo que sugiera la tabla, siempre tendremos en cuenta que es la estructura del MR

Término formalRELACIÓN

atributotupla

gradocardinalidad

Término informalTABLAcolumnafilacantidad de columnascantidad de filas

•••••