Diferencia entre revisiones de «Mod BD UD3 Deseño Lóxico»
Línea 279: | Línea 279: | ||
|RRHH | |RRHH | ||
|} | |} | ||
+ | |||
+ | = Outras formas normais= | ||
+ | Codd definíu inicialmente as regras relativas as tres primeiras formas normais, que todo diseño relacional é aconsellable que cumpla. Máis adiante ampliouse a teoría da normalización con: | ||
+ | * a forma normal de Boyce-Codd (FNBC) | ||
+ | * a cuarta forma normal (4FN) | ||
+ | * a quinta forma normal (5FN) | ||
+ | * a forma normal de dominio/clave (DKNF) | ||
+ | * a sexta forma normal (6FN). | ||
+ | |||
+ | Todas elas forzan restriccións que fan a súa aplicación pouco recomendable en moitos entornos reales, quedando máis recomendables para o seu coñecemento e aplicación no campo teórico. | ||
= Xustificación da desnormalización = | = Xustificación da desnormalización = | ||
+ | As reglas de normalización non teñen en cosideración o rendemento. A premisa das regras de normalización é que as sentenzas de SQL poden recuperar a información unindo as dúas tablas; o problema é que nalgúns casos podense producir problemas de rendimento como resultado dunha normalización. | ||
+ | |||
+ | Por exemplo, algunhas consultas de usuario poden ver datos que están en varias tablas relacionadas; o resultado implica demasiadas unións. A medida que crece o número de tablas, os custes de acceso poden aumentar segundo o tamaño das tablas, os índices disponibles, etc. | ||
+ | |||
+ | Porén, nalgúns casos é preciso considerar a desnormalización para mellorar o rendimento. E a desnormalización é a duplicación intencionada de columnas en varias tablas supoñendo un aumento da redundancia de datos. |
Revisión del 19:14 13 sep 2021
Sumario
- 1 Modelo lóxico de datos: metodoloxía
- 2 Modelo relacional: terminoloxía e características
- 3 Paso do diagrama E-R ao modelo relacional
- 4 Álxebra relacional. Cálculo relacional
- 5 Normalización de modelos relacionais: dependencias funcionais; formas normais
- 6 Outras formas normais
- 7 Xustificación da desnormalización
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:
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:
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:
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
Cod.Libro | Cod.tenda | Cantidade |
---|---|---|
479 | 12 | 3 |
322 | 1 | 1 |
377 | 12 | 4 |
873 | 9 | 5 |
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:
Cód. emp. | Nome | Apelidos | Enderezo | Cód. dpto. | Nome dpto. | Data 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 |
Cód. emp. | Nome | Apelidos | Enderezo | Cód. dpto. | Data 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 |
Cód. dpto. | Nome dpto. |
---|---|
3 | Producción |
2 | Informática |
5 | RRHH |
Outras formas normais
Codd definíu inicialmente as regras relativas as tres primeiras formas normais, que todo diseño relacional é aconsellable que cumpla. Máis adiante ampliouse a teoría da normalización con:
- a forma normal de Boyce-Codd (FNBC)
- a cuarta forma normal (4FN)
- a quinta forma normal (5FN)
- a forma normal de dominio/clave (DKNF)
- a sexta forma normal (6FN).
Todas elas forzan restriccións que fan a súa aplicación pouco recomendable en moitos entornos reales, quedando máis recomendables para o seu coñecemento e aplicación no campo teórico.
Xustificación da desnormalización
As reglas de normalización non teñen en cosideración o rendemento. A premisa das regras de normalización é que as sentenzas de SQL poden recuperar a información unindo as dúas tablas; o problema é que nalgúns casos podense producir problemas de rendimento como resultado dunha normalización.
Por exemplo, algunhas consultas de usuario poden ver datos que están en varias tablas relacionadas; o resultado implica demasiadas unións. A medida que crece o número de tablas, os custes de acceso poden aumentar segundo o tamaño das tablas, os índices disponibles, etc.
Porén, nalgúns casos é preciso considerar a desnormalización para mellorar o rendimento. E a desnormalización é a duplicación intencionada de columnas en varias tablas supoñendo un aumento da redundancia de datos.