DependenciaFuncionalDependencia funcional es una relación entre atributos de una misma relación(tabla). Si X e Y son atributos de la relación R, se dice que Y es funcionalmente dependiente de X (se denota por X--> Y) si cada valor de X tiene asociado un solo valor de X (X e Y pueden constar de uno o varios atributos). A X se le denomina determinante, ya que X determina el valor de Y. Se dice que el atributo Y es completamente dependiente de X si depende funcionalmente de X y no depende de ningún subconjunto de X.http://es.wikipedia.org/wiki/Dependencia_funcionalLas dependencias funcionales son restricciones de integridad sobre los datos. Conocer las dependencias funcionales en el momento del diseño de la base de datos permite crear mecanismos para evitar la redundancia (y los potenciales problemas de integridad que eso conlleva) y mejorar la eficiencia.
DependenciaFuncionalPor ejemplo, sea la siguiente relacion: Vehiculo(serie, nombre, motor, carroceria, peso, eficiencia).Aqui, serie es la clave. Por ende, hay solo un [modelo de] motor por serie, solo una [forma de]carroceriapor serie, solo un peso por serie y solo una eficiencia [energetica] por serie: nombre = nombre(         serie), motor = motor(serie), asi, como sigue. O sea, serie nombre, motor, carrocera, peso, eficiencia         (la relación es función de su clave; solo hay una tupla por clave).Sea un relación Película(título, año, estudio, presidente, fono_presidente).Digamos que ”título” es la clave  de la relación (determina todo). Sin embargo, notemos que el presidente de un estudio se puede determinar conociendo el estudio y el año (idealmente).         estudio, año            presidente.                 Además, es claro que          presidente              fono_presidente.           La relación ”Película” fue mal modelada desde un principio. En un modelo entidad-relacion,         ”Película”, ”Estudio” y ”Presidente” deberían ser entidades distintas, luego relaciones distintas en el modelo relacional.
Normalización la normalización son una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica a proteger los datos, lo cual permite hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. ¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Las guías que la normalización provee crean el marco de referencia para simplificar una estructura de datos compleja.Se toma un esquema relacional y se le aplica un conjunto de técnicas para producir un nuevo esquema que representa la misma información pero contiene menos redundancias y evita posibles anomalías en las inserciones, actualizaciones y borrados. tablas relacionales se pueden definir diferentes restricciones La integridad de entidad: Cada entidad representada por una tupla o fila tiene que ser diferente de las demás en su relación(Claves primarias). La integridad referencial: La clave foránea solo debe contener valores que o bien sean nulos, o bien existan en la relación referenciada por la clave foránea.http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
NormalizaciónEsquema relacionalEMPLEADOS(idnumero, nombre, puesto, salario, emails) con idnumerocomo clave primaria.
Primera forma normal (1FN)Una tabla está en 1FN si sus atributos contienen valores atómicos. En el ejemplo, podemos ver que el atributo emails puede contener más de un valor, por lo que viola 1FN.http://es.wikipedia.org/wiki/Primera_forma_normaltenemos dos opciones.Solución 1: duplicar los registros con valores repetidos En general, esta solución pasa por sustituir R por una nueva relación modicada R', en la cual:  El atributo M que violaba 1FN se elimina.  Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno  de los valores que teníamos en R[M], entonces R'[K] = R[K]. En otras palabras, para una tupla con n valores duplicados en M, en la nueva relación habrá n tuplas, que sólo varían en que cada una de ellas guarda uno de los valores que había en M.La clave primaria de R' es (K, M'), dado que podrá haber valores de K repetidos, para los valores multivaluados en M.
Primera forma normal (1FN)Una tabla está en 1FN si sus atributos contienen valores atómicos. En el ejemplo, podemos ver que el atributo emails puede contener más de un valor, por lo que viola 1FN.
tenemos dos opciones.
Solución 1: duplicar los registros con valores repetidos
Sustituir R por una nueva relación modicada R', en la cual:
 El atributo M que violaba 1FN se elimina.  Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno  de los valores que teníamos en R[M], entonces R'[K] = R[K].
La clave primaria de R' es (K, M'), dado que podrá haber valores de K repetidos, para los valores multivaluados en M.la nueva tabla EMPLEADOS'(a)clave primaria(PK)(idnumero, email):
Primera forma normal (1FN)Solución 2: separar el atributo que viola 1FN en una tabla .
sustituir R por una nueva relación modificada R' que no contiene el atributo M.
Crear una nueva relación N(K, M'), es decir, una relación con una clave foránea K referenciando R', junto al atributo M', que es la variante mono-valuada del atributo M.
La nueva relación N tiene como clave (K, M').la nueva tabla EMPLEADOS‘(b)la nueva tabla EMAILSclave primaria(PK)(idnumero, email):

Normalizacion db

  • 1.
    DependenciaFuncionalDependencia funcional es unarelación entre atributos de una misma relación(tabla). Si X e Y son atributos de la relación R, se dice que Y es funcionalmente dependiente de X (se denota por X--> Y) si cada valor de X tiene asociado un solo valor de X (X e Y pueden constar de uno o varios atributos). A X se le denomina determinante, ya que X determina el valor de Y. Se dice que el atributo Y es completamente dependiente de X si depende funcionalmente de X y no depende de ningún subconjunto de X.http://es.wikipedia.org/wiki/Dependencia_funcionalLas dependencias funcionales son restricciones de integridad sobre los datos. Conocer las dependencias funcionales en el momento del diseño de la base de datos permite crear mecanismos para evitar la redundancia (y los potenciales problemas de integridad que eso conlleva) y mejorar la eficiencia.
  • 2.
    DependenciaFuncionalPor ejemplo, seala siguiente relacion: Vehiculo(serie, nombre, motor, carroceria, peso, eficiencia).Aqui, serie es la clave. Por ende, hay solo un [modelo de] motor por serie, solo una [forma de]carroceriapor serie, solo un peso por serie y solo una eficiencia [energetica] por serie: nombre = nombre( serie), motor = motor(serie), asi, como sigue. O sea, serie nombre, motor, carrocera, peso, eficiencia (la relación es función de su clave; solo hay una tupla por clave).Sea un relación Película(título, año, estudio, presidente, fono_presidente).Digamos que ”título” es la clave de la relación (determina todo). Sin embargo, notemos que el presidente de un estudio se puede determinar conociendo el estudio y el año (idealmente). estudio, año presidente. Además, es claro que   presidente fono_presidente.  La relación ”Película” fue mal modelada desde un principio. En un modelo entidad-relacion, ”Película”, ”Estudio” y ”Presidente” deberían ser entidades distintas, luego relaciones distintas en el modelo relacional.
  • 3.
    Normalización la normalización sonuna serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica a proteger los datos, lo cual permite hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. ¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Las guías que la normalización provee crean el marco de referencia para simplificar una estructura de datos compleja.Se toma un esquema relacional y se le aplica un conjunto de técnicas para producir un nuevo esquema que representa la misma información pero contiene menos redundancias y evita posibles anomalías en las inserciones, actualizaciones y borrados. tablas relacionales se pueden definir diferentes restricciones La integridad de entidad: Cada entidad representada por una tupla o fila tiene que ser diferente de las demás en su relación(Claves primarias). La integridad referencial: La clave foránea solo debe contener valores que o bien sean nulos, o bien existan en la relación referenciada por la clave foránea.http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
  • 4.
    NormalizaciónEsquema relacionalEMPLEADOS(idnumero, nombre,puesto, salario, emails) con idnumerocomo clave primaria.
  • 5.
    Primera forma normal(1FN)Una tabla está en 1FN si sus atributos contienen valores atómicos. En el ejemplo, podemos ver que el atributo emails puede contener más de un valor, por lo que viola 1FN.http://es.wikipedia.org/wiki/Primera_forma_normaltenemos dos opciones.Solución 1: duplicar los registros con valores repetidos En general, esta solución pasa por sustituir R por una nueva relación modicada R', en la cual: El atributo M que violaba 1FN se elimina. Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno de los valores que teníamos en R[M], entonces R'[K] = R[K]. En otras palabras, para una tupla con n valores duplicados en M, en la nueva relación habrá n tuplas, que sólo varían en que cada una de ellas guarda uno de los valores que había en M.La clave primaria de R' es (K, M'), dado que podrá haber valores de K repetidos, para los valores multivaluados en M.
  • 6.
    Primera forma normal(1FN)Una tabla está en 1FN si sus atributos contienen valores atómicos. En el ejemplo, podemos ver que el atributo emails puede contener más de un valor, por lo que viola 1FN.
  • 7.
  • 8.
    Solución 1: duplicarlos registros con valores repetidos
  • 9.
    Sustituir R poruna nueva relación modicada R', en la cual:
  • 10.
    El atributoM que violaba 1FN se elimina. Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno de los valores que teníamos en R[M], entonces R'[K] = R[K].
  • 11.
    La clave primariade R' es (K, M'), dado que podrá haber valores de K repetidos, para los valores multivaluados en M.la nueva tabla EMPLEADOS'(a)clave primaria(PK)(idnumero, email):
  • 12.
    Primera forma normal(1FN)Solución 2: separar el atributo que viola 1FN en una tabla .
  • 13.
    sustituir R poruna nueva relación modificada R' que no contiene el atributo M.
  • 14.
    Crear una nuevarelación N(K, M'), es decir, una relación con una clave foránea K referenciando R', junto al atributo M', que es la variante mono-valuada del atributo M.
  • 15.
    La nueva relaciónN tiene como clave (K, M').la nueva tabla EMPLEADOS‘(b)la nueva tabla EMAILSclave primaria(PK)(idnumero, email):