Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMANA 1
Modelamiento y Normalización
de BBDD
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 1
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 1
ÍNDICE
3
ESTE DOCUMENTO CONTIENE LA SEMANA 1
MODELAMIENTO Y NORMALIZACIÓN DE BBDD
OBJETIVOS ESPECÍFICOS
Analizar las características principales de los distintos tipos de modelamiento de datos.
Distinguir los tipos más comunes de modelamiento de datos.
Analizar las características y objetivos del proceso de normalización de bases de datos.
Aplicar distintos niveles de Formas Normales en el diseño de bases de datos.
INTRODUCCIÓN
El contenido de este material presenta los elementos necesarios que permitirán caracterizar los
distintos tipos de modelamientos existentes, así como ciertos criterios para seleccionar un modelo
de datos en particular, según un contexto determinado. De igual manera, se presentan los
conceptos a tener en cuenta para abordar la técnica de normalización de una base de datos, en
particular las diversas reglas o normas a considerar para llevarla a cabo.
4
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1. MODELAMIENTO
Para iniciar el tema, revisaremos en primer término el concepto de modelo, el cual no es más que
una aproximación a lo que existe en el mundo real, mediante la representación de situaciones
presentes, generalmente de manera gráfica. Los modelos son ampliamente utilizados en diversas
disciplinas o ciencias, constituyendo una reproducción de lo que existe y se desea replicar.
1.1. DEFINICIÓN
Para el caso del modelamiento de datos en particular, Michael L. Brodie, John Mylopoulos y
Joachim W. Schmidt (1984) señalan que corresponden a una colección de herramientas
conceptuales para describir los datos, las relaciones, la semántica y las restricciones de
consistencia. Por lo tanto, se podría visualizar ese proceso de modelamiento como un conjunto de
pasos, que a partir de un requerimiento de información dado, se realiza una representación de la
realidad utilizando para ello herramientas informáticas que no sólo almacenarán la información,
sino también la vinculación entre los datos almacenados.
Cuando se logra esa descripción específica del mundo real en un modelo de datos, se está en
presencia de un esquema que detalla el conjunto de datos que formará parte de la base de datos.
Para ello, se utilizan los denominados modelos de datos, los cuales se clasifican principalmente en
modelo de datos conceptual y modelo de datos lógico.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1.3.1. MODELO ORIENTADO A OBJETO
Este modelo se basa en el paradigma de la programación orientada a objetos que, de acuerdo a
Mª Jesús Ramos, Alicia Ramos y Fernando Montero (2006), describe una relación entre los
términos orientados a objetos (OO) y los términos de programación tradicional. Constituye una
colección de objetos, entendiendo por objeto cualquier cosa real o abstracta acerca de la cual se
almacenan datos y los mecanismos que controlan dichos datos. El termino objeto se corresponde
al de variable, en el significado que se da en programación; en esa misma analogía, tiene un tipo
que en OO se denomina clase y un valor llamado estado. Si un objeto está formado por otros
objetos, a esos objetos componentes se les denomina variables de caso. Por ejemplo, un objeto
"Tupla de estudiante" podría contener tres variables de caso llamadas Id_est, Nom_est,
fech_nac_est.
Es así como se concibe que un objeto contenga atributos que representan su estado y métodos
que constituyen los servicios que brinda, donde cada objeto está asociado con uno o más procesos
que ejecutan los accesos a él.
Entidad: Es aquello que representa una cosa u objeto que se distingue claramente de los
demás.
Relación: Se refiere a la asociación entre dos o más entidades. Para ello, es usada la
correspondencia de cardinalidades, lo cual representa la cantidad de entidades que
pueden estar relacionadas con una entidad por medio de relaciones. Estas relaciones
pueden ser:
Relaciones muchos a muchos (n:m)
6
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Símbolo Denominación Utilidad
Rectángulo Representa a las entidades
Según Ramos et al. (2006), en la práctica no existen DBMS que utilicen este modelo, pero su
utilidad radica en que es una poderosa herramienta de modelado de bases de datos,
convirtiéndose en un estándar para el año 1988, cuando el instituto ANSI (American National
Standard Institute) lo seleccionó como modelo estándar para los sistemas de diccionarios de
recursos de información en el diseño de bases de datos. En la actualidad, existe una variedad de
herramientas de diseño conceptual que utilizan todos estos elementos descritos en el modelo de
E/R e incluso productos que transforman diagramas conceptuales E/R en bases de datos de
diversos formatos.
Suponga que se desea realizar la representación gráfica de las diversas asignaturas que imparte la
escuela de informática. Para ello identificamos lo siguiente:
Atributos:
Relaciones:
7
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Quien lo dicta cursada por
Profesor: Asignatura:
nombre código
dirección nombre
dictada por
cursa
Alumno:
código
nombre
Tal como lo destacan Ramos, Ramos & Montero (2006), los modelos lógicos basados en registros
se denominan así dado que la base de datos está estructurada en registros y son usados para
describir los datos tanto en el modelo conceptual como en el físico. Se diferencian de los modelos
basados en objetos en cuanto son usados para proporcionar especificaciones de la estructura
lógica global de una base de datos y proporcionar, a su vez, una detallada descripción a niveles
más altos de la implementación. Existen varios tipos de registros y cada uno de ellos tiene una
cantidad determinada de campos o atributos de longitud fija.
De igual manera, Ramos et al. (2006) aseguran que el modelo relacional fue una propuesta de IBM
desarrollada por E.F. Codd, basada en la teoría de las relaciones en la matemática, con el objetivo
de garantizar la independencia de la estructura lógica del diseño respecto al almacenamiento y
otros elementos de carácter físico. Entre los objetivos que persigue el modelo se encuentran
además de la independencia tanto física como lógica de los datos, presentar el diseño de manera
sencilla para facilitar su compresión así como proporcionar uniformidad en la representación de
las estructuras lógicas, mediante tablas y sus relaciones.
8
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Las operaciones sobre los datos se realizan mediante un estándar de lenguaje, denominado SQL
(Structured Query Language) o lenguaje estructurado de consultas, el cual permite que por medio
de operaciones denominadas consultas, se pueda acceder a la información. Este lenguaje se
encuentra disponible en los principales motores o sistemas de gestión de bases de datos
relacionales. De manera sencilla se tiene que una relación representa una tabla, en la que cada
fila representa una colección de valores que describen una entidad del mundo real. A
continuación en el cuadro 1 se presenta un resumen de los principales términos utilizados en este
modelo:
Término Descripción
Tupla Cada fila de la tabla
Atributo Cada una de las columna de una tabla
Grado Cantidad de atributos de la tabla
Cardinalidad Cantidad de tuplas de una tabla
Dominio Conjunto válido de valores representables por un atributo
Cuadro 1. Principales términos utilizados en el modelo relacional.
Fuente: Ramos, Ramos y Montero(2006).
Ejemplo:
Suponga que se tienen almacenados un conjunto de datos sobre los estudiantes de una institución
educativa, tales como el código, nombre y fecha de nacimiento. Entonces se podría ver
representada esta información de la siguiente manera:
↑ ↑ ↑
atributo1 atributo 2 atributo 3
Para el caso del modelo de red, se destaca que usa “estructuras de datos en red”, llamadas plex y
que representan a las entidades como registros o nodos y a las relaciones como enlaces o
punteros (Ramos et al., 2006, p. 28). Por medio de una estructura de red cualquier componente se
puede vincular con otro y se puede describir como un esquema de padres e hijos que se
diferencia del modelo jerárquico, ya que un hijo puede tener varios padres. Sin embargo, las
representaciones obtenidas a partir de este modelo de red limitan el cambio que requiere una
9
ESTE DOCUMENTO CONTIENE LA SEMANA 1
base de datos en su crecimiento. A continuación en el cuadro 2, se presenta un resumen con los
conceptos básicos que lo componen:
Concepto Descripción
Elemento Corresponde a un campo de datos. Ejemplo:
Nombre
Agregados de datos Conjunto de datos asociados a un nombre.
Ejemplo: Fecha_nac (día, mes, año).
Tipos de registro Corresponde a un nodo o un conjunto de
campos, donde cada campo a su vez contiene
elementos. Es el equivalente a los registros en
archivos o las entidades en el modelo E/R.
Conjunto Agrupación de dos o más tipos de registros con
una vinculación entre ellos.
Ciclo Se refiere a cuando un registro miembro tiene
en su descendencia a uno de sus antepasados.
Bucle Corresponde a un ciclo en el que los registros
propietarios y miembros son los mismos.
Cuadro 2: Conceptos básicos utilizados en el modelo de Red.
Fuente: Mª Jesús Ramos, Alicia Ramos y Fernando Montero (2006).
El modelo de red es una variante del modelo jerárquico que se comenta en el apartado 1.5, dado
que se construye sobre el concepto de múltiples ramas que representan la estructura del nivel
inferior, que deviene de uno o varios nodos de la estructura superior, con la diferencia que las
ramas pueden a su vez, estar unidas a múltiples nodos. De lo anterior, se destaca entonces que
este modelo es más eficiente que el jerárquico, en la representación de la redundancia de datos.
El diseño de un modelo de red se realiza por medio de celdas o recuadros que representan a los
campos del registro y de líneas que a su vez, representan los enlaces entre los registros, pudiendo
ser enlaces entre solos dos entidades llamados binarios, como también relaciones de más de dos
entidades denominadas generales, logrando representar de esta manera, una estructura lógica y
global de la base de datos.
El esquema de relaciones concebido bajo este modelo solo contempla vínculo de uno a muchos, es
decir 1:N, pudiendo establecer mediante vínculos virtuales relaciones N:M. Adicionalmente, se
destaca una desventaja que comparte con el modelo de red, relacionada a la dependencia que se
establece entre los programas y la manera que están almacenados los datos, lo que dificulta la
programación de los sistemas informáticos. También es bastante similar con el modelo de red, en
10
ESTE DOCUMENTO CONTIENE LA SEMANA 1
cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus
respectivos vínculos, siendo diferentes en que están organizados por conjuntos de árboles en
lugar de gráficas arbitrarias.
2. NORMALIZACIÓN
Al realizar el diseño de una base de datos se puede incurrir en ciertos fallos, que podrían originar
que el almacenamiento de la información presente por ejemplo la repetición del mismo dato en
diversas tablas, así como datos que no señalan claramente la información que representan o
contienen o incluso operaciones inconsistentes sobre los datos. Es por ello que luego de un diseño
de datos, se pasa a la fase de normalización.
Existen reglas para realizar la normalización de una base de datos, denominadas "forma normal";
De esta manera, cuando se determina que se cumple con la primera regla, se habla que la base de
datos se encuentra en “primera forma normal”, y así hasta llegar al cumplimiento de la tercera
regla, alcanzando el máximo nivel requerido por la mayoría de las aplicaciones en el mercado, es
decir la “tercera forma normal”.
Tal como asegura Ricardo (2009), el objetivo principal de la normalización es producir un conjunto
estable de relaciones que sea un modelo fiel de las operaciones de la empresa. Cuando se aplica
normalización a los datos, se alcanza un diseño flexible, que acepta futuras extensiones para
incorporar nuevos elementos tales como entidades, relaciones o atributos. Asegura también esta
11
ESTE DOCUMENTO CONTIENE LA SEMANA 1
misma autora, que se evita la redundancia de datos, tanto en el ahorro de espacio como para
evitar inconsistencias en los datos. Finalmente destaca que se logra la integridad de los datos por
medio la eliminación de posibles “anomalías” en las operaciones con los datos, entendiendo por
anomalía a “un estado inconsistente, incompleto o contradictorio de la base de datos”.
2.3.1. CONCEPTO
Una dependencia funcional es una relación entre atributos, descrita en la siguiente definición en la
forma de lógica matemática:
En términos sencillos, se entiende por dependencia funcional a la conexión entre uno o más
atributos de una base de datos y se describe por medio de flechas que enlazan a los atributos
relacionados. Es una tarea imprescindible en el proceso de normalización identificar las
dependencias funcionales a objeto de alcanzar la eficiencia de las tablas. Un ejemplo de ello
podría ser el siguiente, en relación a la edad y la fecha de nacimiento de una persona:
FechaDeNacimiento Edad
2.3.2. FINALIDAD
Las dependencias funcionales son restricciones de integridad que permiten determinar las
interrelaciones existentes entre dos o más atributos del mundo real. Adicionalmente, se puede
decir que representan propiedades inherentes al contenido semántico de los datos. Existen tres
propiedades de las dependencias funcionales denominadas axiomas de Armstrong:
12
ESTE DOCUMENTO CONTIENE LA SEMANA 1
entonces
X Y Z entonces X Z
En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la
mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue el
científico informático inglés Edgar Codd (1970), descritas en su teoría de normalización que
posteriormente tuvo continuidad con otros autores, quienes expresaron la cuarta y quinta forma
normal. Se trata de un proceso que garantiza que se cumplan todas las formas anteriores junto a
la que se ha alcanzado, por lo que el máximo nivel de normalización (5FN) cumple con las 5 reglas.
Existe un consenso general en señalar como normalización satisfactoria hasta la 3FN, también
denominada como la forma normal de Boyce-Codd.
Primera forma normal: La primera forma normal (1FN) es de obligatorio cumplimiento para que
exista un esquema relacional propiamente formado. Implementar la 1FN garantiza la no repetición
de grupos en cada tupla, entendiendo por grupos repetitivos a un conjunto de atributos de igual
semántica en el problema y dominio, que toman valores distintos para la misma clave. Dicho de
otra manera, una tabla se encuentra en primera forma normal si impide que un atributo de una
tupla pueda tomar más de un valor. Según Ricardo (2009), las características de la primera forma
normal son:
Se define para prohibir los atributos multivaluados, los atributos compuestos y sus
combinaciones.
Establece que los dominios de los atributos deben incluir sólo valores atómicos (simples e
indivisibles) y que el valor de cualquier atributo en una tupla debe ser un valor individual
proveniente del dominio de ese atributo.
La primera forma normal se considera actualmente parte de la definición de relación.
Segunda forma normal: Requiere que se cumpla la 1FN y que adicionalmente cada atributo que no
sea clave dependa de forma funcional completa respecto de cualquiera de las claves. Toda la clave
principal debe hacer dependientes al resto de atributos, por lo que si hay atributos que dependen
sólo de una porción de la clave, entonces esa parte de la clave y esos atributos deberán conformar
13
ESTE DOCUMENTO CONTIENE LA SEMANA 1
otra tabla. Se pretende garantizar una correcta elección de claves y eliminar redundancias. Para
reconocer que una base de datos se encuentra en 2FN, los autores Ramos et al. (2006) señalan lo
siguiente:
Si la clave está formada por un único atributo entonces ese esquema estará seguro en
segunda forma normal.
Se basa en el concepto de dependencia funcional total, una dependencia funcional X →Y
es total si la eliminación de cualquier atributo A de X rompe la dependencia.
Una relación está en 2FN si está en 1FN y todo atributo que no sea clave depende de
forma total de la clave.
La 2FN permite eliminar las redundancias para que ningún atributo sea determinado sólo
por una parte de una clave.
Tercera forma normal: Se dice que una base de datos alcanza 3FN si las tablas que la componen
se encuentran en 2FN y además ningún atributo que no sea clave depende transitivamente de las
claves de las tablas. Es decir, no ocurre cuando algún atributo depende funcionalmente de
atributos que no son clave. De igual manera Ramos et al. (2006) señalan como características de la
3FN:
14
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Se puede observar que el atributo id_curso contiene valores distintos en cada tupla por lo que no
cumple con la 1FN.
De esta manera se logra que cumpla con la 1FN, pero con la salvedad de que existen tuplas con
información repetida.
Para lograr la 2FN en la tabla anterior, se denota claramente que se debe separar en una tabla los
datos de los estudiantes y en otra tabla los de las asignaturas de la carrera. Finalmente, se crea el
vínculo entre los estudiantes y asignaturas cursadas por cada uno en una tercera tabla.
Los datos que dependen exclusivamente de la clave id_est son Nom_est y Fecha_nac_est, por lo
que conformarán la tabla Estudiantes:
Id_curso Nom_curso
BD Base de datos
RD Redes de datos
PR Programación
IC Introducción a la computación
ES Estadística
Y la tercera tabla que establece el vínculo entre estudiantes y las asignaturas que cursa:
Id_est Id_curso
1231 BD
1231 RD
1231 PR
2432 BD
2432 IC
3435 PR
15
ESTE DOCUMENTO CONTIENE LA SEMANA 1
3435 ES
3435 IC
Suponga ahora que se tiene otros datos en la tabla de estudiantes tales como el código y nombre
de la comuna en la que habitan, como se presenta a continuación:
Cod_comuna Nom_comuna
21 Quilicura
15 Maipú
10 La Florida
12 Macul
14 Lo Barnechea
09 Vitacura
05 Ñuñoa
01 Santiago Centro
De esta manera, hemos logrado que se cumplan las consideraciones para que el conjunto de
datos abordado en el ejemplo, alcance la tercera forma normal o 3FN.
16
ESTE DOCUMENTO CONTIENE LA SEMANA 1
COMENTARIO FINAL
En esta unidad se ha revisado los contenidos necesarios para conocer lo referente al
modelamiento de bases de datos y su correspondiente normalización. De esta manera, se revisó
las características del modelo orientado a objetos y del modelo Entidad – Relación (E/R) como
parte de los modelos lógicos basados en objetos. También se presentó lo referente a los modelos
basados en registros tales como el relacional, de red y el jerárquico.
En referencia a la normalización se vio como que se realiza a partir del conjunto de relaciones
previamente diseñadas a partir de un diagrama E/R e involucra el uso de métodos planteados en
reglas que permiten crear una forma normal superior. Se empieza por la 1FN, que significa que
una relación no tiene atributos de valor múltiple. Sin embargo, las relaciones en 1FN pueden tener
anomalías de actualización, inserción y borrado, debido a la existencia de dependencias parciales
sobre la clave. Si un atributo no clave no es completamente dependiente funcional sobre toda la
clave, la relación no está en segunda forma normal. En este caso se le normaliza mediante
proyección al colocar cada determinante que sea un subconjunto propio de la clave en una nueva
relación con sus atributos dependientes. La clave compuesta original también debe mantenerse en
otra relación. Las relaciones en 2FN pueden presentar aún anomalías de actualización, inserción y
borrado. Las dependencias transitivas, en las que uno o más atributos no clave determinan
funcionalmente otro atributo no clave, causan tales anomalías y es así como la tercera forma
normal se logra al eliminar las dependencias transitivas usando proyección.
17
ESTE DOCUMENTO CONTIENE LA SEMANA 1
REFERENCIAS
Brodie, M., Mylopoulos, J. & Schmidt, J. (1984). On Conceptual Modelling. Perspectives from
Codd, E. (1970). A Relational Model of Data for Large Shared Data Banks. Communications of the
ACM,(6), 377-387.
Ramos, M & Ramos, A & Montero, F. (2006). Sistemas gestores de bases de datos. Madrid, España:
McGraw Hill.
18
ESTE DOCUMENTO CONTIENE LA SEMANA 1
19
ESTE DOCUMENTO CONTIENE LA SEMANA 1