MODELO RELACIONAL

22
1 • Modelo de datos relacional: Teoría formal que constituye los cimientos de los sistemas relacionales • Aspectos de los datos de los que se ocupa el modelo relacional: – Estructura – Integridad – Manipulación Introducción MODELO RELACIONAL n realizada por Ariadna Fuertes. Departamento de Informática. Universidad de

description

MODELO RELACIONAL. Introducción. Modelo de datos relacional: Teoría formal que constituye los cimientos de los sistemas relacionales Aspectos de los datos de los que se ocupa el modelo relacional: Estructura Integridad Manipulación. - PowerPoint PPT Presentation

Transcript of MODELO RELACIONAL

Page 1: MODELO RELACIONAL

1

• Modelo de datos relacional: Teoría formal que constituye los cimientos de los sistemas relacionales

• Aspectos de los datos de los que se ocupa el modelo relacional:– Estructura

– Integridad

– Manipulación

Introducción

MODELO RELACIONAL

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 2: MODELO RELACIONAL

2

• Base del modelo relacionalConcepto de RELACIÓN

• Representación

Atributo 1 Atributo 2 ... Atributo n

xxx xxx ... xxx

xxx xxx ... xxx

... ... ... ...

xxx xxx ... xxx

NOMBRE

Tupla 1

Tupla 2

...

Tupla m

Columnas Representan las propiedades de las tablas

Filas Contienen los valores que toma cada atributo para cada relación

Términos importantes en la estructura de datos relacional:

• Relación Corresponde con la idea general de tabla• Tupla Corresponde con una fila• Atributo Corresponde con una columna• Cardinalidad Número de tuplas (m)• Grado Número de atributos (n)• Clave primaria Identificador único (no hay dos tuplas

con igual identificador)• Dominio Colección de valores de los cuales el atributo

obtiene su valor

La estructura relacional

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 3: MODELO RELACIONAL

3

Persona

DNI Nombre Apellidos Dirección Teléfono Nacimiento

14.167.654 Alberto Gómez Martínez

Pedrones, 4 963787878 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/1963

45.126.579 José Luis

Pérez Cerdán Escandinavia, 12

963873333 12/06/1963

67.677.887 Andrea Martínez Zanón

Poeta Más Gil, 37

963772564 10/02/1965

Tupla

Atributos

1

23

4

1 2 3 4 5 6

Clave primaria DNI

Dominios:nombre, apellidos, dirección textoDNI enteroteléfono entero de 9 dígitosNacimiento fecha

Cardinalidad 4

4

Grado 66

• Ejemplo de relación

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 4: MODELO RELACIONAL

4

• Comparación de terminología

RELACIÓN

CARDINALIDAD

GRADO

ATRIBUTO

TUPLA

TABLA

Nº DE FILAS

Nº DE COLUMNAS

COLUMNA

FILA

FICHERO

Nº DE REGISTROS

Nº DE CAMPOS

CAMPO

REGISTRO

En las relaciones:No se admiten filas duplicadasLas filas y columnas no están ordenadasEl cruce entre una fila y una columna

solo puede ser un único valor

• Relación Tabla

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 5: MODELO RELACIONAL

5

• Valores escalaresSon la menor unidad semántica de información (el valor de un dato individual).

• Dominio Conjunto de valores escalares, todos ellos del mismo tipo.

Los atributos están definidos sobre un único dominio y toman sus valores reales del dominio Si los atributos podían ser simples o compuestos, entonces tenemos:

• Dominios simples

Dominio de valores escalares

• Dominios compuestosCombinación de dominio simples

Ej: La fecha (entero/entero/entero)

Dominios

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 6: MODELO RELACIONAL

6

• Una Relación sobre un conjunto de dominios se compone de dos partes, la cabecera y el cuerpo.

• La cabecera está formada por un conjunto fijo de pares atributo-dominio (viene a ser la fila de cabeceras de columnas).

DNI Nombre Apellidos Dirección Teléfono Nacimiento

entero 9 dígitostexto texto texto entero fecha

DNI Nombre Apellidos Dirección Teléfono Nacimiento

14.167.654 Alberto Gómez Martínez

Pedrones, 4 963787878 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/1963

45.126.579 José Luis

Pérez Cerdán Escandinavia, 12

963873333 12/06/1963

67.677.887 Andrea Martínez Zanón

Poeta Más Gil, 37

963772564 10/02/1965

Valor 14.167.654 para el atributo DNI

El número de tuplas que hay en el cuerpo puede variar con el tiempo y nos indica la cardinalidad de la relación.

El número de atributos que tenemos en la cabecera, el cual no cambia, nos indica el grado.

• El cuerpo está formado por el conjunto de tuplas (sería el conjunto de filas de datos) que a su vez están formadas por los pares atributo-valor, uno para cada atributo de la cabecera.

Consideraciones:

Relaciones

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 7: MODELO RELACIONAL

7

–No existen tuplas repetidas. La existencia de una clave primaria impide que existan tuplas repetidas.

–Las tuplas no están ordenadas. Una relación está definida como un conjunto, y en un conjunto no se establece una relación de orden .

–Los atributos no están ordenados. Puesto que la cabecera de una relación también se define como un conjunto, no existe un orden preestablecido.

–Todos los valores de los atributos son atómicos. Otra forma de expresar esta propiedad es diciendo que todos los valores de los atributos simples son atómicos, sólo toman un valor en cada caso.

• Las propiedades de las relaciones derivadas de la definición:

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 8: MODELO RELACIONAL

8

• Tipos de relaciones:

- Vistas (o relaciones virtuales). Es una relación derivada, con nombre.

- Resultados de consultas. Es una relación final resultante de alguna consulta especificada. Puede o no tener nombre. No tienen persistencia en la BD.

- Resultados intermedios. Son relaciones resultantes de alguna expresión relacional anidada dentro de alguna otra expresión relacional mayor.

- Relaciones temporales. Es una relación con nombre, pero que se destruye de forma automática en el momento apropiado.

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 9: MODELO RELACIONAL

9

• No es exclusivo del modelo relacional, pero en este contexto es dónde se ha abordado su estudio de manera más sistemática y donde se están realizando más investigaciones a fin de formalizar su tratamiento.

Por ejemplo:

¿Qué es el valor nulo?

¿Por qué es necesario el valor nulo?

• Definición:Es como una señal utilizada para representar información desconocida, inaplicable, inexistente, no válida, no proporcionada, indefinida, etc.

• Motivos de necesidad en las B.D.:– Crear tuplas con ciertos atributos desconocidos

en ese momento. P.ej. Nueva persona sin teléfono

– Añadir un nuevo atributo a una relación existente (al añadirse, no tiene ningún valor para las tuplas de la relación). P.ej. Añadir Profesión

– Atributos inaplicables a ciertas tuplas. P.ej. la profesión para un menor

• El tratamiento de valores nulos exige definir unas operaciones específicas para el caso de que alguno de los operandos tome valores nulos, y a introducir operadores especiales.

¿Cómo se trabaja con el valor nulo?

Concepto de valor nulo

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 10: MODELO RELACIONAL

10

P.ej.: Operación de comparación

Pregunta

¿Es el teléfono de Alberto igual al de Luisa?

DNI Nombre Apellidos Dirección Teléfono Nacimiento

14.167.654 Alberto Gómez Martínez

Pedrones, 4 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 12/06/1963

45.126.579 José Luis

Pérez Cerdán Escandinavia, 12

963873333 12/06/1963

67.677.887 Andrea Martínez Zanón

Poeta Más Gil, 37

963772564 10/02/1965

Respuesta

No podemos decir que es cierto que sean iguales puesto que estaríamos afirmando que no son valores “tan desconocidos”...

Pero tampoco podemos decir que es falso que sean iguales...

La única solución que nos queda es decir que quizá sean iguales.

Introduciremos operadores especiales que respondan a la pregunta:

¿Es un “valor desconocido”?

persona

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 11: MODELO RELACIONAL

11

•Limitaciones en la representación de los datos- Debidas a imposiciones del mundo real

P.ej: Un niño de 2 años no puede ser viudo

- Debidas al modelo de datos

P.ej: El modelo relacional no permite dos tuplas iguales en la misma relación

• Definición de RestriccionesSon las limitaciones impuestas por: el modelo de datos o por la situación que se modela

Restricciones inherentes

Restricciones de integridad o semánticas

- Propias del modelo

- Varían de un modelo a otro

• Restricciones inherentes

• Restricciones de integridad- Facilidades ofrecidas al diseñador para poder representar lo más fielmente posible la semántica de los datos en el esquema

- Suelen ser específicas de la B.D. sobre la que se aplican

- Pero el modelo relacional incluye 2 reglas de integridad generales relacionadas con las claves primarias y ajenas

Reglas de integridad relacional

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 12: MODELO RELACIONAL

12

Claves primarias

• Superclave: conjunto de atributos que identifican de modo único las tuplas de una relación

• Clave candidata: menor subconjunto de atributos de una superclave que sigue siendo un identificador único

• Clave primaria: clave elegida entre las candidatas para identificar las tuplas

• Claves alternativas: el resto de claves candidatas

Definiciones:

• Unicidad: no existen dos tuplas con igual valor de clave candidata

• Minimalidad: no se puede eliminar ningún atributo de la clave candidata sin destruir la unicidad

Propiedades de las claves candidatas:

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 13: MODELO RELACIONAL

13

Regla de integridad de las entidades

Ningún componente de la clave primaria de una relación puede aceptar nulos

(las claves primarias compuestas deben ser no nulas en su totalidad)

Justificación:

1. - En la realidad las entidades se identifican de modo único también en el modelo relacional

2. - La identificación se realiza por las claves primarias

3.- Si una clave primaria tiene un nulo, no se puede aplicar la definición de clave primaria sobre la entidad

4.- Por tanto, la entidad no se puede identificar, y esto contradice la definiciónEn una base de datos relacional no se puede

almacenar información sobre algo que no se puede identificar

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 14: MODELO RELACIONAL

14

Claves ajenas

Sean dos relaciones R1 y R2 (no teniendo porqué ser distintas)

• Clave ajena: es un atributo (o conjunto de atributos) de la relación R2 cuyos valores son:

– o completamente nulos

– o coinciden con la clave primaria de la relación R1

Definición:

Es el problema de garantizar que la base de datos no incluya valores no válidos para una clave ajena

Problema de la integridad referencial:

Es la restricción por la cuál, los valores de una clave ajena determinada, deben concordar con los valores de la clave primaria correspondiente

Restricción referencial:

Relación que contiene a la clave ajenaRelación referencial:

Relación que contiene a la clave primariaRelación referida u objetivo:

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 15: MODELO RELACIONAL

15

Comentarios:

- La clave ajena y la clave primaria correspondiente deben definirse sobre el mismo dominio

- La clave ajena no tiene porqué formar parte de la clave primaria de la relación que la contiene

- Una relación referida puede ser también referencial con respecto a otro conjunto de atributos

- En el caso de que una relación sea referida y referencial a la vez podemos hablar de relación autoreferencial

- Las claves ajenas pueden admitir nulos, las claves primarias no.

Ejemplo:

DNI Nombre Apellidos Dirección Teléfono Nacimiento

14.167.654 Alberto Gómez Martínez

Pedrones, 4 963334455 23/02/1958

64.237.935 Luisa Ripoll Albert Denia, 64 963456789 12/06/1963

empleado

Id_caja descripción DNI

1 Caja número 1 de la salida 1 14.167.654

2 Caja número 2 de la salida 1 64.237.935

3 Caja número 1 de la salida 2

puesto

Clave primaria de la relación empleado

Clave ajena en la relación puesto

Relación referida u objetivo

Relación referencial

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 16: MODELO RELACIONAL

16

Regla de integridad referencial

La base de datos no debe contener valores de clave ajena sin concordancia

(cualquier valor no nulo de la clave ajena debe tener asociado un valor en la clave primaria de la relación objetivo)

Manejo de la integridad referencial por el SGBD:

a) Impedir que se introduzca información que no garantice la integridad referencial

b) Permitir la introducción y realizar las acciones necesarias para garantizarla

(depende completamente del diseño)

Ejemplo: Borrar un valor que es clave primaria en una relación y ajena en otra

a) Impedir que se pueda borrar

b) Borrar todas las entradas en la relación referencial cuyo valor de la clave ajena sea el de la clave primaria en cuestión.

Operación en cascadaPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 17: MODELO RELACIONAL

17

Codd propuso dos alternativas para establecer la base formal en lo referente a la manipulación de la información por parte del modelo relacional:

• Álgebra relacional

• Cálculo relacional

Diferencias:

El álgebra relacional: • ofrece un conjunto de operadores que permiten

construir una relación que contiene la información que se busca en la B.D.

• La formulación es prescriptiva (proporciona un procedimiento para resolver el problema)

El cálculo relacional: • solo define la notación que permite describir las

propiedades que deben cumplir las tuplas de la relación resultante

• La formulación es descriptiva (solo plantea el problema)

Codd demostró que ambos formalismos son equivalentes para cada expresión del álgebra existe su expresión en el cálculo y viceversa

Manipulación

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 18: MODELO RELACIONAL

18

• Reglas generales:– Toda entidad se convierte en relación

– Las relaciones M:N originan la creación de una nueva relación

– Toda relación 1:N se traduce en una propagación de la clave (o se crea una nueva relación)

TRANSFORMACIÓN DE LOS DIAGRAMAS E/R EN RELACIONALES

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 19: MODELO RELACIONAL

19

Aplicación de las reglas generales

Transformación de las relacionesRelaciones M:N Nueva relación (incluye los atributos de la relación, si hay, y las claves primarias de las entidades)

Relaciones 1:N Dos modos de transformar:– Propagar la clave de la entidad con cardinalidad 1 a la de N

– Crear una nueva relación. Recomendable cuando:

1) Pueden aparecer muchos nulos (cardinalidad mínima de la entidad 1 es cero)

2) Se prevé que la relación pase a ser M:N en el futuro

3) Si la relación tiene atributos propios

Relaciones 1:1 Caso particular de las anteriores.

Relación 1 Relación 2 Acción

(0 , 1) (0 , 1) Crear nueva relación

(0 , 1) (1 , 1) Propagar clave de R2 a R1

(1 , 1) (1 , 1) Propagación indiferente

Transformación de las entidadesCada tipo de entidad se debe convertir en una relación base

Transformación de los atributos de las entidadesCada atributo de una entidad se debe transformar en una columna en la relación base– Los atributos principales de la entidad pasan a ser la clave

primaria de la relación

– El resto de atributos son columnas de la relación y pueden tomar valores nulos

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 20: MODELO RELACIONAL

20

Transformación de atributos compuestosEl modelo relacional no los contempla. Alternativas:

- Consideramos el atributo compuesto como simple

- Considerar cada uno de los componentes como simple

Transformación de atributos de relacionesSe convierten en columnas de la relación

Si alguno de los atributos es principal formará parte de la clave primaria

Transformación de las relaciones exclusivasSe deberán definir las restricciones pertinentes (CHECK)

Transformación de Entidades/Relaciones débilesUna entidad débil iba asociada a relaciones 1:N propagar la clave de la entidad fuerte a la débil formando parte de la clave primaria de la débil

Transformación de la generalización- Englobar los atributos de la entidad y los subtipos en una sola relación (con el atributo de distinción de subtipos)

- O crear una relación para el supertipo y tantas relaciones como subtipos existan.

- Crear solo relaciones para los subtipos añadiendo los atributos del supertipo

Transformación de la agregaciónSe transforma primero el nivel más alto y después se trata la relación resultante como si fuera una “nueva entidad” a relacionar con el nivel más bajo

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 21: MODELO RELACIONAL

21

Ejemplo resuelto

Ejemplar

Autor

Libro

Socio

Tema Tiene

Escribe

Escrito en

Trata

Presta

Idioma

(1,M) (1,1) (1,M) (0,N) (1,M)

(1,N)

(1,M)

(0,N)

(0,M)

(1,N)

Nombre

Cod_idi

Descrip

Cod_tem

Descrip

Cod_aut

Cod_lib

Titulo

Año

Cod_eje

DNI

Tf

Nombre

Fech_pre

Fech_dev

Transformación de las entidadesCada tipo de entidad se debe convertir en una relación base

AUTOR

Codigo_autor Nombre

LIBRO

Codigo_libro Titulo Año

EJEMPLAR

Codigo_ejemplar

IDIOMA

Codigo_idioma Descripción

TEMA

Codigo_tema Descripción

SOCIO

DNI Nombre Telefono

Transformación de atributos de relaciones

Se convierten en columnas de la relación

Si alguno de los atributos es principal formará parte de la clave primaria

AUTOR

Codigo_autor Nombre

LIBRO

Codigo_libro Titulo Año

EJEMPLAR

IDIOMA

Codigo_idioma Descripción

TEMA

Codigo_tema Descripción

SOCIO

DNI Nombre Telefono

Codigo_libro Codigo_ejemplar

Transformación de Entidades/Relaciones débilesUna entidad débil iba asociada a relaciones 1:N propagar la clave de la entidad fuerte a la débil formando parte de la clave primaria de la débil

Transformación de las relaciones

Relaciones M:N Nueva relación (incluye los atributos de la relación, si hay, y las claves primarias de las entidades)

Transformación de atributos de relacionesSe convierten en columnas de la relación

Si alguno de los atributos es principal formará parte de la clave primaria

AUTOR

Codigo_autor Nombre

LIBRO

Codigo_libro Titulo Año

EJEMPLAR

Codigo_libro Codigo_ejemplar

IDIOMA

Codigo_idioma Descripción

TEMA

Codigo_tema Descripción

SOCIO

DNI Nombre Telefono

PRESTA

Codigo_libro Codigo_ejemplar DNI Fecha_prest Fecha_dev

ESCRIBE

Codigo_autor Codigo_libro

TRATA

Codigo_libro Codigo_tema

ESCRITO_EN

Codigo_libro Codigo_idioma

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

Page 22: MODELO RELACIONAL

22

Ejercicio propuesto

Tenemos una empresa que dispone de varias tiendas distribuidas por diferentes ciudades españolas y que se abastece de unos almacenes que también están ubicados en diferentes ciudades. Necesitamos conocer la existencia de productos tanto en tiendas como en almacenes. En la B.D. deberá haber información sobre las características de estos productos tales como, el peso, las dimensiones, descripción y su precio por unidad. Además, debemos guardar información sobre los pedidos de las tiendas a los almacenes. Se pide crear una base de datos mediante el modelo E-R y pasar el diseño a modelo relacional.

Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia