Está en la página 1de 20

Modelo relacional

Creado

por Ted Codd a Principios de los 70 Modelo de implementacin, orientado a registro. Usa una coleccin de tablas para representar tanto los datos como sus relaciones Slida base terica. Implementado en muchos SGBD (relacionales).

Modelo relacional
El

concepto principal es la tabla o relacin


Cada tabla o relacin es un conjunto de tuplas donde cada una de ellas corresponde a una fila de la tabla Cada tupla corresponde a la descripcin, en el diagrama ER, de una entidad particular o a la descripcin de una relacin particular entre varias entidades particulares.

No

hay que confundir las tablas con las relaciones del modelo Entidad Relacin.
Las tablas (o relaciones) valen para tipos de relaciones igual que para tipos de entidades.

Terminologa del modelo relacional


Relacin

Igual que en el esquema ER. Las entidades particulares se representan como tuplas o filas de la tabla. Igual que en el esquema ER. Se representan como las columnas de la tabla. Los valores de los atributos de las tuplas deben ser atmicos. No puede haber atributos compuestos

Atributo

O se representan sus componentes individuales como atributos O se junta toda la informacin en un nico atributo

Ej: secretara => domicilio como atributo simple con toda la informacin

No puede haber atributos multivalor


Veremos como convertirlos en atributos monovalor


3

Terminologa del modelo relacional


Esquema

de una tabla o relacin

viene dado por el nombre de la tabla y una lista de atributos.


Alumnos (DNI, Apellidos, Nombre, telfono, acceso)

El

orden de los atributos en la lista no importa. Lo fijamos porque nos viene bien para representarlo como tabla, pero cualquier permutacin es vlida. Instancia de una tabla => Conjuntos de entidades particulares.

Cada entidad particular se representa como una tupla. Cada componente de la tupla corresponde con el valor del atributo correspondiente, segn el orden enunciado en el esquema de la tabla.

Ejemplo secretara
Ejemplo:

Instancia de la tabla Alumnos:

{ (01234567Z, Vzquez , Manuel, 9112345678, normal), ....}

DNI 01234567Z

Apellido Vzquez

Nombre Manuel

telfono 9112345678

acceso normal

Terminologa del modelo relacional


Un

tabla no puede contener tuplas repetidas


Existe un conjunto de atributos que determina unvocamente a cada tupla

Los conceptos de superclave, clave candidata y clave primaria explicados en el modelo ER son vlidos para el modelo relacional Los atributos que forman la clave primaria nunca pueden tomar valores nulos

Cada tabla debe tener una clave primaria


Paso del modelo ER al modelo relacional


Se

puede transformar un diagrama ER (diseo conceptual) en un modelo relacional (diseo lgico) mediante una serie de transformaciones

Entidades Relaciones

Restricciones de cardinalidad

Entidades dbiles Atributos multivalor Generalizaciones Agregaciones

Entidades
Para

cada entidad que no sea dbil se crea una tabla con el mismo nombre y conjunto de atributos.
La clave primaria es la del diagrama ER

En

este punto no se indica nada acerca de las relaciones en los que participa el tipo de entidades.

Ejemplo secretara
En

el caso de la BD de secretara los tipos de entidades dan lugar a las tablas:


Alumnos(DNI, Apellidos, Nombre, telfono, acceso)

Suponiendo telfono atributo monovalor

Asignaturas(Cdigo, ttulo, nm crditos) Profesores(DNI, ApellidosYNombre, domicilio, telfono) Aulas(Edificio, nm. aula)

Relaciones Binarias restricciones de cardinalidad varios a varios


Para

cada tipo de relacin R binaria con restriccion de cardinalidad Muchos a Muchos se crea una relacin con los siguientes atributos

Los atributos de la propia relacin. Los atributos que corresponden a las claves primarias de las entidades que participan en la relacin

La unin de todas las claves externas constituye una superclave de la tabla

En

ocasiones hay que renombrar atributos para evitar tener varios con el mismo nombre.
Ej: relaciones recursivas

Usar roles

10

Relaciones Binarias restricciones de cardinalidad varios a varios


Varias

a varias

E1

E2

11

Relaciones Binarias restricciones de cardinalidad varios a varios


Sea

R relacin binaria entre E1 y E2.


Clave primaria de E1

Conjunto de atributos c1 Conjunto de atributos c2

Clave primaria de E2

Relacin

construida a partir de R

Atributos de T: c1 + c2 + Atributos de R

Superclave

para R:

c1 c2

12

Ejemplo secretara
Ej:

En el caso de la BD de secretara los tipos de relacin dan lugar a las tablas:


Matrcula(DNI, cdigo, nota) Supervisa(DNISupervisor, DNISupervisado) Imparte(DNI, cdigo, edificio, num. aula)

ALUMNOS (DNI, ..)

MATRICULA (DNI, Cdigo, Nota*)

ASIGNATURAS (Cdigo, ..)

13

Ejemplo secretara
Ejemplo:

Instancia de la tabla Matricula:

{ (01234567Z, 520, 8), ....}

DNI 01234567Z

cdigo 520

nota 8

14

Relaciones ternarias
Supongamos

que la tabla proviene de un tipo de relacin R entre tres tipos de entidad E1, E2, E3
Atributos: c1 c2 c3 atributos de la relacin

Si

todas la entidades participan con cardinalidad varios en R, entonces una superclave es la unin de las claves primarias de E1, E2, E3.

Clave primaria: c1 c2 c3

Si

algn tipo de entidad participa con cardinalidad una en R, entonces su clave primaria se puede eliminar de la superclave.

15

Ejemplo BD secretara

Alumnos(DNI, Apellidos y Nombre, Domicilio, telfono, COU) Asignaturas(Cdigo, ttulo, nm.crditos) Profesores(DNI, Apellidos y nombre, Domicilio, telfono) Aulas(Edificio, nm. aula)
Asignatura

Matricula(DNI,

Cdigo, Nota*)
Imparte

(0,6)

Profesor

Aula

Imparte(DNI,

Codigo, Edificio,NumAula)

16

Relaciones con restricciones de cardinalidad 1 a 1


Una

a una

E1

E2

17

Relaciones con restricciones de cardinalidad 1 a 1


Relacin

binaria con restricciones uno a uno

Elegir una de las entidades e incluir en su esquema de tabla


como clave externa a la clave primaria del otro esquema ms los atributos de la propia entidad. mantener las claves primarias si alguna participacin es parcial pueden aparecer valores nulos

clave externa en entidad con participacin total

Combinar los esquemas de tabla correspondientes a las dos entidades en un solo esquema.

con los atributos de las dos entidades como clave primaria una de las claves primarias iniciales es apropiado cuando las dos participaciones son totales

18

Relaciones con restricciones de cardinalidad 1 a 1


Ejemplo 1: participacin total de una entidad y parcial de la otra

19

Relaciones con restricciones de cardinalidad 1 a 1


Si incluimos en la tabla EMPLEADOS una clave externa a la clave primaria de DEPTOS podemos eliminar la tabla DIRIGE
EMPLEADOS (DNI, ..COD*)

DEPTOS(COD, )

Si incluimos en la tabla EMPLEADOS una clave externa a la clave primaria de DEPTOS podemos eliminar la tabla DIRIGE
DEPTOS (COD, ., DNI)

EMPLEADOS (DNI, )

Est ltima es la ms eficiente debido a la participacin total de DEPTOS


No hay valores nulos


20

Relaciones con restricciones de cardinalidad 1 a 1


Ejemplo

2: participacin total de las dos entidades

21

Relaciones con restricciones de cardinalidad 1 a 1


Si incluimos en la tabla DIRECTORES una clave externa a la clave primaria de DEPTOS podemos eliminar la tabla DIRIGE
DIRECTORES (DNI, ..COD) O bien DEPTOS (COD, ., DNI)

DEPTOS(COD, )

DIRECTORES(DNI, )

Pero podemos dejarlo en una sola tabla si combinamos los esquemas de ambas tablas
DIRIGE (DNI, ..COD, .) O bien DIRIGE (DNI, ..COD, .)

22

Relaciones con restricciones de cardinalidad 1 a M


Una

a varias

E1

E2

23

Relaciones con restricciones de cardinalidad 1 a M


Relacin

binaria con restricciones varios a uno

Incluir en el esquema de tabla de la entidad con restriccin varios


como clave externa a la clave primaria del otro esquema ms los atributos de la propia entidad. mantener las claves primarias si la participacin de la parte varios es parcial pueden aparecer valores nulos

24

Relaciones con restricciones de cardinalidad 1 a M


Nombre Apell. DNI Personas Nacida Pases

Esquema:

Personas(DNI,Apell, PaisNac) Pases(Nombre)


Al tener Personas restriccin de participacin total con Nacido, el atributo aadido PaisNac no es nulable. Si Personas tuviese restriccin de participacin parcial con Nacido, atributo PaisNac sera nulable (con asterisco)

25

Relaciones con restricciones de cardinalidad 1 a M


Ejemplo 3: BD Secretara

La relacin Supervisa no necesita relacin en el modelo relacional

Esquema

Profesores(DNI, Apellidos y nombre, Domicilio, telfono) Supervisa(DNISupervisor,DNISupervisado)

Nuevo Esquema

Profesores(DNI, Apellidos y nombre, Domicilio, telfono, DNISupervisor*)

26

Atributos multivalorados
Se

crea una tabla nueva para el atributo multivalor que incluir como atributos

la clave primaria de la entidad


Ser una clave externa que apuntar a la clave primaria de la entidad

un atributo monovalor para representar valores individuales del atributo multivalor

La

clave primaria de la tabla ser la conjuncin de la clave externa y el atributo monovalor. EMPLEADOS (DNI, ..)
TELEFONOS (DNI, TELEF) O bien EMPLEADOS (DNI, ..) TELEFONOS (DNI, TELEF) Segn se pueda compartir telfono o no
27

Tipos de entidades dbiles


Una

entidad dbil se transforma en una tabla que incluye como atributos


Los atributos que corresponden a las claves primarias de las entidades que identifican a la entidad dbil

Claves externas Clave parcial

Los atributos de la propia entidad dbil


La clave primaria de la tabla se forma con las claves primarias de las entidades de las que depende (claves externas) ms la clave parcial

EMPLEADOS (DNI, ..)

HIJOS (DNI, NOM_HIJO, F_NAC)


28

Ejemplo
Traspasar

el siguiente diagrama entidad-relacin a modelo relacional:

compositores

DNI NombreyApe

Autor

canciones

en

CDs

ttulo

duracin

Nm.serie

ttuloCD

intrprete

29

Solucin
compositores(DNI,

NombreYApe) CDs(Num.Serie, ttuloCD, intrprete) canciones(titulo, duracin, Nm.Serie)


autor(DNI,

titulo, duracin, Nm.Serie)

30

Generalizaciones
Se

tratan igual que en el caso de las entidades dbiles. La relacin IsA no se transforma en relacin

DNI

Apellidos y Nombre

Domicilio

Telfono

personas

is a acceso alumnos profesores

31

Generalizaciones
Generalizacin

Se puede reducir a una sola tabla poniendo un campo discriminante y poniendo los atributos de todas las alternativas

Ejemplo

secretara, opcin 1:

personas(DNI, ApellidosyNombre, domicilio, telfono, AlumnOProfe, acceso*)

32

Generalizaciones
Generalizacin

Se puede utilizar una tabla por entidad concreta repitiendo en cada tabla los atributos comunes.

Ejemplo

secretara, opcin 2: Esquema modificado


alumnos(DNI, ApellidosyNombre, domicilio, telfono, acceso) profesores(DNI, ApellidosyNombre, domicilio, telfono)

-Mejor si hay muchos atributos especializados. No tiene nulos.

33

Agregaciones
La

tablas asociadas a las entidades o relaciones dentro o fuera de la agregacin se construyen de la manera habitual La tabla asociada a la relacin que asocia la agregacin a otra entidad se construye de la siguiente manera

Tiene como atributos a


la clave primaria de la entidad la clave primaria de la relacin de la agregacin con la que se asocia sus propios atributos si los tuviera

La clave primaria se construye de la forma habitual segn el tipo de restriccin de cardinalidad

34

Ejemplo
Partidos

Equipos
Equipos Casa Fuera de casa

Juega Resultado

(nombre, ..) Partido (casa, fuera, resultado, anunciante*, arbitro) Empresas (nombre, ) Arbitro (DNI, )

Anuncia

Arbitra

Empresas

rbitros

35

Resumen de transformaciones
E1(AE11, AE12) E2(AE21, AE22) R(AE11, AE21, AR)

N N

E1(AE11, AE12) E2(AE21, AE22) E3(AE31, AE32) R(AE11, AE21, AE31, AR) Si E3 tuviera cardinalidad 1 R(AE11, AE21, AE31, AR)

E1(AE11, AE21, AE12, AR) E2(AE21, AE22)


36

Resumen de Transformaciones (cont.)


E1(AE11, AE12) E2(AE21, AE22) R(AE11, AE21, AR)
N 1

E2(AE21, AE22) E1(AE11, AE12, AE21*, AR*) E2(AE21, AE22) E1(AE11, AE12, AE21, AR) E1(AE11, AE21, AE12, AR) E2(AE21, AE22) E1(AE11, AE12) E2(AE21, AE11, AE22, AR) E1(AE11, AE12, AE21, AE22, AR) *Los atributos pueden ser nulos
37

Resumen de Transformaciones (cont.)

E1(AE11, AE21, AE12, AR) E2(AE21, AE22)

E1(AE11, AE21*, AE12, AR*) E2(AE21, AE22) E1(AE11, AE12) E2(AE21, AE11*, AE22, AR*)
1 1

E1(AE11, AE12) E2(AE21, AE22) R(AE11, AE21, AR) *Los atributos pueden ser nulos
38

Ejemplo

Se necesita una base de datos para una empresa, cuyos requisitos son los siguientes:

La compaa est dividida en departamentos. Cada uno de los departamentos tiene un nombre nico, un nmero nico y un cierto empleado que lo dirige, interesando adems almacenar la fecha en la que el empleado comenz a dirigir el departamento. Un departamento puede estar distribuido en varios lugares (puede tener distintas direcciones). Cada departamento controla un cierto nmero de proyectos, cada uno de los cuales tiene un nombre y un nmero nicos. Para cada empleado se almacenar el nombre y apellidos, DNI, direccin, salario, sexo y fecha de nacimiento. Todo empleado est asignado a un departamento, y podr trabajar en varios proyectos que no necesariamente debern ser controlados por el mismo departamento. Interesa almacenar el nmero de horas por semana que un empleado trabaja en cada proyecto, y tambin quin es el supervisor de cada empleado. Se quieren tener datos tambin de la familia (conyuge e hijos) de cada empleado para cuestiones del seguro social. Estos datos sern el nombre, el sexo, la fecha de nacimiento y su parentesco con el empleado.

39

También podría gustarte