Normalización da súa base de datos
Se estivo traballando con bases de datos por un tempo, é probable que escoiteches o termo normalización. Quizais alguén lle pregunte "¿Está normalizada esa base de datos?" ou "¿É que en BCNF ?" A normalización adoita descartarse como un luxo que só teñen tempo para os académicos. Non obstante, coñecer os principios de normalización e aplicalos ás tarefas diarias de deseño da base de datos realmente non é tan complicado e pode mellorar drasticamente o rendemento do seu SGBD.
Neste artigo, presentaremos o concepto de normalización e daremos unha ollada breve ás formas normais máis comúns.
¿Que é a normalización?
A normalización é o proceso de organización eficiente de datos nunha base de datos. Hai dous obxectivos do proceso de normalización: eliminar datos redundantes (por exemplo, almacenar os mesmos datos en máis dunha táboa) e garantir que as dependencias de datos teñan sentido (só almacenar datos relacionados nunha táboa). Ambos son obxectivos dignos, xa que reducen a cantidade de espazo que consume unha base de datos e asegúranse que os datos se almacenen loxicamente.
Os formularios normais
A comunidade de base de datos desenvolveu unha serie de directrices para garantir a normalización das bases de datos. Estes son referidos como formas normais e están numerados dun (a forma máis baixa de normalización, referida como a primeira forma normal ou 1NF) a través de cinco (quinta forma normal ou 5NF). En aplicacións prácticas, verás moitas veces 1NF, 2NF e 3NF xunto co ocasional 4NF. Quinta forma normal é moi rara vez vista e non será discutida neste artigo.
Antes de comezar a nosa discusión sobre as formas normais, é importante sinalar que só son directrices e directrices. De cando en vez, faise necesario desviarse deles para cumprir os requisitos prácticos do negocio. Non obstante, cando se producen variacións, é extremadamente importante evaluar as posibles ramificacións que poidan ter no seu sistema e ter en conta posibles inconsistencias. Dito isto, imos explorar as formas normais.
Primeiro formulario normal (1NF)
A primeira forma normal (1NF) establece as regras básicas para unha base de datos organizada:
- Elimine columnas duplicadas da mesma táboa.
- Cree táboas separadas para cada grupo de datos relacionados e identifique cada fila cunha única columna ou conxunto de columnas (a clave primaria ).
Segundo formulario normal (2NF)
A segunda forma normal (2NF) aborda tamén o concepto de eliminación de datos duplicados :
- Atope todos os requisitos da primeira forma normal.
- Elimina os subconxuntos de datos que se aplican a varias filas dunha táboa e colócaos en táboas separadas.
- Cree relacións entre estas novas táboas e os seus predecesores mediante o uso de chaves estranxeiras .
Terceiro formulario normal (3NF)
A terceira forma normal (3NF) vai un gran paso adiante:
- Atope todos os requisitos da segunda forma normal.
- Elimina columnas que non dependen da chave primaria.
Formulario normal Boyce-Codd (BCNF ou 3.5NF)
O formulario normal Boyce-Codd, tamén coñecido como "terceiro e medio (3.5) forma normal", engade un requisito máis:
- Atope todos os requisitos da terceira forma normal.
- Cada determinante debe ser unha clave candidata.
Cuarto formulario normal (4NF)
Finalmente, a cuarta forma normal (4NF) ten un requisito adicional:
- Atope todos os requisitos da terceira forma normal.
- A relación está en 4NF se non ten dependencias multi-valoradas .
Lembra que estas directrices de normalización son acumulativas. Para que unha base de datos estea en 2NF, primeiro debe cumprir todos os criterios dunha base de datos 1NF.
Debo normalizar?
Aínda que a normalización da base de datos adoita ser unha boa idea, non é un requisito absoluto. De feito, hai algúns casos en que violar deliberadamente as regras de normalización é unha boa práctica. Para obter máis información sobre este tema, lea ¿Debo normalizar a miña base de datos?
Se desexa garantir que a súa base de datos estea normalizada, comece a aprender a poñer a súa base de datos en First Normal Form .