Está en la página 1de 31

Ing. Marco Galarza C.

BASES DE DATOS I
EL MODELO RELACIONAL

AGENDA
Conceptos del modelo relacional
Convertir E-R a modelo relacional

RELACIN

Relacin Tabla de datos.


Por

eso se llaman Bases de Datos Relacionales.


Ttulo

Ao

Duracin

La Guerra de las Galaxias

1977

123

El Seor de los Anillos 1

2001

178

Mar Adentro

2004

125

El Viaje de Chihiro

2001

125

CONCEPTOS

Esquema
Pelcula

(ttulo, ao, duracin)

Atributos

Tuplas

Ttulo

Ao

Duracin

La Guerra de las Galaxias

1977

123

El Seor de los Anillos 1

2001

178

Mar Adentro

2004

125

El Viaje de Chihiro

2001

125

Dominio = Texto

Dominio = Enteros

NOTACIN
Atributos
Ai
Relacin R
R(A1, A2, A3, , AN)
Dominio de Ai dom(Ai)

R(A1, A2, A3, , AN) (dom(A1) dom(A2) dom(AN))


Relacin son algunas de todas la combinaciones posibles

RELACIN ES UN CONJUNTO

Por lo tanto, no est ordenado

Notacin para las tuplas


t

= <Mar Adentro, 2004, 125> Pelcula

Notacin para subconjunto de tupla


t[ao,duracin]

= <2004, 125>

DOMINIOS

Restriccin de dominio
t[A]

= <x> x dom(A)

En algunos casos ...


dom(A)
En tal caso diremos que la relacin acepta valores
nulos
NULL

CLAVES CANDIDATAS Y PRIMARIAS


Claves candidatas

AUTO

NMatrcula

NMotor

Marca

Modelo

CCA-341

91234908123

Toyota

Yaris

OFG-851

53489787679

Fiat

Fiorino

XTV-657

30752312386

Ford

Mustang

WGB-959

50934187123

Toyota

Corolla

La eleccin de una clave primaria es arbitraria


Se escoge una que tenga pocos atributos
Se escoge una que identifique de manera nica a cada tupla

RESTRICCIONES DE CLAVES

Restriccin de claves nicas


claves(Relacin)
t1, t2 Relacin, t1[K] t2[K]
NULL|K| K
K

Una clave puede ser


Un

atributo
Varios atributos (clave compuesta)
Incluso

toda la tupla en algunos casos (evitarlo)

CLAVES FORNEAS

Empleado
Nombre

FechaNac

CI_Jefe

Nmero

CI_Jefe

Direccin

Trabaja_en
CI

CI

Departamento
Nombre

Apellido

NumProy

Proyecto
Nombre

Nmero

NumDept

Presupuesto

Salario NumDept

INTEGRIDAD REFERENCIAL
Empleado
Nombre

Apellido

CI

FechaNac

CI_Jefe

Departamento
Nombre

Nmero

CI_Jefe

Direccin

Trabaja_en

CI

NumProy

Proyecto
Nombre

Nmero

NumDept

Presupuesto

Salario NumDept

MEJOR NOMBRE: ID_XXX[_ROL]


MEJOR DOMINIO: NUMRICO
Empleado
Nombre

Apellido

ID_Emp

FechaNac

ID_Emp_Jefe

Departamento
Nombre

ID_Depto

ID_Emp_Direc

Direccin

Trabaja_en

ID_Emp

ID_Proy

Proyecto
Nombre

ID_Proy

ID_Depto

Presupuesto

Salario ID_Depto

MANTENER INTEGRIDAD
REFERENCIAL

Al insertar
Insertar

clave fornea en la otra tabla


Rechazar la insercin

Al eliminar
Eliminar

tuplas que apuntan a esta tupla

Cascada

Actualizar

tupla

valores en tuplas que apuntan a esta

CONVERTIR ENTIDAD-RELACIN
EN MODELO RELACIONAL

CONVERTIR ENTIDAD-RELACIN

Se comienza con un modelo E-R


Porque es ms fcil de disear.
Tiene dos conceptos: entidad y relacin.

Traducir E-R a relacional, versin simple:


1.
2.

Se agregan claves donde sea necesario.


Cada entidad se transforma en una tabla con los
mismos atributos.
a.

b.

3.

Atributos multivaluados.
Atributos derivados.

Cada relacin se transforma en una tabla en que los


atributos son las claves de cada entidad participante.

TRADUCCIN SIMPLE, PASO 0

Nombre

Ao

Pelcula

Nombre

Apellido

Acta

Actor

Produce

Estudio

Nombre

Direccin

TRADUCCIN SIMPLE, PASO 1

Nombre

Ao

Pelcula

Nombre

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Id_pelcula

Nombre

Direccin

TRADUCCIN SIMPLE, PASO 2


Id_pelcula

Nombre

Ao

La Guerra de las Galaxias

1977

El Seor de los Anillos 1

2001

Mar Adentro

2004

El Viaje de Chihiro

Id_actor

Nombre

Apellido

Mark

Hamill

Cristopher

Lee

Javier

Bardem

Hugo

Weaving

2001

Nombre

Ao

Pelcula

Nombre

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Id_pelcula

Nombre

Direccin

Id_estudio

Nombre

Direccin

Ghibli

India

New Line Cinema

L.A.

Lucasfilms

L.A.

Sogecine

Barcelona

TRADUCCIN SIMPLE, PASO 3


Id_pelcula

Nombre

Ao

La Guerra de las Galaxias

1977

El Seor de los Anillos 1

2001

Mar Adentro

2004

El Viaje de Chihiro

2001

Id_actor

Nombre

Apellido

Mark

Hamill

Cristopher

Lee

Javier

Bardem

Hugo

Weaving

Nombre

Ao

Nombre

Pelcula

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Id_pelcula

Nombre

Direccin

Id_estudio

Nombre

Direccin

Id_actor

Id_pelcula

Id_pelcula

Id_estudio

Ghibli

India

New Line Cinema

L.A.

Lucasfilms

L.A.

Sogecine

Barcelona

COMBINAR RELACIONES

A veces es posible combinar relaciones.


El

caso tpico son las relaciones 1-N.


Relaciones 1-1 deberan descartarse antes.
Nombre

Ao

Pelcula

Id_pelcula

Nombre

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Nombre

Direccin

COMBINANDO RELACIN 1-N (A)


Id_pelcula

Nombre

Ao

La Guerra de las Galaxias

1977

El Seor de los Anillos 1

2001

Mar Adentro

2004

El Viaje de Chihiro

2001

Nombre

Ao

Pelcula

Nombre

Apellido

Mark

Hamill

Cristopher

Lee

Javier

Bardem

Hugo

Weaving

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Id_pelcula

Id_actor

Nombre

Nombre

Direccin

Id_estudio

Nombre

Direccin

Id_actor

Id_pelcula

Id_pelcula (1)

Id_estudio (N)

Ghibli

India

New Line Cinema

L.A.

Lucasfilms

L.A.

Sogecine

Barcelona

COMBINANDO RELACIN 1-N (B)


Id_estudio

Nombre

Direccin

Ghibli

India

New Line Cinema

L.A.

Lucasfilms

L.A.

Sogecine

Barcelona

Nombre

Ao

Pelcula

Id_pelcula

Id_actor

Nombre

Apellido

Id_actor

Id_pelcula

Mark

Hamill

Cristopher

Lee

Javier

Bardem

Hugo

Weaving

Id_pelcula

Nombre

Ao

La Guerra de las Galaxias

1977

El Seor de los Anillos 1

3
4

Nombre

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Nombre

Id_estudio

Direccin

Id_pelcula (1)

Id_estudio (N)

2001

Mar Adentro

2004

El Viaje de Chihiro

2001

COMBINANDO RELACIN 1-N (C)


Id_estudio

Nombre

Direccin

Ghibli

India

New Line Cinema

L.A.

Lucasfilms

L.A.

Sogecine

Barcelona

Id_actor

Id_pelcula

Nombre

Ao

Pelcula

Nombre

Apellido

Acta

Actor

Id_actor

Produce

Estudio

Id_estudio

Id_pelcula

Nombre

Id_pelcula

Nombre

Ao

La Guerra de las Galaxias

1977

El Seor de los Anillos 1

3
4

Id_estudio

Direccin

Id_actor

Nombre

Apellido

Mark

Hamill

2001

Cristopher

Lee

Mar Adentro

2004

Javier

Bardem

El Viaje de Chihiro

2001

Hugo

Weaving

TRADUCCIN CUANDO HAY SUBCLASES

E-R A RELACIONAL CON SUBCLASES


IDv

Matrcula

Vehculo

IDp

Dueo

Bus

Camin

Pasajeros

Ejes

Automvil

Nombre

Propietario

OPCIN 1: DIRECTO E-R


IDv

Matrcula

IDp

Nombre

Propietario
Vehculo

Dueo

IDp

Propietario

Vehculo

IDv
Bus

Camin

IDp

Ejes

Camin

Bus
IDv

Matrcula

Dueo

Automvil

IDv
Pasajeros

Nombre

Pasajeros

IDv

Automvil
Ejes

IDv

OPCIN 2: GENERALIZACIN DISJUNTA


IDv

Matrcula

IDp

Nombre

Propietario
Vehculo

Dueo

IDp

Propietario

Nombre

Dueo
Bus

Camin

Pasajeros

Ejes

Bus
IDv

Automvil

IDv

Camin
Matrcula

Pasajeros

IDv

Matrcula

IDp

Automvil
Ejes

IDv

Matrcula

Nota:
La tabla vehculo existe en
este caso s y slo si hay
especializacin parcial

OPCIN 3: VALORES NULOS


IDv

Matrcula

Vehculo

IDp

Dueo

Nombre

Propietario

Propietario

IDp

Nombre

Dueo
IDv
Bus

Camin

Pasajeros

Ejes

IDp

Automvil

Vehculo
IDv

Matrcula

Pasajeros

Ejes

VENTAJA DE USAR VALORES NULOS

Puede acelerar ciertas consultas, al evitar


consultar varias tablas con respecto al director E-R

SELECT ejes
FROM vehiculo,camion
WHERE camion.idv=vehiculo.idv
AND vehiculo.matricula='XXX-XXX';

SELECT ejes
FROM vehiculo
WHERE vehiculo='XXX-XXX';

USO DE ESPACIO EXTRA

Directo E-R

Generalizacin disjunta

Slo se repiten las claves primarias.

No se repiten atributos no comunes.

Valores nulos

Se repiten todos los atributos.

La opcin Directo E-R es una buena solucin


intermedia entre ambas

RESUMEN

Modelo relacional
Formalizacin

de esquemas de tablas

Traduccin E-R a relacional es directa en


muchos casos

También podría gustarte