Professional Documents
Culture Documents
Síntesis
Ejes de aprendizaje
Conceptos de normalización
Competencias
Identifica las formas normales de un esquema de una base de datos
relacional y las dependencias multivaluadas a partir de especificaciones
escritas por medio de la normalización.
Lleva la base de datos a una forma normal tal que esta cumpla la
semántica del negocio sin que haya pérdida ni corrupción de los datos
de la organización.
Desarrollo de los ejes de aprendizaje
Normalización
Procedimientos De Normalización
1
http://www.wikilearning.com/tutorial/diseno_de_bases_de_datos_en_sql-normalizacion/21129-4
2
fuente: SENA - CEV Comunidad Educativa Virtual
Reglas:
3“Las tablas o entidades deben cumplir con ciertas normas para convertirse
en una relación.
1. Clave única:
Cada registro tiene que tener una llave única que lo identifique. Cualquier
atributo puede ser una llave, pero en lo posible trataremos de elegir como llave
única al atributo que tenga una longitud menor y fija, como por ejemplo un
numero de ID.
2. No duplicados:
No debe haber nunca dos columnas o filas totalmente idénticas. Ejemplo: Dos
registros de discos compactos en una tienda serían idénticos si son dos copias
del último álbum de Shakira, si no fuera porque cada disco compacto tiene un
número código que los hace diferentes.
4. Forma no-normalizada:
GRADOS DE NORMALIZACIÓN
3
Ibíd., SENA - CEV Comunidad Educativa Virtual
Primera Forma Normal
Así mismo se logra asignando a cada tabla una llave primaria y un identificador,
esto elimina los grupos de datos repetidos.”
Ejemplo:
Empleado
Identificación
Nombre
Edad
Responsable
Dirección
Oficio1
Oficio2
Oficio3
Los usuarios de esta tabla tendrán problemas al almacenar los datos de los
empleados de la compañía, pues al definir el oficio de los empleados sólo se
dispone de 3 opciones.
4
Ibíd., SENA - CEV Comunidad Educativa Virtual
Por lo anterior, la identificación del trabajador será la PK de la tabla
EMPLEADO.
Puesto que cada trabajador puede tener varias filas en la nueva tabla
OFICIO, la identificación y el Código_oficio de manera combinada serán la
PK completa de la tabla OFICIO.
Tabla OFICIO
Tabla EMPLEADO
Codigo_oficio
Identificación Llave foránea
Identificación
Nombre
Nombre_Oficio
Edad
Descripción
Responsable
Calificación
Dirección
Llave primaria
Actividad # 1:
Una cadena de agencias de viajes desea disponer de una Base de Datos que
contemple información relativa al hospedaje y vuelos de los turistas que la
contratan.
Cada vuelo viene definido por el número de vuelo, fecha y hora, origen y
destino, plazas totales y plazas de clase turista de las que dispone.
La información que se desea almacenar por cada turista es el código de
turista, nombre y apellidos, dirección y teléfono.
A la hora de viajar el turista puede elegir cualquiera de los vuelos que ofrece
la cadena, y en que clase (turista o primera) desea viajar.
Ejemplo:
Nombre Nombre
Edad Oficio
Responsable Calificación
Dirección
Tabla OFICIO
Codico_oficio
Oficio
Descripción
5
www.javeriano.edu.co/javeriano/guias/virtual/sitio2/octavo/guia_7/documentos/normalizacion.pdf
la PK de la tercera tabla es código_oficio y su larga descripción aparece
sólo una vez.
Actividad # 2:
6
“Una tabla está normalizada en esta forma si todas las columnas que no son llave son
funcionalmente dependientes por completo de la llave primaria y no hay dependencias
transitivas. Comentamos anteriormente que una dependencia transitiva es aquella en
la cual existen columnas que no son llave que dependen de otras columnas que
tampoco son llave.
Cuando las tablas están en la Tercera Forma Normal se previenen errores de lógica
cuando se insertan o borran registros. Cada columna en una tabla está identificada de
manera única por la llave primaria, y no debe haber datos repetidos. Esto provee un
esquema limpio y elegante, que es fácil de trabajar y expandir.
Un dato sin normalizar no cumple con ninguna regla de normalización. Para explicar
con un ejemplo en que consiste cada una de las reglas, vamos a considerar los datos
de la siguiente tabla.”
Ejemplo general:
6
Ibíd.
ESTADO INICIAL PRIMERA FORMA SEGUNDA FORMA TERCERA FORMA
NORMAL NORMAL NORMAL
FACTURA FACTURA FACTURA FACTURA
VENDEDOR
Pk Cod_vendedor
Nom_vendedor
Pk Código_producto Pk Código_producto
Nombre_producto Nombre_producto
Precio_unitario Precio_unitario
Actividad # 3
Un ejemplo típico para mostrar una tabla que, estando en 3FN, mantiene
dependencias funcionales, sin relación con el ejemplo seguido hasta este
momento, es una tabla llamada curso que posee los atributos ESTUDIANTE,
ASIGNATURA y PROFESOR.
CURSO
ESTUDIANTE ASIGNATURA PROFESOR
Bases de
Juan Rafael
datos
Profesorasignatura
7
http://www.google.com.co/search?hl=es&client=firefox-a&rls=org.mozilla%3Aes-
AR%3Aofficial&channel=s&q=normalizacion+de+bases+de+datos+FNBC&aq=f&aqi=&aql=&oq=&gs_rfai
PROFE_ASIG(profesor,asignatura)
ESTU_PROFE(estudiante,profesor)
ESTU_PROFE
PROFE_ASIG
ESTUDIANTE PROFESOR
PROFESOR ASIGNATURA
Luis Jesús
Jesús Informática
Luisa Pedro
Pedro Matemáticas
Mario Máximo
Máximo Física
María Lourdes
Lourdes Ingles
Juan Rafael
Rafael Bases de datos
Tomás Jesús
Una tabla está en Cuarta Forma Normal o 4FN si está en FNBC y las únicas
dependencias funcionales multivaloradas que existen son las dependencias
funcionales de la clave con los atributos que no forman parte de la misma.
8
http://www.scourdesign.com/articulos/BD-FN.php
Estas dependencias multievaluadas de la clave con los atributos que no forman
parte de la misma son dependencias triviales, por lo que algunos autores dicen
que no existen dependencias multievaluadas en 4FN.”
Ejemplo:
9“Supongamos que los atributos de la tabla transporte son conductor, tipo de
vehículo y tipo de carga, formando los tres campos la clave primaria. A cada
conductor se le puede asignar un vehículo u otro y cada vehículo puede
transportar varios tipos de carga.
TRANSPORTE
Para conseguir que esta tabla esté en 4FN se necesita crear dos nuevas tablas
manteniéndose en cada una de ellas una dependencia múltiple. La primera
tabla tendrá los atributos conductor y tipo de vehículo y la segunda, tipo de
vehículo y tipo de carga.
De este modo la tabla en 4FN debido a que la clave primaria de ambas tablas
son todos los campos que la forman. Resultado:”
9
Ibíd.
Quinta Forma Normal
10“Se dice que hay dependencia de JOIN, de unión o de producto si una tabla
tiene dependencia de unión con varias de sus proyecciones y se puede
obtener la tabla por medio de la unión de dichas proyecciones.
Proyección:
Creación de una tabla cuyos elementos forman un subconjunto de una tabla
dada. Se incluyen todas las filas y algunas columnas.
Unión:
Formar, a partir de dos tablas, una nueva con todos los campos de una de ellas
y los registros de ambas, excepto los repetidos. Ambas tablas han de tener el
mismo grado y las mismas columnas.
Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de Proyección-
Unión si está en 4FN y las únicas dependencias que existen son las
dependencias de unión de una tabla con sus proyecciones relacionándose
entre las distintas proyecciones mediante la clave primaria o cualquier clave
alternativa.
Para conseguir que una tabla 4FN con gran cantidad de atributos esté en 5FN,
se parte la tabla original en tantas tablas como se desee, teniendo cada una de
ellas en común con las demás los campos que forman la clave primaria en la
tabla original.
Ejemplo para el caso de una tabla que posee una gran cantidad de atributos:
10
Ibíd.
En este caso tenemos una empresa donde se guardan los datos personales,
familiares, profesionales y clínicos de cada empleado en una única tabla
llamada Empleados.
El resultado sería:
Id Datos Familiares
1 D1 D2 D3
Id Datos Profesionales
1 D4 D5 D6
Id Datos personales
1 D7 D8 D9
Id Datos clínicos
1 D10 D11 D12