Вы находитесь на странице: 1из 40

3.

FUNDAMENTOS DEL MODELO RELACIONAL


1. Estructura de las Bases de Datos st uctu a as ases atos Relacionales
1.1 Introduccin 1.2 Estructura del Modelo Relacional

2. Restricciones de Integridad g 3. Teora de las Dependencias


2.1 Dependencias Funcionales. Claves 2.2 Axiomas y Teora de Cierres
Toms Rojo Vctor Lpez
1

BASES DE DATOS
CURSO 2007/2008

1. Estructura de las Bases de Datos Relacionales 1.1 I 1 1 Introduccin d i


En 1970 Codd public un artculo en ACM, proponiendo un nuevo modelo de datos que tena como objetivo fundamental aislar al usuario de las estructuras fsicas de los datos, consiguiendo as la independencia de las aplicaciones respecto de los datos. Este objetivo fundamental es expresado explcitamente por Codd:
"... se propone un modelo relacional de datos como una base para proteger a los usuarios de
sistemas de datos formateados de los cambios que potencialmente pueden alterar la representacin de los datos, causados por el crecimiento del banco de datos y por los cambios en los caminos de acceso.

El nuevo modelo se basa en la teora matemtica de las relaciones. Los datos se estructuran lgicamente en forma de relaciones (muy parecido al concepto de tabla).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. Estructura de las Bases de Datos Relacionales 1.1 I 1 1 Introduccin d i


Los avances ms importantes que el modelo de datos relacional incorpora respecto a los modelos de datos anteriores son:
Sencillez y uniformidad: los usuarios ven la base de datos relacional como una coleccin de tablas, y al ser la tabla la estructura fundamental del modelo, ste goza de d una gran uniformidad, lo que unido a unos lenguajes no navegacionales y muy if id d l id l j i l orientados al usuario final, da como resultado la sencillez de los sistemas relacionales. Slid f d Slida fundamentacin terica: al estar el modelo definido con rigor matemtico, i i l l d l d fi id i i el diseo y la evaluacin del mismo puede realizarse por mtodos sistemticos basados en abstracciones. Independencia de la interfaz de usuario: los lenguajes relacionales, al manipular conjuntos de registros, proporcionan una gran independencia respecto a la forma en la que los datos estn almacenados.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 3

1. Estructura de las Bases de Datos Relacionales 1.1 I 1 1 Introduccin d i


Las caractersticas del modelo relacional han hecho que prcticamente todos los SGBD comerciales implementen el modelo relacional relacional.
Algunas de las principales empresas informticas del mundo son, en origen, empresas de SGBD-R: ORACLE, Sybase, INFORMIX,

El tremendo xito del modelo relacional ha supuesto que el cambio t d it d l d l l i lh t l bi tecnolgico a la siguiente generacin est siendo evolutivo y no revolucionario:
Triunfan los SGBD Objeto-Relacionales, y Fracasan, en general, los SGBD de Objetos puros.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos
Relacin: es la estructura bsica del modelo relacional. Se representan utilizando tablas. Atributo: son las propiedades de la relacin. Se representan mediante columnas en las tablas. Dominio: conjunto de valores sobre los que se define el tipo de un atributo. Tupla: ocurrencia de la relacin. Se representa mediante l i d l l i di filas dentro de las tablas.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 5

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Dominio
El universo de discurso de una BDD relacional est compuesto por un conjunto de dominios {Di} y un conjunto de relaciones {Ri} definidas sobre esos dominios. Un dominio es un conjunto homogneo de valores identificado id ifi d por un nombre. b Un dominio puede definirse de dos formas
explcitamente: d d l semana = {l l it t das de la {lunes, martes, mircoles, i l jueves, viernes, sbado, domingo} usando tipos de datos: edad:entero p
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 6

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Atributo
Un atributo es la interpretacin de un determinado dominio en una relacin, es decir, la semntica de un dominio en una relacin. Un atributo representa una propiedad de una relacin. Un atributo tomar valores dentro de un domino. Distintos atributos de una relacin, e incluso de distintas relaciones, pueden tomar valores dentro de un mismo l i d l d d i dominio.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 7

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Es el elemento fundamental del modelo relacional, y se representa usando tablas (aunque una tabla NO es una relacin).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Matemticamente, una relacin definida sobre un conjunto de dominios D1...Dn (no necesariamente distintos) es un subconjunto del producto cartesiano de los n dominios, donde cada elemento de la relacin (tupla) es una serie de n valores ordenados:
R D1 x D2 x ... x Dn, siendo n el grado de la relacin.

Est definicin no considera el concepto de atributo, por lo atributo que dentro del contexto de las bases de datos son p parmetros. caracterizadas adems por otros p
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 9

1. Estructura de las Bases de Datos Relacionales 1.2 E t t 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Una relacin se caracteriza por:
Un nombre que la identifica (algunos resultados intermedios no lo necesitan). Una cabecera de relacin que contiene n pares atributo-dominio donde toma valores el atributo. Donde n es el grado de la relacin. alores atrib to d relacin El cuerpo de la relacin contiene m tuplas. Cada tupla estar compuesta de n pares atributo-valor. Donde m se denomina cardinalidad de la relacin. El esquema de la relacin est formado por el nombre R de la relacin (si existe) y q p ( ) n la cabecera de la relacin. R({Ai:Di} i=1 ). Es similar al concepto de Entidad del modelo Entidad/Relacin. El estado r de una relacin de esquema R (se suele denominar simplemente relacin) se representa como r(R) y est constituido por el esquema y el cuerpo de la relacin: r(R) = <esquema, cuerpo>

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

10

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Esquema de la relacin Autor
AUTOR (Nombre: Nombres, Nacionalidad: Nacionalidades, Institucin: Instituciones)

Relacin Autor

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

11

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Ejemplo

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

12

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Relaciones vs. Tablas Relacin
(modelo terico)

Tabla
(implementacin)

Tupla Atributo At ib t Grado Cardinalidad

Fila Columna C l N de columnas N N de filas

Relacin Tabla
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 13

1. Estructura de las Bases de Datos Relacionales 1.2 E 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Relaciones vs. Tablas Relacin Tabla
Una tabla no tiene las restricciones inherentes de una relacin (como conjunto). Una tabla puede tener dos filas iguales. Las filas estn ordenadas en el orden de grabacin fsica, por fsica defecto, o segn el valor de la clave primaria. Los atributos tienen un orden, segn se ha definido en la tabla. Una celda de una tabla puede contener ms de un valor.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

14

1. Estructura de las Bases de Datos Relacionales 1.2 E t t 1 2 Estructura del Modelo Relacional d lM d l R l i l
Elementos bsicos: Relacin
Tipos de relaciones
No nominadas N i d Nominadas
Persistentes: su definicin (esquema) permanece en la base de datos, borrndose solamente mediante una accin explcita del usuario. Relaciones base: existen por s mismas, no en funcin de otras relaciones. Se crean mismas relaciones especificando explcitamente su esquema de relacin (nombre y conjunto de pares atributo/dominio). Vistas (view): son relaciones derivadas que se definen dando un nombre a una expresin de consulta. Lo nico que se almacena es su definicin en trminos de i d lt L i l d fi i i t i d otras relaciones con nombre. Se corresponden con el nivel externo de la arquitectura ANSI.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

15

1. Estructura de las Bases de Datos Relacionales 1.2 1 2 Estructura del Modelo Relacional
Elementos bsicos: Relacin
Tipos de relaciones
No nominadas Nominadas
Persistentes Instantneas (snapshots): son relaciones derivadas al igual que las vistas, pero tienen datos propios almacenados, que son el resultado de ejecutar la consulta especificada. L i t t ifi d Las instantneas no se actualizan cuando cambian los datos de las t li d bi l d t d l relaciones sobre las que estn definidas, pero se renuevan cada cierto tiempo, de acuerdo con lo indicado por el usuario en el momento de su creacin. No pueden ser actualizadas por el usuario. Temporales: a diferencia de las persistentes, una relacin temporal desaparece de la BDD en un cierto momento sin necesidad de una accin de borrado especfica del usuario; por ejemplo, al terminar una sesin o una transaccin.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

16

2. 2 Restricciones de Integridad 2.1 R i i 2 1 Restricciones de Integridad en el MR d I id d l


Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones realizadas a la base de datos no provoquen la prdida de la consistencia de los datos. L restricciones del modelo relacional terico han sido Las i i d l d l l i l i h id recogidas dentro del estndar SQL92, aunque con ciertas modificaciones. i t difi i

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

17

2. Restricciones de Integridad 2.1 Restricciones de Integridad en el MR


Tipos de restricciones
Restricciones inherentes: Restricciones que impone el q p modelo de datos al no admitir ciertas estructuras. No son definidas por el usuario.
No hay dos tuplas iguales (obligatoriedad de la clave primaria) El orden de las tuplas no es significativo El orden de los atributos no es significativo Cada atributo slo puede tomar un nico valor del dominio sobre el que est definido; no se admiten grupos repetitivos como valores de los atributos de una tupla. (Primera forma normal) Regla de integridad de entidad: Ningn atributo que forme parte de la clave primaria de una relacin puede tomar el valor nulo. nulo
BASES DE DATOS
CURSO 2007/2008 18

Toms Rojo Vctor Lpez

2. Restricciones de Integridad 2.1 Restricciones de Integridad en el MR


Tipos de restricciones
Restricciones semnticas: tambin llamadas de usuario, son facilidades que el modelo ofrece a los usuarios con el fin de estos puedan reflejar en el esquema, la semntica del mundo real. real
Clave primaria (PRIMARY KEY) Unicidad (UNIQUE) Obligatoriedad (NOT NULL) Integridad Referencial (FOREIGN KEY) Verificacin (CHECK) Asercin (ASSERTION) Disparador (TRIGGER)
BASES DE DATOS
CURSO 2007/2008 19

Toms Rojo Vctor Lpez

2. 2 Restricciones de Integridad 2.2 R i i 2 2 Restricciones Semnticas S i


Clave primaria (PRIMARY KEY)
De la definicin de relacin se deduce que siempre existe, como mnimo, un conjunto de atributos que identifican de forma unvoca cada una de las tuplas de una relacin, al que se denomina clave p , q candidata. La clave primaria es la clave candidata que el usuario escoge por motivos ajenos al modelo relacional. relacional
Los valores del atributo/s que componen la clave primaria no pueden repetirse. Los valores del atributo/s que componen la clave primaria no admiten valores nulos.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

20

2. 2 Restricciones de Integridad 2.2 R i i 2 2 Restricciones Semnticas S i


Clave Candidata: Unicidad (UNIQUE)
Permite la definicin de conjuntos de atributos cuyos valores no pueden repetirse dentro de la relacin (claves alternativas). Permite valores nulos si no se especifica lo contrario.

Obli Obligatoriedad (NOT NULL) i d d


Indica que un conjunto de atributos no admite valores nulos.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

21

2. 2 Restricciones de Integridad 2.2 2 2 Restricciones Semnticas


Integridad referencial (FOREIGN KEY)
Se llama clave fornea/ajena (foreign key) de una relacin R2 a un conjunto de atributos cuyos valores deben coincidir con los valores de una clave candidata de una relacin R1 (donde R1 y R2 no necesitan ser necesariamente distintas) o contener el valor nulo. nulo La clave candidata y la clave fornea implicadas deben estar definidas sobre el mismo dominio.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

22

2. 2 Restricciones de Integridad 2.2 2 2 Restricciones Semnticas


Adems de definir las claves forneas, hay que determinar las consecuencias que pueden tener las operaciones de borrado y modificacin realizadas sobre las tuplas de la relacin referenciada: Operacin restringida (NO ACTION) El borrado de tuplas de la relacin con la clave referenciada (o la modificacin de la clave) slo se permite si no existen tuplas con este valor en la relacin que contiene la clave fornea (Opcin por omisin) Operacin con transmisin en cascada (ON DELETE/UPDATE CASCADE) El borrado de tuplas de la relacin con la clave referenciada (o la modificacin de la clave) lleva consigo el borrado (o modificacin) en cascada de las tuplas de la relacin que contiene la clave fornea.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 23

2. 2 Restricciones de Integridad 2.2 Restricciones Semnticas i i i


Operacin con puesta a nulos (ON DELETE SET NULL) El borrado de tuplas de la relacin con la clave referenciada (o la modificacin de la clave) lleva consigo poner a nulos los valores de las claves f l forneas de la relacin que referencia. d l l i f i Operacin con puesta a valor por defecto (SET DEFAULT) El borrado de tuplas de la relacin con la clave referenciada (o la modificacin de la clave) lleva consigo poner el valor por omisin a la clave fornea de la relacin que referencia. l f d l l i f i

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

24

2. 2 Restricciones de Integridad 2.2 2 2 Restricciones Semnticas


Verificacin (CHECK)
P Permite especificar una condicin que deben cumplir todas las tuplas i ifi di i d b li d l l de la relacin. Esta condicin se comprueba siempre que se actualiza o se aade una nueva tupla. CHECK (N_HORAS > 30).

Asercin (ASSERTION)
La asercin funciona de forma similar a la verificacin, pero en este caso l condicin puede afectar a varios elementos, incluso a varias la di i d f i l i l i relaciones.
CREATE ASSERTION CONCEDE_SOLICITA AS CHECK (SELECT Cod_Estudiante, Cod_Beca FROM CONCEDE) IN (SELECT Cod_Estudiante, Cod_Beca FROM SOLICITA));

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

25

2. Restricciones de Integridad 2.2 Restricciones Semnticas


Disparador (TRIGGER)
Permite que el usuario especifique cmo debe reaccionar el sistema cuando se satisface una condicin.
(1,N) Matrcula (1,N)

ESTUDIANTES

CURSOS

CREATE TABLE estudiantes ( DNI CHAR(8) PRIMARY KEY, nombre VARCHAR2(20), apellidos VARCHAR2(20), localidad VARCHAR2(30), telefono CHAR(9) );

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

26

2. Restricciones de Integridad 2.2 Restricciones Semnticas


Disparador (TRIGGER)
Permite que el usuario especifique cmo debe reaccionar el sistema cuando se satisface una condicin.
CREATE TABLE cursos ( CODIGO nombre especialidad localidad duracion

CHAR(5) PRIMARY KEY, ( ) , VARCHAR2(20), VARCHAR2(20), VARCHAR2(30), NUMBER(2) );

CREATE TABLE matricula ( CODIGO CHAR(5) REFERENCES CURSOS(CODIGO), DNI CHAR(8) REFERENCES ESTUDIANTES(DNI), PRIMARY KEY (CODIGO,DNI) );
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 27

2. Restricciones de Integridad 2.2 Restricciones Semnticas


RESTRICCION: Un estudiante no se puede matricular en cursos que no se impartan en su localidad.
CREATE OR REPLACE TRIGGER MISMALOC BEFORE INSERT ON MATRICULA FOR EACH ROW DECLARE LOC_EST ESTUDIANTES.LOCALIDAD%TYPE; LOC_CUR CURSOS.LOCALIDAD%TYPE; BEGIN SELECT LOCALIDAD INTO LOC_EST FROM ESTUDIANTES WHERE DNI = :NEW.DNI; SELECT LOCALIDAD INTO LOC_CUR FROM CURSOS WHERE CODIGO = :NEW.CODIGO; IF LOC_EST != LOC_CUR THEN RAISE_APPLICATION_ERROR(-20112, 'El curso no se imparte en la localidad del estudiante'); END IF; END MISMALOC;

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

28

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Las dependencias funcionales (DF) representan dependencias entre los distintos atributos que componen una relacin. t l di ti t t ib t l i Las dependencias funcionales permiten determinar posibles claves de una relacin. relacin Las dependencias funcionales sirven como base para la teora de la normalizacin de las bases de datos propuesta por Boyce y Codd. Esta teora de la normalizacin permite eliminar ciertas anomalas en el diseo de las bases de datos relacionales (ver Tema 4: Diseo en el Modelo Relacional).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

29

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Dada la relacin R y X e Y subconjuntos de los atributos de R, decimos que Y depende funcionalmente de X, si para dos tuplas cualesquiera de R u y v, si u[X]=v[X] entonces u[Y]=v[Y]. Ejemplo 1:
DNI Nombre (en la relacin Personal(DNI, nombre)).

Ejemplo 2:
F = { CP Ciudad, Ciudad, Direccion Ci d d Ci d d Di i CP } (en la relacin Cdigo Postal(Direccion, Ciudad, CP) ).

Una relacin se podr describir como: (R, F), donde R es el conjunto de atributos de la relacin y F el conjunto de dependencias funcionales entre dichos atributos.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 30

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Una dependencia funcional f es consecuencia lgica de un j p ( conjunto de dependencias funcionales F (F f ) si se verifica en toda ocurrencia r de R(A,F). El cierre de un conjunto de dependencias funcionales F (F+) es F+ = { f / F f }. } F es una familia completa de dependencias funcionales si F+ = F. Es necesario calcular F+ para entender las implicaciones lgicas entre las dependencias, poder determinar las claves y decidir si una dependencia funcional f pertenece a F+ o no. Para ello es necesario disponer de reglas de inferencia, como los axiomas de Armstrong.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 31

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Axiomas de Armstrong
A1. Reflexividad f
YXX Y YZ

A2. Aumento
X X Y Y XZ Y Z

(X,Y,Z subconjuntos de atributos)

A3. Transitividad X
Z

Una DF f se deriva de F (F f ) si existe una secuencia f1, f2, ......, fn / fn = f y ( cada fi o bien pertenece a F o bien se deriva de las dependencias precedentes mediante la utilizacin de los axiomas de Armstrong.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

32

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Reglas derivadas de los axiomas de Armstrong
R1 Unin R1.
X X X YW X Y ZY Y Z

YZ

(W,X,Y,Z subconjuntos de atributos)

R2. Pseudotransitividad
Y XW Z Z

R3. Descomposicin X
Z

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

33

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Corolario
X A1 A2 An X Ai , i { 1, , n }

Y depende funcionalmente en forma elemental de X si


X Y X X / X Y

Un subconjunto de atributos X de una relacin R({A1 A2 An },F) es clave candidata de dicha relacin si
X A1 A2 An F+ Y X / Y A1 A2 An F+

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

34

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


El cierre de un subconjunto de atributos X (X+) en una relacin R({A1 A2 An },F) es
X+= { A A1 A2 An / F
X A}

Lema: si X

Y se deriva de los axiomas de Armstrong Y X+.

El clculo del cierre de un subconjunto de atributos permitir determinar si una DF pertenece o no al cierre de ese subconjunto de atributos, lo que permite determinar si un subconjunto es clave o no.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

35

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Clculo del cierre de un subconjunto de atributos X
Entrada
U = { A1 A2 An } (Atributos de la relacin R) F (Conjunto de dependencias funcionales en U) XU

Salida
X+ (Cierre de X respecto a F)

Mtodo (se calcula una secuencia de conjuntos X(0), X(1) , )


Paso 1. X(0) = X Paso 2. X(i+1) = X(i) { A U / ( Y Z F) (A Z) (Y X(i)) } Repetir el paso 2 hasta que X(i) = X(i+1) = X+. R tiene un nmero finito de atributos el proceso termina. termina
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 36

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Clculo del cierre de un subconjunto de atributos X
Ejemplo
R (A, F) A = { A, B, C, D, E, G } F = { AB C, C A, BC D, ACD B, D EG, BE C, CG BD, CE AG } X = BD = X(0) (queremos saber si BD podra ser clave candidata en R) X(1) = BDEG D EG X(2) = BCDEG BE C X(3) = ABCDEG = X+ C A

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

37

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Clculo del cierre de un subconjunto de atributos X
Dos conjuntos de dependencias funcionales F y G son equivalentes si
F+ = G+

Es fcil saber si dos conjuntos de dependencias funcionales F y G son equivalentes comprobando que
F G+ G F+

Lema: todo conjunto de dependencias funcionales F es equivalente a un conjunto de dependencias funcionales G en el que no existen dependencias funcionales con ms de un atributo en el lado derecho. Teorema: todo conjunto de dependencias funcionales F tiene al menos una cobertura minimal (aunque no es nica).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

38

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Clculo del cierre de un subconjunto de atributos X
Un conjunto de dependencias funcionales F es minimal si:
a) Todos los atributos de la parte derecha de las dependencias funcionales son simples (tienen un solo atributo). b) ( X A F) / (F - { X A } ) ~ F (no existen dependencias redundantes, es decir, no existen dependencias que pueden ser deducidas a partir de otras utilizando los axiomas de Armstrong). c) ( X A F) / (F - { X A } { Z A } ) ~ F (no se dan casos tales que existe X A y XY A X A, se dice que los atributos del conjunto Y ) son externos o extraos).

Minimizar el nmero de DF permite


Reducir la complejidad algortmica, al reducir el nmero de DF de partida. R d i el nmero de restricciones de integridad que debe controlar el SGBD. Reducir l d ti i d i t id d d b t l l SGBD
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 39

3. 3 Teora de las Dependencias 3.1 3 1 Dependencias Funcionales Claves Funcionales. Claves.


Clculo del cierre de un subconjunto de atributos X
Ejemplo 1 de conjunto de dependencias funcionales minimal
F = { A B, B A, B C, A C, C A } Solucin 1. Eliminar { B A, A C } (B C C A) B A (A B B C) A C Solucin 2. Eliminar { B C } (C A A B) B C

Ejemplo 2 de conjunto de dependencias funcionales minimal


F = { AB C, C A, BC D, ACD B, D , CG B , CG D , CE A , CE G } Redundantes: { CE A, CG B } Atributos externos: ACD B , CD B
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008

E,D

G , BE

40

Вам также может понравиться