Ing. Leonel Vinicio Morales Díaz

Transcripción

Ing. Leonel Vinicio Morales Díaz
Ing. Leonel Vinicio Morales Díaz
Manual de Bases de Datos
Tabla de Contenidos
Introducción....................................................................................................................................................................... 3
Información y datos .......................................................................................................................................................... 4
Conjuntos de datos y bases de datos.............................................................................................................................. 4
Manejadores de Bases de Datos .................................................................................................................................. 5
Aplicaciones de Bases de Datos .................................................................................................................................. 6
Sistemas de Bases de Datos.......................................................................................................................................... 6
Algo de terminología .................................................................................................................................................... 7
Microsoft® Excel y sus posibilidades............................................................................................................................. 7
Los DBMS y las bases de datos ....................................................................................................................................... 8
Dominios de datos ........................................................................................................................................................ 8
Integridad de los datos ............................................................................................................................................... 10
Consistencia de la información ................................................................................................................................. 11
Eficiencia del acceso.................................................................................................................................................... 11
Diagramas Entidad-Relación......................................................................................................................................... 12
Minería de datos.............................................................................................................................................................. 12
Bases de datos en Internet.............................................................................................................................................. 13
Usabilidad de los sistemas de bases de datos ............................................................................................................. 14
Diseño centrado en el usuario ................................................................................................................................... 14
Observaciones finales ..................................................................................................................................................... 15
Página 2 de 15
Manual de Bases de Datos
Introducción
El conocimiento de las bases de datos no está ampliamente difundido a pesar de que su utilización es casi
universal y omnipresente. Cualquier persona que use teléfonos celulares mantiene una pequeña base de datos
de contactos y mensajes almacenada en su dispositivo. Si se dispone de una agenda electrónica entonces
también se tienen bases de datos de tareas por realizar y citas por acudir.
Las empresas utilizan computadoras para almacenar las grandes cantidades de información que acumulan,
sin embargo, no siempre se dan cuenta que están trabajando en el ámbito de las bases de datos.
Casi cualquier desarrollo informático o construcción de nuevos sistemas se basa en recopilación de
información y almacenamiento en una base de datos.
Es por ello que conocer los conceptos relativos a estas tecnologías y saber qué esperar al momento de iniciar
un proyecto informático es particularmente relevante.
En este documento se presenta a las bases de datos como conjuntos de datos sobre entidades similares. Es
decir que para considerar un conjunto de datos como base de datos basta con que los datos se refieran a
entidades (una o más) similares. Un conjunto de datos algunos sobre un perro, otros sobre un gato y otros
más sobre una gallina, no se considerarían una base de datos de perros, gatos o gallinas. Habría que verlos
como datos sobre animales (buscando la similitud entre las entidades) para considerar al conjunto una base
de datos.
Algunos autores las definen como conjuntos de datos almacenados con una estructura lógica. Esta definición
tiene el defecto de requerir que exista una estructura lógica como requisito para considerar una base de datos,
lo cual deja fuera a aquellas cuya estructura no responda a la lógica de quien las analiza. De hecho,
actualmente se manejan diferentes tipo de bases de datos, de acuerdo a su estructura, organización y forma
de acceso: bases de datos orientadas a objetos, semiestructuradas, archivos planos, data warehouses, etc.
Otros asumen la existencia de la base de datos en un computador, en un sistema informático o manipulada
mediante un software específico, lo que deja fuera a bases de datos almacenadas en soportes no electrónicos
como libros, tarjetas, etc.
Sin embargo es importante reconocer el avance que las bases de datos han experimentado con el auge de las
computadoras y los manejadores de bases de datos más modernos (ver apartado “Manejadores de Bases de
Datos”) como SQL Server de Microsoft®, Oracle®, Sybase, MySQL, Informix, entre otros.
En este documento se ha tratado de dar mayor énfasis a los conceptos centrales de bases de datos antes que a
un manejador particular para evitar el error tan difundido de considerar como “verdaderas” bases de datos
solo a aquellas en las que se usa un manejador “profesional” como los mencionados. Muchos de los beneficios
de la tecnología e investigación sobre bases de datos se ha hecho llegar al público gracias a su
implementación en manejadores más populares como Microsoft® Access, Fox, SQL Anywhere, FileMaker,
etc., que no siempre se consideran “verdaderas” bases de datos entre los profesionales de la informática.
Sin embargo se explica cómo estos conceptos son aplicables en bases de datos concretas construidas como
tablas en Microsoft® Excel y Microsoft® Access, ya que, como se dijo anteriormente, es en estos paquetes
donde las técnicas de bases de datos se encuentran más a la mano.
Página 3 de 15
Manual de Bases de Datos
Información y datos
A pesar de que se dice que estamos en la era de la información y de la tecnología, algunos conceptos
relacionados usualmente se utilizan indistintamente, por ejemplo se habla de información y de datos como
términos equivalentes.
Aunque puede abordarse su desambiguación desde diversos puntos de vista, por ejemplo desde el punto de
vista filosófico, el psicológico-cognoscitivo, el estadístico, etc., en el contexto de las ciencias de la computación
y de la informática, que es el que nos interesa en este documento, hablamos de datos como valores concretos
de variables: el monto total de las ventas del mes de febrero, el número de cédula de una persona, el número
de placa de un automóvil, pueden considerarse variables y sus valores concretos: Q.50,874.45, K-11 31,254, PVCB849 son datos.
La información se considera un conjunto de datos que se refieren a una entidad concreta. Así, hablaríamos
de una porción de la información de una empresa concreta si dijéramos que su nombre es “Almacén La
Victoria”, el monto total de sus ventas en el mes de febrero fue de Q.50,874.45, la cédula de vecindad de su
gerente es K-11 31,254 y entre sus activos cuenta con un pick-up cuyo número de placa es P-VCB849.
Los datos se consideran información cuando existe un objeto, una cosa, a la que llamamos entidad, a la que se
refieren y que les confiere unidad y sentido.
Cuando en la actualidad se habla entonces de que nos encontramos en la era de la información, se hace
referencia al alto grado de tecnificación con que se cuenta para la captura, procesamiento, análisis,
presentación, acceso y movimiento de la información.
Sin embargo, una de las grandes paradojas de la era de la información es que el hecho de que la información
esté disponible en grandes cantidades no ha redundado en que las personas estén mejor informadas. Por ello
también se habla de conocimiento como la internalización cognoscitiva de la información en una persona,
es decir, la información solo se transforma en verdadero conocimiento cuando una persona la adquiera y la
adiciona a su propio saber. Como es imposible que una sola persona pueda utilizar eficientemente las
grandes cantidades de información que existen a su alcance son necesarias herramientas que apoyen este
proceso. Entre ellas están las computadoras, pero actualmente no es posible decir que son las únicas. Los
teléfonos celulares, los asistentes personales digitales, los televisores y hasta las consolas de juego, pueden
considerarse como formas de herramientas informáticas.
La convergencia de medios es un proceso moderno por el que diversas tecnologías de manejo de información
están confluyendo hasta llegar a conceptualizar dispositivos que agrupen todas las funciones de las
herramientas informáticas en uno solo. En el futuro próximo, es posible que este tipo de dispositivos
integren sistemas informáticos (computadoras), entretenimiento (televisión, música, juegos) y
comunicaciones (telefonía e Internet) en un solo aparato.
Conjuntos de datos y bases de datos
Las grandes cantidades de información y datos que la tecnología moderna permite manipular han dado
cabida a nuevas formas de trabajo centradas específicamente en el manejo y administración de la
información. Se trata de los trabajadores de la información cuya función es utilizar inteligentemente el
conocimiento que los sistemas pueden proveer.
Un trabajador de la información mantiene volúmenes importantes de información almacenada, usualmente
en medios electrónicos, tiene acceso a redes informáticas que le proveen nueva información y es capaz de
generar nueva información por sus acciones e interacciones con el medio.
Normalmente el trabajador de la información tiene a su disposición grandes conjuntos de datos, cuya
naturaleza es muy variada. Por ejemplo: casi cualquier persona que dispone de una computadora almacena
en ella un número significativo de documentos (de Microsoft® Word u otro similar). Estos documentos
forman un conjunto particular de datos ya que todos tienen nombre, fecha de creación, autor, fecha de última
Página 4 de 15
Manual de Bases de Datos
modificación, contenido, y se encuentran almacenados en un directorio (fólder o carpeta) particular. Podría
decirse que son entidades similares.
Por otra parte, es muy probable que mantenga un listado de contactos, clientes, amigos, colaboradores, etc.,
con datos importantes sobre ellos como su nombre, fecha de cumpleaños, números telefónicos, dirección,
saldos de cuenta, etc. Los contactos son otro conjunto particular de datos, en el que nuevamente encontramos
que lo que les da unidad y estructura es que se trata de entidades similares.
Un conjunto más lo constituyen los mensajes electrónicos (emails) que la persona envía a sus contactos. Cada
mensaje tiene una fecha de envío, lista de personas a quienes va destinado, título o encabezado del mensaje,
cuerpo del mensaje y documentos adjuntos.
Como primera aproximación es posible decir que las bases de datos son conjuntos de datos sobre entidades
similares, aunque esta aproximación no refleja toda la riqueza de posibilidades y características que hacen
eficientes y accesibles los datos en una base de datos.
Esto se debe a que existen diferentes enfoques de bases de datos que producen estructuras y estrategias de
acceso diferentes (materializados en productos comerciales distintos) y por ello no se puede hacer una
definición que sea general y al mismo tiempo que exprese todas las ventajas que los productos comerciales
ofrecen, ya que las de unos son diferentes a las de otros.
Sin embargo, es importante notar varios hechos. Primero: que aunque los conjuntos de datos que constituyen
las bases de datos se manejan más eficientemente en una computadora, esto no quiere decir que solo puedan
existir como bases de datos en sistemas electrónicos. Uno de los ejemplos más comunes de esto son los libros
de contabilidad que constituyen bases de datos sobre operaciones contables (las operaciones y cuentas
contables son las entidades), también los sistemas de kárdex donde se suelen llevar en tarjetas información
sobre contactos, productos, saldos, etc. Los ficheros de libros que manejan algunas bibliotecas, todavía en
tarjetas de cartón, también son bases de datos.
Segundo: que el hecho de que los datos existan en una computadora no necesariamente significa que
podremos aprovecharlos mejor, ya que se necesita una estructura, un orden y unas herramientas que
permitan explotar todas las posibilidades de trabajo de las bases de datos.
Manejadores de Bases de Datos
Desde el punto de vista de la informática se hace la
distinción entre bases de datos y manejadores de
bases de datos (DBMS: data base management systems
o sistemas manejadores de bases de datos). Las bases
de datos son el almacén de información mientras
que los manejadores son programas de software
que permiten organizar y manipular mejor los
datos de la base de datos. Con los manejadores –
DBMS – se pueden construir consultas y reportes
sobre la base de datos, facilitar el ingreso de nuevos
datos, validar la información, etc.
Los DBMS usualmente son productos comerciales
especializados. Uno de los más populares
actualmente es Microsoft® SQL Server que se utiliza
tanto en sistemas avanzados que manejan grandes
volúmenes de datos como en aplicaciones de
mediana y pequeña empresa.
Ilustración 1: Los manejadores de bases de datos son la
forma más popular de construir y administrar las bases
de datos.
Esto no significa que los DBMS sean necesariamente onerosos. De hecho pueden casi siempre encontrarse
versiones gratuitas o de desarrollo de la mayoría de productos comerciales y pueden encontrarse bajo la
Página 5 de 15
Manual de Bases de Datos
modalidad de Open Source, como MySQL que es bastante popular sobre todo en aplicaciones de Internet que
utilizan Linux.
Otros DBMS de gran éxito comercial incluyen: Oracle, Sybase, Microsoft® Access, RDB, FileMaker, etc.
Cada DBMS particular ofrece ventajas específicas y funciona mejor en circunstancias determinadas. No es una
buena estrategia descartar un DBMS solo por cuestiones de precio o popularidad. Al escoger uno particular
hay multitud de factores que deben tomarse en cuenta, siendo quizás el más importante la aplicación concreta
en la que será utilizado, es decir, el conjunto de entidades cuyos datos va a manejar, el ambiente en el que se
usará y las posibilidades de crecimiento de la base de datos concreta.
Aplicaciones de Bases de Datos
Como los conceptos y técnicas de bases de datos adecuados para manejar de forma eficiente los datos de una
institución particular no necesariamente están en el personal que utiliza la información, se construyen
programas (también llamados aplicaciones o software) que permiten acceder fácilmente a ella, sin tener que
conocer los detalles de cómo se almacena la información, cómo se organiza, estructura o representa en la
computadora. Estos programas se conocen como Aplicaciones de Bases de Datos.
Utilizando un DBMS y una plataforma de desarrollo como Visual Basic, Java, Php, etc., se puede construir
una aplicación de bases de datos, específica para un conjunto de entidades particulares y en el contexto de
una organización o empresa cuyo personal tiene necesidades bien identificadas.
Usualmente se requiere de personal especializado para construir la aplicación, pero también existen DBMS
orientados a facilitar la construcción de las aplicaciones por usuarios no especializados.
Muchas empresas parten de la utilización de aplicaciones de bases de datos construidas por su mismo
personal para luego de un tiempo, pasar a la contratación del desarrollo de una aplicación profesional. Esta
estrategia tiene varias ventajas: se identifican mejor las necesidades (se sabe qué información es la que se
maneja, los datos necesarios, etc.), se conocen ejemplos concretos de los datos que se manejarán (se conocen
los valores típicos), se identifican carencias sentidas (reportes que se necesitan pero no se dispone de ellos,
datos que no se capturan, etc.)
Sin embargo, cuando la aplicación ya está construida, se tiene la gran ventaja de que la atención de los
usuarios, si la aplicación es de calidad, puede centrarse en la utilización de la información y no en los detalles
de cómo se almacena.
Al desarrollar una aplicación de bases de datos es necesario atender a aspectos de seguridad: quién debe
tener acceso a qué datos, quién puede solo ingresar, quién puede cambiar o eliminar datos, etc.; aspectos de
usabilidad: quiénes serán los usuarios, cuál es el lenguaje que hablan, cómo hacen su trabajo y cómo usan las
computadoras, etc.; aspectos de redes: dónde se almacenará la información (servidor o servidores de bases de
datos), qué canales de comunicación se usarán entre equipos y dispositivos, etc.; aspectos de mantenimiento y
soporte: cuáles son los procedimientos de copia de respaldo, el procedimiento de recuperación de fallos, etc.
En este contexto, un ejemplo de aplicación de base de datos es la Bitácora de Registros que se lleva
institucionalmente en CONRED, ya que pueden analizarse todos los aspectos mencionados: el manejador de
bases de datos utilizado, el lenguaje de programación en que se construyó, los aspectos de seguridad,
usabilidad, redes y de mantenimiento y soporte en esta aplicación, etc.
Sistemas de Bases de Datos
Un sistema de bases de datos es aquel que integra los equipos (hardware) con los DBMS, aplicaciones y datos
(software) y con las personas que los alimentan, administran y utilizan. El sistema aplica restricciones de
seguridad y de validez de la información conocidos como las reglas del negocio. Las reglas del negocio
especifican los datos que pueden ingresarse al sistema, quienes tienen acceso cuáles datos y cómo se garantiza
que los procesos internos se realizan correctamente.
Página 6 de 15
Manual de Bases de Datos
Por ejemplo, una empresa puede tener la política de que un ejecutivo solo puede administrar hasta 5 cuentas
de clientes diferentes. Las primeras 5 cuentas de clientes ingresadas al sistema serán datos válidos. La sexta,
aunque cumpla con todas las características para ser información válida de un cliente, no podrá ser
considerada adecuada para el sistema si se asigna al mismo ejecutivo.
Es evidente que un sistema de bases de datos solo puede existir sobre la base de una plataforma de equipos
informáticos (computadoras) pero eso no quiere decir que todos sus procesos sean electrónicos. De hecho es
bastante usual que documentos impresos, que se llenan a mano incluso, formen parte del mecanismo de
ingreso de datos al sistema.
Las bases de datos por sí solas, no requieren necesariamente de equipos de cómputo para existir, sin
embargo, cuando se desean utilizar DBMS y aplicaciones de bases de datos, para conformar un sistema de
bases de datos entonces se requiere de equipos de cómputo.
Volviendo al ejemplo de la Bitácora de Registros de CONRED, en este contexto diríamos que se trata de un
sistema de bases de datos cuando integra los equipos concretos en los que existe (en oficinas centrales y sedes
regionales) con el software: Lotus Notes, Windows y otros; con las personas que los operan, ingresan datos,
en cabinas, jefes de servicio, etc.
Este sistema pudo haber iniciado como un registro en papel, o en hojas electrónicas de Excel, luego haber sido
sistematizado profesionalmente. En el futuro puede ampliarse para incorporar otras bases de datos como
voluntarios, contactos en municipalidades y consejos de desarrollo, historiales de desastres, fotografías,
videos, etc.
Algo de terminología
El enfoque más popular (por mucho) de las bases de datos en la actualidad es el modelo relacional, basado en
los estudios y teorías de Edgar Frank Codd y aunque no puede decirse que existan productos comerciales que
cumplan estrictamente con todos los postulados del Dr. Codd, ha sucedido que una buena parte de los
términos utilizados en la actualidad se derivan de sus planteamientos y su uso está ampliamente extendidos
entre todos los DBMS, al punto que muchos gustan llamarse RDBMS por Relational Data Base Management
Systems.
Se usa Tabla para referirse al almacén de datos para una entidad concreta. Campo, y en menor medida
Atributo, para identificar una variable de entre las que componen los datos de una entidad. Registro para la
información de una entidad concreta, es decir, para el conjunto de valores de variables – campos – que
especifican una entidad particular. Reporte para un listado especial de datos compuesto a partir de campos
de varias tablas y que puede imprimirse.
Microsoft® Excel y sus posibilidades
Microsoft® Excel es una popular aplicación de hojas electrónicas, que permite el ingreso de datos en una
cuadrícula donde las columnas se identifican por letras y las filas por números. Con el paso de los años, a
través de nuevas versiones, se ha ido haciendo más sofisticado en sus funciones de graficación, dibujo,
manejo de tablas dinámicas, programación, etc.
Usualmente no se le asocia con bases de datos, sin embargo dispone de multitud de herramientas y funciones
que son de mucha utilidad cuando se maneja información organizada como una base de datos.
En general cualquier tabla de datos en Excel se puede considerar una base de datos.
En este contexto la tabla de datos representa información de entidades, cada una ocupando un renglón en la
tabla cuyas casillas son datos (valores concretos) que identifican al elemento individual de la entidad.
Por ejemplo: una lista de películas puede construirse como una tabla con columnas para nombre, género,
idioma, año de lanzamiento, etc. Cada fila en la tabla representa una película y los valores en cada casilla
representan los datos de la película.
Página 7 de 15
Manual de Bases de Datos
Ilustración 2, Microsoft Excel permite manejar tablas como bases de datos con funciones
útiles.
Una base de datos construida de esta forma puede aprovecharse de diferentes formas en Excel. Por ejemplo,
pueden ordenarse los datos en base a una o más columnas o campos, puede generarse un formulario
automático para ingreso y búsqueda de datos, puede aplicársele el filtro automático para obtener un listado
de películas cuyo género sea acción, etc.
La flexibilidad de Excel como hoja electrónica permite componer reportes bastante vistosos en base a los
datos almacenados, efectuar operaciones y cálculos, graficar, etc.
Usando convenientemente las hojas que componen un libro de Excel, se pueden almacenar tablas diferentes,
una en cada hoja y luego relacionarlas para obtener información nueva.
Los DBMS y las bases de datos
A pesar de que Microsoft® Excel puede resultar una excelente herramienta para bases de datos se ve limitado
cuando se analizan requerimientos más avanzados de las bases de datos. Estos requerimientos pueden
cubrirse mejor si se utiliza un DBMS en lugar de Excel u otro software no específico para bases de datos.
En bases de datos es necesario poder definir dominios de datos, asegurar la integridad y consistencia de los
datos y contar con un eficiente acceso a toda la información almacenada. Cada uno de estos requerimientos se
explica en las secciones siguientes.
Algunas de las limitaciones más serias de Excel y otros programas de archivo de datos aparecen cuando se
necesita utilizar la información por varios usuarios en simultáneo o en localizaciones apartadas (diferentes
oficinas por ejemplo). Los DBMS están pensados para proveer acceso simultáneo y distribuido a los datos,
garantizando que si varios usuarios intentan modificar la misma información al mismo tiempo, se observe un
mecanismo que garantice la integridad y consistencia de los mismos.
Dominios de datos
Frecuentemente en bases de datos, es necesario asegurar que los valores de un campo específico tengan
ciertas propiedades. Por ejemplo, si se trata del precio al público de un producto entonces es deseable que
nunca sea negativo, si se están ingresando valores de cédula de vecindad para personas es deseable que no se
permitan valores más allá de U-22 (cédulas emitidas en Jutiapa) y en este caso también sería conveniente
permitir solo letras y números en combinaciones válidas, una cédula que inicie con A-20 sería inválida.
Se habla entonces del dominio de un campo: los valores válidos y permisibles para ese campo particular y
también se le conoce (aunque no significan exactamente lo mismo) como tipo de dato.
Existen dominios preestablecidos y que se usan sin mayor protocolo en los DBMS:
Página 8 de 15
Manual de Bases de Datos
Enteros Números sin decimales ni fracciones, positivos o negativos.
Reales Cualquier número, con decimales o sin ellos, positivo o negativo.
Booleano Permite solo dos valores: falso o verdadero, que se pueden interpretar también como sí y
no, 0 y 1, presente y ausente, encendido y apagado, etc.
Caracter Una letra, un símbolo, un dígito o un espacio.
Cadena de Una secuencia de caracteres.
caracteres
Fecha Valores de fechas (en algunos casos incluye la hora) en el formato habitual según el país.
Byte Un número entre 0 y 255.
Otros dominios o tipos de datos pueden estar incluidos como parte del DBMS, por ejemplo: Memo, que
representa una cantidad ilimitada de texto; Entero largo, con el que pueden almacenarse números enteros de
muy alto valor; etc., pero en ciertos casos puede ser necesario proveer un dominio particular y este debe
especificarse según lo permita el DBMS. Este es el caso de los números de registro en las cédulas, la profesión
de una persona en una tabla de contactos, el género de una película, la edad de una persona, etc.
Estos dominios específicos también pueden especificarse descriptivamente. Para los ejemplos presentados
sería:
Registro de Cédula Desde el A-1 hasta el U-22
Profesión Ingeniero, arquitecto, abogado, notario, psicólogo,...
Género de Película Acción, drama, comedia, infantil,...
Edad Número entero entre 0 y 130
Como puede verse estas especificaciones de dominios en ocasiones pueden hacerse descriptivamente (el caso
del registro de cédula y la edad) pero en otras es necesario enumerar todas las posibilidades (el resto de
casos) y también puede ser necesario establecer otras condiciones. Por ejemplo: la fecha de defunción de una
persona no puede ser menor ni igual a la fecha de nacimiento, si el sexo es masculino entonces el sexo del
cónyuge debe ser femenino, el precio de un producto no puede ser menor al costo, etc. Algunas de estas
restricciones de dominio se derivan de las reglas o políticas de la institución que construye la base de datos.
Algunos DBMS dan mayor libertad para especificar las restricciones de dominio de los datos, en otros esta
posibilidad es limitada.
En el caso de Microsoft® Excel, tomándolo como DBMS, es posible especificar restricciones de dominio pero
no es muy práctico hacerlo de manera intensiva, por lo que no es algo que a la larga resulte plenamente
confiable. Basta que se olvide establecer la restricción en un punto de la hoja electrónica para que se pierda
consistencia, sin mencionar que los usuarios pueden fácilmente equivocar la celda donde ingresan los datos y
entonces las restricciones pierden sentido.
En los DBMS más avanzados las restricciones de dominio son fundamentales y están bastante desarrolladas.
Es posible por ejemplo establecer reglas como que el número de clientes que atiende un ejecutivo (campo
calculado) nunca puede ser cero ni nulo y que tampoco puede exceder de 5 y que los clientes que atiende
deben residir o tener oficina en la misma ciudad donde vive el ejecutivo, aunque esto implique consultar
diferentes tablas para verificar cada restricción.
Existe un valor especial de dominio que es el valor nulo. Nulo indica que el dato no se conoce, al punto que
no puede hacerse ninguna afirmación de él. Esto es importante porque algunas bases de datos pueden
almacenar valores nulos para indicar que no se conoce nada sobre el dato y por ello, en algunos casos se
puede exigir que un valor nunca sea nulo, por ejemplo en el caso del nombre de una persona, ya que si no se
conoce el nombre de la persona entonces es mejor no guardar sus datos.
Página 9 de 15
Manual de Bases de Datos
Cuando se crea un nuevo registro sus campos están vacíos, si se requiere ingresar teléfonos y una persona no
tiene teléfono se puede dejar en blanco o escribir “no tiene”, si al preguntarle la edad prefiere no contestar
entonces el valor puede ser nulo, si al ingresar datos en el campo comentarios no se desea escribir nada
entonces puede ponerse un espacio. En todos estos casos el valor es diferente y se interpreta de forma
diferente.
Integridad de los datos
Entre los campos de una tabla se escogen aquellos que combinados identifican unívocamente a cada
registro y se denominan la llave del registro. La identificación de la llave ayuda a diferenciar los registros
entre sí y a evitar que se presenten controversias sobre cuál de dos registros es el correcto en caso de que sean
muy parecidos. Si las llaves no fueran correctamente identificadas podrían presentarse casos de
ambigüedades que restarían valor a la base de datos.
Por ejemplo: supongamos que se construye una tabla para una base de datos de activos fijos. Cada registro de
un activo está compuesto por los siguientes campos:
Nombre del activo Nombre del activo
Descripción Descripción y datos importantes del activo
Valor en libros Valor según registro en cuenta contable
Cuenta contable Cuenta contable en la que se registró el ingreso del activo
Cuenta de depreciación Cuenta contable con la que se registran las depreciaciones del activo
Para elegir el conjunto de campos que conformarán la llave se utilizan diferentes criterios: si se repetirá el
valor de un campo para dos activos diferentes, si al tomar dos campos la combinación de valores será única,
qué posibilidades hay de que el campo cambie de valor en el futuro, entre otras.
Puede ser que se identifiquen diferentes campos o combinaciones que pueden ser la llave. A estas diferentes
posibilidades se les llama llaves candidatas. Entre las llaves candidatas se elige la mejor opción.
En el ejemplo el <Nombre del activo> puede ser una llave candidata siempre que exista seguridad de que dos
activos diferentes nunca tendrán el mismo nombre. También la <Cuenta contable> puede ser una llave
candidata si a cada activo fijo se le asigna una cuenta única. Incluso el campo <Cuenta de depreciación>
podría ser una llave candidata.
Por otra parte <Valor en libros> no es una buena candidata ya que se espera que su valor cambie con el
tiempo y existe la posibilidad de que dos activos tengan el mismo valor. Tampoco <Descripción> es una
candidata ya que es razonable esperar que puedan darse descripciones iguales para dos activos distintos y no
solo por eso, también se espera que la llave identifique al activo no solo en el sistema sino en la mente de las
personas que lo utilizan, por lo que la descripción no sería adecuada ya que usualmente se escriben
descripciones amplias y detalladas, o en el extremo opuesto, no se escriben, lo cual dejaría a la llave sin valor
(nula) y esto la descalifica como identificador del activo.
La combinación <Cuenta contable> con <Cuenta de depreciación> podría ser una llave candidata si al
juntarlas producen una combinación única, pero eso depende de las políticas de manejo de contabilidad que
utilice la institución.
Si no se encuentra un conjunto de campos para identificar unívocamente a las entidades puede ser necesario
agregar un código. Sin embargo esto es un último recurso y si es necesario utilizarlo debe darse prioridad a
los códigos que ya existen. Por ejemplo: en una tabla de datos de personas, si es necesario utilizar un código
es mejor utilizar el NIT (en Guatemala) que se espera sea único para cada persona. Para solventar la dificultad
de que algunas personas no tienen NIT podría usarse una combinación de NIT y número de cédula, o NIT y
nombre. Esto porque estos códigos pre-existentes son más accesibles en la mente de las personas y no hay
razón para obligar a nadie a memorizar nuevos códigos si basta con los existentes.
Página 10 de 15
Manual de Bases de Datos
El uso desconsiderado de los códigos produce problemas no solo de facilidad de uso de un sistema sino
también de eficacia en el manejo de la información.
Cuando se ha elegido una llave entre las llaves candidatas usualmente se le llama llave primaria.
Si en una base de datos se ha identificado correctamente la llave primaria entonces se ha dado un paso
importante para lograr la integridad de los datos, que consiste en poder asegurar que cada dato
almacenado corresponde unívocamente a una sola entidad concreta.
Cuando una base de datos no es íntegra se producen problemas como que aparecen dos o más registros que
parecen corresponder a la misma entidad (al mismo activo fijo por ejemplo) y se dan problemas importantes
(podrían estarse aplicando incorrectamente las depreciaciones o inflándose los activos).
Consistencia de la información
Una base de datos es consistente cuando sin importar cómo se consulten los datos los resultados obtenidos
son iguales. No sería consistente si por ejemplo, preguntando por el total de ventas del mes de febrero se
obtienen resultados diferentes por registros diferentes.
Suelen encontrarse inconsistencias cuando se almacena el mismo dato en dos lugares diferentes de la base de
datos. Si cada venta se almacena en la tabla facturas (al emitir la factura) y también como una descarga de
inventario, eventualmente estos dos registros pueden llegar a ser inconsistentes por errores en el ingreso o
por fallos en considerar ambos registros al momento de ingresar la información.
Los DMBS comerciales proveen métodos probados para evitar la inconsistencia, de hecho estos métodos
(triggers y constraints entre otros) son una de las principales razones por las que se prefiere un DMBS a una
base de datos construida manualmente.
El principio sobre el que descansa la consistencia es el de que todo dato, sea almacenado o calculado, debe
provenir de una única fuente original.
Eficiencia del acceso
En el modelo relacional de bases de datos se especifica un procedimiento que garantiza la eficiencia tanto en
el almacenamiento de los datos como en su recuperación. Se trata de la normalización.
La normalización consiste en tomar cada una de las tablas de la base de datos y transformarlas primero a la
primera forma normal, luego a la segunda forma normal, y por último a la tercera forma normal. Aunque
existen otras formas normales adicionales, usualmente es suficiente con llegar a la tercera forma normal para
obtener accesos y almacenamientos eficientes.
El proceso de normalización genera nuevas tablas que pasan a formar parte de la base de datos.
Es importantísimo dejar claro que el proceso de normalización es transparente para el usuario, es decir, lo
realiza alguien con la formación técnica adecuada y en todo caso, puede ser simplemente conveniente para el
usuario conocer los resultados.
Para más información sobre el proceso de normalización puede referirse a la bibliografía adjunta a este
manual.
Cuando una base de datos está construida eficientemente es posible utilizarla para su fin primordial: obtener
información.
La información que se puede obtener de una base de datos se especifica por medio de preguntas (queries o
query en inglés). De hecho se dice que las preguntas se le hacen a la base de datos.
Supóngase que se tiene una base de datos que almacena información de desastres naturales ocurridos, por
municipio y por fecha. Si la base de datos es eficiente podrá contestarnos consistentemente a preguntas como
¿Cuándo ocurrió el último sismo en la región de Quetzaltenango? ¿Cuándo se ha inundado el valle de la
capital? ¿Cuál es la lista de deslizamientos ocurridos en los últimos 10 años?
Página 11 de 15
Manual de Bases de Datos
Diagramas Entidad-Relación
Una forma de presentar el diseño y la estructura de una base de datos es el diagrama entidad-relación o
ER. Toda entidad en una base de datos se relaciona con el resto de entidades de alguna forma, directa o
indirectamente, estas relaciones pueden identificarse en el ER y así hacer visible el almacenamiento y los
métodos de acceso a los datos.
Por ejemplo: una base de datos almacena información sobre municipios del país, sus alcaldes y las
capacitaciones en las que han participado. Cada municipio es una entidad, cada alcalde también lo es y
aunque las capacitaciones no pueden considerarse estrictamente entidades, ya que solo existen cuando
alguien las ha recibido, también se toman como tales, pero por su naturaleza algunos las llaman entidades
débiles.
Las relaciones existentes entre estas entidades pueden especificarse por una tabla:
Municipios
Municipios
•
Un alcalde ejerce en un
municipio, y en uno
solo, a la vez.
•
Las capacitaciones se
dan a los alcaldes no a
los municipios, pero los
alcaldes ejercen en un
municipio, por lo que
hay una relación
indirecta
Alcaldes
Capacitaciones
Alcaldes
Capacitaciones
•
El municipio tiene un
alcalde que ejerce por
uno o más periodos.
•
El municipio tiene un
alcalde que recibe
capacitaciones.
•
En el tiempo el
municipio puede haber
tenido varios alcaldes.
•
El municipio no recibe
capacitaciones por lo
que la relación es
indirecta.
•
El alcalde recibe
capacitaciones. Puede
recibir varias.
•
Las capacitaciones se
imparten a los alcaldes.
•
Cada capacitación
concreta se da a varios
alcaldes.
Un ER que especifica estas relaciones las simplifica a su multiplicidad que es el número de registros que
pueden esperarse que existan en una tabla por cada registro en la tabla relacionada.
Municipio
1 municipio 1 municipio
1 alcalde
Muchos alcaldes
1 alcalde
Muchas capacitaciones
Alcalde Muchos alcaldes
1 capacitación
Capacitación
Ilustración 3, Diagrama Entidad-Relación para una base de datos de municipios, alcaldes y capacitaciones recibidas por alcalde.
Observe que las relaciones entre las entidades se han simplificado para especificar solamente la multiplicidad.
Minería de datos
La minería de datos es una técnica moderna aplicable a bases de datos con cantidades importantes de
información almacenada, que busca encontrar nuevas perspectivas y responder a preguntas más complejas
que las que usualmente se le hacen a la base de datos.
Página 12 de 15
Manual de Bases de Datos
Utiliza técnicas de estadística y análisis transaccional y
de tendencias para encontrar enfoques nuevos en la
información.
La minería de datos no puede aplicarse en bases de
datos nuevas o con poca información porque los
resultados no necesariamente reflejarían tendencias
sino ocurrencias particulares que sería peligroso
generalizar.
Luego de varios años de uso de una base de datos
pueden empezarse a plantear análisis que provean
estas nuevas perspectivas. Lo difícil es que no
necesariamente se conoce qué dato es el que se está
buscando, en ocasiones ni siquiera qué pregunta es la
que se desea responder.
En una base de datos sobre desastres naturales con
información almacenada de varias décadas, podrían
buscarse ciclos de desastres, poblaciones con mayor
riesgo y factores de riesgo nuevos, entre otros.
Bases de datos en Internet
Con el desarrollo de la red global muchísimas
empresas están ofreciendo servicios basados en bases
de datos accesibles públicamente mediante páginas
interactivas (páginas web) que pueden ser consultadas
de forma gratuita o mediante pago.
Ilustración 4, Búsqueda de fotografías de Atitlán en la
base de datos de Flickr.
Muchos de los servicios más populares son en realidad bases de datos a pesar de que no se presentan de esa
forma.
El correo electrónico (email) por ejemplo, puede conceptualizarse como una base de datos de mensajes,
destinatarios, contraseñas, archivos adjuntos, etc.
Pero no solo el almacenamiento de datos tradicionales basados en texto, ha sido puesto en línea, también es
posible encontrar bases de datos de fotografías, videos, películas, artículos científicos y académicos, revistas,
etc.
Lo interesante es que estos otros tipos de información requieren un tratamiento especial. Por ejemplo, bases
de datos de fotografías como Flickr (www.flickr.com) o Picasa (www.picasa.com) permiten a sus usuarios
realizar búsquedas de fotografías específicas o relativas a un tema.
Es posible localizar de esa forma fotografías del lago de Atitlán aún sin conocer quién pudo haberlas tomado
o en qué circunstancias las tomó.
Como las computadoras no son tan inteligentes como para interpretar el contenido de una fotografía e
identificar en ellas el lago de Atitlán, es necesario agregar a cada imagen una serie de descriptores (tags) o
palabras clave, que indican a qué se refiere.
Esta técnica también se aplica a documentos o videos que se encuentran en formatos especiales.
Sin los tags los buscadores dependen únicamente de la descripción, que puede resultar ambigua, ya que una
fotografía podría estar descrita como “carretera hacia el lago de Atitlán” y por lo tanto no tratarse de una foto
del lago propiamente. Si además falta la descripción entonces el sistema debe depender exclusivamente del
nombre del archivo y este puede resultar todavía menos específico.
Página 13 de 15
Manual de Bases de Datos
Usabilidad de los sistemas de bases de datos
Aunque muchas personas consideran que usabilidad es lo mismo que facilidad de uso, existen características
de los productos, y del software, que los hacen ser más o menos usables aunque no necesariamente más o
menos fáciles de usar.
Algunos autores hablan de 5 cualidades que debe tener un producto para considerarse usable: eficacia,
eficiencia, facilidad de aprendizaje, tolerancia al error y estimulante para trabajar.
Estas 5 características pueden también evaluarse en los sistemas de bases de datos para saber si se trata de
productos usables.
La eficacia implica que se puede hacer todo lo que se necesita hacer y que se obtienen los resultados
esperados. Esto significa que deben poder obtenerse todos los reportes, informes y datos que se necesitan. Se
debe poder ingresar toda la información pertinente y que cuando esta información se ha ingresado los
resultados son congruentes con ella.
Hay fallos de eficacia cuando determinados datos no se han tomado en cuenta para el diseño del sistema y no
pueden ser ni siquiera ingresados o ingresados de una forma adecuada. Esto sucede por ejemplo, cuando a
falta de un mejor lugar para ingresar un dato particular, se termina ingresándolo en una sección general de
comentarios, donde luego no es fácil de consultar. También cuando, teniendo ya la información ingresada, los
reportes obtenidos son incongruentes o contradictorios con esta información.
La eficiencia tiene que ver con que las operaciones que se hacen en el sistema se hagan con la menor
cantidad de recursos físicos y tiempo. Si un resultado se obtiene solo tras un proceso largo, tedioso y lento,
entonces existen problemas de eficiencia.
La facilidad de aprendizaje se consigue cuando el sistema habla el mismo idioma que el usuario, utiliza
estándares conocidos, es intuitivo en sus operaciones, es consistente en funciones similares – lo que se hace o
se presenta de una forma en un lugar no se hace o se presenta diferente en otro – y se utilizan restricciones
físicas, lógicas y culturales que guían al usuario para realizar las tareas bien desde la primera vez.
Si el sistema permite al usuario recuperarse de un error cometido, mediante opciones de “deshacer” por
ejemplo, o mejor aún, evita que se cometan errores, entonces se trata de un sistema tolerante al error. Para
lograrlo hay varios principios que deben observarse: se debe informar al usuario en todo momento del estado
del sistema, de forma que se identifique claramente si la situación actual implica algún peligro; se debe
recurrir poco a la memoria del usuario y más a la intuitividad de la interfaz para la operatoria del sistema –
son poco usables los sistemas en los que el usuario se ve obligado a memorizar grandes cantidades de
comandos y procedimientos – entre otros.
Y por último, el sistema debe ser estimulante de usar y de trabajar con él. Esto no significa solo que debe ser
estéticamente agradable, sino que si las operaciones se realizan de forma expedita y sin complicaciones
entonces el usuario siente que ha podido trabajar bien y que ha tenido una sesión productiva. Esto mejora el
ambiente de trabajo y la satisfacción personal de trabajar.
Diseño centrado en el usuario
La metodología de diseño de sistemas que ha probado producir los mejores resultados en cuanto a usabilidad
es el diseño centrado en el usuario. En ella se invita a los usuarios a ser miembros activos del diseño de los
sistemas, a proveer todas las opiniones que consideren convenientes y a probar los prototipos del sistema
desde el mismo momento en que están disponibles.
Los prototipos juegan un papel esencial. Es muy diferente el desarrollo de un sistema cuando se conoce desde
el principio cómo se ha pensado que sea su operación – en un prototipo – que cuando esta se conoce solo
hasta que el sistema está casi terminado y es muy difícil cambiar cosas. Si se hacen prototipos desde el inicio
cualquier inconveniente se identifica y se cambia antes de que se haya invertido demasiado trabajo en él y sea
más difícil desecharlo.
Página 14 de 15
Manual de Bases de Datos
Observaciones finales
La tecnología de bases de datos puede proveer información importante de forma eficiente. Sin embargo los
sistemas completos de bases de datos también dependen de los usuarios en diversas circunstancias para
garantizar que cumplan su papel.
Desde el modesto ingreso de datos, hasta las operaciones de mantenimiento y realización de copias de
respaldo, requieren asumir de forma responsable el papel de trabajadores de la información, concientes de
que los datos que se manejan son importantes e incluso vitales para muchas otras personas.
Página 15 de 15