Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
La normalización de bases de datos fue introducida como procedimiento por Edgar Frank
Codd, un científico de computación en IBM en su artículo “Un modelo relacional de datos
para grandes bancos de datos compartidos” en 1970. La normalización de bases de
datos es un proceso por el cual un esquema existente se modifica para traer sus tablas
componentes hacia el cumplimiento a través de una serie de formas normales progresivas.
Se centra en librar a los desarrolladores y sus proyectos del “síndrome de la hoja de cálculo".
El síndrome de la hoja de cálculo se refiere a la tendencia de los desarrolladores de exprimir
tanta información como sea posible en el menor número de tablas posible.
Antes, debido a las nociones de hojas de cálculo y cómo se manejaban los datos en ellas,
los desarrolladores seguían diseñando bases de datos MySQL con el mismo marco mental.
Hoy, este método no se considera una forma inteligente para diseñar bases de datos MySQL
desde que las tablas, cuando son diseñadas con el síndrome de la hoja de cálculo, piden
rediseño constante por cada pequeño cambio a la base de datos.
1
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
Como Mike Hillyer, un escritor técnico en MySQL AB (ahora Oracle Corporation), explica:
"El objetivo de la normalización de bases de datos es garantizar que cada columna que no
es clave, en cada tabla, depende directamente de la clave: toda la clave y nada más que la
clave. Y con este objetivo, vienen los beneficios en forma de menores redundancias, menos
anomalías, y la mejora de la eficiencia".
2
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
3
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
Para 1NF, asegúrese de que los valores de cada columna de una tabla son
atómicas; lo que significa que son únicos, y no contiene conjuntos de valores. En
nuestro caso, Autor y Tema no cumplen.
Uno de los métodos para llevar una tabla a 1NF es separar las entidades que figuran en la
tabla en tablas separadas. En nuestro caso, esto se traduciría en tablas Libro, Autor, Tema
y Editorial.
Tabla Libro:
Tabla Autor:
4
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
Tabla Tema:
1 Diseño de bases de
datos MySQL
2 Inteligencia de
Negocios
Tabla Editorial:
5
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
La tabla del libro puede tener relaciones muchos a muchos con la tabla del Autor.
La tabla del autor puede tener muchos libros y un libro puede tener más de un autor.
La tabla del libro puede tener relaciones muchos a muchos con la tabla de Tema.
Los libros pueden caber en muchos temas y los temas pueden tener muchos libros.
Las relaciones muchos-a-muchos tienen que ser presentadas por tablas “link" (de
enlace).
Autor_ID ISBN
1 1590593324
2 1590593324
3 1590593325
Tabla Tema_Libro:
ISBN Tema_ID
1590593324 1
1590593325 2
6
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
Uno-a-muchos en nuestro ejemplo será Libros a Editorial. Cada libro tiene solo una Editorial,
pero una Editorial puede tener muchos libros. Podemos lograr relaciones ‘uno-a-muchos'
con una clave externa. Una clave externa es un mecanismo en sistemas de gestión de bases
de datos (DBMS) que define las relaciones y crea restricciones entre los segmentos de datos.
No es posible examinar lo que no está relacionado con el libro específico. No es posible
tener un libro sin un autor o editorial.
Al borrar una editorial, todos los libros relacionados pueden necesitar ser eliminados junto
con las opiniones de esos libros. No sería necesario eliminar los autores.
La clave externa se introduce en la tabla que representa los "muchos", apuntando a la clave
primaria en la tabla "uno". Ya que la tabla "Libro" representa la porción de muchos de la
relación uno-a-muchos, se añade el valor de la clave primaria de la Editorial como en una
columna Editorial_ID como clave externa.
7
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
La segunda forma estándar (2NF) reduce los datos tautológicos/superfluos en una tabla
seleccionándolos, poniéndolos en nuevas tablas y estableciendo relaciones entre ellos.
8
Taller de Programación 10-10-2016 Versión 1.0
Tipo Documento Artículo Autor: Ronen Baram
http://searchdatacenter.techtarget.com/
Para cumplir con la 3NF tenemos que mover estas fuera de la tabla Editorial:
A través del proceso de normalización de las bases de datos ponemos las tablas de nuestro
esquema en conformidad con las formas estándares progresivas. Como resultado, las tablas
representan cada una una única entidad (un libro, un autor, un tema, etc.) y nos
beneficiamos de la disminución de la redundancia, menos anomalías y una mejora de la
eficiencia.
Sobre el autor: Ronen Baram es un consultor de ventas de MySQL en Oracle para los
mercados de Australia/Nueva Zelanda. Como parte de su trabajo, se reúne con clientes de
toda Australia, Nueva Zelanda, así como el resto de APAC, principalmente la India. Baram
tiene 15 años de experiencia en TI y tiene un interés especial en el sistema operativo Linux.
(Este tutorial se basa en una presentación realizada por Ronen Baram en la Conferencia de
Desarrollo de Oracle, celebrada en Hyderabad. Compilado por Sharon D’Souza).