Se han logrado la tercera NF cuando no existen relaciones entre la llave y otras columnas que no dependen de él.
No estoy seguro de que mi profesor lo haya dicho así, pero esto es lo que es.
Si está "en el campo". Olvídate de las definiciones. Busque las "mejores prácticas". Uno es SECO: No te repitas.
Si sigues ese principio, ya dominas todo lo que necesitas para NF.
Aquí hay un ejemplo. la tabla tiene el siguiente esquema:
PERSONS : id, name, age, car make, car model
edad y el nombre están relacionados con la entrada de persona (=> id) pero el modelo depende en el coche y no la persona.
A continuación, se dividiría en dos tablas:
PERSONS : id, name, age, car_models_id (references CAR_MODELS.id)
CAR_MODELS : id, name, car_makes_id (references CAR_MAKES.id)
CAR_MAKES : id, name
Usted puede tener la replicación en 2FN pero no en 3FN más.
La normalización tiene que ver con la no replicación, la coherencia y, desde otro punto de vista, las claves foráneas y las UNIONES.
Cuanto más normalizado mejor para los datos, pero no para el rendimiento ni comprensión si se vuelve realmente complicado.
La infracción 2NF se debe a que la columna 'Nombre del curso' depende de parte de la clave (' CourseID'). La infracción de 3NF se debe a que 'TeacherName' depende funcionalmente de' TeacherID', pero esto no forma parte de la clave. –
Entonces una tabla en 2NF podría tener 'CourseID',' Semester', '# Places',' TeacherID', 'TeacherName'? Parece extraño considerando 'TeacherName' es claramente datos duplicados de' TeacherID'. – Marcus
Sí. 2NF solo se ocupa de las dependencias funcionales en clave parcial. Si la tabla está en 1NF y no tiene una clave compuesta que AFAIK, está automáticamente en 2NF. –