Forma normal de dominio llave
La forma norma de dominio-clave esta basada en tres nociones:
DECLARACIÓN DE DOMINIO. Sea A un atributo, sea down un conjunto de valores. La declaración de dominio AÍ down requiere que el valor de A de todas las tuplas sean valores en down.
DECLARACIÓN DE CLAVE. Sea R un esquema de relaciones en que KÍ R. La declaración de clave key (K) sea una superclave del esquema R es decir K ->-> R. Obsérvese que todas las declaraciones funcionales pero no todas las dependencias funcionales son declaraciones de clave.
RESTRICCIÓN GENERAL. Una restricción general es un predicado en el conjunto de todas las relaciones de un esquema dado.
Ejercicios :
Diseñe los modelos que considere mas eficientes para cada uno de los siguientes casos:
a) una empresa desea automatizar su proceso de facturación las facturas contienen un numero de folio, la fecha, los datos del cliente (RFC, nombre, dirección) y de los productos que la factura ampara (clave, descripción, cantidad costo unitario e importe.)
Versión 1
PROBLEMAS
* Se repetirían nombre, RFC, dom.
* En una misma factura se repetirían (fecha, numero de factura).
* No hace falta guardar el importe.
Versión 2
PROBLEMAS
* Repetir datos del cliente por cada factura
* Repite campo RFC y NUMFOL
* No es necesario guardar el importe
Versión 3
PROBLEMAS
* Se repiten datos innecesariamente para cada articulo FECHA y RFC.
Versión 4
PROBLEMAS
* Se graba importe que es innecesario
* Se repetirían para cada factura.
Versión 5
PROBLEMAS
* Se repite fecha y RFC
Versión 6
PROBLEMAS
* No se sabría en que factura va la venta.
Versión 7
PROBLEMAS
* Se repiten CLAVE, DESCRIP y PUNIT para cada venta de ese articulo.
MODELO OPTIMO
Versión 8
*NOTACIÓN
X->-> Y (Y depende de X)
b)Dado una relación R, el atributo Y de R es funcionalmente dependiente del atributo X de R si y solo siempre que dos tuplas de R coincidan en sus valores de X también coincidan en sus valores de Y.
Ejemplo:
APLICACIÓN DE LAS Dfs
Existen básicamente tres aplicaciones para las dependencias funcionales:
1.- Determinar si una relación es legal bajo un conjunto dado de dependencias funcionales. Si una relación R es legal bajo un conjunto F de dependencias funcionales, se dice que R satisface a F.
R= Equipos
F1={1,2,3,4,5,6} R no satisface a F1
F2={2,4} R si satisface a F2
2.- Especificar las limitaciones del conjunto de relaciones legales; de esta manera, se manejaran solamente las relaciones que satisfagan a un conjunto de dependencias funcionales. 3 .- Generación de descomposiciones sin perdida mediante la aplicación de diversos postulados preestablecidos para este fin.
Ejemplo:
X->-> (Y,Z) Descomposición
X ->-> Y sin perdida con perdida
X->-> Z (XYZ) (XYZ)
ßß
(XY) (XZ) (XY) (YZ)
Se dice que una dependencia funcional es trivial cuando todas las relaciones la satisfacen. En general, una dependencia funcional de la forma X->-> Y es trivial si X es un subconjunto impropio de Y (X y Y se forman de los mismos atributos)Ejemplo: de dependencias funcionales triviales.
NC->-> NC
(NC,NOM) ->-> (NC,NOM)
Una dependencia funcional de la forma X->-> Y es completa si Y depende funcionalmente de X y no depende funcionalmente de ningún subconjunto propio de X. (X,Y)->-> Y
X->-> Z
X->-> Y
Ejemplo: (NC,NOM) ->-> CARR ES INCOMPLETA
NC->-> CARR
NC->-> NOM ES COMPLETA
(NC,CLAVEMATERIA,PERIODO) ->-> CAL ES COMPLETA