Diferencia entre revisiones de «Mod BD UD3 Deseño Lóxico»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 172: Línea 172:
 
|9
 
|9
 
|Rúa real, 5
 
|Rúa real, 5
 +
|}
 +
 +
Nótese que a 2FN só se pode violar se a clave primaria está composta por máis dun atributo, polo que toda relación en 1FN na que a súa clave primaria esté formada por un só atributo tamén está en 2FN.
 +
 +
== Tercera forma normal (3FN) ==
 +
Unha relación está en terceira forma normal (3FN) se:
 +
* Está en 2FN.
 +
* Todos os atributos que non forman parte da clave primaria son independentes entre sí; isto é, non dan información sobre outros atributos da relación.
 +
 +
O seguiente exemplo ilustra unha relación con información sobre empregados. Todos os atributos dependen directamente da clave primaria ''Código de empregado'' excepto ''Nome de departamento'', que depende de ''Código de departamento'':
 +
 +
{| class="wikitable"
 +
|+Relación en 2FN, pero no en 3FN
 +
!Cód. emp.
 +
!Nombre
 +
!Apellidos
 +
!Dirección
 +
!Cód. dpto.
 +
!Nombre dpto.
 +
!Fecha nac.
 +
|-
 +
|27
 +
|Antía
 +
|Menéndez Xarmolo
 +
|Rúa Telleiras, 5
 +
|3
 +
|Producción
 +
|03/01/1983
 +
|-
 +
|249
 +
|David
 +
|Ramírez Blanco
 +
|Rúa María, 7
 +
|2
 +
|Informática
 +
|15/05/1973
 +
|-
 +
|153
 +
|Xurxo
 +
|Peleteiro Galiano
 +
|Rúa Piano, 1
 +
|5
 +
|RRHH
 +
|14/02/1979
 +
|-
 +
|191
 +
|Ruth
 +
|Lázaro Cardenal
 +
|Rúa Dolores, 9
 +
|3
 +
|Producción
 +
|19/03/2003
 +
|}
 +
 +
 +
{| class="wikitable"
 +
|+Relación en 3FN
 +
!Cód. emp.
 +
!Nombre
 +
!Apellidos
 +
!Dirección
 +
!Cód. dpto.
 +
!Fecha nac.
 +
|-
 +
|27
 +
|Antía
 +
|Menéndez Xarmolo
 +
|Rúa Telleiras, 5
 +
|3
 +
|03/01/1983
 +
|-
 +
|249
 +
|David
 +
|Ramírez Blanco
 +
|Rúa María, 7
 +
|2
 +
|15/05/1973
 +
|-
 +
|153
 +
|Xurxo
 +
|Peleteiro Galiano
 +
|Rúa Piano, 1
 +
|5
 +
|14/02/1979
 +
|-
 +
|191
 +
|Ruth
 +
|Lázaro Cardenal
 +
|Rúa Dolores, 9
 +
|3
 +
|19/03/2003
 +
|}
 +
 +
{| class="wikitable"
 +
|+Relaciones en 3FN
 +
|Cód. dpto.
 +
|Nombre dpto.
 +
|-
 +
|3
 +
|Producción
 +
|-
 +
|2
 +
|Informática
 +
|-
 +
|5
 +
|RRHH
 
|}
 
|}
  
 
= Xustificación da desnormalización =
 
= Xustificación da desnormalización =

Revisión del 19:00 13 sep 2021

Modelo lóxico de datos: metodoloxía

Modelo relacional: terminoloxía e características

Claves primarias e alleas

Paso do diagrama E-R ao modelo relacional

Álxebra relacional. Cálculo relacional

Normalización de modelos relacionais: dependencias funcionais; formas normais

Codd fixo a definición dunhas normas que evitan as redundancias de información nunha solución relacional cando son aplicadas. A técnica de seguemento de esas normas é coñecida como normalización, e consiste en levar todas as relacións a determinados estados chamados formas normales.

O inglés Edgar Frank “Ted” Codd é o pai das bases de datos relacionales. A mediados dos anos oitenta aportou as definicións coñecidas como “as 12 regras de Codd“ (aínda que son trece, numeradas do cero ó doce) que todo SGBDR debe cumplir. Buscaba revertir a tendencia dos fabricantes de SGBDR a obviar elementos fundamentais da súa proposta de modelo relacional,Algunhas delas son moi complexas de seguir e son máis estudadas desde o punto de vista teórico; pero a mera existencia das 12 regras supuxo unha declaración de intencións sobre o camiño que debía tomar o mundo das bases de datos.

Primeira forma normal (1FN)

Unha relación está en primera forma normal (1FN) se todos os seus valores son atómicos; isto é, cada valor dos dominios de todos os atributos é único.

No seguinte exemplo (clave primaria en grosa) vemos un atributo, Teléfono, que ten valores que no son repetitivos e non atómicos:

Relación sen normalizar
NIF Nome Primeiro Apelido Segundo Apelido Teléfono
11111111H María Xosé López Pérez 666321555
677876432
123222333V Brais García Xermade 611222333
981333222
982444333
39653802P Alba Pereira Pereira 912300141

Unha primeira solución para alcanzar a 1FN consiste en atomizar o atributo Teléfono do seguinte modo:

Relación en 1FN
NIF Nome Primeiro Apelido Segundo Apelido Teléfono
11111111H María Xosé López Pérez 666321555
11111111H María Xosé López Pérez 677876432
123222333V Brais García Xermade 611222333
123222333V Brais García Xermade 981333222
123222333V Brais García Xermade 982444333
39653802P Alba Pereira Pereira 912300141

Esta solución implica unha forte redundancia (Nome, e repítense por cada teléfono), e invalida a NIF como clave primaria, obrigando a ampliar dita clave primaria co atributo Teléfono. Por ese motivo proponse unga solución máis elaborada consistente en dividir a relación orixinal en dúas (unha coas persoas e outra cos teléfonos), vinculándoas mediante os valores da clave primaria orixinal:


La 1FN é parte da definición do modelo relacional polo que o seu cumprimento é obrigatorio.

Segunda forma normal (2FN)

Una relación está en segunda forma normal (2FN) se cumpre que:

  • Está en 1FN.
  • Todos os atributos que non forman parte da clave primaria dependen dela por completo.

A relación seguinte ilustra o stock dunha librería. A clave primaria está composta por dous atributos (Código de libro e Código de tienda), pero o atributo Enderezo non depende de toda a clave, se nno únicamente do atributo Código de tenda. Por ese motivo repítese o enderezo da tenda 9, coa conseguinte redundancia de información:

Relación en 1FN mais on en 2FN
Cod.Libro Cod.tenda Cantidade Enderezo
479 12 3 Praza de armas, 3
322 1 8 Estrada de castela,12
377 12 4 Praza de armas, 3
873 9 5 Rúa real, 5

Neste caso o proceso de normalización obriga a dividir a relación en dúas, unha coa información da tenda e outra coa do stock


Relaciones en 2FN
Cod.Libro Cod.tenda Cantidade
479 12 3
322 1 1
377 12 4
873 9 5
Relaciones en 2FN
Cod.tenda Enderezo
12 Praza de armas, 3
1 Estrada de Castela, 12
9 Rúa real, 5

Nótese que a 2FN só se pode violar se a clave primaria está composta por máis dun atributo, polo que toda relación en 1FN na que a súa clave primaria esté formada por un só atributo tamén está en 2FN.

Tercera forma normal (3FN)

Unha relación está en terceira forma normal (3FN) se:

  • Está en 2FN.
  • Todos os atributos que non forman parte da clave primaria son independentes entre sí; isto é, non dan información sobre outros atributos da relación.

O seguiente exemplo ilustra unha relación con información sobre empregados. Todos os atributos dependen directamente da clave primaria Código de empregado excepto Nome de departamento, que depende de Código de departamento:

Relación en 2FN, pero no en 3FN
Cód. emp. Nombre Apellidos Dirección Cód. dpto. Nombre dpto. Fecha nac.
27 Antía Menéndez Xarmolo Rúa Telleiras, 5 3 Producción 03/01/1983
249 David Ramírez Blanco Rúa María, 7 2 Informática 15/05/1973
153 Xurxo Peleteiro Galiano Rúa Piano, 1 5 RRHH 14/02/1979
191 Ruth Lázaro Cardenal Rúa Dolores, 9 3 Producción 19/03/2003


Relación en 3FN
Cód. emp. Nombre Apellidos Dirección Cód. dpto. Fecha nac.
27 Antía Menéndez Xarmolo Rúa Telleiras, 5 3 03/01/1983
249 David Ramírez Blanco Rúa María, 7 2 15/05/1973
153 Xurxo Peleteiro Galiano Rúa Piano, 1 5 14/02/1979
191 Ruth Lázaro Cardenal Rúa Dolores, 9 3 19/03/2003
Relaciones en 3FN
Cód. dpto. Nombre dpto.
3 Producción
2 Informática
5 RRHH

Xustificación da desnormalización