Logo Studenta

Normalizacion_de_bases_de_datos

¡Estudia con miles de materiales!

Vista previa del material en texto

Normalización de bases de datos
El proceso de normalización de bases de datos consiste en designar y aplicar una serie de
reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Un pobre diseño de la base de datos puede afectar una aplicación, produciendo problemas con la
redundancia, inexactitud, consistencia, y concurrencia de sus datos. La normalización es un
proceso que sirve para reducir, si no eliminar, estos problemas con los datos. Dado que en los
negocios se utiliza la Tercer Forma Normal como el modelo lógico, veremos los pasos de las 1ra,
2da, y 3ra Forma Normal.
La primer forma normal requiere que no existan atributos multi-valores, asi como tampoco grupo de
repeticion. Un atributo multi-valor contiene más de un valor por ese campo en cada fila.
Consideremos la siguiente tabla referida a Cursos de estudiantes:
Nro de Registro Curso
12345 3100,3600,3900
54321 1300,2300,1200
En esta tabla, el campo Curso es un campo multi-valor: no hay un valor simple para cada campo.
Ahora considere este otro ejemplo:
Nro de
Registro
Curso1 Curso2 Curso3
12345 3100 3600 3900
54321 1300 2300 1200
Los campos Curso1, Curso2 y Curso3 representan grupos repetitivos. Si aplicamos los requisitos
de la Primer Forma Normal el ejemplo quedaria de la siguiente manera:
Nro de Registro Curso
12345 3100
12345 3600
12345 3900
54321 1300
54321 2300
54321 1200
En los primeros 2 ejemplos, seleccionar un estudiante inscripto en algun curso es una tarea
dificultosa. Digamos que quiero saber lo siguiente:
Digame todos los estudiantes inscriptos en el curso 3100.
En el primer diseño, Ud. deberá tomar el campo Curso y analizarlo de alguna forma "por dentro"
para saber si cumple o no con los requisitos de la busqueda.
En el segundo diseño, deberá analizar 3 campos por separado para saber si el alumno está
inscripto en el curso 3100.
En el tercer diseño, la consulta es tan simple como :
Select Nro de Registro from Cursos where Curso = 3100
La Segunda Forma Normal
La Segunda Forma Normal requiere que cualquier campo no integrante de la Clave Primaria,
debería ser totalmente dependiente de la clave. Por ejemplo, considere la siguiente tabla de
Cursos, donde Nro de Registro y Curso componen la clave primaria.
Nro de
Registro
Curso Nombre Depto. Nota
12345 3100 Perez, J Matematica 6
12345 1300 Perez, J Derecho 8
El Nombre del estudiante no depende de toda la clave primaria, sino solo del Nro de Registro.
El Depto. es un campo que solo depende del Curso.
En consecuencia, estos datos deberían ser divididos en 3 tablas separadas, a saber:
ALUMNOS
Nro de Registro Nombre
12345 Perez, J
CURSOS
Curso Depto.
3100 Matematica
1300 Derecho
CURSOS por ALUMNO
Nro Reg Curso Nota
12345 3100 6
54321 1300 8
En este ejemplo, el campo Nota es el unico dependiente de la clave primaria completa.
3RA. FORMA NORMAL
La tercera forma normal prohíbe dependencias transitivas. Una dependencia transitiva existe
cuando cualquier atributo en una tabla es dependiente de otro campo y éste es quien depende de
la clave primaria.
Considere el siguiente ejemplo de una tabla de Cursos:
CURSOS
Nro Curso Nro Profesor Nombre Profesor
3100 3411 Diaz, Jorge
1300 3411 Diaz, Jorge
El campo Nombre de Profesor depende de Nro de Profesor, el cual es el campo que realmente
depende de la clave primaria. Por ello, el campo Nombre Profesor debe ser quitado y colocado en
otra tabla:
CURSOS
Nro Curso Nro Profesor
3100 3411
1300 3411
PROFESORES
Nro Profesor Nombre
3411 Diaz, Jorge
Dividiendo los datos en 2 tablas, la dependencia transitiva es removida.
Las bases de datos relacionales se normalizan para:
• Evitar la redundancia de los datos.
• Disminuir problemas de actualización de los datos en las tablas.
• Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea
considerada como una relación tiene que cumplir con algunas restricciones:
• Cada tabla debe tener su nombre único.
• No puede haber dos filas iguales. No se permiten los duplicados.
• Todos los datos en una columna deben ser del mismo tipo.
Figura 1.0: Trabajo (Código, Nombre, Posición, Salario), donde Código es la Clave Primaria.
• Relación = tabla o archivo
• Registro = registro, fila , renglón o tupla
• Atributo = columna o campo
• Clave = llave o código de identificación
• Clave Candidata = superclave mínima
• Clave Primaria = clave candidata elegida
• Clave Ajena (o foránea) = clave externa o clave foránea
• Clave Alternativa = clave secundaria
• Dependencia Multivaluada = dependencia multivalor
• RDBMS = Del inglés Relational Data Base Manager System que significa, Sistema Gestor de
Bases de Datos Relacionales.
• 1FN = Significa, Primera Forma Normal o 1NF del inglés First Normal Form.
Los términos Relación, Tupla y Atributo derivan del álgebra y cálculo relacional, que constituyen la
fuente teórica del modelo de base de datos relacional.
Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valores que el mismo
puede tomar. Una instancia de una tabla puede verse entonces como un subconjunto del producto
cartesiano entre los dominios de los atributos. Sin embargo, suele haber algunas diferencias con la
analogía matemática, ya que algunos RDBMS permiten filas duplicadas, entre otras cosas.
Finalmente, una tupla puede razonarse matemáticamente como un elemento del producto
cartesiano entre los dominios.
Dependencias
Dependencia funcional
B es funcionalmente dependiente de A.
Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si se conoce el
valor de DNI tiene una conexión con Apellido o Nombre .
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente
manera:
FechaDeNacimiento Edad
De la normalización (lógica) a la implementación (física o real) puede ser sugerible tener estas
dependencias funcionales para lograr la eficiencia en las tablas.
Propiedades de la dependencia funcional
Existen tres axiomas de Armstrong:
Dependencia funcional reflexiva
Si "y" está incluido en "x" entonces x y
A partir de cualquier atributo o conjunto de atributos siempre puede deducirse él mismo. Si la
dirección o el nombre de una persona están incluidos en el DNI, entonces con el DNI podemos
determinar la dirección o su nombre.
Dependencia funcional Aumentativa
entonces
DNI nombre
DNI,dirección nombre,dirección
Si con el DNI se determina el nombre de una persona, entonces con el DNI más la dirección
también se determina el nombre y su dirección.
Figura: Dependencia funcional transitiva.
Dependencia funcional transitiva
Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende
funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice entonces que
Z depende transitivamente de X. Simbólicamente sería:
X Y Z entonces X Z
FechaDeNacimiento Edad
Edad Conducir
FechaDeNacimiento Edad Conducir
Entonces tenemos que FechaDeNacimiento determina a Edad y la Edad determina a Conducir,
indirectamente podemos saber a través de FechaDeNacimiento a Conducir (En muchos países,
una persona necesita ser mayor de cierta edad para poder conducir un automóvil, por eso se utiliza
este ejemplo).
"C será un dato simple (dato no primario), B, será un otro dato simple (dato no primario), A, es la
llave primaria (PK). Decimos que C dependerá de B y B dependerá funcionalmente de A."
Propiedades deducidas
Unión
y entonces
Pseudo-Transitiva
y entonces
Descomposición
y está incluido en entonces
Dependencia multivalor
En el cálculo relacional de bases de datos, la dependencia multivalor o multivaluada es una
restricción entre dos conjuntos de atributos de una relación, que requiere que
ciertas tuplas estén presentes en la misma. Dicha restricción se concreta en la cuarta forma
normal.
Sea R un esquema de relación. La dependencia multivaluada X Y vale en R si los pares de
tuplas t1 y t2 en R, tal quet1[X] = t2[X] existen las tuplas t3 y t4 en R tales que:
t1 [X] = t2 [X] = t3[X] = t4[X]
t3 [Y] = t1 [Y]
t3 [R-X-Y] = t2 [R-X-Y]
t4 [Y] = t2 [Y]
t4 [R-X-Y] = t1 [R-X-Y]
En otras palabras se puede decir que: X Y si dado un valor de X, hay un conjunto de
valores de Y asociados y este conjunto de valores de Y NO está relacionado (ni funcional ni
multifuncionalmente) con los valores de R - X -Y (donde R es el esquema), es decir Y es
independiente de los atributos de R-X-Y. (Cátedra de Base de Datos 1, 2009) Una
dependencia multivaluada de la forma X Y, es trivial cuando el conjunto de atributos {X,Y}
conforma el total de los atributos del esquema.

Continuar navegando

Contenido elegido para ti

62 pag.
5-DFyN-EDAT-121

User badge image

Materiales Generales

38 pag.
Dise_o de bases de Datos

User badge image

Materiales Generales

149 pag.
DAM_M02A_2101_QA03

Colégio Dom Bosco

User badge image

Eufrasio Rodriguez

72 pag.
Introdução a Bases de Dados

BUAP

User badge image

Estudiando Y Aprendendo

20 pag.
BD2017_Clase3_Normalizacion

UNAM

User badge image

sanchezdavalos229