Sunteți pe pagina 1din 11

Fundamentos de bases de

SEMANA 2   DATOS 
 
 

 
 
 
 

 
 
 

 
 
 
 

 
 
 

 
 
 
 

 
 
 
   

[ FUNDAMENTOS DE BASES DE DATOS ]


 

CONTENIDO 
 
PRESENTACIÓN …………………………….………………………… 3 
 
1. DESARROLLO TEMÁTICO ……………………………………..…… 3 
Dependencias funcionales ……..……………....................… 4 
Normalización ………………………….……………………. 6 
 
CONCLUSIONES …….………………………………………………... 9 
BIBLIOGRAFÍA ………………………………………………………... 10 
 
 
 
 
 
 
 
 
 
 
 

 
2  [ POLITÉCNICO GRANCOLOMBIANO ]
 

NORMALIZACIÓN 
JOHANY ARMANDO CARREÑO GAMBOA 
jcarreno@poli.edu.co  
 

PRESENTACIÓN 
Un buen diseño de base de datos debe ser acorde con buenas estructuras de datos. En esta 
lectura,  después  de  analizar  el  concepto  de  dependencias  entre  los  datos  y  de  ver  los 
distintos tipos de dependencias, aprenderemos a evaluar y diseñar tablas bien estructuradas 
para  comprobar  las  redundancias  de  los  datos,  y  para  evitar  las  anomalías  de  inserción, 
actualización  y  borrado  en  los  mismos;  conceptos  imprescindibles  para  la  aplicación  de  la 
teoría de la normalización. 
Para  reconocer  y  aprender  las  características  de  una  buena  estructura  de  tabla,  conviene 
examinar  una  que  esté  deficiente;  de  modo  que  empezaremos  por  examinar  las 
características  de  una  estructura  de  tabla  deficiente.  Descubriremos  que  no  sólo  las 
anomalías de los datos pueden ser eliminadas mediante normalización, sino también, que un 
conjunto  de  estructuras  de  tabla  adecuadamente  normalizado  en  realidad  es  menos 
complicado  de  usar  que  un  conjunto  no  normalizado.  Además,  visualizaremos  que  el 
conjunto de estructuras de tabla normalizado refleja con más fidelidad las operaciones reales 
de una empresa. 
 
1. DESARROLLO TEMÁTICO 
Contar con un buen SGBD no es suficiente para evitar las redundancias de datos. Si las tablas 
de  bases  de  datos  se  tratan  como  si  fueran  archivos  en  un  sistema  de  archivos,  el  SGBD 
nunca tendría la oportunidad de demostrar sus superiores capacidades de manejo de datos. 
Analicemos la siguiente relación: ESCRIBE 
ESCRIBE(autor, nacionalidad, cod_libro, titulo, editorial, anio) 
Esta relación almacena datos de autores y de libros. Algunos problemas son:  
• Redundancia, ya que la nacionalidad del autor se repite por cada ocurrencia del mismo. 
Lo mismo sucede cuando un libro tiene más de un autor: se repite la editorial y el año 
de publicación.  
• Anomalías de actualización, es fácil cambiar el nombre de una editorial en una tupla sin 
modificar  el  resto  de  las  que  corresponden  al  mismo  libro,  lo  que  da  lugar  a 
incoherencias.  
• Anomalías de inserción, ya que si queremos añadir información de algún autor, del que 
no hubiera ningún libro en la base datos, no sería posible, ya que cod_libro es parte 
de la clave primaria de la relación (regla de integridad de la entidad). La inserción de 
un libro que tiene dos autores obliga a insertar dos tuplas en la relación.  
• Anomalías de borrado, ya que si queremos eliminar un cierto libro deberíamos perder 
los datos de su autor y viceversa.  

 
[ FUNDAMENTOS DE BASES DE DATOS ] 3
 

En el ejemplo anterior, el conjunto de las siguientes relaciones no presenta estos problemas:  
LIBRO( cod_libro, titulo, editorial, anio )  
AUTOR( nombre, nacionalidad )  
ESCRIBE( cod_libro, nombre )  
La  normalización  introduce  una  técnica  formal  para  diseñar  bases  de  datos  relacionales  y 
permite  mecanizar  parte  del  proceso  al  disponer  de  algoritmos  de  normalización.  Una 
observación  importante  es  que  las  anomalías  antes  descritas  se  producen  en  procesos  de 
actualización  y  no  en  procesos  de  consulta.  La  normalización  penaliza  las  consultas  al 
disminuir  la  eficiencia,  ya  que  la  normalización  aumenta  el  número  de  relaciones  presentes 
en la base de datos. Por esto determinada consulta puede llevar consigo el acceso a varias 
tablas, aumentando el costo de ésta. 
 
DEPENDENCIAS FUNCIONALES 
Uno  de  los  conceptos  fundamentales  en  la  normalización  es  el  de  dependencia  funcional. 
Una dependencia funcional es una relación entre atributos de una misma relación (tabla). Si x 
e  y  son  atributos  de  la  relación  R,  se  dice  que  y  es  funcionalmente  dependiente  de  x  (se 
denota por x → y) si cada valor de x tiene asociado un solo valor de y(x e y pueden constar de 
uno o varios atributos). A x se le denomina determinante, ya que x determina el valor de y. 
Se dice que el atributo y es completamente dependiente de x si depende funcionalmente de 
x y no depende de ningún subconjunto de x.  
La  dependencia  funcional  es  una  noción  semántica.  Si  hay  o  no  dependencias  funcionales 
entre atributos (A) no lo determina una serie abstracta de reglas sino los modelos mentales 
del usuario y las reglas de negocio de la organización o empresa para la que se desarrolla el 
sistema de bases de datos. Cada dependencia funcional (DF) es una clase especial de regla de 
integridad y representa una relación de uno a muchos.  
En  el  proceso  de  normalización  se  debe  ir  comprobando  que  cada  relación  (tabla)  cumple 
una  serie  de  reglas  que  se  basan  en  la  clave  primaria  y  las  dependencias  funcionales.  Cada 
regla  que  se  cumple  aumenta  el  grado  de  normalización.  Si  una  regla  no  se  cumple,  la 
relación se debe descomponer en varias relaciones que sí la cumplan.  
 
DESCRIPTORES EQUIVALENTES 
Se dice que X e Y son equivalentes cuando: 
  X → Y  ʌ Y → X 
Y se representa: 
  X  ↔  Y 
Ejemplo: ISBN_Libro → Titulo_Libro 
 
DEPENDENCIAS TRANSITIVAS 
Sea  la  relación  R  (A,  DF)  y  X,  Y  dos  descriptores  sobre  A.  Entre  los  descriptores  X  e  Y  se 
presenta una dependencia transitiva si se cumple: 

 
4  [ POLITÉCNICO GRANCOLOMBIANO ]
 

a‐X ∩ Y = ᴓ 
b‐ Existe un descriptor Z ⊆ A tal que Z ∩ X = ∅ y Z ∩Y = ∅ 
c‐  X → Y, Y → Z, X → Z 
 
DEPENDENCIAS PARCIALES 
Se dice que X → Y es una dependencia parcial cuando existe un descriptor X’ ⊂ X tal que X’ → 
Y. Si no existe tal descriptor X’ ⊂ X tal que X’ → Y, se dice que la dependencia es total. 
 
REGLAS DE INFERENCIA PARA LAS DEPENDENCIAS FUNCIONALES 
Las  siguientes  reglas  de  inferencia  (RI)  se  conocen  como  Axiomas  de  Armstrong:  son 
seguras, no generan dependencias funcionales incorrectas. 
Siendo (X,Y, W y Z, conjunto de atributos): 
RI1: reflexiva ‐ Si X Ê Y, entonces X®Y 
RI2: aumentatividad – Si X®Y y W Ê Z, entonces  XW → YZ 
RI3: transitividad ‐ Si X → Y y Y → Z entonces X → Z 
Las  siguientes  reglas  se  pueden  derivar  a  partir  de  las  tres  reglas  mencionadas 
anteriormente: 
RI4: pseudotransitividad – Si X → Y y W → Z, entonces XW → Z 
RI5: unión – Si X → Y y X → Z entonces X → YZ 
RI6: descomposición – Si X → YZ, entonces X → Y y X → Z 
 
OPERACIONES EN EL MODELO RELACIONAL 
Dado el esquema R (A, DF) con A = {A, B, C, D, E} y DF = {A→B, C→D, D→E} 
Demostrar que AC → ABCDE. 
Para esto aplicamos los Axiomas de Armstrong: 
1. A→B (dato conocido) 
2. AC→ABC (aumentatividad de 1. por AC) 
3.C→D (dato conocido) 
4. D→E (dato conocido) 
5.C→E (transitividad de 3 y 4) 
6. C→DE (unión de 3 y 5) 
7.ABC→ABCDE (aumentatividad de 6. Por ABC) 
8. AC → ABCDE (transitividad 2 y 7) 
Luego AC implica todos los atributos. 
 
CIERRE DF+ DE UN CONJUNTO DE DEPENDENCIAS FUNCIONALES 
El cierre de un conjunto de dependencias funcionales DF (que se denota DF+) es el conjunto 
de todas las dependencias que son consecuencia lógica de DF: 
 
  DF+ = { X → y | DF |= X → Y } 

 
[ FUNDAMENTOS DE BASES DE DATOS ] 5
 

 
DF será siempre un subconjunto  del cierre (DF Ê DF+). Por lo tanto, las notaciones R (A, DF) y 
R (A, DF+) definen el mismo esquema de relación. 
 
NORMALIZACIÓN 
La normalización es un proceso que consiste en asignar atributos a las entidades. Reduce las 
redundancias  de  datos  y,  por  extensión,  ayuda  a  eliminar  las  anomalías  de  datos  que  se 
derivan de las redundancias. La normalización no elimina  las redundancias de datos, pero sí 
produce  la  redundancia  controlada  que  permite  asociar  las  tablas  de  bases  de  datos.  La 
normalización es una técnica para diseñar la estructura lógica de los datos de un sistema de 
información en el modelo relacional, desarrollada por E. F. Codd en 1972. Es una estrategia de 
diseño  de  abajo  arriba:  se  parte  de  los  atributos  y  éstos  se  van  agrupando  en  relaciones 
(tablas) según su afinidad. Aquí no se utilizará la normalización como una técnica de diseño 
de  bases  de  datos,  sino  como  una  etapa  posterior  a  la  correspondencia  entre  el  esquema 
conceptual y el esquema lógico, que elimine las dependencias entre atributos no deseadas. 
Las ventajas de la normalización son las siguientes: 
• Evita anomalías en inserciones, modificaciones y borrados. 
• Mejora la independencia de datos. 
• No establece restricciones artificiales en la estructura de los datos. 
Cuando  se  diseña  una  base  de  datos  mediante  el  modelo  relacional,  al  igual  que  ocurre  en 
otros  modelos  de  datos,  tenemos  distintas  alternativas:  podemos  obtener  diferentes 
esquemas  relacionales  y  no  todos  son  equivalentes,  ya  que  algunos  van  a  representar  la 
realidad  mejor  que  otros.  Es  necesario  conocer  qué  propiedades  debe  tener  un  esquema 
relacional para representar adecuadamente una realidad y cuáles son los problemas que se 
pueden  derivar  de  un  diseño  inadecuado.  La  teoría  de  la  Normalización  es  un  método 
objetivo y riguroso que se aplica en el diseño de bases de datos relacionales.  
El esquema relacional puede obtenerse de dos formas distintas:  
• Directamente  a  partir  de  la  observación  de  nuestro  universo  del  discurso,  en  donde 
especificamos conjuntos de atributos, relaciones y restricciones que corresponden a 
los observados en el mundo real.  
• Realizando  el  proceso  de  diseño  en  dos  fases,  primero  el  diseño  conceptual  (E/R+) 
obteniendo el esquema conceptual y posteriormente transformándolo a un esquema 
relacional,  siguiendo  algunas  reglas  generales  que  fueron  abordadas  en  las  lecturas 
de la unidad Dos.  
Algunos problemas que se pueden presentar son:  
• Incapacidad para almacenar ciertos hechos  
• Redundancias y por tanto, posibilidad de incoherencias  
• Ambigüedades  
• Pérdida de información  
• Pérdida de dependencias funcionales, es decir, ciertas restricciones de integridad que 
dan lugar a interdependencias entre los datos.  

 
6  [ POLITÉCNICO GRANCOLOMBIANO ]
 

• Aparición en la BD de estados no válidos, es decir, anomalías de inserción, borrado y 
modificación. 
La normalización se lleva a cabo en una serie de pasos. Cada paso corresponde a una forma 
normal  que  tiene  unas  propiedades.  Conforme  se  va  avanzando  en  la  normalización,  las 
relaciones  tienen  un  formato  más  estricto  (más  fuerte)  y,  por  lo  tanto,  son  menos 
vulnerables a las anomalías de actualización. El modelo relacional sólo requiere un conjunto 
de  relaciones  en  primera  forma  normal.  Las  restantes  formas  normales  son  opcionales.  Sin 
embargo,  para  evitar  las  anomalías  de  actualización,  es  recomendable  llegar  al  menos  a  la 
tercera forma normal. 
 
PRIMERA FORMA NORMAL (1FN) 
Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada uno de los 
campos contiene un único valor para un registro determinado.  
Si  una  relación  no  está  en  1FN,  hay  que  eliminar  de  ella  los  grupos  repetitivos.  Un  grupo 
repetitivo será el atributo o grupo de atributos que tiene múltiples valores para cada tupla de 
la  relación.  Hay  dos  formas  de  eliminar  los  grupos  repetitivos.  En  la  primera,  se  repiten  los 
atributos con un solo valor para cada valor del grupo repetitivo. De este modo se introducen 
redundancias,  ya  que  se  duplican  valores,  pero  estas  redundancias  se  eliminarán  después 
mediante las restantes formas normales. La segunda forma de eliminar los grupos repetitivos 
consiste en poner cada uno de ellos en una relación aparte, heredando la clave primaria de la 
relación en la que se encontraban. 
 
Ejemplo: 
Dada  la  relación  Departamento(cod_dpto,  nombre_dpto,  descripción_dpto, 
empleado_dpto),  el  atributo  empleado_dpto  puede  tomar  más  de  un  valor  en  el  dominio 
Departamento.  
Solución: 
Departamento(cod_dpto, nombre_dpto, descripción_dpto) 
Empleado(ced_empl, cod_empl, nombre_empl, apellido_empl, genero_empl, cod_dpto) 
 
SEGUNDA FORMA NORMAL (2FN) 
Una relación está en segunda forma normal si y sólo si está en 1FN y, además, cada atributo 
que  no  está  en  la  clave  primaria  es  completamente  dependiente  de  la  clave  primaria  (no 
existen dependencias parciales). 
La  2FN  se  aplica  a  las  relaciones  que  tienen  claves  primarias  compuestas  por  dos  o  más 
atributos. Si una relación está en 1FN y su clave primaria es simple (tiene un solo atributo), 
entonces también está en 2FN. Las relaciones que no están en 2FN pueden sufrir anomalías 
cuando se realizan actualizaciones. 
Para pasar una relación en 1FN a 2FN hay que eliminar las dependencias parciales de la clave 
primaria.  Para  ello,  se  eliminan  los  atributos  que  son  funcionalmente  dependientes  y  se 

 
[ FUNDAMENTOS DE BASES DE DATOS ] 7
 

ponen  en  una  nueva  relación  con  una  copia  de  su  determinante  (los  atributos  de  la  clave 
primaria de los que dependen). 
 
Ejemplo: 
Dada  la  relación  Estoqueado(fecha_est,  cod_plt,  nombre_plt,  url_plt,  cod_toro, 
nombre_toro,  peso_toro),  un  toro  es  estoqueado  en  una  plaza  de  toros  y  en  una  plaza 
pueden ser estoqueados muchos toros. 
Solución: 
Al  no  depender  todos  los  campos  de  la  totalidad  de  la  llave,  la  tabla  no  está  en  segunda 
forma normal. La solución es la siguiente: 
  Plaza_Toro(cop_plt, nombre_plt, url_plt) 
  Toro(cod_toro, nombre_toro, peso_toro) 
  Estoqueado(cod_plt, cod_toro, fecha_est) 
 
TERCERA FORMA NORMAL (3FN) 
Una relación está en tercera forma normal si y sólo si está en 2FN y, además, cada atributo 
que  no  está  en  la  clave  primaria  no  depende  transitivamente  de  la  clave  primaria.  La 
dependencia  X  →    Z  es  transitiva  si  existen  las  dependencias  X  →  Y,  Y  →  Z,  siendo  X  e  Y 
atributos o conjuntos de atributos de una misma relación. 
Aunque las relaciones en 2FN tienen menos redundancias que las relaciones en 1FN, todavía 
pueden  sufrir  anomalías  frente  a  las  actualizaciones.  Para  pasar  una  relación  de  2FN  a  3FN 
hay  que  eliminar  las  dependencias  transitivas.  Para  ello,  se  eliminan  los  atributos  que 
dependen  transitivamente  y  se  ponen  en  una  nueva  relación  con  una  copia  de  su 
determinante (el atributo o atributos no llave de los que dependen). 
 
Ejemplo: 
Dada la relación LIBRO( cod_libro, editorial, país), una relación que está formada por un 
único atributo está en 2FN. 
Solución: 
En la relación LIBRO, el atributo país entrega información acerca de la editorial que publica el 
libro, por lo que no está en 3FN. La solución es descomponerla en:  
LIBRO( cod_libro, editorial )  
EDITORIAL(editorial, país ) 
 
FORMA NORMAL BOYCE CODD (BCNF) 
Una  relación  está  en  la  forma  normal  de  Boyce‐Codd  si  y  sólo  si  todo  determinante  es  una 
llave  candidata.  Un  determinante  es  un  atributo  del  cual  depende  funcionalmente  (por 
completo) algún otro atributo. 
La 2FN y la 3FN eliminan las dependencias parciales y las dependencias transitivas de la clave 
primaria. Pero este tipo de dependencias todavía puede existir sobre otras claves candidatas, 

 
8  [ POLITÉCNICO GRANCOLOMBIANO ]
 

si éstas existen. La BCFN es más fuerte que la 3FN, por lo tanto, toda relación en BCFN está 
en 3FN. 
La  violación  de  la  BCFN  es  poco  frecuente,  ya  que  se  da  bajo  ciertas  condiciones  que 
raramente se presentan. Se debe comprobar si una relación viola la BCFN si tiene dos o más 
claves candidatas compuestas que tienen al menos un atributo en común. 
 
Ejemplo: 
La siguiente relación se encuentra en 3FN y FNBC: 
   
Estudiante(ced_est, cod_est, nombre_est, apellido_est, genero_est) 
 
Como  se  puede  observar,  la  llave  primaria  es  ced_est,  pero  el  cod_est  es  un  determinante 
(llave  candidata).  Una  relación  está  en  FNBC  si  y  solo  si  el  conocimiento  de  las  llaves 
candidatas  (cod_est)  permite  averiguar  todas  las  interrelaciones  existentes  entre  los  datos 
de  la  relación,  o  lo  que  es  igual,  las  llaves  candidatas  son  los  únicos  descriptores  sobre  los 
que se facilita información por cualquier otro atributo. 
 
CUARTA FORMA NORMAL (4FN) 
La 4FN se viola cuando una relación tiene dependencias multivaluadas indeseables y que, por 
tanto, pueden usarse para identificar y descomponer tales relaciones. 
 
Ejemplo: 
Dada la relación  Empleado(nombre_empl, nombre_proyecto, nombre_familiar), Empleado 
no  está  en  4FN  porque  nombre_empl  no  es  una  llave  primaria  de  Empleado.  Esto  implica 
bastante redundancia, lo cual conduce como siempre a ciertas anomalías de actualización. 
Solución: 
La  solución  consiste  en  realizar  una  proyección  de  Empleado  sobre  ProyectoEmpleado  y 
FamiliarEmpleado: 
  ProyectoEmpleado(nombre_empl, nombre_proyecto) 
  FamiliarEmpleado(nombre_empl, nombre_familiar) 
  
CONCLUSIONES 
• Los  esquemas  lógicos  se  pueden  validar  mediante  la  normalización  y  frente  a  las 
transacciones de los usuarios. La normalización se utiliza para mejorar el esquema, de 
modo  que  éste  satisface  ciertas  restricciones  que  evitan  la  duplicidad  de  datos.  La 
normalización garantiza que el esquema resultante está más próximo al modelo de la 
empresa, es consistente, tiene la mínima redundancia y la máxima estabilidad. 
• Las restricciones de integridad son las restricciones que se imponen para que la base 
de datos nunca llegue a un estado inconsistente. Hay cinco tipos de restricciones de 

 
[ FUNDAMENTOS DE BASES DE DATOS ] 9
 

integridad:  datos  requeridos,  restricciones  de  dominio,  integridad  de  entidades, 


integridad referencial y reglas de negocio. 
• Para garantizar la integridad referencial se debe especificar el comportamiento de las 
llaves foráneas: si aceptan nulos y qué hacer cuando se borra la tupla a la que se hace 
referencia, o cuando se modifica el valor de su llave primaria. 
 
BIBLIOGRAFÍA 
• DATE, Christopher J. Introducción a los Sistemas de Bases de Datos. 7ma ed. México: 
Pearson Publications Company, 2001. 
• ELMASRI,  R.  y  NAVATHE,  S.B.  Fundamentals  of  Database  Systems.  6ta  ed.  United 
States of America: Addison Wesley, 2010. 
• KORTH  y  SIULBERSCHATZ,  A.  Fundamentos  de  Bases  de  Datos.  Cuarta  edición. 
Madrid: McGraw‐Hill, 2002. 
• ROB, Peter y CORONEL, Carlos. Sistemas de Bases de Datos: diseño, implementación 
y administración. 5 ed. México: Thomson, 2003. 
 

 
 
 
 

 
 

 
 
 
 

 
 

 
10  [ POLITÉCNICO GRANCOLOMBIANO ]
 

 
 
 

 
 
 
 

 
[ FUNDAMENTOS DE BASES DE DATOS ] 11

S-ar putea să vă placă și