Sei sulla pagina 1di 22

MODELO RELACIONAL

Introduccin
Modelo de datos relacional:
Teora formal que constituye los
cimientos de los sistemas relacionales

Aspectos de los datos de los que se


ocupa el modelo relacional:
Estructura
Integridad
Manipulacin
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

La estructura relacional
Base del modelo relacional
Concepto de RELACIN

Representacin

Columnas Representan las propiedades de


las tablas

NOMBRE
Atributo 1 Atributo 2

...

Atributo n

xxx

xxx

...

xxx

Tupla 1

xxx

xxx

...

xxx

Tupla 2

...

...

...

...

xxx

xxx

...

xxx

...
Tupla m

Filas Contienen
los valores que
cada
Trminos importantes
en la estructura
detoma
datos
relacional:
atributo para cada relacin

Relacin Corresponde con la idea general de tabla


Tupla Corresponde con una fila
Atributo Corresponde con una columna
Cardinalidad Nmero de tuplas (m)
Grado Nmero de atributos (n)
Clave primaria Identificador nico (no hay dos tuplas
con igual identificador)
Dominio Coleccin de valores de los cuales el atributo
obtiene su valor
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Ejemplo de relacin
Persona

1
DNI

2
Nombre

Atributos
Grado 6
3
4
5
Apellidos

Direccin

Telfono

Nacimiento

14.167.654

Alberto

Gmez
Martnez

Pedrones, 4

963787878

23/02/1958

2
3

64.237.935

Luisa

Ripoll Albert

Denia, 64

963573895

12/06/1963

45.126.579

Jos
Luis

Prez Cerdn

Escandinavia,
12

963873333

12/06/1963

67.677.887

Andrea

Martnez
Zann

Poeta Ms
Gil, 37

963772564

10/02/1965

44

Cardinalidad 4
Tupla
Clave primaria DNI
Dominios:
nombre, apellidos, direccin texto
DNI entero
telfono entero de 9 dgitos
Nacimiento fecha

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Relacin Tabla
En las relaciones:
No se admiten filas duplicadas
Las filas y columnas no estn ordenadas
El cruce entre una fila y una columna
solo
puede ser un nico valor

Comparacin de terminologa
RELACIN

TABLA

FICHERO

TUPLA

FILA

REGISTRO

ATRIBUTO

COLUMNA

CAMPO

GRADO

N DE COLUMNAS

N DE CAMPOS

CARDINALIDAD

N DE FILAS

N DE REGISTROS

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Dominios
Valores escalares
Son la menor unidad semntica de
informacin (el valor de un dato
individual).

Dominio
Conjunto de valores escalares, todos ellos del
mismo tipo.
Los atributos estn definidos sobre un nico
dominio y toman sus valores reales del
dominio Si los atributos podan ser
simples o compuestos, entonces tenemos:

Dominios simples
Dominio de valores escalares

Dominios compuestos
Combinacin de dominio simples
Ej: La fecha (entero/entero/entero)
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Relaciones
Una Relacin 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).
9 dgitos
texto
texto
texto
entero fecha
entero
El cuerpo
est formado
por
el conjunto
de
DNI
Telfono
tuplas Nombre
(sera elApellidos
conjuntoDireccin
de filas de
datos)Nacimiento
que a su vez estn formadas por los pares
atributo-valor, uno para cada atributo de la
cabecera.
Valor 14.167.654 para el
atributo DNI
DNI
Nombre
Apellidos
Consideraciones:

Direccin

Telfono

Nacimiento

14.167.654 Alberto
Pedrones, 4
963787878 23/02/1958

El nmero deGmez
tuplas
que
hay
en
el
cuerpo
Martnez
puedeLuisa
variar Ripoll
con Albert
el tiempo
y nos 963573895
indica la12/06/1963
64.237.935
Denia, 64
45.126.579
Jos
Prez
Cerdn
Escandinavia, 963873333 12/06/1963
cardinalidad
de la
relacin.
Luis
12

El nmero
atributosPoeta
queMs
tenemos
en la10/02/1965
67.677.887
Andrea deMartnez
963772564
Zann
Gil, 37
cabecera, el cual
no cambia,
nos indica el
grado.

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Las propiedades de las relaciones


derivadas de la definicin:
No existen tuplas repetidas.
La existencia de una clave primaria
impide que existan tuplas repetidas.
Las tuplas no estn ordenadas.
Una relacin est definida como un
conjunto, y en un conjunto no se
establece una relacin de orden .
Los atributos no estn ordenados.
Puesto que la cabecera de una relacin
tambin se define como un conjunto, no
existe un orden preestablecido.
Todos los valores de los atributos son
atmicos.
Otra forma de expresar esta propiedad es
diciendo que todos los valores de los
atributos simples son atmicos, slo
toman un valor en cada caso.

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Tipos de relaciones:
- Vistas (o relaciones virtuales).
Es una relacin derivada, con nombre.
- Resultados
de
consultas.
Es una relacin final resultante de alguna
consulta especificada. Puede o no tener
nombre. No tienen persistencia en la BD.
- Resultados
intermedios.
Son relaciones resultantes de alguna
expresin relacional anidada dentro de
alguna otra expresin relacional mayor.
- Relaciones
temporales.
Es una relacin con nombre, pero que se
destruye de forma automtica en el
momento apropiado.

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Concepto de valor nulo


No es exclusivo del modelo relacional, pero en
este contexto es dnde se ha abordado su estudio
de manera ms sistemtica y donde se estn
realizando ms investigaciones a fin de formalizar
su tratamiento.

es el valor nulo?
Qu
Definicin:
Es como una seal utilizada para representar
informacin desconocida, inaplicable, inexistente,
no vlida, no proporcionada, indefinida, etc.
Por
Motivos
de necesario
necesidad el
envalor
las B.D.:
qu es
nulo?
Crear tuplas con ciertos atributos desconocidos
en ese momento. P.ej. Nueva persona sin telfono
Aadir un nuevo atributo a una relacin
existente (al aadirse, no tiene ningn valor para
las tuplas de la relacin). P.ej. Aadir Profesin
Atributos inaplicables a ciertas tuplas.
P.ej. la profesin para un menor

Cmo
El tratamiento
de valores
se trabaja
con el nulos
valor exige
nulo?definir unas
operaciones especficas para el caso de que
alguno de los operandos tome valores nulos, y a
introducir operadores especiales.
Por ejemplo:
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

persona
DNI

Nombre

Apellidos

Direccin

Telfono

Nacimiento

14.167.654

Alberto

Gmez
Martnez

Pedrones, 4

23/02/1958

64.237.935

Luisa

Ripoll Albert

Denia, 64

12/06/1963

45.126.579

Jos
Luis

Prez Cerdn

Escandinavia,
12

963873333

12/06/1963

67.677.887

Andrea

Martnez
Zann

Poeta Ms
Gil, 37

963772564

10/02/1965

P.ej.: Operacin de comparacin


Pregunta
Es el telfono de Alberto igual al de Luisa?
Respuesta
No podemos decir que es cierto que sean iguales
puesto que estaramos afirmando que no son
valores tan desconocidos...
Pero tampoco podemos decir que es falso que sean
iguales...
La nica solucin que nos queda es decir que
quiz sean iguales.

Introduciremos operadores especiales


que respondan a la pregunta:
Es un valor desconocido?
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Reglas de integridad
relacional
Limitaciones en la representacin de los datos
- Debidas a imposiciones del mundo real
P.ej: Un nio de 2 aos no puede ser viudo

- Debidas al modelo de datos


P.ej: El modelo relacional no permite dos tuplas
iguales en la misma relacin

Definicin de Restricciones
Son las limitaciones impuestas por:
el modelo de datos
Restricciones inherentes
o
por la situacin que se modela
Restricciones
de integridad
Restricciones inherentes
o semnticas
- Propias del modelo
- Varan de un modelo a otro

Restricciones de integridad
- Facilidades ofrecidas al diseador para poder
representar lo ms fielmente posible la semntica de los
datos en el esquema
- Suelen ser especficas 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
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Claves primarias
Definiciones:
Superclave: conjunto de atributos que identifican de
modo nico las tuplas de una relacin

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


Propiedades de las claves candidatas:
Unicidad: no existen dos tuplas con igual valor de
clave candidata

Minimalidad: no se puede eliminar ningn atributo


de la clave candidata sin destruir la unicidad

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Regla de integridad de las


entidades
Ningn componente de la clave primaria de
una relacin puede aceptar nulos
(las claves primarias compuestas deben ser no
nulas en su totalidad)
Justificacin:
1. - En la realidad las entidades se identifican
de modo nico tambin en el modelo
relacional
2. - La identificacin se realiza por las claves
primarias
3.- Si una clave primaria tiene un nulo, no se
puede aplicar la definicin de clave primaria
sobre la entidad
4.- Por tanto, la entidad no se puede identificar,
y esto
la definicin
En
una contradice
base de datos
relacional no se puede
almacenar informacin sobre algo que no se
puede identificar
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Claves ajenas
Definicin:
Sean dos relaciones R1 y R2 (no teniendo
porqu ser distintas)
Clave ajena: es un atributo (o conjunto de atributos)
de la relacin R2 cuyos valores son:
o completamente nulos
o coinciden con la clave primaria de la relacin R1

Problema de la integridad referencial:


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

Restriccin referencial:
Es la restriccin por la cul, los valores de una clave ajena
determinada, deben concordar con los valores de la clave
primaria correspondiente

Relacin referencial:
Relacin que contiene a la clave ajena

Relacin referida u objetivo:


Relacin que contiene a la clave primaria
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Relacin referida u objetivo

Ejemplo:

Clave primaria de la relacin empleado

empleado
DNI

Nombre

Apellidos

Direccin

Telfono

Nacimiento

14.167.654

Alberto

Gmez
Martnez

Pedrones, 4

963334455

23/02/1958

64.237.935

Luisa

Ripoll Albert

Denia, 64

963456789

12/06/1963

Relacin referencial
puesto

Clave ajena en la relacin puesto

Id_caja

descripcin

DNI

Caja nmero 1 de la salida 1

14.167.654

Caja nmero 2 de la salida 1

64.237.935

Caja nmero 1 de la salida 2

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 relacin que la contiene
- Una relacin referida puede ser tambin referencial con
respecto a otro conjunto de atributos
- En el caso de que una relacin sea referida y
referencial a la vez podemos hablar de relacin
autoreferencial
- Las claves ajenas pueden admitir nulos, las claves
primarias no.
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

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 relacin objetivo)
Manejo de la integridad referencial por el SGBD:
a) Impedir que se introduzca informacin que
no garantice la integridad referencial
b) Permitir la introduccin y realizar las
acciones necesarias para garantizarla
(depende completamente del diseo)
Ejemplo: Borrar un valor que es clave primaria
en una relacin y ajena en otra
a) Impedir que se pueda borrar
b) Borrar todas las entradas en la relacin
referencial cuyo valor de la clave ajena sea el
de la clave primaria en cuestin.
Operacin en cascada
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Manipulacin
Codd propuso dos alternativas para establecer la
base formal en lo referente a la manipulacin de
la informacin por parte del modelo relacional:
lgebra relacional
Clculo relacional

Diferencias:
El lgebra relacional:
ofrece un conjunto de operadores que permiten
construir una relacin que contiene la
informacin que se busca en la B.D.
La formulacin es prescriptiva (proporciona un
procedimiento para resolver el problema)

El clculo relacional:
solo define la notacin que permite describir las
propiedades que deben cumplir las tuplas de la
relacin resultante
La formulacin es descriptiva (solo plantea el
problema)

Codd demostr que ambos formalismos son


equivalentes para cada expresin del lgebra
existe su expresin en el clculo y viceversa
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

TRANSFORMACIN DE
LOS DIAGRAMAS E/R
EN RELACIONALES
Reglas generales:
Toda entidad se convierte en relacin
Las relaciones M:N originan la
creacin de una nueva relacin
Toda relacin 1:N se traduce en una
propagacin de la clave (o se crea
una nueva relacin)

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Aplicacin de las reglas generales


Transformacin de las entidades
Cada tipo de entidad se debe convertir en una relacin base

Transformacin de los atributos de las entidades


Cada atributo de una entidad se debe transformar en una
columna en la relacin base
Los atributos principales de la entidad pasan a ser la clave
primaria de la relacin
El resto de atributos son columnas de la relacin y pueden
tomar valores nulos

Transformacin de las relaciones


Relaciones M:N Nueva relacin (incluye los atributos de
la relacin, 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 relacin. Recomendable cuando:
1) Pueden aparecer muchos nulos (cardinalidad mnima de la
entidad 1 es cero)
2) Se prev que la relacin pase a ser M:N en el futuro
3) Si la relacin tiene atributos propios

Relaciones 1:1 Caso particular de las anteriores.


Relacin 1

Relacin 2

Accin

(0 , 1)

(0 , 1)

Crear nueva relacin

(0 , 1)

(1 , 1)

Propagar clave de R2 a R1

(1 , 1)

(1 , 1)

Propagacin indiferente

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Transformacin de atributos de relaciones


Se convierten en columnas de la relacin
Si alguno de los atributos es principal formar parte de la
clave primaria

Transformacin de las relaciones exclusivas


Se debern definir las restricciones pertinentes (CHECK)

Transformacin de atributos compuestos


El modelo relacional no los contempla. Alternativas:
- Consideramos el atributo compuesto como simple
- Considerar cada uno de los componentes como simple

Transformacin de Entidades/Relaciones dbiles


Una entidad dbil iba asociada a relaciones 1:N propagar
la clave de la entidad fuerte a la dbil formando parte de la
clave primaria de la dbil

Transformacin de la generalizacin
- Englobar los atributos de la entidad y los subtipos en una
sola relacin (con el atributo de distincin de subtipos)
- O crear una relacin para el supertipo y tantas relaciones
como subtipos existan.
- Crear solo relaciones para los subtipos aadiendo los
atributos del supertipo

Transformacin de la agregacin
Se transforma primero el nivel ms alto y despus se trata la
relacin resultante como si fuera una nueva entidad a
relacionar con el nivel ms bajo
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Ejemplo resuelto
Autor

Nombre

Cod_aut

(1,N)

Escribe
Cod_eje
Ejemplar
(0,M)

Presta

(1,M)

(1,1)

(1,M)

Tiene

Fech_pre
Fech_dev
Nombre

Libro
(1,M)

Cod_li
b

DNI

(1,M)

Trata

Ao

(0,N)

Tema
Descrip

Escrito en

Tf

(1,N)
Socio

Cod_te
m

Titulo

(0,N)

Cod_id
i

Idioma

Descrip

Transformacin de las entidades


Transformacin
relaciones
Cada tipo de entidaddeselas
debe
convertir en una relacin base
Transformacin
de
Entidades/Relaciones
dbiles
EJEMPLAR
ESCRIBE
AUTOR
Relaciones M:N
Nueva de
relacin
(incluye
los
Transformacin
relaciones
Codigo_libro
Codigo_autora relaciones
Una entidad dbil de
iba atributos
asociada
1:NCodigo_autor
propagar
atributos de
Codigo_ejemplar

la relacin, si
hay, y las claves primarias
de las
Codigo_libro
Nombre
la clave
de
la
entidad
fuerte
a
la
dbil
formando
parte
de la
Se
convierten
en
columnas
de
la
relacin
entidades)
LIBRO
TRATA
clave primaria de la dbil
PRESTA
Si alguno de los atributos
Codigo_libroes principal formar
Codigo_libro
Codigo_libro
Titulo
Codigo_tema
Transformacin
de primaria
atributos
de
relaciones
parte de la clave
Codigo_ejemplar
Ao
DNI
AUTOR
LIBRO
LIBRO
EJEMPLAR
Se convierten en columnas
de
la
relacin
Fecha_prest
ESCRITO_EN
Codigo_libro
Codigo_libro
Codigo_autor
Codigo_ejemp
Codigo_libro
Fecha_dev
Si alguno
de
los
atributos
es
principal
Titulo
Titulo
Codigo_libro
r formar parte
la
Nombre
Codigo_ejemplar
Codigo_idioma
AoAo
TEMA
SOCIOde la clave primaria
IDIOMA

DNI
Nombre Codigo_idioma
Telefono Descripcin

IDIOMA
TEMA
TEMA

Codigo_idioma
Codigo_tema
Codigo_tema
Descripcin
Descripcin
Descripcin

SOCIO

DNI
Nombre
Telefono

Codigo_tema
Descripcin

Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Ejercicio propuesto
Tenemos una empresa que dispone de varias
tiendas distribuidas por diferentes ciudades
espaolas y que se abastece de unos
almacenes que tambin estn ubicados en
diferentes ciudades.
Necesitamos conocer la existencia de
productos tanto en tiendas como en
almacenes.
En la B.D. deber haber informacin sobre
las caractersticas de estos productos tales
como, el peso, las dimensiones, descripcin y
su precio por unidad.
Adems, debemos guardar informacin sobre
los pedidos de las tiendas a los almacenes. Se
pide crear una base de datos mediante el
modelo E-R y pasar el diseo a modelo
relacional.
Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

Potrebbero piacerti anche