Pregunta

  

Duplicar posibles:
   ¿Qué hace exactamente la normalización de base de datos?

Por favor alguien puede aclarar la normalización de datos? ¿Cuáles son los diferentes niveles? Cuando debo "de considerarse algo normal"? ¿Puedo durante normalizar? Tengo una tabla con millones de registros, y creo que más normalizada, pero no estoy seguro.

¿Fue útil?

Solución

Si usted tiene millón de columnas que probablemente bajo-normalizado ella.
¿Qué significa es que la normalización de

  

todos los atributos que no son clave "debe proporcionar   un hecho acerca de la clave, la clave de todo,   y nada más que la tecla ".

Si usted tiene una columna que depende de nada, pero la clave, se debe normalizar su mesa.
ver aquí .

Agregado para responder al comentario:
Si tiene ProductID | ProductType | ProductTypeID, donde ProdcutTypeID depende sólo de ProductType, se debe hacer una nueva mesa para que:
ProductID | ProductTypeID y en la otra mesa: ProductTypeID | ProductTypeName.
Así que para responder a su pregunta, perteneciente al producto no es lo suficientemente precisa, en mi ejemplo en el primer caso, estaba perteneciente al producto así. Todas las columnas deben referirse Sólo para ProductID (se puede decir que Sólo describir el producto, pero no la descripción de cualquier otra cosa, incluso si está relacionado con el producto - que es preciso).
Número de filas, por lo general no es relevante.

Otros consejos

La normalización se trata de reducir la duplicación de datos en una base de datos relacional. El nivel más popular es la tercera forma normal (que es la descrita por "la clave, la clave de todo, y nada más que la tecla"), pero hay un montón de diferentes niveles, ver la entrada de Wikipedia para obtener una lista de los principales. (En la práctica, la gente parece pensar que están haciendo bien para lograr la tercera forma normal.) Significa aceptar más la duplicación de datos, por lo general a cambio de un mejor rendimiento desnormalización.

A medida que otros dijeron que la normalización de base de datos se trata de reducir la duplicación de datos y modelos de datos más genéricos (que pueden responder fácilmente a las preguntas inesperadas en tiempo de diseño). La normalización de una base de datos es permitir un proceso bastante formal. Cuando se experimentan en su mayoría que sigue los métodos de análisis de datos y obtener una base de datos normalizada al final.

La normalización de la base de datos suele ser una buena idea, pero hay una trampa. En muchos casos se involucra la creación de nuevas tablas y unirse a las relaciones entre tablas. se sabe que tiene un costo de rendimiento (muy) alta en tiempo de ejecución, a partir de ahora para grandes volúmenes de datos es posible que desee desnormalizar JOIN.

Otro costo puede ser también la necesidad de escribir solicitudes más complejas para el acceso a los datos que necesita y que puede ser un problema para los principiantes SQL. La mejor idea es, probablemente, para seguir con la normalización de todos modos (Tercera forma normal suele ser suficiente, ya que hay varios niveles de normalización como otros han dicho) y para ser más hábil con SQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top