2010-11-16 21 views
11

Estoy tratando de encontrar un gran recurso para estudiar la dependencia funcional y la normalización.Dependencia funcional y normalización

¿Alguien tiene alguna idea de dónde debo buscar? ¿Tengo dificultades para diferenciar si un FD está en 1NF, 2NF o 3NF?

He estado leyendo Wikipedia y he usado la búsqueda de Google para encontrar buenas investigaciones, pero no encuentro ninguna que lo explique en términos simples.

Quizás todos ustedes puedan compartir sobre cómo aprendieron los FD y la normalización durante su vida también.

Respuesta

28

una dependencia funcional define una relación funcional entre los atributos. Por ejemplo: PersonId determina funcionalmente BirthDate (normalmente escrito como PersonId -> BirthDate). Otra forma de decir esto es: hay exactamente una Fecha de Nacimiento para cualquier dado dado cualquier instancia de una persona. Tenga en cuenta que el inverso puede o no ser cierto. Muchas personas pueden haber nacido el mismo día. Dado un BirthDate, podemos encontrar muchos PersonId compartiendo esa fecha.

Los conjuntos de dependencias funcionales se pueden usar para sintetizar relaciones (tablas). La definición de las primeras 3 formas normales, incluida la Forma normal de Boyce Codd (BCNF) se establece en términos de cómo un conjunto dado de relaciones representa dependencias funcionales. Cuarta y quinta formas normales implican dependencias de múltiples valores (otra olla de pescado).

Aquí hay algunos recursos gratuitos sobre Dependencias funcionales, Normalización y diseño de bases de datos. Prepárate para ejercitar tus habilidades cerebrales y matemáticas al estudiar este material.

Los siguientes son "presentaciones de diapositivas" de varios sitios académicos ...

Los siguientes son documentos académicos. Lectura más pesada, pero bien vale la pena el esfuerzo.

Si usted está seriamente interesado en este tema le sugiero que ponga el dinero en efectivo para un buen libro sobre el tema de diseño de bases de datos relacionales.Por ejemplo: An Introduction to Database Systems by C.J. Date

+0

Gracias por todas las explicaciones, solo estoy tratando de obtener una comprensión completa de esto para mi examen – aherlambang

+0

4NF involucra dependencias multivalor (MVD) y 5NF implica dependencias de unión (JD). Pero un JD binario corresponde a un par de MVD (que vienen en pares de todos modos). Entonces, "4 ° y 5 ° NF involucran" JD (no MVD). – philipxy

3

Podemos entender la dependencia funcional de una manera que supongamos que tenemos dos atributos y un atributo totalmente dependiente de la otra se denomina dependencia funcional.

Digamos que tomemos un ejemplo de la vida real. Sabemos que todos tienen un número de seguro social en contra del nombre de la persona. Diga Frank es una persona y queremos saber el número de seguro social de esta persona, pero la base de datos no podrá ayudarnos con esta información porque puede haber muchas personas llamadas francas, pero podemos determinar el nombre de la persona contra el número de seguro social, así la persona es totalmente funcional dependiente del número de Seguridad Social.

5

Una dependencia funcional es una restricción entre columnas de su tabla. Por ejemplo, en la persona de mesa:

 
SSN   | Name   | Date of birth | Address  | Phone number 
------------------------------------------------------------------------ 
123-98-1234 | Cindy Cry | 15-05-1983 | Los Angeles | 123-456-7891 
121-45-6145 | John O'Neill | 30-01-1980 | Paris  | 568-974-2562 
658-78-2369 | John Lannoy | 30-01-1980 | Dallas  | 963-258-7413 

En este caso, el valor en la columna SSN (número de seguro social) determina los valores en las columnas nombre, fecha de nacimiento, dirección y número de teléfono. Esto significa que si tuviéramos dos filas con el mismo valor en la columna del SSN, los valores en el nombre de la columna, fecha de nacimiento, dirección y número de teléfono serían iguales a. Una persona con SSN 123-98-1234 siempre se llama Cindy Cry, nace el 15-05-1983, y así sucesivamente. Una situación como esta se llama dependencia funcional.

La noción de dependencias funcionales se usa para definir la segunda y tercera forma normal y la forma normal de Boyce-Codd (BCNF).

Para leer más acerca de las dependencias funcionales y normalización se puede ir a los libros a continuación, conocidos como académicos Introducción a las bases de datos por C. J. Fecha, o cualquiera de los books by the H. Garcia-Molina, J.Ullman, J.Widom trio.

Si desea un enfoque menos formal, somos starting a series of posts on data normalization on our company blog.

2

¿Qué es Dependencia funcional?

dependencias funcionales son fundamentales para el proceso de normalización de dependencia funcional describe la relación entre atributos (columnas) en una tabla. En otras palabras, una dependencia FD: X → Y significa que los valores de Y se determinan por los valores de X. Dos tuplas que comparten los mismos valores de X tendrá necesariamente los mismos valores de Y. enter image description here

¿Qué es la normalización de la base de datos?

normalización de bases de datos es un proceso formal sabia paso que nos permite descomponer las tablas de bases de datos, de tal manera que tanto la redundancia de datos y la actualización de las anomalías (véase más arriba para obtener más información sobre anomalías de actualización) se reducen al mínimo.

enter image description here Courtesy

0

de dependencia funcional

dependencia funcional se puede definir como la relación entre los atributos que sale en relación. Las dependencias funcionales se usan para crear relaciones en la forma normal de Boyce Codd, abreviada como BCNF.Si C y D son los atributos de la relación R y el atributo C determina funcionalmente los atributos D, entonces la dependencia funcional entre ambos atributos se puede expresar como C-> D.

Ejemplo: A continuación el esquema persona

persona (national_id, nombre, dirección);

Aquí national_id determina funcionalmente el nombre_personal. Entonces, la dependencia funcional es national_id -> name;

La dependencia funcional es importante en el diseño de bases de datos relacionales con el fin de eliminar la redundancia.