BASES DE DATOS Normalización

63
BASES DE DATOS Normalización Ing. Lucila Patricia Arellano Mendoza 2021

Transcript of BASES DE DATOS Normalización

BASES DE DATOSNormalización

Ing. Lucila Patricia Arellano Mendoza

2021

Peligros en el diseño de la BD

Repetición de información.

Dificultad para representar la información.

Pérdida de información

Gran cantidad de redundancia

Anomalías de modificación

Anomalías de inserción

Anomalías de borrado

AUTOR NACIONALIDAD CODLIBRO TITULO EDITORIAL AÑO

DATE NORTEAM 98987 DATABASES ADDISON W 1990

DATE NORTEAM 97777 SQL STANDARD ADDISON W 1986

DATE NORTEAM 98988 A GUIDE TO

INGRES

ADDISON W 1988

CODD NORTEAM 78900 RELATIONAL

MODEL

ADDISON W 1990

GARDARIN FRANCESA 12345 BASES DE DATOS PARANINFO 1986

GARDARIN FRANCESA 67890 COMPARACION

BD

EYROLLES 1984

VALDURIEZ FRANCESA 67890 COMPARACION

BD

EYROLLES 1984

KIM NORTEAM 11223 OO DATABASES ACM PRESS 1989

LOCHOVSKY CANADIENSE 11223 OO DATABASES ACM PRESS 1989

Ejemplo: Relación ESCRIBE

Su objetivo es eliminar los comportamientosanormales de las relaciones durante lasactualizaciones. Permite eliminar datosredundantes, protegerlos y facilita lacomprensión de las relaciones semánticasentre los datos.

Consiste en obtener esquemas relacionalesque cumplan unas determinadas condicionesy se centra en las formas normales.

Se dice que un esquema esta en determinadaforma normal si satisface un conjuntodeterminado de restricciones.

Conjunto de restricciones sobre tablas queevitan problemas de redundancia y anomalíasde modificación, inserción y borrado de datos

1FN 2FN Codd 1970 3FN

FNBC Boyce - Codd 1974

4FN Fagin 1977

5FN Fagin 1979

La teoría de la normalización se basa enciertas restricciones definidas sobre losatributos de una relación conocidas comodependencias.

Tipos de dependencias:

Dependencias funcionales

2FN, 3FN y FNBC

Dependencias multivaluadas

4FN

Una dependencia funcional es una restricciónentre dos conjuntos de atributos de la basede datos.

Dada una relación R el atributo y(R) dependefuncionalmente del atributo x(R) sí y sólo síun sólo valor de y(R) está asociado a cadavalor de x(R) en cualquier momento dado. Losatributos x e y pueden ser compuestos, esdecir, que puede ser más de un atributo.

R. x → R. y

x determina funcionalmente a y ó y dependefuncionalmente de x.

Dependencia funcional total o completa

Si x es compuesto, se dice que y tiene unadependencia funcional completa de x sidepende funcionalmente de x pero nodepende de ningún subconjunto del mismo.

numCte,numArt → cantidadnumCte → cantidadnumArt → cantidad

Dependencia funcional trivial

Una dependencia funcional x → y se dice que es trivial si y es un subconjunto de x

artículo,revista → revista

Dependencias equivalentes

Dos atributos x e y son equivalentes si:

x →y

y →x

lo que se representa por x↔y

estado ↔ codigoPostal

Dependencia funcional transitiva

Sea el esquema de relación R(x,y,z), en el que existen las siguientes dependencias funcionales.

x →y, y →z, x →zse dice que z tiene una dependenciafuncional transitiva respecto a x a través de y.

isbn → editorialeditorial → paísisbn → país

Dependencia funcional elemental

X → Y es elemental si Y es un atributounitario, y la dependencia funcional escompleta y no trivial.

Nota: Sólo las dependencias elementales son

útiles para la normalización

Para estudiar el grado de normalización de una relación R se parte de:

Conjunto de las dependencias funcionales elementales que aparecen en R

Conjunto de todas las claves candidatas.

Para representar y trabajar con dependencias funcionales podemos hacerlo utilizando el Diagrama de Dependencias Funcionales.

NUMPARTE NOMBRE COLOR PESO CIUDAD

1 Tuerca Rojo 12 Londres

2 Perno Verde 17 París

3 Birlo Azul 17 Roma

4 Birlo Rojo 14 Londres

5 Leva Azul 12 París

6 Engrane Rojo 19 Londres

Ejemplo

Una relación está en 1ª FN si y sólo sí todoslos dominios simples subyacentes contienensólo valores atómicos, es decir no se tienenatributos multivaluados.

Nota: Por la propia definición del modelo dedatos relacional, NO se admiten atributosmultivaluados. En consecuencia, TODAS lasrelaciones que aparecen en el modelo dedatos relacional están en 1FN.

NUMTRABAJADOR NOMBRE TIPOOFICIO NUMEDIFICIO

1235 Fernando Electricista 12,14,50

1412 Luis Plomero 14,35

1311 Guillermo Electricista 18,15,35

R0

Los datos de los atributos deben ser atómicos.

La tabla debe de contener una clave primaria única.

La clave primaria no debe de contener atributos nulos.

En la tabla no debe existir variación en el número de columnas.

Los campos no clave deben identificarse por la clave primaria (Dependencia Funcional).

Debe existir una independencia del orden tanto de las filas como de las columnas.

NUMTRABAJADOR NOMBRE TIPOOFICIO NUMEDIFICIO

1235 Fernando Electricista 12

1235 Fernando Electricista 14

1235 Fernando Electricista 50

1412 Luis Plomero 14

1412 Luis Plomero 35

1311 Guillermo Electricista 18

1311 Guillermo Electricista 15

1311 Guillermo Electricista 35

1ª Forma NormalR1

Una relación está en 2ª forma normal sí ysólo sí está en 1ª FN y todos los atributos noclave dependen por completo de la llaveprimaria.

numTrabajador nombre fechaRealización numEdificio

1235 Fernando 10/10/11 31

1412 Luis 10/10/11 51

1235 Fernando 17/10/11 31

1412 Luis 8/12/10 46

1412 Luis 5/10/11 43

R0

numTrabajador nombre

1235 Fernando

1412 Luis

numTrabajador fechaRealización numEdificio

1235 10/10/11 31

1412 10/10/11 51

1235 17/10/11 31

1412 8/12/10 46

1412 5/10/11 43

2ª FORMA NORMAL

R1

R2

Una relación está en 3ª FN sí y sólo sí está en 2ª FN y todos los atributos no clave dependen en forma no transitiva de la llave primaria.

numTrabajador tipoOficio salario

1239 Electricista 3500

1412 Plomero 3000

1311 Electricista 3500

1517 Plomero 3000

1485 Carpintero 3500

R0

numTrabajador tipoOficio

1239 Electricista

1412 Plomero

1311 Electricista

1517 Plomero

1485 Carpintero

tipoOficio salario

Electricista 3500

Plomero 3000

Carpintero 3500

R1

R2

3ª FORMA NORMAL

Ejemplos de Normalización

clvAlumno clvTutor clvDepto clvOficina clase

12 T1 5 2 dibujo

12 T1 5 2 física

12 T1 5 2 química

15 T2 5 4 física

15 T2 5 4 español

15 T2 5 4 dibujo

23 T3 2 6 ética

23 T3 2 6 física

23 T3 2 6 química

34 T1 5 2 ética

34 T1 5 2 español

34 T1 5 2 dibujo

clvAlumno clvTutor clvDepto clvOficina codClase clase

12 T1 5 2 1 dibujo

12 T1 5 2 2 Física

12 T1 5 2 3 química

15 T2 5 4 2 física

15 T2 5 4 4 español

15 T2 5 4 1 dibujo

23 T3 2 6 5 ética

23 T3 2 6 2 física

23 T3 2 6 3 química

34 T1 5 2 5 ética

34 T1 5 2 4 español

34 T1 5 2 1 dibujo

clvAlumno codClase

12 1

12 2

12 3

15 2

15 4

15 1

23 5

23 2

23 3

34 5

34 4

34 1

clvAlumno clvTutor

12 T1

15 T2

23 T3

34 T1

clvTutor clvDepto clvOficina

T1 5 2

T2 5 4

T3 2 6

codClase clase

1 dibujo

2 física

3 química

4 español

5 ética

codAlum nomAlum codCurso curso

1 Marcos 1 Inglés

2 Luis 2 Contabilidad

2 Luis 3 Informática

3 Marta 1 Inglés

3 Marta 2 Contabilidad

codEmp codDepto nombreEmp departamento antigüedad

1 6 Juan Contabilidad 6

2 3 Pedro Sistemas 3

3 2 Sonia Finanzas 1

4 3 Verónica Sistemas 10

2 6 Pedro Contabilidad 5

codEstud estudiante codCurso curso aula

1 Marcos C1 Informática A

2 Luis C2 Inglés B

3 Marta C3 Contablidad C

4 Sonia C2 Inglés B

numCte calleCte cdCte estadoCte contacto telCon

01 c1 Cd1 Edo2 Luis 53124814

02 c3 Cd2 Edo1 Rosa 58746841

05 c2 Cd1 Edo2 Juan 54871256

03 c4 Cd3 Edo1 Luis 53124814

04 c1 Cd2 Edo1 Juan 54871256

numFac numCte numArt precioArt cantidad numVend dirCte

1 2 12 30 2 2 D1

1 2 23 40 1 2 D1

1 2 34 25 3 2 D1

2 1 23 40 1 3 D3

2 1 45 35 1 3 D3

Se utiliza cuando se cumple lo siguiente:

Hay varias llaves candidatas

Esas llaves son compuestas

Las llaves candidatas se traslapan

Una relación está en forma normal BoyceCood sí y sólo sí, todo determinante es unallave candidato.

Determinante: Es un atributo del cualdepende funcionalmente por completo otroatributo.

claveAlum especialidad codAsesor

100 Matemáticas A1

150 Psicología A2

200 Matemáticas A3

250 Matemáticas A1

300 Psicología A4

300 Matemáticas A3

Una relación está en 4ª forma normal sí y sólo sí está en forma normal Boyce Cood y no contiene dependencias multivaluadas.

Para una relación R con los atributos A, B y C ladependencia multivaluada R(A)→→B se cumpleen R sí y sólo sí el conjunto de valores en Bcorresponde a un par dado en R (valor de Avalor de C) y depende sólo del valor de A y esindependiente del valor de C.

clavePizzería nombre variedad claveEnvio zona

14 Domino’s Corteza gruesa Z1 Sur

14 Domino’s Corteza fina Z2 Norte

14 Domino’s Corteza rellena Z3 Oriente

14 Domino’s Corteza fina Z1 Sur

25 Hut Corteza fina Z1 Sur

25 Hut Corteza rellena Z3 Oriente

19 Little Caesars Corteza fina Z1 Sur

19 Little Caesars Corteza fina Z3 Oriente

19 Little Caesars Corteza gruesa Z2 Norte

conductor camión tipoCarga descCarga

Juan Tolva 1 Perecederos

Marcos Rabón 1 Perecederos

Juan Rabón 2 Muebles

Marcos Tolva 2 Muebles

Juan Tortón 3 Mudanza

Marcos Tortón 3 Mudanza

cveTienda cveArt nomArticulo zonaEnvío Zona

15 Art1 Camisa Polo Z1 Sur

12 Art1 Camisa Polo Z1 Sur

10 Art2 Jeans Hombre Z3 Este

15 Art2 Jeans Hombre Z2 Norte

12 Art3 Chamarra Piel Z3 Este

10 Art3 Chamarra Piel Z2 Norte

cveCte nomCte dirEnvio Telefono correo

12 Juan Puebla 56233714 [email protected]

15 Pedro Oaxaca 57142312 [email protected]

10 César Querétaro 58171119 [email protected]

15 Pedro Oaxaca 54291423 [email protected]

12 Juan Puebla 56220711 [email protected]

10 César Querétaro 58111924 [email protected]

NumAvion Tipo

Avión

Num

Piloto

Nombre

Piloto

Teléfono

Piloto

Num

Vuelo

Fecha

Salida

Origen Destino

15 7 312 Juan 56220711 512 10/02/06 México Canadá

12 8 133 David 57142312 512 25/02/06 Canadá España

10 5 215 César 58171119 310 10/02/06 México Canadá

15 7 133 David 57142312 311 25/02/06 España Francia

12 8 312 Juan 56220711 415 17/10/06 México Francia

10 5 215 César 58171119 311 14/10/06 Canadá México

Las reglas de normalización no consideran el rendimiento.

En algunos casos es necesario considerar la desnormalización para mejorar el rendimiento.

La desnormalización es la duplicación intencionada de columnas en varias tablas, lo cual aumenta la redundancia de datos.