Sei sulla pagina 1di 66

Captulo 4:

El Modelo Relacional

Bases de Datos
Universidad Alfonso X El Sabio

Contenido
1. Introduccin al Modelo Relacional.
2. Parte esttica del Modelo Relacional.
3. Transformacin del Modelo E/R al Modelo
Relacional.
4. Parte dinmica del Modelo Relacional:
Algebra Relacional.
5. Ejemplos de diagramas relacionales.

Bases de Datos
Universidad Alfonso X El Sabio

1. Introduccin.

Bases de Datos
Universidad Alfonso X El Sabio

1. Introduccin.
El modelo relacional es el modelo lgico que adoptan gran cantidad de SGBD
(denominados en ingls RDBMS) y que consiste en la utilizacin del concepto
matemtico de relacin (relation) como elemento lgico para la
representacin de la informacin.
Estas relaciones toman la forma de tablas de manera que la informacin se
gestiona en trminos de filas y columnas
As pues, el modelo relacional permite realizar el diseo de una base de
datos desde el punto de vista del modelo lgico del SGBD que
posteriormente la implementar.
Aunque sera posible realizar el diseo relacional directamente a partir de las
condiciones del problema, se seguir la metodologa presentada en el
captulo anterior que establece su obtencin a partir del diagrama E/R.
Existe un conjunto tipificado de reglas para pasar del modelo E/R al modelo
relacional. Antes de estudiarlas veremos algunos conceptos tericos
relacionados con el modelo relacional.
Bases de Datos
Universidad Alfonso X El Sabio

1. Introduccin.
El modelo relacional fue propuesto por E. F. Codd a finales de los
aos 60 en un artculo denominado A Relational Model for Large
Shared Data Banks y se basa en la teora matemtica de las
relaciones.
Persigue los siguientes objetivos:
Independencia fsica: El modo en que se almacenan los
datos no influye en su manipulacin lgica.
Independencia lgica: Las modificaciones en los
elementos de la BD no deben repercutir en los programas
y/o usuarios que acceden a las vistas.
Flexibilidad: Ofrecer a cada usuario lo que le interesa.
Uniformidad: En las estructuras de datos (todas son
relaciones) lo que facilita su utilizacin.
Sencillez: Facilidad de comprensin y utilizacin.

Bases de Datos
Universidad Alfonso X El Sabio

1. Introduccin.

Se introduce el concepto de relacin como estructura bsica de la


parte esttica del modelo.

Como parte dinmica se proponen un conjunto de operadores


sobre las relaciones que dan lugar a la denominada lgebra
Relacional.

Bases de Datos
Universidad Alfonso X El Sabio

2. Parte Esttica del Modelo Relacional.


Estructura.
Una relacin queda representa de la siguiente forma.

NombreRelacin
Atributo1

Atributo2

...

Atributo N

Valor 11

Valor 12

...

Valor 1N

...

...

...

...

Valor N1

Valor N2

...

Valor NN

Tupla 1

Tupla N

Nombre: Identifica la relacin.


Atributos: Representan propiedades de la relacin.
Tupla: Conjunto de valores que toman los atributos para un
elemento concreto de la relacin.
Bases de Datos
Universidad Alfonso X El Sabio

2. Parte Esttica del Modelo Relacional.


Estructura.
Los elementos caractersticos de una relacin son:
Grado: Nmero de atributos (No suele variar en el tiempo).
Cardinalidad: Nmero de tuplas (S suele variar con el
tiempo).
Dominio: Conjunto finito de valores homogneos y
atmicos. Todo dominio tiene un nombre y un tipo de
datos. Un atributo toma sus valores de un dominio. Pueden
definirse distintos atributos sobre un mismo dominio.

Bases de Datos
Universidad Alfonso X El Sabio

2. Parte Esttica del Modelo Relacional.


Estructura.
Intensin de una relacin: Representa la parte esttica y de
definicin de una relacin. Tambin se denomina esquema de
relacin.
EMPLEADO (dni: DNIs, apellido: NOMBRES, nombre: NOMBRES,
puesto: PUESTOS)
La notacin para un esquema de relacin:
R({Ai:Di}i=1 .. n)
Donde R es la relacin, Ai cada atributo, Di el correspondiente
dominio y n el grado de la relacin.
Al conjunto de n pares {Ai:Di} se le suele denominar cabecera de
la relacin. Por tanto el esquema de relacin se compone del
nombre de la relacin y la cabecera de la relacin.
Bases de Datos
Universidad Alfonso X El Sabio

2. Parte Esttica del Modelo Relacional.


Estructura.
Extensin de una relacin: Definicin de la relacin a travs de
un conjunto de tuplas que, en un momento determinado, cumplen
el esquema de la relacin.

La extensin se denomina tambin Relacin o estado de


Relacin. Por tanto una relacin o extensin esta constituida por
el par <esquema, cuerpo>, denominndose cuerpo de la relacin
al conjunto de m tuplas (cardinalidad) en la que cada una est
formada por un conjunto de n pares (grado) atributo-valor.
Bases de Datos
Universidad Alfonso X El Sabio

2. Parte Esttica del Modelo Relacional.


Estructura.
Clases de Relacin.
Relaciones bsicas: Se definen con independencia de las dems
relaciones. Se corresponden con entidades del nivel conceptual. Siempre
tienen un nombre.
Relaciones derivadas: Se definen como el resultado de efectuar
operaciones sobre otras relaciones bsicas o derivadas. Pueden no tener
existencia fsica, bastando con almacenarse su definicin ni tampoco un
nombre.
Las relaciones derivadas pueden ser:
Vistas: Se corresponden con el nivel ms externo o de usuario. Se
definen dando un nombre a una expresin de consulta y no tienen
datos propios almacenados.
Instantneas: Se corresponde con el nivel ms interno. Tienen
datos propios almacenados que son el resultado de ejecutar una
consulta. Se corresponden con la situacin de la base de datos en
un instante determinado.

Bases de Datos
Universidad Alfonso X El Sabio

10

2. Parte Esttica del Modelo Relacional.


Estructura.

Claves.
Clave candidata: Conjunto no vaco de atributos que identifican de forma
unvoca cada tupla de la relacin. Esto significa que:
No puede haber dos ms tuplas con el mismo de valor de una
clave candidata.
El valor de la clave candidata tiene que ser distinto en todas las
tuplas.
El conjunto de atributos de una clave candidata deber ser tal que si se
suprime cualquiera de ellos, la clave deje de serlo. Es decir, no se
consideran claves candidatas los superconjuntos de claves candidatas.
Clave primaria: Es aquella clave candidata que se elige para
identificar a las tuplas.
Clave alternativa: Cualquiera del resto de claves candidatas.
Bases de Datos
Universidad Alfonso X El Sabio

11

2. Parte Esttica del Modelo Relacional.


Estructura.

Claves.
Clave externa o ajena: de una relacin R2 con respecto a una relacin R1
es un conjunto no vaco de atributos de R2 cuyos valores deben ser nulos o
coincidir con los de una de las claves candidatas de R1 para una
determinada tupla.
Los dominios de la clave externa y de la candidata deben ser iguales.
Las claves externas permiten referenciar unvocamente una tupla de R1
desde otra de R2.

Bases de Datos
Universidad Alfonso X El Sabio

12

2. Parte Esttica del Modelo Relacional.


Restricciones.
La parte esttica del modelo relacional incluye restricciones
inherentes impuestas por la naturaleza del propio modelo y
restricciones semnticas que ayudan a representar con mayor
fidelidad las caractersticas del mundo real.

Restricciones inherentes.
Se derivan de la definicin matemtica de relacin.
No pueden existir tuplas duplicadas (implica la existencia de
una clave primaria).
El orden de las tuplas no es relevante.
El orden de los atributos no es significativo.
Regla de integridad de entidad: Ningn atributo de la
clave primaria de una relacin puede tener valor
desconocido o inexistente, es decir, no puede ser nulo
(NULL).
Cada atributo de una tupla slo puede tomar UN valor de su
dominio. No se permiten grupos repetitivos (Primera forma
normal 1FN).
Bases de Datos
Universidad Alfonso X El Sabio

13

2. Parte Esttica del Modelo Relacional.


Restricciones.
Restricciones inherentes.
En la siguiente tabla el atributo Idioma podra tomar uno o varios
valores lo cual no puede permitirse. Sera necesario establecer un
conjunto de atributos para los distintos idiomas que resultara en
un grupo repetitivo.
Problemas:

NumEmpleado

Apellidos

Nombre

Idiomas

1234

Snchez Prez

Juan

Ingls, Francs

4567

Alba Cantos

Ana

Alemn, Chino

NumEmpleado

Apellidos

Nombre

Idioma1

Idioma2

1234

Snchez Prez

Juan

Ingls

Francs

4567

Alba Cantos

Ana

Alemn

Chino

Restriccin
semntica (max. 4
Idiomas)

Gran nmero de
valores NULL

Idioma3

Idioma4

Otro ejemplo de grupo repetitivo.


NP

Apellidos

Nombre

Notas

1234

Snchez Prez

Juan

7,5 8,0

4567

Alba Cantos

Ana

6,5 4,5

Bases de Datos
Universidad Alfonso X El Sabio

14

2. Parte Esttica del Modelo Relacional.


Restricciones.
Restricciones semnticas.
Permiten captar reglas del Universo del Discurso. Las principales
son:
Clave primaria (PRIMARY KEY): Permite declarar uno o
varios atributos como clave primaria por lo que sus valores
no podrn repetirse dentro del conjunto de tuplas ni
tampoco ser nulos.
Unicidad (UNIQUE): Indica que no puede haber valores
duplicados de ese atributo en todo el conjunto de tuplas.
Permite definir claves alternativas.
Obligatoreidad (NOT NULL): Indica que un atributo no
admite valores nulos.

Bases de Datos
Universidad Alfonso X El Sabio

15

2. Parte Esttica del Modelo Relacional.


Restricciones.
Restricciones semnticas.
Integridad referencial (FOREIGN KEY): Si en una relacin
R2 existe un atributo (o varios) que es clave candidata en
otra relacin R1, su valor tendr que coincidir con el de
alguna de las tuplas de R1 o ser nulo. El atributo (o
atributos) en cuestin constituyen una clave ajena entre las
dos relaciones. De esta forma se evitan referencias nulas o
vacas.

Bases de Datos
Universidad Alfonso X El Sabio

16

2. Parte Esttica del Modelo Relacional.


Restricciones.
Una posible manera de representar las claves ajenas y la integridad
referencial es la siguiente:

Este dibujo se denomina Grafo o Diagrama Relacional y


representa la estructura de la informacin. La flecha indica una
asociacin entre las relaciones Editorial y Libro mantenida a travs
del campo Editorial (clave ajena) en la relacin libro.
Los valores que podr tomar el campo Editorial de la relacin Libro
sern los que tenga el atributo Nombre (clave primaria) en la
relacin Editorial. Los nombres de la clave ajena y la clave
candidata referenciada no tienen porque coincidir.
Bases de Datos
Universidad Alfonso X El Sabio

17

2. Parte Esttica del Modelo Relacional.


Restricciones.
Puede resultar til aplicar la siguiente terminologa:

Relacin que referencia: Es la relacin en la que se incluye la


clave ajena (R2).

Relacin referenciada: Es la relacin que contiene la clave


candidata, cuyos valores coincidirn con los de la clave ajena (R1).

Bases de Datos
Universidad Alfonso X El Sabio

18

2. Parte Esttica del Modelo Relacional.


Restricciones.
Junto con las claves ajenas es necesario definir las REGLAS DE
INTEGRIDAD REFERENCIAL, es decir, el comportamiento deseado
cuando se elimine una tupla con un clave referenciada o cuando se
modifique el valor de sta ltima.
As, si se borran tuplas de una relacin R1 con claves referenciadas desde
una relacin R2 o los valores de las claves de R1 son modificados se puede
establecer una:
Operacin restringida (NO ACTION): Slo es posible el
borrado/modificacin de las tuplas de R1 si NO existen tuplas en R2
que contengan esos valores como claves ajenas.
Operacin en cascada (CASCADE): El borrado/modificacin de las
tuplas de R1 desencadena el borrado/modificacin de las tuplas de la
relacin R2 con los mismos valores actuando como claves ajenas.
Operacin puesta a nulo (SET NULL) o a valor por defecto
(SET DEFAULT): El borrado/modificacin de las tuplas de R1 hace
que los valores de las claves ajenas que las referencian se pongan a
NULL (si es posible) o al valor establecido por defecto.
Bases de Datos
Universidad Alfonso X El Sabio

19

2. Parte Esttica del Modelo Relacional.


Restricciones.
El rechazo es otro tipo de restriccin semntica que se basa en la
formulacin de una condicin sobre un conjunto de tuplas o
atributos. Una determinada operacin de borrado o actualizacin
slo podr efectuarse si su resultado verifica la/s condicin/es
establecida/s. El objetivo de esta restriccin es evitar que la base
de datos se quede en un estado incorrecto.
En SQL92 se establecen dos tipos de rechazo:
Verificacin (CHECK): Se establece sobre un determinado
elemento y se comprueba cada vez que se realiza una
operacin sobre el mismo. Por ejemplo se puede establecer
un atributo edad que tenga que ser mayor de 18.
Asercin (ASSERTION): Funciona como la anterior pero
puede aplicarse a varios elementos, por ejemplo, dos
relaciones. Deben tener nombre porque tienen existencia
propia en la Base de Datos.
Bases de Datos
Universidad Alfonso X El Sabio

20

2. Parte Esttica del Modelo Relacional.


Restricciones.
Los disparadores o triggers permiten, adems de especificar una
condicin, indicar la accin que se llevar a cabo si la condicin se
cumple.
Pueden interpretarse como reglas de tipo Evento Condicin
Accin que especifican que cuando se produce un evento y se
cumple una condicin, se realiza una determinada accin.
Amplan la funcionalidad de la Base de Datos ya que permiten
establecer reglas y acciones cuando se realicen operaciones de
insercin, borrado y modificacin sobre elementos de las
relaciones.
Son procedimentales, es decir, se implementan con cdigo
escrito en un lenguaje de programacin que especifica la accin
que se desea llevar a cabo.
Bases de Datos
Universidad Alfonso X El Sabio

21

2. Parte Esttica del Modelo Relacional.


Grafo relacional.
Permite representar grficamente distintas partes de la esttica del
Modelo Relacional como las relaciones, los distintos tipos de claves
y las restricciones de integridad referencial.
Utiliza una notacin especial que consiste en:
Las relaciones se escriben con maysculas.
Los atributos suelen expresarse al lado del nombre de la
relacin entre parntesis.
Las claves primarias se subrayan en trazo continuo.
Las claves alternativas se subrayan en trazo discontinuo.
Las claves externas referencian a claves candidatas de
otras relaciones mediante flechas dirigidas hacia ellas.
Los atributos que pueden tomar valores nulos aparecen
acompaados de un asterisco.

Bases de Datos
Universidad Alfonso X El Sabio

22

2. Parte Esttica del Modelo Relacional.


Grafo relacional.
Para las opciones de borrado y modificacin relativas a las reglas de
la integridad referencial se pueden utilizar las siguientes siglas:
Para el borrado:
BR: Borrado Restringido.
BC: Borrado en Cascada
BN: Borrado con set NULL.
BD: Borrado con set DEFAULT.
Para la modificacin
MR: Modificacin Restringido.
MC: Modificacin en Cascada
MN: Modificacin con set NULL.
MD: Modificacin con set DEFAULT.

Bases de Datos
Universidad Alfonso X El Sabio

23

2. Parte Esttica del Modelo Relacional.


Grafo relacional.

Bases de Datos
Universidad Alfonso X El Sabio

24

3. Transformacin del modelo E/R al modelo Relacional.


Introduccin.
La obtencin del diagrama relacional debe identificarse con el
diseo o modelado lgico en el que se determinan las estructuras
lgicas que recogen los elementos de informacin y las relaciones
entre estos que se han definido previa y conceptualmente en el
modelo E/R.
El diagrama relacional es ya dependiente del SGBD que se va a
utilizar y, por tanto, constituye, el primer acercamiento al sistema
informtico que implementar finalmente la Base de Datos.
Normalmente, el SGBD utilizado ser capaz de crear las tablas de
forma automtica a partir del diagrama relacional as como de
establecer el espacio fsico necesario para su almacenamiento.

Bases de Datos
Universidad Alfonso X El Sabio

25

3. Transformacin del modelo E/R al modelo Relacional.


Reglas bsicas.
Toda entidad del Modelo E/R se transformar en una relacin del
Modelo Relacional. Los dominios no se suelen representar en el
Modelo Relacional.
De forma automtica el AIP de la entidad se transformar
en la clave primaria de la relacin y aparecer con
subrayado continuo.
Los AA.II.AA. Se transformarn por su parte en atributos con
la restriccin UNIQUE y aparecern con subrayado
discontinuo.
Toda interrelacin o asociacin de tipo N:M se transformar en una
nueva relacin del Modelo Relacional.
Las interrelaciones o asociaciones de tipo 1:N darn lugar, o bien a
una propagacin de clave, o bien a nueva relacin en el Modelo
Relacional.
Bases de Datos
Universidad Alfonso X El Sabio

26

3. Transformacin del modelo E/R al modelo Relacional.


Reglas bsicas.
Con respecto a los dems atributos se tendrn en cuenta las
siguientes consideraciones:

Los atributos univaluados del Modelo E/R se mantendrn en


el Modelo Relacional.
Los atributos multivaluados (telfonos, notas, ) daran
lugar a grupos repetitivos y se transformarn en una relacin
cuya clave primaria ser la clave primaria de la relacin
donde se encontraba el atributo multivaluado + el
propio atributo multivaluado.
Los atributos obligatorios del Modelo E/R pasan a ser
atributos con la restriccin NOT NULL.
Los atributos opcionales (que pueden tener valores NULL)
se acompaan de un asterisco.
Los atributos compuestos se transformarn en los atributos
que los componen.

Bases de Datos
Universidad Alfonso X El Sabio

27

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones M:N.
Dan lugar a una nueva relacin cuya clave primaria ser la
concatenacin de las claves primarias de las dos relaciones
involucradas en la asociacin. De esta forma, cada atributo que
forme parte de la clave primaria de la nueva relacin ser clave
ajena con respecto a la correspondiente relacin.
Si en la asociacin existen atributos multivaluados, estos
pasarn forzosamente a formar parte de la clave primaria de la
nueva relacin. Esto no es necesario en el caso de los atributos
univaluados.

Bases de Datos
Universidad Alfonso X El Sabio

28

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones M:N.
FecAlquiler

Promocin

(0,n)

(0,n)
Alquila

SOCIO

PELCULA

M:N
IdSocio Apellidos Nombre

IdPelicula

Ttulo Director

SOCIO(IdSocio, Apellidos, Nombre)


BC/MC

PELICULA(CodPelicula, Ttulo, Director)


BC/MC

ALQUILERES(IdSocio, CodPelicula, FecAlquiler, Promocion)


Bases de Datos
Universidad Alfonso X El Sabio

29

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
Para la transformacin de asociaciones 1:N a relaciones existen dos
posibilidades:
Propagar el AIP de la entidad que se encuentra en el lado 1
al esquema de relacin resultante de la entidad en el lado N.
Es decir la clave primaria de la relacin en el lado 1 se
incorpora como clave ajena en la relacin del lado N.
Crear una nueva relacin cuya clave primaria ser slo el AIP
de la entidad en el lado N. Esta opcin suele utilizarse si la
asociacin tiene atributos o s la propagacin dara lugar a
gran cantidad de valores NULOS de la clave ajena

Bases de Datos
Universidad Alfonso X El Sabio

30

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
Propagacin del AIP del lado 1 al esquema de la relacin del lado N
(1,n)

(1,1)
edita

LIBRO

EDITORIAL

N:1
ISBN

Titulo

IdEditorial

Autor

Nombre Director

LIBRO(ISBN, Ttulo, Autor, IdEditorial)


BD/MC

EDITORIAL(IdEditorial, Nombre, Director)

Bases de Datos
Universidad Alfonso X El Sabio

31

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
Nueva relacin con clave primaria AIP del lado N
FecEdicin

(1,n)

(1,1)
edita

LIBRO

NumEjemplares

EDITORIAL

N:1
ISBN

Titulo

IdEditorial

Autor

Nombre Director

LIBRO(ISBN, Ttulo, Autor)


BD/MC

EDITORIAL(IdEditorial, Nombre, Director)


BD/MC

EDICION(ISBN, IdEditorial, FecEdicin, NumEjemplares)


Bases de Datos
Universidad Alfonso X El Sabio

32

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
En cuanto a la cardinalidad:
Si la cardinalidad mnima en el lado 1 es 1  La clave
externa no podr admitir valores nulos (NOT NULL).
(1,n)

(1,1)
edita

LIBRO

EDITORIAL

N:1
ISBN

Titulo

IdEditorial

Autor

Nombre Director

LIBRO(ISBN, Ttulo, Autor, IdEditorial)


BD/MC

EDITORIAL(IdEditorial, Nombre, Director)


Bases de Datos
Universidad Alfonso X El Sabio

33

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
En cuanto a la cardinalidad:
Si la cardinalidad mnima en el lado 1 es 0  La clave ajena
podr admitir valores nulos.
(1,n)

(0,1)
edita

LIBRO

EDITORIAL

N:1
ISBN

Titulo

IdEditorial

Autor

Nombre Director

LIBRO(ISBN, Ttulo, Autor, IdEditorial*)


BN/MC

EDITORIAL(IdEditorial, Nombre, Director)


Bases de Datos
Universidad Alfonso X El Sabio

34

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:N.
En cuanto a la cardinalidad:
Si la cardinalidad mnima en el lado N es 0  NO se pierde
semntica en la transformacin.
Si la cardinalidad mnima en el lado N es 1  SE pierde
semntica en la transformacin.
(x,n)
(0,1)
edita

LIBRO

EDITORIAL

N:1
ISBN

Titulo

IdEditorial

Autor

Nombre Director

LIBRO(ISBN, Ttulo, Autor, IdEditorial*)


BN/MC

EDITORIAL(IdEditorial, Nombre, Director)


Bases de Datos
Universidad Alfonso X El Sabio

35

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:1.
Se puede optar por dos soluciones:
Crear una nueva relacin (tal y como se haca con las
relaciones M:N).

Propagar el AIP desde una de las entidades a la otra en la


que actuar como clave ajena (como se hace en el caso
1:N). La eleccin de la entidad que propaga su AIP depende
de la cardinalidad mnima.

Bases de Datos
Universidad Alfonso X El Sabio

36

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:1.
Crear una nueva relacin (tal y como se haca con las relaciones
M:N).
(0,1)

(0,1)
Matrimonio

Hombre

Mujer

1:1
IDHombre

Nombre

Apellidos

IDMujer

Nombre

Apellidos

HOMBRE (IdHombre, Nombre, Apellidos)


BC/MC

MUJER (IdMujer, Nombre, Apellidos)


BC/MC

MATRIMONIO (IdMujer, IdHombre)


Bases de Datos
Universidad Alfonso X El Sabio

37

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:1.
Propagacin del AIP de una entidad a la otra: Si las dos entidades
tienen cardinalidad mnima 1, resultar indiferente el AIP que se
propague y no podr admitir valores nulos.
(1,1)
(1,1)
dirige
Departamento
Gerente
1:1
IDEmplado

Nombre

IDDepartamento

Apellidos

Nombre

GERENTE (IdEmpleado, Nombre, Apellidos, Departamento)


BD/MC

DEPARTAMENTO (IdDepartamento, Nombre)


Hay prdida semntica, ya que se refleja que todo GERENTE
dirige un DEPARTAMENTO pero no el recproco.
Bases de Datos
Universidad Alfonso X El Sabio

38

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones 1:1.
Propagacin del AIP de una entidad a la otra: Si una entidad tiene
cardinalidad mnima 0 se pasa su AIP como clave externa sin
admitir NULOS.
(0,1)
(1,1)
dirige
Departamento
Gerente
1:1
IDEmplado

Nombre

IDDepartamento

Apellidos

Nombre

GERENTE (IdEmpleado, Nombre, Apellidos, Departamento)


BD/MC

DEPARTAMENTO (IdDepartamento, Nombre)


NO hay prdida semntica
Bases de Datos
Universidad Alfonso X El Sabio

39

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones reflexivas.
En una asociacin reflexiva de tipo 1:1 o 1:N el AIP de la entidad
vuelve a aparecer en la relacin como clave ajena y con otro
nombre.
(1,1)
(1,1)
Alumno

compaero
1:1

IDAlumno

Nombre

Apellidos

ALUMNO (IdAlumno, Nombre, Apellidos, Compaero)


BC/MC

Bases de Datos
Universidad Alfonso X El Sabio

40

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones reflexivas.
En una asociacin reflexiva de tipo M:N se crea una nueva relacin
de igual forma que se hace en las binarias.

(1,n)
Alumno

compaeros
(1,n)
M:N

IDAlumno

Nombre

Apellidos

ALUMNO (IdAlumno, Nombre, Apellidos)


BC/MC

COMPAEROS (IDAlumno, IDCompaero)


Bases de Datos
Universidad Alfonso X El Sabio

41

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de las asociaciones de grado >2.
Se crear una relacin para cada entidad y otra para la asociacin
que las involucra a todas.
IDPaciente Nombre Apellidos

(1,n)
Medico

(1,n)

Receta
Medicamento
M:N:P

IDMedico

Nombre

Paciente

(1,n)

Apellidos

MEDICO (IdMedico, Nombre, Apellidos)

IDMedicamento

Nombre

PACIENTE (IdPaciente, Nombre, Apellidos)


MEDICAMENTO (IDMedicamento, nombre)
RECETA (IdMedico, IdPaciente, IdMedicamento)
Bases de Datos
Universidad Alfonso X El Sabio

42

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de asociaciones de dependencia en
existencia.
EL AIP de la entidad regular se propaga como clave ajena a la
relacin dbil con la opcin siempre de Borrado en Cascada (BC). El
AIP de la entidad regular no formar parte de la clave de la entidad
dbil.
(1,1)

(0,n)

Factura

Tiene

Cliente

1:N
IDCliente

Nombre

Apellidos
IDFactura

Importe

CLIENTE (IdCliente, Nombre, Apellidos)


BC/MC

FACTURA (IDFactura, IDCliente, Importe)


Bases de Datos
Universidad Alfonso X El Sabio

43

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de asociaciones de dependencia en
identificacin.
EL AIP de la entidad regular se propaga como clave ajena a la
relacin dbil con la opcin siempre de Borrado en Cascada (BC). El
AIP de la entidad regular formar parte ahora de la clave de la
entidad dbil.
(1,1)

(0,n)

Factura

Tiene

Cliente

1:N
IDCliente

Nombre

Apellidos
IDFactura

Importe

CLIENTE (IdCliente, Nombre, Apellidos)


BC/MC

FACTURA (IDFactura, IDCliente, Importe)


Bases de Datos
Universidad Alfonso X El Sabio

44

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de jerarquas.
Se pueden adoptar varias estrategias.
Englobar todos los atributos del supertipo y los subtipos en
una sola relacin y aadir como atributo el atributo
discriminante. (EFICIENCIA)
Crear relaciones distintas para el supertipo y los subtipos con
sus correspondientes atributos. (SEMNTICA)
Establecer una relacin distinta para cada subtipo de forma
que cada una incluya tambin los atributos comunes del
supertipo. (SI HAY MUCHOS ATRIBUTOS DISTINTOS EN LOS
SUBTIPOS)

Bases de Datos
Universidad Alfonso X El Sabio

45

3. Transformacin del modelo E/R al modelo Relacional.


Transformacin de jerarquas.

Bases de Datos
Universidad Alfonso X El Sabio

46

4. Algebra Relacional.
Introduccin.
Lenguajes de acceso a datos en BDR:
Algebra Relacional: De tipo procedimental, se especifican los
datos a obtener y como hacerlo.
Clculo Relacional: Lenguaje de tipo declarativo (no
procedimental). Se especifican los datos a obtener pero no
como hacerlo. Puede estar orientado a tuplas o a dominios.
Los lenguajes de usuario ms utilizados son:
SQL (Structured Query Language) basado en lgebra
Relacional
QBE (Query by Example) basado en el Clculo Relacional.

Bases de Datos
Universidad Alfonso X El Sabio

47

4. Algebra Relacional.
Introduccin.
El Algebra Relacional se define como un conjunto de operaciones que se
aplican sobre las relaciones definidas en el Modelo Relacional y que
producen como resultados otras relaciones:
Operaciones bsicas: Permiten expresar cualquier consulta a una
BD Relacional.
Seleccin
Proyeccin
Unin
Diferencia
Producto Cartesiano
Operaciones derivadas: Se forman a partir de las bsicas.
Interseccin
Join
Divisin
Asociacin.
Bases de Datos
Universidad Alfonso X El Sabio

48

4. Algebra Relacional.
Seleccin.
Se expresa como predicado(R) y define una relacin con los mismos
atributos que R y que contiene slo aquellas tuplas de R que
satisfacen la condicin expresada en el predicado.
Empleado
IDEmpleado

Apellidos

Nombre

Salario

NumHijos

101

Snchez Cas

Juan

25000

102

Prez Prez

Pedro

35000

103

Garca Sol

Luis

40000

Salario>30000(Empleado)
IDEmpleado

Apellidos

Nombre

Salario

NumHijos

102

Prez Prez

Pedro

35000

103

Garca Sol

Luis

40000

Bases de Datos
Universidad Alfonso X El Sabio

NumHijos>1(Empleado)
IDEmpleado

Apellidos

Nombre

Salario

NumHijos

101

Snchez Cas

Juan

25000

103

Garca Sol

Luis

40000

49

4. Algebra Relacional.
Proyeccin.
Se expresa como atrib1,,atribn(R) y define una relacin subconjunto
de R que slo posee los atributos especificados y que no posee
tuplas duplicadas.
Empleado
IDEmpleado

Apellidos

Nombre

Salario

NumHijos

101

Snchez Cas

Juan

25000

102

Prez Prez

Pedro

35000

103

Garca Sol

Luis

40000

IDEmpleado, Salario(Empleado)

IDEmpleado, NumHijos(Empleado)

IDEmpleado

Salario

IDEmpleado

NumHijos

101

25000

101

102

35000

102

103

40000

103

Bases de Datos
Universidad Alfonso X El Sabio

50

4. Algebra Relacional.
Unin.
Se expresa como R U S y define una nueva relacin con las tuplas
que se encuentran en R, en S o en ambas sin que se incluyan
tuplas duplicadas.
R y S deben ser compatibles para su unin, es decir, deben poseer
el mismo conjunto de atributos.
Clientes
Empleados
ID
Apellidos
Nombre
ID

Apellidos

Nombre

50001

Castro Cal

Ana

101

Snchez Cas

Juan

50002

Galo Mier

Carlos

102

Prez Prez

Pedro

102

Prez Prez

Pedro

103

Garca Sol

Luis

Bases de Datos
Universidad Alfonso X El Sabio

Empleados U Clientes
ID

Apellidos

Nombre

101

Snchez Cas

Juan

102

Prez Prez

Pedro

103

Garca Sol

Luis

50001

Castro Cal

Ana

50002

Galo Mier

Carlos

51

4. Algebra Relacional.
Diferencia.
Se expresa como R - S y define una nueva relacin con las tuplas
que se encuentran en R pero no en S.
R y S deben ser compatibles para su diferencia, es decir, deben
poseer el mismo conjunto de atributos.
Empleados

Clientes

ID

Apellidos

Nombre

ID

Apellidos

Nombre

101

Snchez Cas

Juan

50001

Castro Cal

Ana

102

Prez Prez

Pedro

50002

Galo Mier

Carlos

103

Garca Sol

Luis

102

Prez Prez

Pedro

Empleados - Clientes

Bases de Datos
Universidad Alfonso X El Sabio

ID

Apellidos

Nombre

102

Prez Prez

Pedro

103

Garca Sol

Luis

52

4. Algebra Relacional.
Interseccin.
Se expresa como R S y define una nueva relacin con aquellas
tuplas que estn tanto en R como en S.
R y S deben ser compatibles para su interseccin, es decir, deben
poseer el mismo conjunto de atributos.
Puede obtenerse con operadores bsicos: R S = R (R S)
Empleados

Clientes

ID

Apellidos

Nombre

ID

Apellidos

Nombre

101

Snchez Cas

Juan

50001

Castro Cal

Ana

102

Prez Prez

Pedro

50002

Galo Mier

Carlos

103

Garca Sol

Luis

102

Prez Prez

Pedro

Empleados Clientes

Bases de Datos
Universidad Alfonso X El Sabio

ID

Apellidos

Nombre

102

Prez Prez

Pedro

53

4. Algebra Relacional.
Divisin.

Se expresa como R S y define una nueva relacin sobre el conjunto de


atributos C, incluido en R, y que contiene el conjunto de valores, para los
atributos de C, que en R estn combinados con todas las tuplas de S.
Para poder dividir dos relaciones debe verificarse que:
Grado (R) > Grado (S)
Atributos de S
Atributos de R
Puede obtenerse con operadores bsicos: X1 = c(R) X2 = c( (S x X1) - R )

Asignacin
IDEmp

IDProy

101

AB12

101

AC12

102

AC12

102

AB12

103

AB12

X= X1 X2

IDProyProyectos
IDProy
AB12
AC12

Asignacin IDProyProyectos
IDEmp
101
102

Bases de Datos
Universidad Alfonso X El Sabio

54

4. Algebra Relacional.
Producto Cartesiano.
Se expresa como R x S y define una nueva relacin con el resultado
de concatenar a cada tupla de R todas las de S.
Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

Empleados x Proyectos
ID

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

101

Snchez Cas

Juan

AC12

LWA

101

102

Prez Prez

Pedro

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AB12

TFT

101

103

Garca Sol

Luis

AC12

LWA

101

Bases de Datos
Universidad Alfonso X El Sabio

55

4. Algebra Relacional.
Cross join.
Representa la generacin de un conjunto de
correspondiente al producto cartesiano de dos tablas.
Empleados

resultado

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

Empleados CROSS Proyectos


ID

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

101

Snchez Cas

Juan

AC12

LWA

101

102

Prez Prez

Pedro

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AB12

TFT

101

103

Garca Sol

Luis

AC12

LWA

101

Bases de Datos
Universidad Alfonso X El Sabio

56

4. Algebra Relacional.
Inner Join o join por defecto
R S o R * S: Se puede definir como el resultado de aplicar un predicado
de seleccin al producto cartesiano de dos tablas de manera que se asocien
aquellas tuplas con el mismo valor para el atributo o atributos incluidos en
el predicado.
Normalmente se realiza entre atributos comunes de dos tablas que
corresponden, uno, a la clave primaria de una tabla y el otro a una clave
ajena en la otra tabla.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

Empleados IDEmp=Responsable Proyectos


IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

101

Snchez Cas

Juan

AC12

LWA

101

Un valor NULL no coincide con ningn otro aunque tambin sea NULL
Bases de Datos
Universidad Alfonso X El Sabio

57

4. Algebra Relacional.
Equi-join
Se dice de las operaciones de join que SOLO utilizan comparaciones de
igualdad en el predicado. Notse que sera posible utilizar otros
comparadores como <, <=,

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

Empleados IDEmp=Responsable Proyectos

Bases de Datos
Universidad Alfonso X El Sabio

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

101

Snchez Cas

Juan

AC12

LWA

101

58

4. Algebra Relacional.
Unin natural. (Natural Join)
Realiza, de forma automtica, la operacin de join en base a las columnas
de las tablas que tengan el mismo nombre. El conjunto resultado contendr
slo una columna de las utilizadas como parte del predicado.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

IDEmp

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

Empleados NATURAL Proyectos

Bases de Datos
Universidad Alfonso X El Sabio

IDEmp

Apellidos

Nombre

IDProy

Descripcin

101

Snchez Cas

Juan

AB12

TFT

101

Snchez Cas

Juan

AC12

LWA

59

4. Algebra Relacional.
Outer Join (I)
R S o R * S: Se intenta mantener toda la informacin de los operandos
incluso de los que no participan en el join. Se rellenan con nulos las tuplas
que no tienen correspondencia en el join. Existen tres variantes: Left,
Right y Full.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AD12

SST

5000

Empleados *LEFT Proyectos


ID

Apellidos

Nombre

IDProy

Descripcin

101

Snchez Cas

Juan

AB12

TFT

101

Snchez Cas

Juan

AC12

LWA

102

Prez Prez

Pedro

NULL

NULL

103

Garca Sol

Luis

NULL

NULL

Bases de Datos
Universidad Alfonso X El Sabio

60

4. Algebra Relacional.
Outer Join (II)
R S o R * S: Se intenta mantener toda la informacin de los operandos
incluso de los que no participan en el join. Se rellenan con nulos las tuplas
que no tienen correspondencia en el join. Existen tres variantes: Left,
Right y Full.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AD12

SST

5000

Empleados *RIGHT Proyectos


ID

Apellidos

Nombre

IDProy

Descripcin

101

Snchez Cas

Juan

AB12

TFT

101

Snchez Cas

Juan

AC12

LWA

5000

NULL

NULL

AD12

SST

Bases de Datos
Universidad Alfonso X El Sabio

61

4. Algebra Relacional.
Outer Join (III)
R S o R * S: Se intenta mantener toda la informacin de los operandos
incluso de los que no participan en el join. Se rellenan con nulos las tuplas
que no tienen correspondencia en el join. Existen tres variantes: Left,
Right y Full.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AD12

SST

5000

Empleados *FULL Proyectos


ID

Apellidos

Nombre

IDProy

Descripcin

101

Snchez Cas

Juan

AB12

TFT

101

Snchez Cas

Juan

AC12

LWA

102

Prez Prez

Pedro

NULL

NULL

103

Garca Sol

Luis

NULL

NULL

5000

NULL

NULL

SST

5000

Bases de Datos
Universidad Alfonso X El Sabio

62

4. Algebra Relacional.
Outer Join (III)
R S o R * S: Se intenta mantener toda la informacin de los operandos
incluso de los que no participan en el join. Se rellenan con nulos las tuplas
que no tienen correspondencia en el join. Existen tres variantes: Left,
Right y Full.

Empleados

Proyectos

IDEmp

Apellidos

Nombre

IDProy

Descripcin

Responsable

101

Snchez Cas

Juan

AB12

TFT

101

102

Prez Prez

Pedro

AC12

LWA

101

103

Garca Sol

Luis

AD12

SST

5000

Empleados *FULL Proyectos


ID

Apellidos

Nombre

IDProy

Descripcin

101

Snchez Cas

Juan

AB12

TFT

101

Snchez Cas

Juan

AC12

LWA

102

Prez Prez

Pedro

NULL

NULL

103

Garca Sol

Luis

NULL

NULL

5000

NULL

NULL

SST

5000

Bases de Datos
Universidad Alfonso X El Sabio

63

4. Algebra Relacional.
Ejemplos
Empleados
IDEmp

Apellidos

Nombre

NumHijos

Destino

101

Snchez Cas

Juan

MAD

102

Prez Prez

Pedro

BCN

103

Garca Sol

Luis

MAD

104

Pas Pas

Carmen

SEV

Asignacion
Proyectos

IDEmp

IDProy

101

AB12

IDProy

Descripcin

Responsable

Presup

101

AB12

AB12

TFT

101

60000

102

AC12

AC12

LWA

101

120000

102

AD12

AD12

SST

5000

50000

103

AD12

104

AD12

Bases de Datos
Universidad Alfonso X El Sabio

64

4. Algebra Relacional.
Ejemplos
1. Obtener el nombre de los empleados con dos o ms hijos.

Nombre (NumHijos>1(Empleado))
2. Obtener el nombre de los empleados que trabajan en Madrid.

Nombre (Destino=MAD(Empleado))
3. Obtener el IDEmp de los empleados asignados al proyecto SST

IDEmp (Descripcion=SST(Asignacion IdProy Proyecto))


4. Obtener el nombre de los empleados asignados al proyecto SST
Nombre((Descripcion=SST(Asignacion IdProy Proyecto)) IDEmp Empleado)
5. Obtener la descripcin de los proyectos donde trabajen empleados
destinados a Madrid (MAD)
Descripcion((Destino=MAD(Empleado IDEmp Asignacion)) IDProy Proyectos)

Bases de Datos
Universidad Alfonso X El Sabio

65

Potrebbero piacerti anche