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

SERVICIO NACIONAL DE APRENDIZAJE SENA

CENTRO DE MANTENIENTO Y MANUFACTURA CIMM


SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 1 de 23

ANALISIS DE BASE DE DATOS

1. IDENTIFICACIN DE LA GUA DE APRENDIZAJE


Nombre de la Actividad:

Sistemas de informacin Anlisis de Base de Datos

Competencia y Resultados de Aprendizaje


220501007 - Desarrollar el sistema de informacin que cumpla con los requerimientos de la
solucin informtica
22050100702 - Construir la base de datos, a partir del modelo de datos determinado en el
diseo del sistema, utilizando sistemas de gestin de base de datos, segn los protocolos
establecidos en la organizacin

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 2 de 23

2. INTRODUCCIN

El buen anlisis y diseo de una base de datos es fundamental para el desarrollo de un sistema
de informacin ya que si la base datos qued mal diseada no va a ser funcional el sistema de
informacin. Las bases de datos son la base fundamental de cualquier sistema ya que en ella se
almacenan los datos.

3. OBJETIVO

Aprender y entender como se hace un anlisis de una base de datos.

4. CONOCIMIENTOS PREVIOS
Comprensin de lectura.

Qu s?

Qu quiero saber?

Qu aprend

Qu puedo transferir
a mi entorno productivo, personal y
profesional de este aprendizaje

5. MATERIAL DE CONSULTA
http://es.wikipedia.org/wiki/Base_de_datos_relacional
http://www.jorgesanchez.net/bd/bdrelacional.pdf

6. ACTIVIDADES Y ESTRATEGIAS DE APRENDIZAJE


DESCRIPCIN DE LA ACTIVIDAD

1. Leer el texto SISTEMAS DE ADMINISTRACIN DE BASES DE DATOS (DBMS), que se encuentra


en la parte inferior de este documento.

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 3 de 23

2. Leer y analizar el ejercicio que se encuentra al final de este documento.


3. En la siguiente FACTURA DE COMPRA VENTA, usted debe analizar toda la informacin
disponible y debe crear el DICCIONARIO DE DATOS.

4. Una vez tenga el Diccionario de Datos, haga un anlisis y ejecute el proceso de normalizacin,
hasta llegar a la Tercera Forma Normal.
5. El estudiante debe entregar al instructor un documento, con todos los pasos del anlisis, de
cada forma normal, con la respectiva justificacin detallada de cada uno de los pasos que
conduzcan al resultado final.

Ambiente(s) requerido:

Material (es) requerido:

Saln de clases

Grupos de 2 personas
Papel, esfero y lpiz

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 4 de 23

6. EVIDENCIAS Y EVALUACION
EVIDENCIA:

Documento

Tipo de Evidencia:

Desempeo

Resultados de aprendizaje
asociados a la evidencia:

25060101201 - Elaborar propuestas para la automatizacin de un


programa de gestin documental de una organizacin, teniendo
en cuenta las polticas institucionales, la legislacin vigente y la
tecnologa disponible.

Descripcin:

Realizar anlisis de una factura de compraventa y aplicar la


normalizacin para generar una base de datos.

Producto entregable:

Documento de anlisis de base de datos.

Forma de entrega:

Presencial

Criterios de Evaluacin:

Instrumento de Evaluacin:

Conocimiento

Producto

Anlisis del formato de factura de compra-venta


Diccionario de datos
Modo de generacin de 1, 2 y 3 forma normal.
Tipo
Cdigo
Cuestionario
Lista Chequeo
Lista de Verificacin
X
Otro:

8. BIBLIOGRAFIA
http://es.wikipedia.org/wiki/Base_de_datos_relacional
http://www.jorgesanchez.net/bd/bdrelacional.pdf
http://biblioteca.sena.edu.co/

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 5 de 23

LISTA DE VERIFICACIN
G.

Integrantes

Diccionario
de datos

1 FN

2 FN

3 FN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
E = Excelente; B = Bueno; A = Aceptable; I = Insuficiente; D = Deficiente

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 6 de 23

LECTURA DE BASE DE DATOS


SISTEMAS DE ADMINISTRACIN DE BASES DE DATOS (DBMS)
Un sistema de administracin de bases de datos DBMS (Database Management System, por sus
siglas en Ingls) es un sistema basado en computador (software) que maneja una base de datos, o
una coleccin de bases de datos o archivos. La persona que administra un D0BMS es conocida
como el DBA (Database Administrator, por sus siglas en ingles).

USOS Y FUNCIONES DE UN DBMS


Los sistemas de administracin de bases de datos son usados para:

Permitir a los usuarios acceder y manipular la base de datos proveyendo mtodos para
construir sistemas de procesamiento de datos para aplicaciones que requieran acceso a los
datos.
Proveer a los administradores las herramientas que les permitan ejecutar tareas de
mantenimiento y administracin de los datos.

Algunas de las funciones de un DBMS son:

Definicin de la base de datos - como la informacin va a ser almacenada y organizada.


Creacin de la base de datos - almacenamiento de datos en una base de datos definida.
Recuperacin de los datos - consultas y reportes.
Actualizacin de los datos - cambiar los contenidos de la base de datos.
Programacin de aplicaciones de para el desarrollo de software.
Control de la integridad de la base de datos.
Monitoreo del comportamiento de la base de datos.

CARACTERISTICAS DE UN DBMS

Control de la redundancia de datos: Este consiste en lograr una mnima cantidad de espacio de
almacenamiento para almacenar los datos evitando la duplicacin de la informacin. De esta
manera se logran ahorros en el tiempo de procesamiento de la informacin, se tendrn menos
inconsistencias, menores costos operativos y har el mantenimiento ms fcil.
Compartimiento de datos: Una de las principales caractersticas de las bases de datos, es que los
datos pueden ser compartidos entre muchos usuarios simultneamente, proveyendo, de esta
manera, mxima eficiencia.

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 7 de 23

Mantenimiento de la integridad: La integridad de los datos es la que garantiza la precisin o


exactitud de la informacin contenida en una base de datos. Los datos interrelacionados deben
siempre representar informacin correcta a los usuarios.
Soporte para control de transacciones y recuperacin de fallas: Se conoce como transaccin toda
operacin que se haga sobre la base de datos. Las transacciones deben por lo tanto ser
controladas de manera que no alteren la integridad de la base de datos. La recuperacin de fallas
tiene que ver con la capacidad de un sistema DBMS de recuperar la informacin que se haya
perdido durante una falla en el software o en el hardware.
Independencia de los datos: En las aplicaciones basadas en archivos, el programa de aplicacin
debe conocer tanto la organizacin de los datos como las tcnicas que el permiten acceder a los
datos. En los sistemas DBMS los programas de aplicacin no necesitan conocer la organizacin de
los datos en el disco duro. Este totalmente independiente de ello.
Seguridad: La disponibilidad de los datos puede ser restringida a ciertos usuarios. Segn los
privilegios que posea cada usuario de la base de datos, podr acceder a mayor informacin que
otros.
Velocidad: Los sistemas DBMS modernos poseen altas velocidades de respuesta y proceso.
Independencia del hardware: La mayora de los sistemas DBMS estn disponibles para ser
instalados en mltiples plataformas de hardware.

LOS SISTEMAS DE BASES DE DATOS RELACIONALES (RDBMS)


Los sistemas de bases de datos relacionales RDBMS (Relational Database Management System,
por sus siglas en Ingls) tales como Oracle, MySQL, SQL Server, PostgreSQL, Informix, entre otros,
le permiten ejecutar las tareas que se mencionan a continuacin, de una forma entendible y
razonablemente sencilla:
1. Le permiten ingresar datos al sistema.
2. Le permiten almacenar los datos.
3. Le permiten recuperar los datos y trabajar con ellos.
4. Le proveen herramientas para capturar, editar y manipular datos.
5. Le permiten aplicar seguridad.
6. Le permiten crear reportes e informes con los datos.

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 8 de 23

DEFINICIN Y TERMINOLOGA DE UN RDBMS


Los sistemas de base de datos relacionales son aquellos que almacenan y administran de manera
lgica los datos en forma de tablas. Una TABLA es, a su vez, un mtodo para presentar los datos en
la forma de filas y columnas.
Cada columna representa un campo nico de un registro. Varias de estas columnas o campo
componen un registro, proveyendo informacin significativa e interrelacionada. Cada registro es
representado en una fila. Una tabla puede consistir en varias columnas. Muchas de las tablas que
poseen datos interrelacionados e interdependientes son agrupadas por medio del establecimiento
de relaciones entre ellas. Al administrar las tablas y sus relaciones, encontramos los medios para
insertar, borrar, consultar y actualizar la informacin de un sistema RDBMS.

FIGURA 1

En la tabla anterior, la tabla Empleados consiste en tres columnas y tres filas. Las columnas o
campo conforman un registro lgico, correspondiente a un empleado. La tabla Empleados est
relacionada con la tabla de Departamentos por medio de una columna "Numero de
Departamento" que aparece en ambas tablas.
Llave Primaria: Hemos visto que los datos son almacenados de manera lgica en tablas en la Bases
de datos relacionales. Cada tabla tiene un nombre nico. Para identificar una fila particular en una
tabla, se usa una columna o combinacin de columnas. Esta columna debe ser tal que identifique
de manera nica e inequvoca cada fila. No puede haber ms de dos filas (registros) en una tabla
que tengan el mismo valor para la columna que haya sido elegida como llave primaria. Una
columna identificada como la llave primaria no puede tener valores duplicados no nulos. Por
ejemplo, considerando la tabla de Empleados presentada en la Figura No. 1, podemos ver que
cada empleado tiene un nico nmero de empleado. La columna "NUM-EMP" puede ser escogida

Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 9 de 23

como la llave primaria. Similarmente, la columna "NUM-DEPT" en la tabla de Departamentos


puede ser igualmente una llave primaria.
Llave Fornea: La llave primaria y la llave fornea son usadas para establecer relaciones entre
tablas. En la Figura No. 1 el dominio de los valores de la columna "NUM-DEPT" de la tabla
Empleados se encuentra dentro del rango de valores de la columna "NUMDEPT" de la tabla
Departamentos. Un empleado deber pertenecer a un Departamento que est listado en la tabla
Departamentos. Se considera entonces que la columna "NUMDEPT" en la tabla Empleados es una
llave fornea. De esta manera, la existencia de esta llave fornea en la tabla Empleados controla
que no pueda ser ingresado un nuevo registro de un empleado si este no pertenece primero a un
Departamento.
Si el empleado que desea ingresarse a la tabla trabaja en un Departamento que no esta listado en
la tabla Departamentos, primero debe crearse el registro del Departamento en su respectiva tabla,
y luego si procedemos a ingresar al empleado. Este tipo de control que impone la asignacin de
una llave fornea en una tabla es de mucha utilidad para evitar la existencia de registros hurfanos
y para evitar la incongruencia de datos, temas que veremos mas adelante. Adems, como dijimos
al principio, la llave fornea nos permite relacionar dos tablas, lo cual nos permite compartir y
repartir la informacin de manera que no tengamos los mismos datos duplicados en varias tablas.
Estos conceptos sern aterrizados en la seccin de Normalizacin de tablas que se estudiar en un
capitulo posterior.

FIGURA 2

En la figura No. 2 hemos establecido la siguiente convencin: En los esquemas de tablas, las llaves
primarias estn subrayadas. Igualmente diagramaremos restricciones de integridad referencial a
travs de lneas de conexin que van desde cada llave fornea hasta la llave primaria que
referencie. Para que haya mejor claridad, la punta de la flecha deber apuntar hacia la llave
primaria de la tabla referenciada.
Nulos: Un Nulo se puede interpretar como un valor indefinido o como ningn valor. Los nulos son
usados en las columnas donde se desconozca su valor. Un nulo no significan espacios en blanco.
Un valor "nulo" no puede ser usado para hacer ningn clculo u operaciones de comparacin. Un
"nulo" puede ser comparable a un infinito. Un "nulo" no es igual a otro "nulo".
Ing. ANGLICA RAMREZ

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 10 de 23

Vistas: Los RDBMS gestionan la estructura fsica de los datos y su almacenamiento. Con esta
funcionalidad, el RDBMS se convierte en una herramienta de gran utilidad. Sin embargo, desde el
punto de vista del usuario, se podra discutir que los RDBMS han hecho las cosas ms complicadas,
ya que ahora los usuarios ven ms datos de los que realmente quieren o necesitan, puesto que
ven la base de datos completa.
Conscientes de este problema, los RDBMS proporcionan un mecanismo de vistas que permite que
cada usuario tenga su propia vista o visin de la base de datos. El lenguaje de definicin de datos
permite definir vistas como subconjuntos de la base de datos. Las vistas, adems de reducir la
complejidad permitiendo que cada usuario vea slo la parte de la base de datos que necesita,
tienen otras ventajas:

Las vistas proporcionan un nivel de seguridad, ya que permiten excluir datos para que ciertos
usuarios no los vean. Las vistas proporcionan un mecanismo para que los usuarios vean los
datos en el formato que deseen.
Una vista representa una imagen consistente y permanente de la base de datos, incluso si la
base de datos cambia su estructura.

PROPIEDADES DE UN RDMS - REGLAS DE CODD

Un sistema de bases de datos (DBMS) puede ser considerado como relacional si sigue las tres
reglas de oro, las cuales se enuncian a continuacin:
1. Toda la informacin debe estar representada en tablas.
2. La recuperacin de los datos debe ser posible usando sentencia de SELECT, JOIN y PROJECT.
3. Todas las relaciones entre los datos deben ser explcitamente representadas en los mismos
datos.
Para definir los requerimientos de una base de datos relacional RDBMS mas rigurosamente, Codd
ha formulado 12 reglas comnmente conocidas como las Reglas de Codd . De un producto se
puede decir que es real y completamente relacional si sigue todas las reglas, pero no existe
ninguno que efectivamente si las cumpla. Por eso es que se ha generalizado el uso de la regla No.
0 que reza: "Cualquier base de datos relacional verdadera debe ser administrable enteramente a
travs de sus propias capacidades relacionales".

OBSERVACIN PARA LOS ESTUDIANTES: LOS ENUNCIADOS PRESENTADOS A CONTINUACIN


CORRESPONDEN A LAS REGLAS TEORICAS QUE ESTABLECI CODD PARA DEFINIR UN SISTEMA DE
ADMINISTRACIN DE BASES DE DATOS RELACIONALES. SU TERMINOLOGA ES MUY TCNICA Y
PUEDE NO SER ENTENDIDA POR COMPLETO A NO SER QUE SE TENGA UN MANEJO AVANZADO DE
LAS APLICACIONES BASADAS EN SQL. SE PRESENTAN A MANERA DE ILUSTRACIN TEORICA. MAS
ADELANTE, SE OFRECERA UN RESUMEN EN TERMINOS DE FCIL COMPRESIN.
Ing. ANGLICA RAMREZ

10

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 11 de 23

Regla No. 1 - La Regla de la informacin


"Toda la informacin en un RDBMS esta explcitamente representada de una sola manera, por
valores en una tabla".
Cualquier cosa que no exista en una tabla no existe del todo. Toda la informacin, incluyendo
nombres de tablas, nombres de vistas, nombres de columnas, y los datos de las columnas deben
estar almacenados en tablas dentro de las bases de datos. Las tablas que contienen tal
informacin constituyen el Diccionario de Datos.
Regla No. 2 - La regla del acceso garantizado
"Cada tem de datos debe ser lgicamente accesible al ejecutar una bsqueda que combine el
nombre de la tabla, su llave primaria, y el nombre de la columna. Esto significa que dado un
nombre de tabla, dado el valor de la llave primaria, y dado el nombre de la columna requerida,
deber encontrarse uno y solamente un valor. Por esta razn la definicin de llaves primarias para
todas las tablas es prcticamente obligatoria.
Regla No. 3 - Tratamiento sistemtico de los valores nulos
"La informacin inaplicable o faltante puede ser representada a travs de valores nulos".
Un RDBMS debe ser capaz de soportar el uso de valores nulos en el lugar de columnas cuyos
valores sean desconocidos o inaplicables.
Regla No. 4 - La regla de la descripcin de la base de datos
"La descripcin de la base de datos es almacenada de la misma manera que los datos ordinarios,
esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados".
La informacin de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser
almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles igual
que todas las tablas, a travs de sentencias de SQL.
Regla No. 5 - La regla del sub-lenguaje Integral.
"Debe haber al menos un lenguaje que sea integral para soportar la definicin de datos,
manipulacin de datos, definicin de vistas, restricciones de integridad, y control de
autorizaciones y transacciones".
Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda
ser usado para administrar completamente la base de datos.

Ing. ANGLICA RAMREZ

11

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 12 de 23

Regla No. 6 - La regla de la actualizacin de vistas


"Todas las vistas que son tericamente actualizables, deben ser actualizables por el sistema
mismo".
La mayora de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de
actualizar vistas complejas.
Regla No. 7 - La regla de insertar y actualizar
"La capacidad de manejar una base de datos con operandos simples aplica no solo para la
recuperacin o consulta de datos, sino tambin para la insercin, actualizacin y borrado de
datos".
Esto significa que las clusulas SELECT, UPDATE, DELETE e INSERT deben estar disponibles y
operables sobre los registros independientemente del tipo de relaciones y restricciones que haya
entre las tablas.
Regla No. 8 - La regla de independencia fsica
"El acceso de usuarios a la base de datos, a travs de terminales o programas de aplicacin, debe
permanecer consistente lgicamente cuando quiera que haya cambios en los datos almacenados,
o sean cambiados los mtodos de acceso a los datos".
El comportamiento de los programas de aplicacin y de la actividad de usuarios va terminales
debera ser predecible basados en la definicin lgica de la base de datos, y este comportamiento
debera permanecer inalterado, independientemente de los cambios en la definicin fsica de sta.
Regla No. 9 - La regla de independencia lgica
"Los programas de aplicacin y las actividades de acceso por terminal deben permanecer
lgicamente inalteradas cuando quiera que se hagan cambios (segn los permisos asignados) en
las tablas de la base de datos".
La independencia lgica de los datos especifica que los programas de aplicacin y las actividades
de terminal deben ser independientes de la estructura lgica, por lo tanto los cambios en la
estructura lgica no deben alterar o modificar estos programas de aplicacin.
Regla No. 10 - La regla de la independencia de la integridad
"Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el
catlogo, no n el programa de aplicacin". Las reglas de integridad son:
1. Ningn componente de una llave primaria puede tener valores en blanco o nulos. (esta es la
norma bsica d integridad).
2. Para cada valor de llave fornea deber existir una valor de llave primaria concordante. La
combinacin de estas reglas aseguran que haya Integridad referencial.

Ing. ANGLICA RAMREZ

12

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 13 de 23

Regla No. 11 - La regla de la distribucin


"El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos est
distribuida fsicamente en distintos lugares sin que esto afecte o altere a los programas de
aplicacin".
El soporte para bases de datos distribuidas significa que una coleccin arbitraria de relaciones,
bases de datos corriendo en una mezcla de distintas mquinas y distintos sistemas operativos y
que este conectada por una variedad de redes, pueda funcionar como si estuviera disponible
como una nica base de datos en una sola mquina.
Regla No. 12 - Regla de la no-subversin
"Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados
para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel(como
SQL)".
Algunos productos solamente construyen una interfaz relacional para sus bases de datos No
relacionales, lo que hace posible la subversin (violacin) de las restricciones de integridad. Esto
no debe ser permitido.

RESUMEN
TAL COMO LO ANUNCIAMOS, A CONTINUACIN PRESENTAREMOS UN RESUMEN EN
TERMINOLOGA DE FCIL COMPRESNSION, QUE ILUSTRA LOS PRINCIPALES CONCEPTOS DE LAS
BASES DE DATOS Y LAS REGLAS DE CODD LLEVADAS A LA PRACTICA.

Un RDBMS debe proporcionar a los usuarios la capacidad de almacenar datos en la base de


datos, acceder a ellos y actualizarlos. Esta es la funcin fundamental de un RDBMS y por
supuesto, el RDBMS debe ocultar al usuario la estructura fsica interna (la organizacin de los
archivos y las estructuras de almacenamiento).

Un RDBMS debe proporcionar un catlogo en el que se almacenen las descripciones de los


datos y que sea accesible por los usuarios. Este catlogo es lo que se denomina diccionario de
datos y contiene informacin que describe los datos de la base de datos (metadatos).
Normalmente, un diccionario de datos almacena: Nombre, tipo y tamao de los datos,
Nombre de las relaciones entre los datos.

Un RDBMS debe proporcionar un mecanismo que garantice que todas las actualizaciones
correspondientes a una determinada transaccin se realicen, o que no se realice ninguna.
Una transaccin en el sistema informtico de los empleados de una empresa (por ejemplo)
sera dar de alta a un empleado o eliminar un cargo. Una transaccin un poco ms complicada
sera eliminar un Departamento o divisin y reasignar todos sus empleados a otro
Departamento. En este caso hay que realizar varios cambios sobre la base de datos. Si la
transaccin falla durante su realizacin, por ejemplo porque falla el hardware (o se va la

Ing. ANGLICA RAMREZ

13

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 14 de 23

energa elctrica) , la base de datos quedar en un estado inconsistente. Algunos de los


cambios se habrn hecho y otros no, por lo tanto, los cambios realizados debern ser
deshechos para devolver la base de datos a un estado consistente.

Un RDBMS debe proporcionar un mecanismo capaz de recuperar la base de datos en caso de


que ocurra algn suceso que la dae. Como se ha comentado antes, cuando el sistema falla
en medio de una transaccin, la base de datos se debe devolver a un estado consistente. Este
fallo puede ser a causa de un fallo en algn dispositivo hardware o un error del software, que
hagan que el RDBMS aborte, o puede ser a causa de que el usuario detecte un error durante
la transaccin y la aborte antes de que finalice. En todos estos casos, el RDBMS debe
proporcionar un mecanismo capaz de recuperar la base de datos llevndola a un estado
consistente.

Un RDBMS debe proporcionar un mecanismo que garantice que slo los usuarios autorizados
pueden acceder a la base de datos. La proteccin debe ser contra accesos no autorizados,
tanto intencionados como accidentales.

Un RDBMS debe ser capaz de integrarse con algn software de comunicacin. Muchos
usuarios acceden a la base de datos desde terminales. En ocasiones estos terminales se
encuentran conectados directamente a la mquina sobre la que funciona el RDBMS. En otras
ocasiones los terminales estn en lugares remotos, por lo que la comunicacin con la
mquina que alberga al RDBMS se debe hacer a travs de una red. En cualquiera de los dos
casos, el RDBMS recibe peticiones en forma de mensajes y responde de modo similar. Todas
estas transmisiones de mensajes las maneja el gestor de comunicaciones de datos. Aunque
este gestor no forma parte del RDBMS, es necesario que el RDBMS se pueda integrar con l
para que el sistema sea comercialmente viable.

Un RDBMS debe proporcionar los medios necesarios para garantizar que tanto los datos de la
base de datos, como los cambios que se realizan sobre estos datos, sigan ciertas reglas. La
integridad de la base de datos requiere la validez y consistencia de los datos almacenados. Se
puede considerar como otro modo de proteger la base de datos, pero adems de tener que
ver con la seguridad, tiene otras implicaciones. La integridad se ocupa de la calidad de los
datos. Normalmente se expresa mediante restricciones, que son una serie de reglas que la
base de datos no puede violar. Por ejemplo, se puede establecer la restriccin de que el
nmero de cdula de un empleado no puede tener caracteres alfanumricos, o por ejemplo
que para dar de alta un empleado ste debe pertenecer obligatoriamente a un
Departamento. En este caso sera deseable que el RDBMS controlara que no se violen esas
reglas cada vez que se ingresen los datos de un empleado a la base de datos de la empresa.

NORMALIZACIN
Una base de datos tiene que ser diseada antes de que pueda ser creada y usada. El diseo debe
ajustarse a estndares que permitan ahorro de memoria, acceso rpido, fcil mantenimiento,
Ing. ANGLICA RAMREZ

14

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 15 de 23

portabilidad, facilidad de futuros mejoramientos, buen desempeo y eficiencia de costos, entre


otros. El diseo lgico final de una base de datos debe ser tal que equilibre un desempeo ptimo
junto con la integridad de la informacin. Esto puede ser logrado a travs de un proceso conocido
como Normalizacin.
La base de datos debe estar en un estado de "Forma completamente normalizada".
DEFINICIN DE NORMALIZACION
Normalizacin es una serie de reglas que involucra anlisis y transformacin de las estructuras de
los datos en relaciones que exhiban propiedades nicas de consistencia, mnima redundancia y
mxima estabilidad.
La necesidad para normalizar puede ser mejor comprendida al mencionar las distintas anomalas o
desventajas de los datos NO NORMALIZADOS. Consideremos la tabla en la figura 3. La tabla
contiene todos los detalles de los empleados de una compaa, y los detalles del Departamento al
que pertenecen.

FIGURA 3

A primera vista, parece conveniente almacenar todos los detalles en una sola tabla.
Pero ciertas anomalas se pueden manifestar durante la insercin, actualizacin y borrado de
datos. La normalizacin provee un mtodo de remover todas estas indeseables anomalas
haciendo la base de datos mas confiable y estable.

Anomala de insercin (INSERT): Suponga que un nuevo Departamento ha sido creado, el cual no
tiene empleados todava, por lo tanto, en nuestra tabla original, los datos correspondientes al
empelado estaran vacos (nulos), y solo tendramos la informacin del Departamento: Columnas
"numDept" y "descDept".
Anomala de Actualizacin (UPDATE): Suponga que el nmero del Departamento de "Sistemas"
ha sido cambiado a AB108. Esto involucra tener q1ue cambiar el numero del departamento para
todos los empleados que pertenezcan al departamento de "Sistemas", lo cual representa tiempo y
recursos de sistema adicionales.
Ing. ANGLICA RAMREZ

15

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 16 de 23

Anomala de borrado (DELETE): Si todos los empleados en el Departamento de "Finanzas"


abandonan la compaa, todos los registros de estos tendran que ser borrados. Hecho as, los
detalles del Departamento "Finanzas" se perderan. Los datos en la tabla entonces no representan
una informacin correcta sobre el estado de la compaa, y por lo tanto se pierde la integridad de
los datos.

PROPIEDADES DE UNA BASE DE DATOS DESPUS DE LA NORMALIZACION


Una base de datos normalizada debe representar las siguientes propiedades:

Los requerimientos para almacenamiento de datos se minimizan, dado que el proceso de


normalizacin sistemticamente elimina la duplicacin de los datos.
Desde que los datos son almacenados en el mnimo nmero de lugares, las posibilidades de
inconsistencias en la informacin son reducidas al mnimo.
Las estructuras normalizadas son ptimas para efectuar actualizaciones de los datos. Dado
que los datos existen en el mnimo nmero de lugares, una operacin de actualizacin
(UPDATE) necesitar acceder a una mnima cantidad de datos.

PROCEDIMIENTOS DE NORMALIZACION
El proceso de normalizacin involucra bsicamente tres pasos. Despus de cada paso, la base de
datos se convierte en formas llamadas "formas normales". Generalmente, la "tercera forma
normal" es el estado que debe alcanzar una base de datos para que se diga que est totalmente
normalizada. La cuarta y la quinta forma normal tambin existen, pero no son usadas en el diseo
de una base de datos.
A continuacin, consideremos un pequeo ejercicio acerca de un Documento de Orden de
Compra, el cual trataremos de convertirlo a una forma normalizada. Pero antes explicaremos unas
pequeas reglas:
Propiedades de una relacin: Un tabla debe satisfacer ciertos criterios previos antes de calificar
para convertirse en una relacin.
No duplicados: No debe haber nunca dos columnas o filas totalmente idnticas. Si dos filas son
totalmente idnticas, entonces hacen falta algunos atributos que las haga diferentes y
distinguibles. Ejemplo: Dos registros de discos compactos en una tienda seran idnticos si son dos
copias del ltimo lbum de Shakira, si no fuera porque cada disco compacto tiene un numero
cdigo que los hace diferentes.

Ing. ANGLICA RAMREZ

16

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 17 de 23

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. Si un atributo es insuficiente para
identificar un registro de manera nica, entonces mas de un atributo puede conformar la llave
nica.
En tal caso, el nmero de atributos que conformen una llave debe ser el mnimo necesario y
suficiente.

Insignificancia del orden: La secuencia en la cual los atributos son escritos no debe importar.
Podemos escribir el ID del empleado de primero, o el nombre y el apellido de primero, y esto no
afectar las relaciones que establezcamos con otras tablas. Por otro lado, los registros deben ser
totalmente independiente de su secuencia o posicin en la base de datos (dependencia
posicional). Esto significa que si intentamos identificar un registro por su posicin dentro de la
tabla, estaremos creando una llave invlida.
Forma no-normalizada: Los datos, en su forma elemental, no estn normalizados. Por lo tanto, lo
primero con lo que debemos comenzar es con los datos elementales o bsicos que conformarn el
diccionario de datos. El diccionario de datos es creado a partir de los documentos o diagramas de
flujo de la compaa. Se deben listar los elementos uno debajo del otro.
As, obtendremos la forma no-normalizada para el ejercicio de ARD (Anlisis Relacional de Datos),
con el cual deberemos obtener al final distintos grupos de elementos. Ms tarde, dichos grupos se
combinarn con los grupos de otros documentos al cual tambin se les ha hecho el anlisis ARD, y
se establecern relaciones entre ellos.

Ing. ANGLICA RAMREZ

17

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 18 de 23

EJERCICIO
Consideremos el documento ORDEN DE COMPRA de la figura 4, usado para colocar una
orden de pedido al proveedor de discos compactos.

Figura 4

FORMA UNF (UNNORMALIZED FORM) O NO-NORMALIZADA


Esta es la descripcin general del Anuncio. es una breve explicacin del cursos que sirva como gua
al estudiante. Esta es la descripcin general del curso. es una breve explicacin del cursos que
sirva como gua al estudiante. Esta es la descripcin general del curso. es una breve explicacin del
cursos que sirva como gua al estudiante.
Campos
ORD-NO
ORD-DATE
PROV-NO
PROV-NAME
PROV-DIR
PROV-NIT
CODIGO
TITULO
CANT
VR-UNIT

Descripcin
Nmero de Orden de Compra
Fecha de la Orden de Compra
Numero del Proveedor
Nombre del Proveedor
Direccin del Proveedor
NIT o Cdula del Proveedor
Cdigo del CD o lbum
Titulo del CD o lbum
Cantidad de CDs a pedir
Valor unitario del CD o lbum

Incluso las formas no normalizadas deben tener una llave. En el ejemplo de arriba, podemos
deducir que ORD-NO es la llave. Las llaves usualmente son subrayadas durante el anlisis ARD.
Ing. ANGLICA RAMREZ

18

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 19 de 23

PRIMERA FORMA NORMAL (1FN)


Regla 1. Separar el grupo repetitivo:
En la lista de arriba, los tems despus de PROV-NIT son repetitivos, esto quiere decir, que para
una misma orden aparecen varias veces, dado que en una misma orden se pueden encargar varias
categoras, o varios ttulos de la misma categora.
Los grupos repetitivos deben ser separados de la UNF y ser escritos como un grupo independiente
con su respectiva llave. Este grupo debe relacionarse con el grupo no repetitivo enlazando la llave
del grupo no repetitivo junto con la llave del repetitivo.
De esta manera tenemos:
Grupo NO Repetitivo
ORD-NO
ORD-DATE
PROV-NO
PROV-NAME
PROV-DIR
PROV-NIT

Grupo Repetitivo
CODIGO
TITULO
CANT
VR-UNIT

El grupo repetitivo tiene a CODIGO como llave. Sin embargo, esta llave no es nica, dado que se
puede repetir en otros nmeros de orden. Necesita ser combinada con la llave del primer grupo.
Al combinar el campo ORD-NO junto con el campo CODIGO para el segundo grupo, podemos
deducir que esta combinacin puede actuar como llave nica, ya que no puede haber una misma
orden que tenga 2 cdigos iguales. Por lo tanto, despus de aplicar la primera forma normal,
obtenemos estos grupos:
GRUPO 1
ORD-NO
ORD-DATE
PROV-NO
PROV-NAME
PROV-DIR
PROV-NIT

Ing. ANGLICA RAMREZ

GRUPO 2
ORD-NO
CODIGO
TITULO
CANT
VR-UNIT

19

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 20 de 23

SEGUNDA FORMA NORMAL (2FN)


Regla 2. Separar dependencias de las llaves compuestas.
Solo aquellos grupos de datos que tengan llaves combinadas son analizados. (llaves que tengan
mas de un campo o atributo para lograr unicidad). Por lo tanto, para la segunda forma normal, nos
concentraremos solo en el grupo 2, el cual tiene una llave compuesta.
En el grupo2, cualquier atributo que no dependa enteramente de la llave compuesta (es decir, que
no dependa de todos los atributos de la llave a la vez sino de solo uno de ellos) es separado del
grupo principal, y es aislado en un grupo independiente junto con el atributo de la llave inicial del
cual s es dependiente. Veamos el proceso para que haya mayor claridad:
Al analizar el grupo 2, encontramos que el campo TITULO depende enteramente del campo
CODIGO, y no de la llave compuesta. Llegamos a esta conclusin deduciendo que el ttulo del CD
esta asociado a un nico cdigo, por lo cual podramos pensar que CODIGO y TITULO son campos
redundantes ya que con cualquiera de ellos podemos identificar al elemento, pero pensemos en
que el diseo no nos permite deshacernos de ninguno de los campos, ya que las instrucciones nos
obligan a usar y almacenar TODA la informacin disponible en el diccionario de datos.
Por ello, lo que s podemos hacer, aplicando la segunda forma normal, es aislar un tercer grupo,
que tenga a CODIGO como llave, y TITULO como campo de la tabla. Igua sucede con el campo VRUNIT. Este campo esta asociado exclusivamente al campo CODIGO. Esto es, cada Titulo de CD con
un cdigo determinado, debe corresponder a un valor de evnta que se establece una sola vez por
cada elemento. De esta manera, si en algun momento necesitamos alterar el valor unitario de un
CD, solo debemos hacerlo en la tabla del grupo 3, una nica vez por elemento.
En conclusin, despus de aplicar la segunda forma normal, obtenemos estos grupos:
GRUPO 1
ORD-NO
ORD-DATE
PROV-NO
PROV-NAME
PROV-DIR PROV-NIT

GRUPO 2
ORD-NO
CODIGO
CANT

GRUPO 3
CODIGO
TITULO
VR-UNIT

En este nivel, ya nos podemos imaginar mentalmente la utilidad de separar el diccionario de datos
en distintos grupos. Imaginmonos que queremos ingresar 50 ordenes al sistema, y en todas est
incluido el CD de Juanes, cuyo cdigo es 1520. El ttulo asociado al cdigo 1520 es "Fjate bien". Si
no existiera el grupo 3, para cada una de las ordenes estaramos ingresando no solo 50 veces el
cdigo 1520, sino que tambin nos toca digitar 50 veces el texto "Fjate bien" . Consideramos que
esto ltimo es un trabajo que se puede ahorrar al aplicar la segunda forma normal, ya que si
dejamos una tabla separada para CODIGO y TITULO, al ingresar las ordenes solo nos toca digitar 50
veces el cdigo 1520 en la tabla del grupo 2 (cada vez asociado a un nmero de orden distinto y
nico), y UNA sola vez el mismo cdigo en la tabla 3, con lo cual el texto "Fjate bien" solo tendra
Ing. ANGLICA RAMREZ

20

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 21 de 23

que ser digitado una sola vez por ende. En el evento en que se nos pida consultar el titulo del CD
en un registro de la tabla 2, simplemente usaremos el valor del campo CODIGO de dicho registro
para trasladar la consulta a la tabla 3, quien nos devolver la informacin buscada del Titulo.
Si han logrado entender la justificacin de la normalizacin con el ejemplo anterior, tenemos ya un
gran terreno ganado en el proceso de aprender a disear bases de datos.

TERCERA FORMA NORMAL (3FN)


Regla 3. Examinar las interdependencias entre los campos o atributos que no son llaves.
Todos los campos o atributos en cada grupo que no sean llaves, deben ser examinados para
chequear que no existan interdependencias entre ellos. Si se encuentran algunas, tales
dependencias deben ser separadas en distintos grupos cuya llave debe ser el campo del cual son
dependientes, dejando este campo llave tambin en el grupo original.
Si analizamos el grupo 1, encontramos que los campos PROV-NAME, PROV-DIR y PROV-NIT son
enteramente dependientes del campo PROV-NO.
Del grupo 2 ya sacamos las interdependencias durante la segunda forma normal, y el grupo tres es
precisamente el resultado de esa separacin en la segunda forma normal, por lo tanto lo
ignoramos en esta etapa. Nos concentramos solo en el grupo 1.
Al separar en un grupo la informacin del proveedor, dejando un cuarto grupo con esta
informacin, obtenemos la tercera forma normal, la cual queda de la siguiente manera:

GRUPO 1
ORD-NO
ORD-DATE
PROV-NO

GRUPO 2
ORD-NO
CODIGO
CANT

GRUPO 3
CODIGO
TITULO
VR-UNIT

GRUPO 4
PROV-NO
PROV-NAME
PROV-DIR
PROV-NIT

RESUMEN DE LA NORMALIZACION
UNF - FORMA NO NORMALIZADA
Diccionario de datos
1NF - PRIMERA FORMA NORMAL
Separar el grupo repetitivo
2NF - SEGUNDA FORMA NORMAL
Separar dependencias de llaves compuestas
3NF - TERCERA FORMA NORMAL
Separar dependencias de los campos no llaves

Ing. ANGLICA RAMREZ

21

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 22 de 23

REGLAS NO ESCRITAS PARA UN BUEN DISEO DE BASE DE DATOS


Mantener los datos bien diferenciados (p.ej., el primero y el ltimo de los nombres van
separados). Acercar unas columnas a otras posteriormente sobre la marcha es, en general,
bastante fcil, pero separarlas no.
Primero, definir la clave primaria. Utilizar un nombre descriptivo (EMPLEADO_ID, no slo ID).
El uso de nombres descriptivos permite que los nuevos usuarios tengan alguna oportunidad
de adivinar lo que es cada una de las columnas (p.ej., utilizar CUENTA_BANCO en lugar de
CTBC).
Siempre que sea posible, utilizar una sola columna para la clave primaria; las claves primarias
de ms de una columna son adecuadas para las interrelaciones de muchos a muchos.
Utilizar tablas de referencia en lugar de almacenar valores de gran longitud.
Emplear claves de tipo numrico siempre que sea posible.
Evitar las claves autonumricas (salvo en las tablas de referencia).
No incluir dos columnas cuyos valores estn entrelazados (p.ej., el nombre del Departamento
y el ID de Departamento), salvo que una de las columnas sea la clave primaria de la tabla.
Evitar utilizar varias tablas con estructuras similares para representar pequeas variaciones
de la misma entidad (p.ej., poner las Universidades de Atlntico y las de Cundinamarca en
distintas tablas).
Planear con antelacin la transferencia de datos a una base de datos distinta. Por ejemplo,
puede que nos interese mover algunos datos de Oracle a DBF, o de Microsoft Access a Oracle.
Esto es:
o

Evitar poner en los nombres de las columnas caracteres que no sean maysculas (AZ), nmeros (0-9) o el subrayado (_). Cualquier otro caracter puede no ser aceptado
por la base de datos. Algunos sistemas de bases de datos son sensibles al uso de
maysculas y minsculas en los nombres de las columnas, otros no.
Procurar que los nombres de las columnas sean relativamente cortos. Cada tipo de
base de datos soporta un nmero distinto de caracteres (p.ej., 30 en el caso de
Oracle, 64 para Microsoft Access o 10 si es DBF). Intentar que los nombres de las
columnas varen en los primeros caracteres y no en los ltimos, con el fin de evitar
que se duplique alguno de los nombres por error al cortarlos para abreviar durante el
proceso de conversin (p.ej., utilizar COL1 y COL2, en lugar de
NOMBRE_COLUMNA_LARGA_1 Y NOMBRE_COLUMNA_LARGA_2).

Ing. ANGLICA RAMREZ

22

SERVICIO NACIONAL DE APRENDIZAJE SENA


CENTRO DE MANTENIENTO Y MANUFACTURA CIMM
SOGAMOSO
GUIA DE APRENDIZAJE BASE DE DATOS

Noviembre de 2015
Versin 1.0
Pgina 23 de 23

Observar que el poner nombres cortos a las columnas puede ser incompatible con procurar que
sean descriptivos para los nuevos usuarios. Comprobar que se est realizando una buena
combinacin.
Es importante recordar que stas son reglas no estrictas, basadas nicamente en la experiencia,
no leyes absolutas! Se pueden romper las reglas si es necesario, pero justificando la decisin.

Ing. ANGLICA RAMREZ

23

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