SlideShare a Scribd company logo
1 of 15
DependenciaFuncional ,[object Object],http://es.wikipedia.org/wiki/Dependencia_funcional Las 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.
DependenciaFuncional Por 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ón Esquema relacional EMPLEADOS(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_normal tenemos 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) ,[object Object]
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) ,[object Object]
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 EMAILS clave primaria(PK) (idnumero, email):

More Related Content

What's hot

INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
itsl
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
omarzon
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
sarai0000
 

What's hot (20)

Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datos
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Base datos normalización une
Base datos normalización uneBase datos normalización une
Base datos normalización une
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Dbms normalization
Dbms normalizationDbms normalization
Dbms normalization
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
modelo er
modelo ermodelo er
modelo er
 
Listas
ListasListas
Listas
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 

Similar to Normalizacion db

Ejemplo de Normalización
Ejemplo de Normalización Ejemplo de Normalización
Ejemplo de Normalización
Martha
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
jorge220395
 
optimizacion de la base de datos relaionales
optimizacion de la base de datos relaionalesoptimizacion de la base de datos relaionales
optimizacion de la base de datos relaionales
Francis Xavier
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 

Similar to Normalizacion db (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Ejercicio
EjercicioEjercicio
Ejercicio
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Ejemplo de Normalización
Ejemplo de Normalización Ejemplo de Normalización
Ejemplo de Normalización
 
4. diseño logico. relacional
4. diseño logico. relacional4. diseño logico. relacional
4. diseño logico. relacional
 
Unidad iv base de datos
Unidad iv base de datosUnidad iv base de datos
Unidad iv base de datos
 
normalizacion
normalizacionnormalizacion
normalizacion
 
normalizacion
normalizacionnormalizacion
normalizacion
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Actividad 9
Actividad 9Actividad 9
Actividad 9
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
Presentacion g4
Presentacion g4Presentacion g4
Presentacion g4
 
Diseño lógico de bases de datos.
Diseño lógico de bases de datos.Diseño lógico de bases de datos.
Diseño lógico de bases de datos.
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
 
optimizacion de la base de datos relaionales
optimizacion de la base de datos relaionalesoptimizacion de la base de datos relaionales
optimizacion de la base de datos relaionales
 
Presentación1
Presentación1Presentación1
Presentación1
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 

More from josecuartas

Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
josecuartas
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
josecuartas
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datos
josecuartas
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la información
josecuartas
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
josecuartas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datos
josecuartas
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
josecuartas
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
josecuartas
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
josecuartas
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
josecuartas
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
josecuartas
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 

More from josecuartas (20)

Seguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datosSeguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datos
 
Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
 
Tableros de control o Dashboard
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboard
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datos
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la información
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xml
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datos
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de información
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 

Recently uploaded

Recently uploaded (20)

Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptx
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docx
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbxCARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 

Normalizacion db

  • 1.
  • 2. DependenciaFuncional Por 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.
  • 3. 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
  • 4. Normalización Esquema relacional EMPLEADOS(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_normal tenemos 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.
  • 8. Solución 1: duplicar los registros con valores repetidos
  • 9. Sustituir R por una nueva relación modicada R', en la cual:
  • 10. 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].
  • 11. 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):
  • 12.
  • 13. sustituir R por una nueva relación modificada R' que no contiene el atributo M.
  • 14. 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.
  • 15. La nueva relación N tiene como clave (K, M').la nueva tabla EMPLEADOS‘(b) la nueva tabla EMAILS clave primaria(PK) (idnumero, email):
  • 16. Segunda forma normal (2FN) Está en 1FN. Todos sus atributos que no son de la clave principal tienen dependencia funcional completa respecto de todas las claves existentes en el esquema. En otras palabras, para determinar cada atributo no clave se necesita la clave primaria completa, no vale con una subclave. La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o más atributos. Si una relación está en 1FN y su clave primaria es simple (tiene un solo atributo), entonces también está en 2FN. En general, tendremos que observar los atributos no clave que dependan de parte de la clave. http://es.wikipedia.org/wiki/Segunda_forma_normal Para solucionar este problema, tenemos que hacer lo siguiente para los grupos de atributos con dependencia incompleta M: Eliminar de R el atributo M. Crear una nueva relación N con el atributo M y la parte de la clave primaria K de la que depende, que llamaremos K'. La clave primaria de la nueva relación será K'.
  • 17.
  • 18. Por tanto, la tabla EMPLEADOS'(b) está en 1FN
  • 19. La tabla EMAILS no tiene atributos no clave, por lo que el esquema está en 2FN. tabla EMPLEADOS‘(b) tabla EMAILS clave primaria(PK) (idnumero, email):
  • 20.
  • 21. Las dependencias funcionales que tenemos son las siguientes:
  • 24. Como la clave es (idnumero, email), las dependencias de nombre, salario y email son incompletas, por lo que la relación no está en 2FN. tabla EMPLEADOS'(a) clave primaria(PK) (idnumero, email)
  • 25.
  • 26. Eliminar de Empleados(a) el atributo EMAILS como resultado queda la relación EMPLEADOS’(d) .
  • 27. Crear una nueva relación EMAILS con el atributo emails y la parte de la clave primaria de empleados (idnumero) de la que depende, que llamaremos K'.
  • 28. La clave primaria de la nueva relación será PK'. tabla EMPLEADOS’(d) tabla EMAILS clave primaria(PK’) (idnumero, email):
  • 29. Tercera forma normal (3FN) Está en 2FN. Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave candidata o primaria La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o más atributos. Si una relación está en 1FN y su clave primaria es simple (tiene un solo atributo), entonces también está en 2FN. En general, tendremos que observar los atributos no clave que dependan de parte de la clave. http://es.wikipedia.org/wiki/Tercera_forma_normal Para solucionar este problema, tenemos que hacer lo siguiente para los grupos de atributos con dependencia incompleta M: Determinar los atributos que son dependientes de un atributo que no es clave. Sustituir R por una nueva relación modicada R', en la cual: El o los atributos M que son dependientes se eliminan. Crear una nueva relación N con los atributos M que son dependientes y la clave primaria K de la que depende, que llamaremos K'.
  • 30.
  • 31.
  • 32. Eliminar de ordenes(a) los atributos NOM_CLIENTE y ESTADO como resultado queda la relación ORDENES’(d) .
  • 33. Crear una nueva relación CLIENTES con el atributo ID_CLIENTE como clave primaria, y los atributos NOM_CLIENTES y ESTADO que son atributos dependientes de ID_CLIENTETabla Ordenes ’(d) Tabla Clientes(d)
  • 34. NORMALIZACIÓN Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento, por esto es de gran utilidad hacer normalización en la base de datos. La normalización no es una ciencia exacta, más bien subjetiva. “Cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos. Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno.”