Vous êtes sur la page 1sur 33

Modelo Relacional

Roger Mendez R.
Introduccin
Fue introducido por Codd en 1970. Todo el
modelo tiene un fuerte apartado matemtico
subyacente.
Trabaja con estructuras de datos muy simples:
Tablas bidimensionales.
Es el modelo ms usado en las aplicaciones
comerciales de procesamiento de datos
convencional.
Introduccin

En este modelo la base de datos es vista por el


usuario como una relacin de tablas. Cada fila de
la tabla es un registro o tupla y los atributos con
columnas o campos.
Conceptos de base de datos relacionales
Trmino relacional formal Equivalente informal

Entidad Tabla

Tupla Fila o registro

Cardinalidad Nmero de filas o registros

Atributo Columna o campo

Grado Nmero de columnas o campos

Atributo Identificador Llave Primaria (PK)

Dominio Conjunto de valores legales


Conceptos de base de datos relacionales

Relacin: Pelcula (ttulo, ao, duracin)

Cardinalidad = 3
Grado de la relacin = 3
Conceptos de base de datos relacionales
Para dar una definicin ms adecuada desde el punto
de vista de las bases de datos, es preciso distinguir dos
conceptos en la definicin de la relacin:
Esquema de relacin: es la parte definitoria y
esttica de la relacin (cabecera cuando la relacin
se percibe como una tabla). Es invariante en el
tiempo.
Extensin de la relacin: conjunto de tuplas que, en
un momento determinado, satisface el esquema de
la relacin y se encuentran almacenadas en la base
de datos. Es variante en el tiempo.
Conceptos de base de datos relacionales

Clave primaria: Es un conjunto de atributos que


identifica a cada tupla de una relacin y adems
no hay un subconjunto de ellos que cumplan esa
propiedad.

Clavefornea: Es un conjunto de atributos de


una tabla que son clave primaria en otra tabla
Restricciones inherentes al modelo

No puede haber dos tuplas iguales en una misma


relacin

El orden de las tuplas no es significativo

El orden de los atributos no es significativo


Restricciones de Integridad

Integridad en la Entidad: Ningun componente de


la clave primaria puede tomar valores nulos o
desconocidos, porque entonces no se podran
distinguir dos entidades.
Integridad Referencial: Cualquier valor que tome
un atributo en una relacin del que es clave
fornea, debe existir en la relacin del que es
clave primaria.
Conversin del modelo conceptual al
modelo relacional
Conversin de Relaciones:
Cada relacin de un diagrama Entidad/Relacin se
transforma directamente en una tabla. Los
campos de esta tabla son las claves primarias de
todas las entidades que participen en la relacin
ms todos los atributos que pudiera tener la
relacin.
Relacin Tabla
Ejemplo 1: Relaciones N:M

dni nombre cdigo

N M
CLIENTE compra PRODUCTO

apellidos descripcin

Fecha compra

CLIENTE (dni, nombre, apellidos)


PRODUCTO (cdigo, descripcin)
COMPRAS (dni_cliente, cdigo _ producto, fecha_compra)
Ejemplo 2: Relaciones 1:N

dni nombre cdigo

N 1
EMPLEADO pertenece DEPARTAMENTO nombre

salario localizacin

Fecha compra

EMPLEADO (dni, nombre, salario, cdigo_departamento)


DEPARTAMENTO (cdigo, nombre, localizacin)
Ejemplo 3: Relaciones 1:1

cdigo nombre dni

1 1
EQUIPO tiene PRESIDENTE

Ao fundacin nombre

EQUIPO (cdigo, nombre, ao _ fundacin)


PRESIDENTE (dni, nombre, cdigo _ equipo)

EQUIPO (cdigo, nombre, ao _ fundacin, dni_presidente)


PRESIDENTE (dni, nombre)
Ejemplo 4: Relaciones reflexivas

Num_expediente

Es
nombre ALUMNO
delegado

ALUMNO (num_expediente, nombre, num_expediente_delegado)


Algebra Relacional
Se denomina algebra relacional a un conjunto de
operaciones encargadas de la manipulacin de
datos agrupados (relaciones).
Estas operaciones describen la manipulacin de
datos. Son en si, una representacin intermedia
de una consulta a una base de datos.
Debido a sus propiedades algebraicas, estas
operaciones sirven para obtener una versin ms
optimizada y eficiente de dicha consulta.
Algebra relacional
Definida por Codd, 1972
Coleccin de operadores que toman relaciones como operandos y devuelven relaciones
como resultado
Operadores tradicionales sobre conjuntos
unin
interseccin
diferencia
producto cartesiano

Los operandos son relaciones.


Operaciones adaptadas a relaciones (tipo especial de conjuntos)
Operadores relacionales especiales
seleccin
proyeccin
reunin ( join )
divisin

Union
Notacin: r s
Definido como:
r s = {t | t r or t s}
Para que r s sea vlida.
1. r, s deben ser del misma grado(mismo nmero de
atributos)
2. Los dominios de las tributos deben ser compatibles.
3. r y s pueden ser relaciones temporales que sean
resultado de expresiones del lgebra relacional. E.j.
cliente-nombre (deposito) cliente.nombre (prestamo)
Ejemplo de la Operacin Unin
Relacines r, s:
A B A B

1 2
2 3
1 s
r

r s: A B

1
2
1
3

Interseccin
Notacin: rs

Definida como:

Asume:
r, s tienen la misma aridad
Atributos de r y s son compatibles
Note: r s = r - (r - s)
Ejemplo de Operacin de Interseccin
Relation r, s:
A B A B
1 2
2 3
1

r s r s

A B

2

Diferencia
Notacin

Definida como:

Se debe asegurar que la diferencia de conjuntos


se realice entre relaciones compatibles.
r y s deben ser de la misma aridad.
A los dominios de los atributos de r y s sean
compatibles
Ejemplo de Operacin Diferencia de Conjunto
Relations r, s: A B A B

1 2
2 3
1 s
r

r s: A B

1
1
Producto Cartesiano
Notacin r x s
Definido como:
r x s = {t q | t r and q s}
Asume que los atributos de r(R) y s(S) son disyuntos.
(Esto, R S = ).
Si los atributos de r(R) y s(S) no son disyuntos, entonces se
debe usar renombramiento.
Ejemplo de Producto Cartesiano

Relaciones r, s:A B C D E

1 10 a
2 10 a
20 b
r 10 b
s
r x s:
A B C D E
1 10 a
1 10 a
1 20 b
1 10 b
2 10 a
2 10 a
2 20 b
2 10 b

Seleccin

Notacin:

p es llamado predicado de la seleccin


Definido como:

Donde p es una formula consistente con el clculo proposicional


de trminos conectados por : (y), (o), (no)
Cada termino es uno de:
<atributo> op <atributo> o <constante>
donde op es uno de:
Ejemplo de seleccin:
sucursal-nombre=Sucre(cuenta)
Ejemplo de la Operacin de Seleccin

Relacin r A B C D

1 7
5 7
12 3
23 10

A=B ^ D > 5 (r)


A B C D

1 7
23 10

Proyeccin
Notacin:
A1, A2, , Ak (r)
donde A1, A2 son nombres de atributos y r es el nombre
de la relacin.
El resultado es definido como una relacin de k
columnas obtenidas de borrar las columnas que no estn
listadas
Las filas duplicadas son removidas del resultado
E.j. Para eliminar el atributo sucursal-nombre de cuenta
numero-cuenta, balance (cuenta)
Ejemplo de la operacin de Proyeccin

Relacin A B C
r:
10 1
20 1
30 1
40 2

A,C (r)
A C A C

1 1
1 = 1
1 2
2
Reunin Natural (join)

Notacin:

La reunin natural es una operacin binaria que permite


combinar ciertas selecciones y un producto cartesiano en
una sola operacin y elimina los atributos repetidos.
Ejemplo:
R = (A, B, C, D)
S = (E, B, D)
Resultado = (A, B, C, D, E)
Se define como:

r.A, r.B, r.C, r.D, s.E ( r.B = s.B r.D = s.D (r x s))
Ejemplo de una Operacin de Reunin Natural
Relaciones r, s:
A B C D B D E

1 a 1 a
2 a 3 a
4 b 1 a
1 a 2 b
2 b 3 b
r s

r s A B C D E
1 a
1 a
1 a
1 a
2 b

Divisin

Adecuada para consultas que incluyen la expresin para


todos.
Si r y s son relaciones de los esquemas R y S
R = (A1, , Am, B1, , Bn)
S = (B1, , Bn)
El resultado de r s es una relacin sobre el esquema
R S = (A1, , Am)
Ejemplo de la Operacin de Divisin
Relations r, s: A B B
1 1
2
3 2
1 s
1
1
3
4
6
1
2
r s: A r


Gracias

Vous aimerez peut-être aussi