Вы находитесь на странице: 1из 21

Introduccin a los conceptos de bases de datos

1.1 Definicin de Bases de Datos

Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos.

Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que
un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar
lgicamente en archivos.

Conceptos bsicos de archivos computacionales.

Campo: Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del
programador representa una caracterstica de un individuo u objeto.

Registro: Coleccin de campos de iguales o de diferentes tipos.

Archivo: Coleccin de registros almacenados siguiendo una estructura homognea.

Base de datos: Es una coleccin de archivos interrelacionados, son creados con un DBMS. El contenido de una base
de datos engloba a la informacin concerniente (almacenadas en archivos) de una organizacin, de tal manera que los
datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos
minimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, el software DBMS y
los datos a manejar, as como el personal encargado del manejo del sistema.

Sistema Manejador de Base de Datos. (DBMS): Un DBMS es una coleccin de numerosas rutinas de software
interrelacionadas, cada una de las cuales es responsable de una tarea especfica.
El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez
conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos. Todas las
peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona
como interface entre los usuarios y la base de datos.

Esquema de base de datos: Es la estructura por la que est formada la base de datos, se especifica por medio de un
conjunto de definiciones que se expresa mediante un lenguaje especial llamado lenguaje de definicin de datos. (DDL)

Administrador de base de datos (DBA): Es la persona o equipo de personas profesionales responsables del control y
manejo del sistema de base de datos, generalmente tiene(n) experiencia en DBMS, diseo de bases de datos,
Sistemas operativos, comunicacin de datos, hardware y programacin.
Los sistemas de base de datos se disean para manejar grandes cantidades de informacin, la manipulacin de los
datos involucra tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de
mecanismos para la manipulacin de la informacin, adems un sistema de base de datos debe de tener
implementados mecanismos de seguridad que garanticen la integridad de la informacin, a pesar de cadas del sistema
o intentos de accesos no autorizados.
Un objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visin abstracta de los
datos, esto se logra escondiendo ciertos detalles de cmo se almacenan y mantienen los datos.

1.2 Objetivos de los sistemas de bases de datos.

Los objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos:

Redundancia e inconsistencia de datos: Puesto que los archivos que mantienen almacenada la informacin son
creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el
almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una
vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems
de que puede originar la inconsistencia de los datos - es decir diversas copias de un mismo dato no concuerdan entre
s -, por ejemplo: que se actualiza la direccin de un cliente en un archivo y que en otros archivos permanezca la
anterior.

Dificultad para tener acceso a los datos: Un sistema de base de datos debe contemplar un entorno de datos que le
facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes necesita averiguar los
nombres de todos los clientes que viven dentro del cdigo postal 78733 de la ciudad. El gerente pide al departamento
de procesamiento de datos que genere la lista correspondiente. Puesto que esta situacin no fue prevista en el diseo
del sistema, no existe ninguna aplicacin de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia
del sistema.

Aislamiento de los datos: Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener
diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados.

Anomalas del acceso concurrente: Para mejorar el funcionamiento global del sistema y obtener un tiempo de
respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un
entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir
esta posibilidad debe mantenerse alguna forma de supervisin en el sistema.

Problemas de seguridad: La informacin de toda empresa es importante, aunque unos datos lo son ms que otros,
por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna
informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad
que garantice la autentificacin y proteccin de los datos. En un banco por ejemplo, el personal de nminas slo
necesita ver la parte de la base de datos que tiene informacin acerca de los distintos empleados del banco y no a otro
tipo de informacin.

Problemas de integridad: Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de
restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema aadiendo cdigos apropiados en los
diversos programas de aplicacin.

1.3 Abstraccin de la informacin.

Una base de datos es en esencia una coleccin de archivos relacionados entre s, de la cual los usuarios pueden
extraer informacin sin considerar las fronteras de los archivos.
Un objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visin abstracta de los
datos, es decir, el sistema esconde ciertos detalles de cmo se almacenan y mantienen los datos. Sin embargo para
que el sistema sea manejable, los datos se deben extraer eficientemente.
Existen diferentes niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema; Interno,
conceptual y externo, especficamente el de almacenamiento fsico, el del usuario y el del programador.

Nivel fsico: Es la representacin del nivel ms bajo de abstraccin, en ste se describe en detalle la forma en como
de almacenan los datos en los dispositivos de almacenamiento (por ejemplo, mediante sealadores o ndices para el
acceso aleatorio a los datos).

Nivel conceptual: El siguiente nivel ms alto de abstraccin, describe que datos son almacenados realmente en la
base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en trminos de su
estructura de diseo. El nivel conceptual de abstraccin lo usan los administradores de bases de datos, quienes deben
decidir qu informacin se va a guardar en la base de datos.
Consta de las siguientes definiciones:

1. Definicin de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos
direccionables en la base. Los elementos por definir incluyen artculos elementales (atributos), totales de datos
y registros conceptuales (entidades).
2. Relaciones entre datos: Se definen las relaciones entre datos para enlazar tipos de registros relacionados
para el procesamiento de archivos mltiples.

En el nivel conceptual la base de datos aparece como una coleccin de registros lgicos, sin descriptores de
almacenamiento. En realidad los archivos conceptuales no existen fsicamente. La transformacin de registros
conceptuales a registros fsicos para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario.

Nivel de visin: Nivel ms alto de abstraccin, es lo que el usuario final puede visualizar del sistema terminado,
describe slo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas
visiones para la misma base de datos.
La interrelacin entre estos tres niveles de abstraccin se ilustra en la siguiente figura.

1.4 Modelos de datos.

Para introducirnos en este tema, empezaremos definiendo que es un modelo.

Modelo: Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar.
En base de datos, esta representacin la elaboramos de forma grfica.

Qu es modelo de datos?: Es una coleccin de herramientas conceptuales para describir los datos, las relaciones
que existen entre ellos, semntica asociada a los datos y restricciones de consistencia.

Los modelos de datos se dividen en tres grupos:

Modelos lgicos basados en objetos.

Modelos lgicos basados en registros

Modelos fsicos de datos.

Modelos lgicos basados en objetos: Se usan para describir datos en los niveles conceptual y de visin, es decir,
con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una
capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen
diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin.

*Modelo Entidad-Relacin: Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de
entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno

se distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control asignado al entrar
a una institucin educativa, as mismo, un empleado, una materia, etc.
Las entidades pueden ser de dos tipos:

Tangibles: Son todos aquellos objetos fsicos que podemos ver, tocar o sentir.

Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen,
por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.

Las caractersticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccin telfono,
grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento, etc., son atributos
de la entidad empleado. A su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones.

Pero para entender mejor esto, veamos un ejemplo:


Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema
determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artculo (que es el
producto en venta), y las caractersticas que los identifican son:
Empleado:

Artculo:

Nombre
Puesto
Salario
R.F.C.

Descripcin
Costo
Clave

La relacin entre ambas entidades la podemos establecer como Venta.


Bueno, ahora nos falta describir como se representa un modelo E-R grficamente, la representacin es muy sencilla,
se emplean smbolos, los cuales son:
Smbolo

Representa

As nuestro ejemplo anterior quedara representado de la siguiente forma:

Existen ms aspectos a considerar con respecto a los modelos entidad relacin, estos sern considerados en el tema
Modelo Entidad Relacin.

Modelos lgicos basados en registros: Se utilizan para describir datos en los niveles conceptual y fsico.
Estos modelos utilizan registros e instancias para representar la realidad, as como las relaciones que existen entre
estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para
especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la
implementacin.

Los tres modelos de datos ms ampliamente aceptados son:

Modelo Relacional

Modelo de Red

Modelo Jerrquico

* Modelo relacional: En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin
de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendr la base de datos
y las columnas corresponden a las caractersticas(atributos) de cada registro localizado en la tupla;
Considerando nuestro ejemplo del empleado y el artculo:
Tabla del empleado

Ahora te preguntaras cmo se representan las relaciones entre las entidades en este modelo?
Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el
cual definimos como atributo principal, es una forma nica de identificar a una entidad. Por ejemplo, el RFC de un
empleado se distingue de otro por que los RFC no pueden ser iguales.

Ahora s, las formas de representar las relaciones en este modelo son:


1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la
relacin.
Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del articulo es la Clave.

2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.

* Modelo de red: Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan
por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de
grficas arbitrarias.
Ejemplo:

Para profundizar en este tema visitemos: Modelo de datos de red.

* Modelo jerrquico: Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por
medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de arboles en lugar de
grficas arbitrarias.

Para profundizar ms en el tema visita: Modelo de datos jerrquico.

Modelos fsicos de datos: Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos
modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. Existen
dos clasificaciones de este tipo que son:

Modelo unificador

Memoria de elementos.

1.5 Instancias y esquemas.

Con el paso del tiempo la informacin que se va acumulando y desechando en la base de datos, ocasiona que est
cambie.
Denominamos:
Instancia: Al estado que presenta una base de datos en un tiempo dado. Vemoslo como una fotografa que tomamos
de la base de datos en un tiempo t, despus de que transcurre el tiempo t la base de datos ya no es la misma.

Esquema: Es la descripcin lgica de la base de datos, proporciona los nombres de las entidades y sus atributos
especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irn formando
cada uno de los atributos. El esquema no cambia los que varan son los datos y con esto tenemos una nueva instancia.

Ejemplo:
Considerando el ejemplo del vendedor que vende artculos, esquema e instancia segn nuestro ejemplo, quedara:
Esquema:
{ Vendedor : Nombre, puesto, salario, RFC }
{ Articulo : Clave, costo, descripcin }
Instancia:

Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en
registros cuyos nombres de campos son: por parte del vendedor (Nombre, puesto, salario, RFC) y por el artculo
(Clave, costo, descripcin); La instancia representa a una serie de datos almacenados en los registros establecidos por
el esquema, estos datos varan, no permanecen fijos en el tiempo.

1.6 Independencia de los datos

Se refiere a la proteccin contra los programas de aplicacin que puedan originar modificaciones cuando se altera la
organizacin fsica o lgica de la base de datos. Existen 2 niveles de independencia de datos.

Independencia fsica de datos: Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir
los programas de aplicacin.

Independencia lgica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a
escribir los programas de aplicacin.

1.7 Lenguaje de definicin de datos

El lenguaje de definicin de datos, denominado por sus siglas como: DDL(Data definition Language).
Permite definir un esquema de base de datos por medio de una serie de definiciones que se expresan en un lenguaje
especial, el resultado de estas definiciones se almacena en un archivo especial llamado diccionario de datos.

1.8 Lenguaje de manipulacin de datos

La manipulacin de datos se refiere a las operaciones de insertar, recuperar, eliminar o modificar datos; dichas
operaciones son realizadas a travs del lenguaje de manipulacin de datos (DML, Data Manipulation Language), que
es quin permite el acceso de los usuarios a los datos.
Existen bsicamente 2 tipos de lenguajes de manipulacin de datos:

Procedimentales: Los LMD requieren que el usuario especifique que datos se necesitan y cmo obtenerlos.
No procedimentales: Los LMD requieren que el usuario especifique que datos se necesitan y sin especificar
cmo obtenerlos.

1.9 Manejador de Bases de Datos

El sistema manejador de bases de datos es la porcin ms importante del software de un sistema de base de datos.
Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es
responsable de alguna tarea especfica.

Las funciones principales de un DBMS son:


Crear y organizar la Base de datos.
Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser
accedidos rpidamente.
Manejar los datos de acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos.

Interaccin con el manejador de archivos: Esto a travs de las sentencias en DML al comando de el sistema de
archivos. As el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.

Respaldo y recuperacin: Consiste en contar con mecanismos implantados que permitan la recuperacin
fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.

Control de concurrencia: Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar la
inconsistencia de los datos.

Seguridad e integridad: Consiste en contar con mecanismos que permitan el control de la consistencia de los
datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

El DBMS es conocido tambin como Gestor de Base de datos.

La figura muestra el DBMS como interfase entre la base de datos fsica y las peticiones del usuario. El DBMS
interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos
entre la unidad de memoria secundaria y la memoria principal.
En s, un sistema manejador de base de datos es el corazn de la base de datos ya que se encarga del control total de
los posibles aspectos que la puedan afectar.

1.10 Administrador de Bases de Datos

Denominado por sus siglas como: DBA, Database Administrator. Es la persona encargada y que tiene el control total
sobre el sistema de base de datos, sus funciones principales son:

Definicin de esquema: Es el esquema original de la base de datos se crea escribiendo un conjunto de definiciones
que son traducidas por el compilador de DDL a un conjunto de tablas que son almacenadas permanentemente en el
diccionario de datos.

Definicin de la estructura de almacenamiento del mtodo de acceso: Estructuras de almacenamiento y de acceso


adecuados se crean escribiendo un conjunto de definiciones que son traducidas por el compilador del lenguaje de
almacenamiento y definicin de datos.

Concesin de autorizacin para el acceso a los datos.


Permite al administrador de la base de datos regular las partes de las bases de datos que van a ser accedidas por
varios usuarios.

Especificacin de limitantes de integridad. una serie de restricciones que se encuentran almacenados en una
estructura especial del sistema que es consultada por el gestor de base de datos cada vez que se realice una
actualizacin al sistema.

1.11 Usuarios de las bases de datos.

Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos
desde que este se disea, elabora, termina y se usa.
Los usuarios que accedan una base de datos pueden clasificarse como:

Programadores de aplicaciones: Los profesionales en computacin que interactan con el sistema por medio de
llamadas en DML (Lenguaje de Manipulacin de Datos), las cuales estn incorporadas en un programa escrito en un
lenguaje de programacin (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)

Usuarios sofisticados: Los usuarios sofisticados interactan con el sistema sin escribir programas. En cambio
escriben sus preguntas en un lenguaje de consultas de base de datos.
Usuarios especializados: Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que
no encajan en el marco tradicional de procesamiento de datos.

Usuarios ingenuos: Los usuarios no sofisticados interactan con el sistema invocando a uno de los programas de
aplicacin permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al

usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseo interno del
mismo por ejemplo: un cajero.

1.12 Estructura general del sistema.

Un sistema de base de datos se encuentra dividido en mdulos cada uno de los cuales controla una parte de la
responsabilidad total de sistema. En la mayora de los casos, el sistema operativo proporciona nicamente los servicios
ms bsicos y el sistema de la base de datos debe partir de esa base y controlar adems el manejo correcto de los
datos. As el diseo de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el
sistema operativo.
Los componentes funcionales de un sistema de base de datos, son:

Gestor de archivos: Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas
para representar informacin.

Manejador de base de datos: Sirve de interfaz entre los datos y los programas de aplicacin.

Procesador de consultas: Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Adems
convierte la solicitud del usuario en una forma ms eficiente.

Compilador de DDL: Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se
almacenan en el diccionario de datos.

Archivo de datos: En l se encuentran almacenados fsicamente los datos de una organizacin.

Diccionario de datos: Contiene la informacin referente a la estructura de la base de datos.

ndices: Permiten un rpido acceso a registros que contienen valores especficos. Una forma grfica de representar los
componentes antes mencionados y la relacin que existe entre ellos sera la siguiente.

Qu es la normalizacin
La normalizacin es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos
ms pequeas, que adems de ser ms simples y ms estables, son ms fciles de mantener. Tambin se puede
entender la normalizacin como una serie de reglas que sirven para ayudar a los diseadores de bases de datos
a desarrollar un esquema que minimice los problemas de lgica. Cada regla est basada en la que le antecede. La
normalizacin se adopt porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla
de la base de datos, era ineficiente y conduca a errores de lgica cuando se trataban de manipular los datos.
La normalizacin tambin hace las cosas fciles de entender. Los seres humanos tenemos la tendencia de simplificar
las cosas al mximo. Lo hacemos con casi todo, desde los animales hasta con los automviles. Vemos una imagen de
gran tamao y la hacemos ms simple agrupando cosas similares juntas. Las guas que la normalizacin provee crean
el marco de referencia para simplificar una estructura de datos compleja.
Otra ventaja de la normalizacin de base de datos es el consumo de espacio. Una base de datos normalizada ocupa
menos espacio en disco que una no normalizada. Hay menos repeticin de datos, lo que tiene como consecuencia un
mucho menor uso de espacio en disco.
El proceso de normalizacin tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco
confuso al principio, pero poco a poco se va entendiendo el proceso, as como las razones para hacerlo de esta
manera.
Grados de normalizacin

Existen bsicamente tres niveles de normalizacin: Primera Forma Normal (1NF), Segunda Forma Normal (2NF) y
Tercera Forma Normal (3NF). Cada una de estas formas tiene sus propias reglas. Cuando una base de datos se
conforma a un nivel, se considera normalizada a esa forma de normalizacin. No siempre es una buena idea
tener una base de datos conformada en el nivel ms alto de normalizacin, puede llevar a un nivel de complejidad que
pudiera ser evitado si estuviera en un nivel ms bajo de normalizacin.
En la tabla siguiente se describe brevemente en qu consiste cada una de las reglas, y posteriormente se explican con
ms detalle.
Regla

Descripcin

Primera Forma
Normal (1FN)

Incluye la eliminacin de todos los grupos repetidos.

Segunda Forma
Normal (2FN)

Asegura que todas las columnas que no son llave sean completamente dependientes de la llave
primaria (PK).

Tercera Forma
Normal (3FN)

Elimina cualquier dependencia transitiva. Una dependencia transitiva es aquella en la cual las
columnas que no son llave son dependientes de otras columnas que tampoco son llave.

Primera Forma Normal


La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en
tablas separadas, poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de
columna mltiples. Muy a menudo, los diseadores de bases de datos inexpertos harn algo similar a
la tabla no normalizada. Una y otra vez, crearn columnas que representen los mismos datos. La normalizacin ayuda
a clarificar la base de datos y a organizarla en partes ms pequeas y ms fciles de entender. En lugar de tener que
entender una tabla gigantesca y monoltica que tiene muchos diferentes aspectos, slo tenemos que entender los
objetos pequeos y ms tangibles, as como las relaciones que guardan con otros objetos tambin pequeos.
Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna mltiples.
Muy a menudo, los diseadores de bases de datos inexpertos harn algo similar a la tabla no normalizada. Una y otra
vez, crearn columnas que representen los mismos datos. La normalizacin ayuda a clarificar la base de datos y a
organizarla en partes ms pequeas y ms fciles de entender. En lugar de tener que entender una tabla gigantesca y
monoltica que tiene muchos diferentes aspectos, slo tenemos que entender los objetos pequeos y ms tangibles, as
como las relaciones que guardan con otros objetos tambin pequeos.
Segunda Forma Normal
La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar
dentro de sus propias tablas. Una dependencia parcial es un trmino que describe a aquellos datos que no dependen
de la llave primaria de la tabla para identificarlos.
Una vez alcanzado el nivel de la Segunda Forma Normal, se controlan la mayora de los problemas de lgica. Podemos
insertar un registro sin un exceso de datos en la mayora de las tablas.
Tercera Forma Normal
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 estn en la Tercera Forma Normal se previenen errores de lgica cuando se insertan o borran
registros. Cada columna en una tabla est identificada de manera nica por la llave primaria,
y no deben haber datos repetidos. Esto provee un esquema limpio y elegante, que es fcil de trabajar y expandir.
Un dato sin normalizar no cumple con ninguna regla de normalizacin. Para explicar con un ejemplo en qu consiste
cada una de las reglas, vamos a considerar los datos de la siguiente tabla.
ID_ORDEN
2301
2301
2301
2302
2303
2303

FECHA
2/23/03
2/23/03
2/23/03
2/25/03
2/27/03
2/27/03

ID_CLIENTE
101
101
101
107
110
110

NOM_CLIENTE
MARTI
MARTI
MARTI
HERMAN
WE-SPORTS
WE-SPORTS

ESTADO
CA
CA
CA
WI
MI
MI

NUM_ITEM
3786
4011
9132
5794
4011
3141

DESC_ITEM
RED
RAQUETA
PAQ-3
PAQ-6
RAQUETA
FUNDA

CANT
3
6
8
4
2
2

PRECIO
35
65
4.75
5.0
65
10

Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido para NUM_ITEM, DESC_ITEM,
CANT y PRECIO. La 1FN prohbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma
normal. Los pasos a seguir son:
Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.

Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y
ARTICULOS_ORDENES
- ORDENES
ID_ORDEN
2301
2302
2303

FECHA
2/23/03
2/25/03
2/27/03

ID_CLIENTE
101
107
110

NOM_CLIENTE
MARTI
HERMAN
WE-SPORTS

ESTADO
CA
WI
MI

- ARTICULOS_ORDENES
ID_ORDEN
2301
2301
2301
2302
2303
2303

NUM_ITEM
3786
4011
9132
5794
4011
3141

DESC_ITEM
RED
RAQUETA
PAQ-3
PAQ-6
RAQUETA
FUNDA

CANT
3
6
8
4
2
2

PRECIO
35
65
4.75
5.0
65
10

Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar cualquier columna no llave que
no dependa de la llave primaria de la tabla. Los pasos a seguir son:
Determinar cules columnas que no son llave no dependen de la llave primaria de la tabla.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen.
La tabla ORDENES est en 2FN. Cualquier valor nico de ID_ORDEN determina un slo valor para cada columna. Por
lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN.
Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y DESC_ITEM
son dependientes de NUM_ITEM, pero no son dependientes de ID_ORDEN. Lo que haremos a continuacin es
eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la
llave primaria de la que dependen.
Las tablas quedan ahora de la siguiente manera.
- ARTICULOS_ORDENES
ID_ORDEN

NUM_ITEM

CANT

2301
2301
2301
2302
2303
2303

3786
4011
9132
5794
4011
3141

3
6
8
4
2
2

- ARTICULOS
NUM_ITEM
3786
4011
9132
5794
4011
3141

DESC_ITEM
RED
RAQUETA
PAQ-3
PAQ-6
RAQUETA
FUNDA

PRECIO
35
65
4.75
5.0
65
10

La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave que sea dependiente de otra
columna no llave. Los pasos a seguir son:
Determinar las columnas que son dependientes de otra columna no llave.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes.
Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla
ARTICULOS_ORDENES se encuentran en 3FN. Sin embargo la tabla ORDENES no lo est, ya que NOM_CLIENTE y
ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave primaria.
Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual dependen dentro de una
nueva tabla CLIENTES. Las nuevas tablas CLIENTES y ORDENES se muestran a continuacin.
- ORDENES
ID_ORDEN

FECHA

ID_CLIENTE

2301
2302
2303

2/23/03
2/25/03
2/27/03

101
107
110

- CLIENTES
ID_CLIENTE

NOM_CLIENTE

ESTADO

101
107
110

MARTI
HERMAN
WE-SPORTS

CA
WI
MI

Qu tan lejos debe llevar la normalizacin?


La siguiente decisin es qu tan lejos debe llevar la normalizacin? La normalizacin es una ciencia subjetiva.
Determinar las necesidades de simplificacin depende de nosotros. Si nuestra base de datos va a proveer informacin a
un solo usuario para un propsito simple y existen pocas posibilidades de expansin, normalizar los datos hasta la 3FN
quiz sea algo exagerado. Las reglas de normalizacin existen como guas para crear tablas que sean fciles de
manejar, as como flexibles y eficientes. A veces puede ocurrir que normalizar los datos hasta el nivel ms alto no tenga
sentido. Se estn dividiendo tablas slo para seguir las reglas o estas divisiones son en verdad prcticas?. stas son el
tipo de cosas que nosotros como diseadores de la base de datos, necesitamos decidir, y la experiencia y el sentido
comn nos pueden auxiliar para tomar la decisin correcta. La normalizacin no es una ciencia exacta, ms bien
subjetiva.
Existen seis niveles ms de normalizacin que no se han discutido aqu. Ellos son Forma Normal Boyce- Codd, Cuarta
Forma Normal (4NF), Quinta Forma Normal (5NF) o Forma Normal de Proyeccin-Unin, Forma Normal de ProyeccinUnin Fuerte, Forma Normal de Proyeccin-Unin Extra Fuerte y Forma Normal de Clave de Dominio. Estas formas
de normalizacin pueden llevar las cosas ms all de lo que necesitamos. stas existen para hacer una base de datos
realmente relacional. Tienen que ver principalmente con dependencias mltiples y claves relacionales.

En resumen
La normalizacin es una tcnica que se utiliza para crear relaciones lgicas apropiadas entre tablas de una base de
datos. Ayuda a prevenir errores lgicos en la manipulacin de datos. La normalizacin facilita tambin agregar nuevas
columnas sin romper el esquema actual ni las relaciones.
Existen varios niveles de normalizacin: Primera Forma Normal, Segunda Forma Normal, Tercera Forma Normal, Forma
Normal Boyce-Codd, Cuarta Forma Normal, Quinta Forma Normal o Forma Normal de Proyeccin-Unin, Forma Normal
de Proyeccin-Unin Fuerte, Forma Normal de Proyeccin-Unin Extra Fuerte y Forma Normal de Clave de Dominio.
Cada nuevo nivel o forma nos acerca ms a hacer una
base de datos verdaderamente relacional.
Se discutieron las primeras tres formas. stas proveen suficiente nivel de normalizacin para cumplir con las necesidades
de la mayora de las bases de datos. Normalizar demasiado puede conducir a tener una base de datos ineficiente y
hacer a su esquema demasiado complejo para trabajar. Un balance apropiado de sentido comn y prctico puede
ayudarnos a decidir cundo normalizar.

Вам также может понравиться