Normalización da súa base de datos: Transición cara a Segundo formulario normal (2NF)

Poñendo unha base de datos en segundo formulario normal

Durante o mes pasado, vimos varios aspectos de normalizar unha táboa de base de datos. En primeiro lugar, comentamos os principios básicos da normalización da base de datos. A última vez que exploramos os requisitos básicos establecidos pola primeira forma normal (1NF). Agora, imos continuar a nosa viaxe e cubrir os principios da segunda forma normal (2NF).

Recordemos os requisitos xerais de 2NF:

Estas regras poden resumirse nunha sinxela afirmación: 2NF intenta reducir a cantidade de datos redundantes nunha táboa extraíndoa, colocándoa en novas táboas e creando relacións entre esas táboas.

Miremos un exemplo. Imaxina unha tenda en liña que mantén a información do cliente nunha base de datos. Poderían ter unha soa táboa chamada Clientes cos seguintes elementos:

Unha breve ollada a esta táboa revela unha pequena cantidade de datos redundantes. Almacenamos as entradas "Sea Cliff, NY 11579" e "Miami, FL 33157" dúas veces cada unha. Agora, isto pode non parecer moito máis engadido de almacenamento no noso exemplo sinxelo, pero imaxina o espazo perdido se tivésemos miles de filas na nosa mesa. Ademais, se o código postal de Sea Cliff cambia, necesitaríamos facer ese cambio en moitos lugares da base de datos.

Nunha estrutura de base de datos 2NF, esta información redundante extraeuse e almacena nunha táboa separada. A nosa nova táboa (imos chamala ZIP) pode ter os seguintes campos:

Se queremos ser super-eficientes, podemos incluso cubrir esta táboa con antelación: a oficina de correos ofrece un directorio de todos os códigos postais válidos e as súas relacións cidade / estado. Certamente, atopou unha situación onde se utilizou este tipo de base de datos. Alguén que tomou un pedido podería solicitarche o teu código postal primeiro e despois coñeces a cidade e estado desde onde estás chamando. Este tipo de arranxo reduce o erro do operador e aumenta a eficiencia.

Agora que eliminamos os datos duplicados da táboa Clientes, satisfámosche a primeira regra de segundo formulario normal. Aínda necesitamos usar unha tecla foránea para unir as dúas táboas. Usaremos o código postal (a chave primaria da táboa ZIP) para crear esa relación. Aquí está a nosa nova táboa Clientes:

Agora minimizamos a cantidade de información redundante almacenada na base de datos ea nosa estrutura está en segundo estado normal.

Se desexa garantir que a súa base de datos estea normalizada, explore os nosos outros artigos nesta serie: