Subido por jorgeA marinM

3.1.1.- Dependencias funcionales UD03.- Interpretación del diseño lógico. Modelo relacional

Anuncio
|
UD03.- Interpretación del diseño lógico. Modelo relacional.
3.1.1.- Dependencias funcionales
Como ya hemos comentado, para aplicar correctamente la normalización es necesario partir del concepto de dependencia. La dependencia es un conjunto
de restricciones que se imponen a determinados atributos de las tablas.
Se denominan dependencias a las relaciones que existen entre los atributos en el mundo real y que son recogidas en el modelo lógico de la base de datos.
Dependencias funcionales: se producen cuando tenemos una tabla con una serie de atributos. Se dice que un atributo tiene dependencia funcional de
otro cuando a cada valor del primero le corresponde un solo valor del segundo.
Si A y B son subconjuntos de atributos de una tabla, diremos que B depende funcionalmente de A (o también que A determina a B) si cada valor de
A tiene asociado siempre un único valor de B.
A → B (se lee: A determina a B)
Caso práctico
Supongamos que tenemos la siguiente tabla:
NumPedido
FechaPedido
Artículo
Descripcion
Cantidad
Precio
FechaPrevista
NomProv
PaisProv
Moneda
22.523
25-05-2000
PC3-500
PC Pentium
III a 500
5
150
1-06-2000
ARKANSAS
CHINA
EUR
22.523
25-05-2000
PRO-15
Protector
pantalla 15 "
5
8
1-06-2000
ARKANSAS
CHINA
EUR
22524
27-05-2000
PC3-500
PC Pentium
III a 500
15
145
5-06-2000
MELISSA
ITALIA
USD
22524
27-05-2000
PRO-15
Protector
pantalla 15 "
15
50
5-06-2000
MELISSA
ITALIA
USD
22.525
27-05-2000
INK430
Cartucho de
tinta 430
20
25
31-5-2000
ARKANSAS
CHINA
EUR
Diríamos que, entre otros, la FechaPedido (B) depende funcionalmente del NumPedido (A) porque para cada valor de NumPedido existe uno, y sólo uno,
valor de FechaPedido asociado con él. Los atributos FechaPrevista, NomProv, PaisProv y Moneda también dependen funcionalmente de NumPedido.
Podríamos escribir como sigue:
NumPedido -→ FechaPedido
NumPedido -→ FechaPrevista
NumPedido -→ NomProv
NumPedido -→ PaisProv
NumPedido -→ Moneda
Al tratarse de diferentes atributos que dependen funcionalmente de un mismo atributo, escribiremos:
(1) NumPedido -→ FechaPedido, FechaPrevista, NomProv, PaisProv, Moneda
Además de la anterior, tendríamos también las siguientes dependencias funcionales:
(2) NomProv-→ PaisProv
(3) Articulo → Descripcion
(4) NumPedido, Articulo → Cantidad, Precio
Dependencia funcional completa: cuando un atributo depende de otro que es un atributo compuesto (un conjunto de atributos), se dice que la
dependencia funcional es completa si el atributo dependiente no depende de ningún subconjunto del atributo compuesto.
Es decir; en una dependencia funcional A→ B, cuando A es un conjunto de atributos, decimos que la dependencia funcional es completa si solo
depende de A, pero no depende funcionalmente de ningún subconjunto de A.
Caso práctico
En el ejemplo anterior, las dependencias (1), (2) y (3) son completas, ya que la parte izquierda de la dependencia está formada por un único atributo y,
por tanto, es imposible que la parte derecha de la dependencia pueda depender de un subconjunto. La dependencia (4) también es completa, ya
que Cantidad y Precio dependen de la pareja (NumPedido, Artículo) y no de ningún subconjunto de ésta.
Dependencia funcional transitiva. Es una dependencia de un atributo no principal de otro no principal.
Cuando se tienen tres atributos X, Y y Z se cumple que X → Y, Y → Z pero no Y → X (Y no determina X). Por tanto Z tiene dependencia transitiva con
respecto a X, a través de Y.
Caso práctico
En el ejemplo anterior podemos decir que PaisProv depende transitivamente de NumPedido a través de NomProv.
Autoevaluación
Partiendo de la siguiente relación, seleccionar la alternativa que re eje las dependencias existentes entre sus atributos:
MODULOS ( ClaveModulo, NombreModulo, Horas, Aula, ClaveCiclo, NombreCiclo)
ClaveMódulo → NombreMódulo, Horas, Aula, ClaveCiclo, NombreCiclo
ClaveCiclo → NombreCiclo
ClaveMódulo → NombreMódulo, Horas, Aula, ClaveCiclo, NombreCiclo
ClaveMódulo → NombreMódulo, Horas, Aula
ClaveCiclo → NombreCiclo
ClaveCiclo → NombreCiclo, ClaveMódulo, NombreMódulo, Aula, Horas
ClaveMódulo → NombreMódulo
« Anterior
|
Siguiente »
Descargar