Diferencia entre revisiones de «Mod BD UD3 Deseño Lóxico»
Línea 51: | Línea 51: | ||
|+Relación en 1FN | |+Relación en 1FN | ||
! NIF | ! NIF | ||
− | + | | Nome | |
− | + | | Primeiro Apelido | |
− | + | | Segundo Apelido | |
− | + | | Teléfono | |
|- | |- | ||
| 11111111H | | 11111111H | ||
Línea 94: | Línea 94: | ||
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: | 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: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+Relación en 1FN | ||
+ | ! NIF | ||
+ | | Nome | ||
+ | | Primeiro Apelido | ||
+ | | Segundo Apelido | ||
+ | |- | ||
+ | | 11111111H | ||
+ | | María Xosé | ||
+ | | López | ||
+ | | Pérez | ||
+ | |- | ||
+ | | 11111111H | ||
+ | | María Xosé | ||
+ | | López | ||
+ | | Pérez | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | Brais | ||
+ | | García | ||
+ | | Xermade | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | Brais | ||
+ | | García | ||
+ | | Xermade | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | Brais | ||
+ | | García | ||
+ | | Xermade | ||
+ | |- | ||
+ | | 39653802P | ||
+ | | Alba | ||
+ | | Pereira | ||
+ | | Pereira | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+Relación en 1FN | ||
+ | ! NIF | ||
+ | ! Teléfono | ||
+ | |- | ||
+ | | 11111111H | ||
+ | | 666321555 | ||
+ | |- | ||
+ | | 11111111H | ||
+ | | 677876432 | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | 611222333 | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | 981333222 | ||
+ | |- | ||
+ | | 123222333V | ||
+ | | 982444333 | ||
+ | |- | ||
+ | | 39653802P | ||
+ | | 912300141 | ||
+ | |} | ||
Revisión del 19:43 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
- 8 Créditos e referencias
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:
NIF | Nome | Primeiro Apelido | Segundo Apelido |
---|---|---|---|
11111111H | María Xosé | López | Pérez |
11111111H | María Xosé | López | Pérez |
123222333V | Brais | García | Xermade |
123222333V | Brais | García | Xermade |
123222333V | Brais | García | Xermade |
39653802P | Alba | Pereira | Pereira |
NIF | Teléfono |
---|---|
11111111H | 666321555 |
11111111H | 677876432 |
123222333V | 611222333 |
123222333V | 981333222 |
123222333V | 982444333 |
39653802P | 912300141 |
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.